Coder Social home page Coder Social logo

p-readar-js's Introduction

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 path is an alias for pReadar({ path }).
  • Giving a number primitive fdNum is an alias for pReadar({ path: fdNum }).

opts is an optional options object that supports these optional keys:

  • fs: An object whose .readFile promising method should be used to read the raw file data. Defaults to the nofs module.
  • 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 as 0, the file descriptor number of stdin.
    • All other data types, including String objects and Number objects, will be refused.
  • 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: false
  • keepELL: Whether to preserve a false-y (e.g. empty) last line. Default: false
  • eolRgx: 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: undefined
  • filter: If truthy, a function to .filter() the result lines with. Default: undefined
  • ifEmpty: What to do in case the results array is empty after filter.
    • undefined: Return the exact results array anyway. Even though empty, the filter may 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

p-readar-js's People

Contributors

mk-pmb avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.