0.1.0 • Published 4 years ago
p-readar v0.1.0
p-readar
Read a text file entirely and return a promise for an array of text lines.
The package name is in honor of astur's
sync-reading readar package.
API
This module exports one function:
pReadar(string path | number fdNum | object opts)
- Giving a string primitive
pathis an alias forpReadar({ path }). - Giving a number primitive
fdNumis an alias forpReadar({ path: fdNum }).
opts is an optional options object that supports these optional keys:
fs: An object whose.readFilepromising method should be used to read the raw file data. Defaults to thenofsmodule.path: Path (as string primitive) or file descriptor number (as number primitive) of the file to be read.- Giving
undefined(also the default) is the same as0, the file descriptor number of stdin. - All other data types, including String objects and Number objects, will be refused.
- Giving
enc: Encoding. Default:'UTF-8'ifUnreadable: What to do in case the file cannot be read.undefined: Reject the promise.- any other value: Pretend this value would have been the result of reading
the file contents.
- In case it is not an array, it will be stringified and line-split.
keepBOM: Whether to preserve UTF-8 Byte Order Mark. Default:falsekeepELL: Whether to preserve a false-y (e.g. empty) last line. Default:falseeolRgx: The line-splitting RegExp. Default:/\r?\n/- Line-splitting will be skipped if the
map: If truthy, a function to.map()the result lines with. Default:undefinedfilter: If truthy, a function to.filter()the result lines with. Default:undefinedifEmpty: What to do in case the results array is empty afterfilter.undefined: Return the exact results array anyway. Even though empty, thefiltermay have modified it in other ways.- any other value: Return that exact value.
Usage
see test/usage.mjs
Known issues
- Needs more/better tests and docs.
License
ISC
0.1.0
4 years ago