33 lines
725 B
JavaScript
33 lines
725 B
JavaScript
import {getStreamContents} from './contents.js';
|
|
import {identity, noop, getContentsProp} from './utils.js';
|
|
|
|
export async function getStreamAsArray(stream, options) {
|
|
return getStreamContents(stream, arrayMethods, options);
|
|
}
|
|
|
|
const initArray = () => ({contents: []});
|
|
|
|
const increment = () => 1;
|
|
|
|
const addArrayChunk = (convertedChunk, {contents}) => {
|
|
contents.push(convertedChunk);
|
|
return contents;
|
|
};
|
|
|
|
const arrayMethods = {
|
|
init: initArray,
|
|
convertChunk: {
|
|
string: identity,
|
|
buffer: identity,
|
|
arrayBuffer: identity,
|
|
dataView: identity,
|
|
typedArray: identity,
|
|
others: identity,
|
|
},
|
|
getSize: increment,
|
|
truncateChunk: noop,
|
|
addChunk: addArrayChunk,
|
|
getFinalChunk: noop,
|
|
finalize: getContentsProp,
|
|
};
|