Read File List

Read the entire contents of each file in a file list.

Usage

var readFileList = require( '@stdlib/fs/read-file-list' );

readFileList( filepaths, [options,] clbk )

Asynchronously reads the entire contents of each file in a file list.

readFileList( [ __filename ], onFiles );

function onFiles( error, files ) {
    if ( error ) {
        throw error;
    }
    console.dir( files );
    // => [{...}]
}

Each file is represented by an object with the following fields:

  • file: file path.
  • data: file contents as either a Buffer or string.

The function accepts the same options as readFile().

readFileList.sync( filepaths[, options] )

Synchronously reads the entire contents of each file in a file list.

var out = readFileList.sync( [ __filename ] );
if ( out instanceof Error ) {
    throw out;
}
console.dir( out );
// => [{...}]

The function accepts the same options as readFile.sync().

Examples

var readFileList = require( '@stdlib/fs/read-file-list' );

/* Sync */

var files = readFileList.sync( [ __filename ], 'utf8' );
// returns <ObjectArray>

console.log( files instanceof Error );
// => false

files = readFileList.sync( [ 'beepboop' ], {
    'encoding': 'utf8'
});
// returns <Error>

console.log( files instanceof Error );
// => true


/* Async */

readFileList( [ __filename ], onFiles );
readFileList( [ 'beepboop' ], onFiles );

function onFiles( error, files ) {
    if ( error ) {
        if ( error.code === 'ENOENT' ) {
            console.error( 'A file does not exist.' );
        } else {
            throw error;
        }
    } else {
        console.dir( files );
    }
}

CLI

Usage

Usage: readfilelist [options] <filepath1> <filepath2> ...

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
  --enc, --encoding encoding   Encoding.
         --flag flag           Flag. Default: 'r'.

Notes

  • Relative file paths are resolved relative to the current working directory.
  • Errors are written to stderr.
  • File contents are written to stdout as newline-delimited JSON (NDJSON).

Examples

$ readfilelist ./README.md ./package.json
{"file":"...","data":"..."}
{"file":"...","data":"..."}