20 lines
		
	
	
		
			555 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			555 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;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| const arrayBufferToNodeBuffer = arrayBuffer => globalThis.Buffer.from(arrayBuffer);
 |