UNPKG

@speckle/objectloader

Version:

Simple API helper to stream in objects from the Speckle Server.

19 lines (18 loc) 769 B
/** * This adjusts a browser ReadableStream to make it work similarly to Node streams, which further enables us to use the * same code to read both kinds of streams. We don't mutate the ReadableStream prototype cause this specific polyfill * might not work well in other circumstances (https://github.com/node-fetch/node-fetch/issues/387#issuecomment-417433509) * * See more: https://github.com/node-fetch/node-fetch/issues/754#issuecomment-602184022 * @param {ReadableStream} stream */ export function polyfillReadableStreamForAsyncIterator(stream) { stream.iterator = async function* () { const reader = this.getReader() while (1) { const chunk = await reader.read() if (chunk.done) return chunk.value yield chunk.value } } }