(err)
| 505 | |
| 506 | // Reject all pending waiters and remove the drain/error listeners. |
| 507 | function cleanup(err) { |
| 508 | const pending = waiters; |
| 509 | waiters = []; |
| 510 | for (let i = 0; i < pending.length; i++) { |
| 511 | pending[i].reject(err ?? new AbortError()); |
| 512 | } |
| 513 | if (!listenersInstalled) return; |
| 514 | listenersInstalled = false; |
| 515 | writable.removeListener('drain', onDrain); |
| 516 | writable.removeListener('error', onError); |
| 517 | } |
| 518 | |
| 519 | function waitForDrain() { |
| 520 | const { promise, resolve, reject } = PromiseWithResolvers(); |
no test coverage detected