from2

Convenience wrapper for ReadableStream, with an API lifted from "from" and "through2"

  • Owner: hughsk/from2
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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.

Main metrics

Overview
Name With Ownerhughsk/from2
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-02-10 10:03:22
Pushed At2019-06-11 15:51:29
Last Commit At2016-08-15 13:15:43
Release Count14
Last Release Namev2.3.0 (Posted on 2016-08-15 13:15:43)
First Release Namev1.0.0 (Posted on 2014-07-18 14:00:41)
用户参与
Stargazers Count133
Watchers Count4
Fork Count21
Commits Count50
Has Issues Enabled
Issues Count12
Issue Open Count8
Pull Requests Count8
Pull Requests Open Count2
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private