True when `host:port` is currently free to bind (nothing listening).
(host: string, port: number)
| 87 | |
| 88 | /** True when `host:port` is currently free to bind (nothing listening). */ |
| 89 | function canBind(host: string, port: number): Promise<boolean> { |
| 90 | return new Promise((resolvePromise) => { |
| 91 | const probe = createServer(); |
| 92 | probe.once('error', () => resolvePromise(false)); |
| 93 | probe.listen({ host, port }, () => { |
| 94 | probe.close(() => resolvePromise(true)); |
| 95 | }); |
| 96 | }); |
| 97 | } |
| 98 | |
| 99 | /** Ask the OS for an ephemeral free port on `host`. */ |
| 100 | function getFreePort(host: string): Promise<number> { |
no test coverage detected