Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
always-stream
Advanced tools
Create stream from any value - function, array, string, buffer, promise, number, object and etc. Always returns a function that returns Transform Stream, using [through2][].
Create stream from any value - function, array, string, buffer, promise, number, object and etc. Always returns a function that returns Transform Stream, using through2.
Note: This is just a thin wrapper around callback2stream and value2stream.
npm i always-stream --save
For more use-cases see the tests
const alwaysStream = require('always-stream')
Create a stream from any value.
Params
val
{Mixed}: Any type of value.[opts]
{Object|Function=}: Directly passed to value2stream, callback2stream and through2.[Promize]
{Function}: Promise constructor to be used when no support for native Promise. Can be 2nd argument.returns
{Function}: That when executed, returns TransformStream
, using through2Example
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)
co@4
(passing 100% tests) homepagePull 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.
1.0.0 - 2016-05-08
FAQs
Create stream from any value - function, array, string, buffer, promise, number, object and etc. Always returns a function that returns Transform Stream, using [through2][].
We found that always-stream demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.