Swap-Aggregator-Subgraph/node_modules/iterable-ndjson/parse.browser.js
Richa-iitr d211083153 Revert "Revert "added handler""
This reverts commit c36ee8c5ca.
2022-07-03 07:30:05 +05:30

19 lines
553 B
JavaScript

/* eslint-env browser */
module.exports = source => (async function * () {
const matcher = /\r?\n/
const decoder = new TextDecoder('utf8')
let buffer = ''
for await (let chunk of source) {
if (typeof chunk === 'string') {
chunk = new TextEncoder().encode(chunk)
}
buffer += decoder.decode(chunk, { stream: true })
const parts = buffer.split(matcher)
buffer = parts.pop()
for (let i = 0; i < parts.length; i++) yield JSON.parse(parts[i])
}
buffer += decoder.decode()
if (buffer) yield JSON.parse(buffer)
})()