21 lines
606 B
JavaScript
21 lines
606 B
JavaScript
|
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);
|