()
| 15 | |
| 16 | /** Create a deferred promise that can be resolved externally. */ |
| 17 | export function createDeferred<T>(): Deferred<T> { |
| 18 | let resolve!: (value: T) => void; |
| 19 | const promise = new Promise<T>((res) => { |
| 20 | resolve = res; |
| 21 | }); |
| 22 | return { promise, resolve }; |
| 23 | } |
| 24 | |
| 25 | /** Gracefully close an HTTP server, resolving when all connections are drained. */ |
| 26 | export function closeServer(server: http.Server): Promise<void> { |
no outgoing calls