You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
606 B
20 lines
606 B
import {getStreamAsArrayBuffer} from './array-buffer.js'; |
|
|
|
export async function getStreamAsBuffer(stream, options) { |
|
if (!('Buffer' in globalThis)) { |
|
throw new Error('getStreamAsBuffer() is only supported in Node.js'); |
|
} |
|
|
|
try { |
|
return arrayBufferToNodeBuffer(await getStreamAsArrayBuffer(stream, options)); |
|
} catch (error) { |
|
if (error.bufferedData !== undefined) { |
|
error.bufferedData = arrayBufferToNodeBuffer(error.bufferedData); |
|
} |
|
|
|
throw error; |
|
} |
|
} |
|
|
|
// eslint-disable-next-line n/prefer-global/buffer |
|
const arrayBufferToNodeBuffer = arrayBuffer => globalThis.Buffer.from(arrayBuffer);
|
|
|