export default function parseJSON() { | |
return new TransformStream({ | |
transform(chunk, controller) { | |
controller.enqueue(JSON.parse(chunk)); | |
} | |
}); | |
} |
export default function splitStream(splitOn) { | |
let buffer = ''; | |
return new TransformStream({ | |
transform(chunk, controller) { | |
buffer += chunk; | |
const parts = buffer.split(splitOn); | |
parts.slice(0, -1).forEach(part => controller.enqueue(part)); | |
buffer = parts[parts.length - 1]; | |
}, | |
flush(controller) { | |
if (buffer) controller.enqueue(buffer); | |
} | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
return new TransformStream()
<-- you're instantiating one of these https://streams.spec.whatwg.org/#ts-class? I can't find anything on the web about those... People write about streams, but I can't find any other examples ofTransformStream
or their current support.Was reading this and came here to learn. Can you explain more?