( input: NodeJS.ReadStream = process.stdin, )
| 16 | * on unexpected read errors. |
| 17 | */ |
| 18 | export function readBufferFromStdinUntilClosed( |
| 19 | input: NodeJS.ReadStream = process.stdin, |
| 20 | ): Promise<Buffer> { |
| 21 | return new Promise((resolve, reject) => { |
| 22 | const data: Buffer[] = []; |
| 23 | |
| 24 | input.on('data', (chunk) => data.push(chunk)); |
| 25 | input.on('end', () => resolve(Buffer.concat(data))); |
| 26 | input.on('error', () => reject(new ReadBufferFromStdinError())); |
| 27 | input.on('timeout', () => reject(new ReadBufferFromStdinError('Unexpected timeout'))); |
| 28 | }); |
| 29 | } |