stream-consumers

    1.0.2 • Public • Published

    Stream Consumers

    node:stream/consumers for Deno, Browsers and older nodejs versions

    (targeting NodeJS v16.7.0+ only? use node:stream/consumers instead)

    Install

    This package is ESM only: Node 12.20+ is needed to use it and it must be imported instead of required.
    npm install stream-consumers

    Use

    The utility consumer functions provide common options for consuming streams.

    They are accessed using:

    import { arrayBuffer, blob, json, text } from 'stream-consumers'

    streamConsumers.arrayBuffer(stream)

    • stream {ReadableStream|stream.Readable|AsyncIterator}
    • Returns: {Promise} Fulfills with an ArrayBuffer containing the full contents of the stream.

    streamConsumers.blob(stream)

    • stream {ReadableStream|stream.Readable|AsyncIterator}
    • Returns: {Promise} Fulfills with a {Blob} containing the full contents of the stream.

    streamConsumers.json(stream)

    • stream {ReadableStream|stream.Readable|AsyncIterator}
    • Returns: {Promise} Fulfills with the contents of the stream parsed as a UTF-8 encoded string that is then passed through JSON.parse().

    streamConsumers.text(stream)

    • stream {ReadableStream|stream.Readable|AsyncIterator}
    • Returns: {Promise} Fulfills with the contents of the stream parsed as a UTF-8 encoded string.

    streamConsumers.buffer(stream) ⚠️ Not supported

    Use arrayBuffer(stream).then(Buffer.from) instead if you realy want a Buffer.
    (you should be using uint8array instead for better Browser/Deno bundles.

    Alternative native methods

    Response can be a grate hack to abuse it's feature to convert mostly anything else without the need for this library. new Response(new ReadableStream({...})).json()

    But this can't work with async iterator or node:streams that's when you should be using this utility stream consumers that all accepts async iterators.

    Install

    npm i stream-consumers

    DownloadsWeekly Downloads

    198

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    13.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • endless