UNPKG

browser-readablestream-to-it

Version:
53 lines 1.61 kB
/** * @packageDocumentation * * Allows treating a browser readable stream as an async iterator. * * @example * * ```javascript * import toIt from 'browser-readablestream-to-it' * import all from 'it-all' * * const content = [0, 1, 2, 3, 4] * * const stream = new ReadableStream({ * start(controller) { * for (let i = 0; i < content.length; i++) { * controller.enqueue(content[i]) * } * * controller.close() * } * }) * * const arr = await all(toIt(stream)) * * console.info(arr) // 0, 1, 2, 3, 4 * ``` * * ## preventCancel * * By default a readable stream will have [.cancel](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/cancel) called on it once it has ended or * reading has stopped prematurely. * * To prevent this behaviour, pass `preventCancel: true` as an option: * * ```javascript * const arr = await all(toIt(stream, { preventCancel: true })) * * console.info(arr) // 0, 1, 2, 3, 4 * ``` */ export interface BrowserReadableStreamToItOptions { preventCancel?: boolean; } /** * Turns a browser readable stream into an async iterable. Async iteration over * returned iterable will lock give stream, preventing any other consumer from * acquiring a reader. The lock will be released if iteration loop is broken. To * prevent stream cancelling optional `{ preventCancel: true }` could be passed * as a second argument. */ export default function browserReadableStreamToIt<T>(stream: ReadableStream<T>, options?: BrowserReadableStreamToItOptions): AsyncGenerator<T, void, undefined>; //# sourceMappingURL=index.d.ts.map