
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
async-lazystream
Advanced tools
Open Node Streams on demand with async support (original code from https://github.com/jpommerening/node-lazystream)
Create streams lazily (event using promises) when they are read from or written to.
async-lazystream: 1.0.0
Sometimes you feel the itch to open all the files at once. You want to pass a bunch of streams around, so the consumer does not need to worry where the data comes from.
From a software design point-of-view this sounds entirely reasonable. Then there is that neat little function fs.createReadStream()
that opens a file and gives you a nice fs.ReadStream
to pass around, so you use what the mighty creator deities of node bestowed upon you.
Error: EMFILE, too many open files
─ node
This package provides two classes based on the node's Streams3 API (courtesy of readable-stream
to ensure a stable version).
A wrapper for readable streams. Extends stream.PassThrough
.
fn
{Function}options
{Object}PassThrough
stream, accessible by fn
.Creates a new readable stream. Once the stream is accessed (for example when you call its read()
method, or attach a data
-event listener) the fn
function is called with the outer lazystream.Readable
instance bound to this
.
If you pass an options
object to the constuctor, you can access it in your fn
function.
const lazystream = require('async-lazystream');
new lazystream.Readable(function (options) {
return fs.createReadStream('/dev/urandom');
});
or async variant:
const lazystream = require('async-lazystream');
new lazystream.Readable(async function (options) {
// ... some async code
return fs.createReadStream('/dev/urandom');
});
A wrapper for writable streams. Extends stream.PassThrough
.
fn
{Function}options
{Object}PassThrough
stream, accessible by fn
.Creates a new writable stream. Just like the one above but for writable streams.
const lazystream = require('async-lazystream');
new lazystream.Writable(function () {
return fs.createWriteStream('/dev/null');
});
or async variant:
const lazystream = require('async-lazystream');
new lazystream.Writable(async function () {
//... some async code
return fs.createWriteStream('/dev/null');
});
$ npm install async-lazystream --save
Fork it, branch it, send me a pull request. We'll work out the rest together.
J. Pommerening - code for this module was based on 'lazystream'.
See License
FAQs
Open Node Streams on demand with async support (original code from https://github.com/jpommerening/node-lazystream)
The npm package async-lazystream receives a total of 2 weekly downloads. As such, async-lazystream popularity was classified as not popular.
We found that async-lazystream 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.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.