stream.js 568 B

123456789101112131415161718192021222324252627
  1. import {
  2. TransformStream,
  3. } from 'node:stream/web';
  4. import {transform} from './api/index.js';
  5. const parse = (opts) => {
  6. const api = transform(opts);
  7. return new TransformStream({
  8. async transform(chunk, controller) {
  9. api.parse(chunk, false, (record) => {
  10. controller.enqueue(record);
  11. }, () => {
  12. controller.close();
  13. });
  14. },
  15. async flush(controller){
  16. api.parse(undefined, true, (record) => {
  17. controller.enqueue(record);
  18. }, () => {
  19. controller.close();
  20. });
  21. }
  22. });
  23. };
  24. export {parse};