UNPKG

node-web-stream-adapters

Version:
77 lines 3.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readableToWebStream = exports.bufferToWebStream = exports.stringToWebStream = exports.iteratorToWebStream = exports.iterableToWebStream = exports.asyncIterableToWebStream = exports.createReadableStreamFromReadable = exports.createReadableStreamFromBuffer = exports.createReadableStreamFromString = exports.createReadableStreamFromIterator = exports.createReadableStreamFromIterable = exports.createReadableStreamFromAsyncIterable = void 0; /** * Create a ReadableStream frpom an iterable. * ON node 20 there is a ReadableStream.from fucntion to do it. But not on node 18 * When studio server is moved to node 20 we can remove this fucntion * @param iterable * @returns */ function createReadableStreamFromAsyncIterable(iterable) { return createReadableStreamFromIterator(iterable[Symbol.asyncIterator]()); } exports.createReadableStreamFromAsyncIterable = createReadableStreamFromAsyncIterable; function createReadableStreamFromIterable(iterable) { return createReadableStreamFromIterator(iterable[Symbol.iterator]()); } exports.createReadableStreamFromIterable = createReadableStreamFromIterable; function createReadableStreamFromIterator(it) { //const it = iterable[Symbol.asyncIterator](); if (ReadableStream.from) { return ReadableStream.from(it); } else { return new ReadableStream({ async pull(controller) { const { value, done } = await it.next(); if (done) { controller.close(); } else { controller.enqueue(value); } }, cancel() { it.return?.(); } }); } } exports.createReadableStreamFromIterator = createReadableStreamFromIterator; function createReadableStreamFromString(value) { return new ReadableStream({ start(controller) { controller.enqueue(value); controller.close(); }, }); } exports.createReadableStreamFromString = createReadableStreamFromString; function createReadableStreamFromBuffer(value) { return new ReadableStream({ start(controller) { controller.enqueue(value); controller.close(); }, }); } exports.createReadableStreamFromBuffer = createReadableStreamFromBuffer; function createReadableStreamFromReadable(stream) { return createReadableStreamFromAsyncIterable(stream); } exports.createReadableStreamFromReadable = createReadableStreamFromReadable; // shorter names const asyncIterableToWebStream = createReadableStreamFromAsyncIterable; exports.asyncIterableToWebStream = asyncIterableToWebStream; const iterableToWebStream = createReadableStreamFromIterable; exports.iterableToWebStream = iterableToWebStream; const iteratorToWebStream = createReadableStreamFromIterator; exports.iteratorToWebStream = iteratorToWebStream; const stringToWebStream = createReadableStreamFromString; exports.stringToWebStream = stringToWebStream; const bufferToWebStream = createReadableStreamFromBuffer; exports.bufferToWebStream = bufferToWebStream; const readableToWebStream = createReadableStreamFromReadable; exports.readableToWebStream = readableToWebStream; //# sourceMappingURL=readableToWebStream.js.map