This package has been deprecated

Author message:

No longer maintained - please migrate to through2 or, in newer Node.js versions, use the simplified construction API in the 'stream' core module

adhoc-stream

0.0.1 • Public • Published

adhoc-stream

Hmm. This stream is outputting a bunch of objects, but I really only need one of their attributes. Wouldn't it be handy if I could just do that inline...?

Yes, yes it would.

adhoc-stream is a set of utility functions for creating inline, one-off streams, without having to extend a stream object.

someModule = require "some-module"
JSONStream = require "JSONStream"
adhocStream = require "adhoc-stream"
 
fs.createReadStream "./path/to/some/file"
    .pipe someModule.parseThings()
    .pipe adhocStream.transformSync {objectMode: true}(obj, encoding) ->
        @push obj.someAttribute
    .pipe JSONStream.stringify(false)
    .pipe process.stdout

API

.readable(options, func)

Instantiates a Readable stream.

  • options: Same as the options parameter for new stream.Readable.
  • func: The function to set as _read. Same function signature as for new stream.Readable.

.readableSync(options, func)

Alias for .readable. Does nothing special, because Readable streams don't need a callback in their _read method.

.writable(options, func)

Instantiates a Writable stream.

  • options: Same as the options parameter for new stream.Writable.
  • func: The function to set as _write. Same function signature as for new stream.Writable.

.writableSync(options, func)

Same as .writable, but automatically calls the callback after executing func. Useful for one-liners in CoffeeScript. Only usable when your func is completely synchronous.

.transform(options, func)

Instantiates a Transform stream.

  • options: Same as the options parameter for new stream.Transform.
  • func: The function to set as _transofmr. Same function signature as for new stream.Transform.

.transformSync(options, func)

Same as .transform, but automatically calls the callback after executing func. Useful for one-liners in CoffeeScript. Only usable when your func is completely synchronous.

Example:

fs.createReadStream "./path/to/some/file"
    .pipe adhocStream.transformSync {}(chunk) -> @push doSomething(chunk)
...

.duplex(options, readFunc, writeFunc)

Instantiates a Duplex stream.

  • options: Same as the options parameter for new stream.Duplex.
  • readFunc: The function to set as _read. Same function signature as for new stream.Duplex.
  • writeFunc: The function to set as _write. Same function signature as for new stream.Duplex.

.duplexSync(options, readFunc, writeFunc)

Same as .duplex, but automatically calls the callback after executing writeFunc (readFunc is unaffected). Useful for one-liners in CoffeeScript. Only usable when your writeFunc is completely synchronous.

Readme

Keywords

Package Sidebar

Install

npm i adhoc-stream

Weekly Downloads

3

Version

0.0.1

License

WTFPL

Last publish

Collaborators

  • joepie91