Home

Awesome

always-stream npmjs.com The MIT License npm downloads

Create stream from any value - function, array, string, buffer, promise, number, object and etc. Always returns a function that returns Transform Stream, using through2.

code climate standard code style travis build status coverage status dependency status

Note: This is just a thin wrapper around callback2stream and value2stream.

Install

npm i always-stream --save

Usage

For more use-cases see the tests

const alwaysStream = require('always-stream')

alwaysStream

Create a stream from any value.

Params

Example

var fs = require('fs')
var toStream = require('always-stream')

var numberStream = toStream(123)
numberStream().on('data', function (val) {
  console.log(val) // => 123
})
var stringStream = toStream('str foo')
stringStream().on('data', function (val) {
  console.log(val) // => 'str foo'
})

var readFile = toStream(fs.readFile)
readFile('package.json', 'utf8')
  .on('data', function (val) {
    var json = JSON.parse(val)
    console.log(json.name) // => 'always-stream'
  })
  .once('error', console.error)
  .once('end', console.error)

// or sync functions
var statFile = toStream(fs.statSync)
statFile('package.json')
  .on('data', function (stats) {
    console.log(stats) // => stat object
  })
  .once('error', console.error)
  .once('end', console.error)

// also works for native functions
// like JSON.parse and JSON.stringify
// by respect optional arguments
var stringifyStream = toStream(JSON.stringify)
stringifyStream({ foo: 'bar' }, null, 2)
  .on('data', function (val) {
    console.log(val) // => '{\n  "foo": "bar"\n}'
  })
  .once('error', console.error)

Related

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github