Currently, this library supports the legacy NodeJS streams API (see https://github.com/kriszyp/cbor-x?tab=readme-ov-file#streams), but not the newer Web/WhatWG streams API (see https://developer.mozilla.org/en-US/docs/Web/API/Streams_API). While it is possible on NodeJS to convert from the legacy API to the the new web streams API with Readable.toWeb()/Writable.toWeb(), neither of these APIs are available in the browser, making it hard to use cbor-x's streaming decode/encode support correctly (with support for backpressure etc.) when reading from a Readable stream such as a fetch request body or a WebTransport stream.
Adding support for this new (and arguable simpler to implement) streams API natively would greatly simplify this library's use in the browser.
As an aside, if you add 'readable-stream' (node's v18 streams) to your bundler and import from there instead of node:streams, you can use the toWeb, fromWeb helpers in the browser.
Currently, this library supports the legacy NodeJS streams API (see https://github.com/kriszyp/cbor-x?tab=readme-ov-file#streams), but not the newer Web/WhatWG streams API (see https://developer.mozilla.org/en-US/docs/Web/API/Streams_API). While it is possible on NodeJS to convert from the legacy API to the the new web streams API with
Readable.toWeb()
/Writable.toWeb()
, neither of these APIs are available in the browser, making it hard to usecbor-x
's streaming decode/encode support correctly (with support for backpressure etc.) when reading from aReadable
stream such as afetch
request body or a WebTransport stream.Adding support for this new (and arguable simpler to implement) streams API natively would greatly simplify this library's use in the browser.