chore: Make some things lazy

This commit is contained in:
BluJ
2023-04-27 11:31:01 -06:00
parent c7d38fc7ce
commit 1d4d076070
2 changed files with 22 additions and 15 deletions

View File

@@ -17,15 +17,20 @@ export const ipv6 = once(
export class LocalBinding {
constructor(readonly localHost: string, readonly ipHosts: string[]) {}
createOrigins(protocol: string) {
const ipHosts = this.ipHosts
return {
local: new Origin(protocol, this.localHost),
ip: this.ipHosts.map((x) => new Origin(protocol, x)),
ipv4: this.ipHosts
.filter(regexToTestIp4().test)
.map((x) => new Origin(protocol, x)),
ipv6: this.ipHosts
.filter(ipv6().test)
.map((x) => new Origin(protocol, x)),
get ip() {
return ipHosts.map((x) => new Origin(protocol, x))
},
get ipv4() {
return ipHosts
.filter(regexToTestIp4().test)
.map((x) => new Origin(protocol, x))
},
get ipv6() {
return ipHosts.filter(ipv6().test).map((x) => new Origin(protocol, x))
},
}
}
}