read-all-stdin-sync

1.0.5 • Public • Published

read-all-stdin-sync

Save one level of indentation in scripts that won't do anything anyway until they've read all of stdin.

Caveats

  • Only works if data can be read from stdin right away, e.g. reading from a ready file handle.
    • If stdin isn't ready, expect Error: EAGAIN: resource temporarily unavailable, read
    • We can't just wait and retry in sync mode because Node probably won't do I/O if we sleep.
var data = require('read-all-stdin-sync')();
console.dir(Object.keys(JSON.parse(data)));

If you want to get rid of a possible leading Byte-Order Mark:

var data = require('read-all-stdin-sync')({ stripBOM: true });
console.dir(Object.keys(JSON.parse(data)));

Actually, there's a shorthand for BOM stripping and parsing JSON:

var data = require('read-all-stdin-sync')(JSON);
console.dir(Object.keys(data));

You can read buffers, too:

var data = require('read-all-stdin-sync')({ encoding: null });
console.dir(data);

Easier to remember:

var data = require('read-all-stdin-sync')(Buffer);
console.dir(data);

 

License

ISC

Package Sidebar

Install

npm i read-all-stdin-sync

Weekly Downloads

1,310

Version

1.0.5

License

ISC

Last publish

Collaborators

  • mk-pmb