2.3.0 • Published 8 years ago

from2 v2.3.0

Weekly downloads
16,230,973
License
MIT
Repository
github
Last release
8 years ago

from2 Flattr this!experimental

from2 is a high-level module for creating readable streams that properly handle backpressure.

Convience wrapper for readable-stream's ReadableStream base class, with an API lifted from from and through2.

Usage

from2

stream = from2([opts], read)

Where opts are the options to pass on to the ReadableStream constructor, and read(size, next) is called when data is requested from the stream.

  • size is the recommended amount of data (in bytes) to retrieve.
  • next(err) should be called when you're ready to emit more data.

For example, here's a readable stream that emits the contents of a given string:

var from = require('from2')

function fromString(string) {
  return from(function(size, next) {
    // if there's no more content
    // left in the string, close the stream.
    if (string.length <= 0) return next(null, null)

    // Pull in a new chunk of text,
    // removing it from the string.
    var chunk = string.slice(0, size)
    string = string.slice(size)

    // Emit "chunk" from the stream.
    next(null, chunk)
  })
}

// pipe "hello world" out
// to stdout.
fromString('hello world').pipe(process.stdout)

stream = from2.obj([opts], read)

Shorthand for from2({ objectMode: true }, read).

createStream = from2.ctor([opts], read)

If you're creating similar streams in quick succession you can improve performance by generating a stream constructor that you can reuse instead of creating one-off streams on each call.

Takes the same options as from2, instead returning a constructor which you can use to create new streams.

See Also

  • from2-array - Create a from2 stream based on an array of source values.
  • from2-string - Create a stream from a string. Sugary wrapper around from2.

License

MIT. See LICENSE.md for details.

mississippifork-appcenter-cliarchetype-libraryvuedragdropuploadimages@animalus/gulp-dev-toolskilli8n-react-native-fast-image@cashremit/cr-streamline-iconsbb-chat@frxf/frxf@fundefund/funde_ckpgn-crawler@dattomy/docker-registry-servergql_din_mod@l1nyanm1ng/react-picture-viewerdyx-reacttalent-to-vite-clijs4cytoscape@mink-opn/build-tokensunblock-block-save-variables@infinitebrahmanuniverse/nolb-from@saaspe/components@everything-registry/sub-chunk-1704@rabailriaz/hisaab-web-portaldesign-system-fitbank-450demo-component-skyflyer86drift-npmdwebfs-to-zip-streameditorjs-alerticonssmtrstock-ticker-react-widgetstnenopmoc-iusparse-geonames-searchspigot-ui-inventorystallion-clieos-block-streamdfeuk-frontenddfeuk-frontend-manualdiscord.js-bycondiscordjs-con-selfdigital-keyboard-demos@dashevo/dash-protocol@dashevo/blockchain-spveasyplayer-myeasysurfshop-apisorted-diff-streamsorted-merge-streamsolid-server@ddn/ddndrivedevice-stream-2choice-labjackdevice-stream-2choice-stdindigger-clientdocker-registry-serverc88campus-carosellocampus1campus2campus3campus4cameracar-cmp-2caropcarop2carop3carop4carosello-campus-opacitacarosello-tribuscarosello-tribus-2case-gg-editorcarpenterdcblink-cliclimemclimem-worker-threadscloudwatch-log-streamcommitdbcouchdb-view-cache-streamcourse-vue-tplckeditor5-build-yektackeditor5-custom-symmetreckeditor5-build-custom-strapickeditor5-build-classic-ticketckeditor5-build-classic-v-editckeditor-5-imi-1ckeditor5-custom-build-for-irrosoftckeditor5-click-virtualckeditor5-strapi-msgchanges-feedcpm-defcpm-13cpm-14cpm-15cpm-16cpm-17cpm-18cpm-19cpm-20cpm-21cpm-5cpm-6cpm-7cpm-8
2.3.0

8 years ago

2.2.0

8 years ago

2.1.1

8 years ago

2.1.0

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.3.0

9 years ago

1.2.0

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.0.0

10 years ago