1.0.5 • Published 7 years ago

read-all-stdin-sync v1.0.5

Weekly downloads
2,132
License
ISC
Repository
github
Last release
7 years ago

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

1.0.5

7 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago