Socket
Socket
Sign inDemoInstall

read-input

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    read-input

Easily read from stdin or files.


Version published
Weekly downloads
44K
decreased by-3.75%
Maintainers
1
Install size
14.3 kB
Created
Weekly downloads
 

Changelog

Source

[v0.3.1]

Jun 3, 2015

  • Fix using read.stdin() as a promise.

Readme

Source

read-input

Write CLI utilities that take a stream of data either stdin from one of more files. To be able to handle this:

$ yourutil file.txt
$ yourutil file1.txt file2.txt
$ yourutil < file.txt
$ cat file.txt | yourutil

Just do this:

#!/usr/bin/env node
var read = require('read-input');
var fnames = process.argv.slice(2);

read(fnames, function (err, res) {
  // `err` will be given if at least one of the files fail.
  if (err) {
    console.error(err.message);
    process.exit(8);
  }

  res.data /* => "..." */
});

read()

read(files, function(err, res) { ... })

Reads from files. If no files are given, read from stdin. The result res is a result object. If any of the files can't be read, err will be an error object.

var read = require('read-input');
var fnames = process.argv.slice(2); //=> ['readme.txt']

read(fnames).then(function (res) {
  res.data       // '...'
  res.error      // undefined or Error()
  res.stdin      // true or false
  res.files      // [...]
  res.successes  // [...]
  res.failures   // [...]
}).catch(function (err) {
  // stdin error
});

To support older versions of Node.js without Promises, you can use callbacks:

read(fname, function (err, res) {
});

You can also iterate through res.files.

read(fnames).then(function(res) {
  res.files.forEach(function (f) {
    f.data    // ...
    f.error   // undefined or Error(...)
    f.stdin   // true or false
    f.name    // 'readme.txt'
  }
});

If files is a blank array (or null), data will be read from stdin. The resulting data will have a similar schema.

read([]).then(fucntion (res) {
  ...
});

read.stdin()

read.stdin(fn)

Read data from standard input. This will not throw errors.

read.stdin().then(function (data) {
  console.log(data); // string
});

read.stdin(function (err, data) {
  ...
});

res

The results value is an object passed to the callback of read().

  • data (String) a concatenation of all data in all the files.
  • error (Error) The first error in all files. undefined if successful.
  • stdin (Boolean) is true if the file is read from stdin
  • files (Array) A list of files.
  • failures (Array) A list of files that failed.
  • successes (Array) A list of files that succeeded.

The files, failures and successes are lists of files. Each of the items in these lists has a similar list of values:

  • data (String) File data
  • error (Error) the first error encountered, if applicable
  • stdin (Boolean) is true if the file is read from stdin
  • name (String) File name

There's also error.result which refers to the result object.

See read() for an example.

Thanks

read-input © 2014+, Rico Sta. Cruz. Released under the MIT License.
Authored and maintained by Rico Sta. Cruz with help from contributors.

ricostacruz.com  ·  GitHub @rstacruz  ·  Twitter @rstacruz

Keywords

FAQs

Last updated on 03 Jun 2015

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc