rlr
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

rlr

rlr (ReadLineReverse) is an event-driven utility module for reading files in reverse, one line at a time.

Features

  • Zero depedency
  • Event-driven
  • Full Typescript support
  • Supports both ES5 and ES6

Install

$ npm i rlr

Note: This package requires Node >= 14.14.0

Getting Started

import path from 'path';

import Rlr from 'rlr'; // ES6
// const Rlr = require('rlr').default // ES5

const rlr = new Rlr();
const stream = rlr.createInterface(path.resolve('./large-file.txt'))

stream
  .on('line', line => console.log(line))
  .on('close', () => console.log('end'))
  .on('error', err => console.error(err))
  
// Promise wrapper
const readFileReverse(
  file: PathLike,
  cb: ((line: string) => void)
) => new Promise<void>((resolve, reject) => new Rlr()
  .createInterface(file)
  .on('line', cb)
  .on('close', resolve)
  .on('error', reject));
  
readFileReverse('./large-file.txt', console.log);

Options

  • size (default: 65536 (64kb)) Max buffer size in bytes
  • encoding (default: 'utf-8') File encoding
  • newline (default: 'os.EOL') Newline character
  • ignoreEmpty (default: 'true') Should empty lines be ignored

Donating

ko-fi

Package Sidebar

Install

npm i rlr

Weekly Downloads

4

Version

1.2.0

License

MIT

Unpacked Size

9.69 kB

Total Files

6

Last publish

Collaborators

  • chronocide