0.1.0 • Published 4 years ago

text-readline v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

text-readline

NPM version CircleCI License: MIT

Read text file stream line by line passed through Nodejs request

Installation

$ npm install text-readline
$ yarn add text-readline

Usage

Read text lines without filter

const textReadline = require('text-readline');
...
const middleware = async (req, res) => {
  const lines = [];
  const lineProcesser = ({ name, filename, type, lineNumber, line }) => lines.push(line);
  await textReadline(req, lineProcesser);
  ...
}

Read text lines with filter - string

const textReadline = require('text-readline');
...
const middleware = async (req, res) => {
  const lines = [];
  const lineProcesser = ({ name, filename, type, lineNumber, line }) => lines.push(line);
  const filter = 'form-key'
  await textReadline(req, filter, lineProcesser);
  ...
}

Read text lines with filter - object

const textReadline = require('text-readline');
...
const middleware = async (req, res) => {
  const lines = [];
  const lineProcesser = ({ name, filename, type, lineNumber, line }) => lines.push(line);
  const filter = { name: 'form-key', filename: 'mylog.log', type: 'plain' };
  await textReadline(req, filter, lineProcesser);
  ...
}

Read text lines with filter - index

const textReadline = require('text-readline');
...
const middleware = async (req, res) => {
  const lines = [];
  const lineProcesser = ({ name, filename, type, lineNumber, line }) => lines.push(line);
  const filter = { index: 0 };
  await textReadline(req, filter, lineProcesser);
  ...
}

Add more than one stream readers

const textReadline = require('text-readline');
...
const middleware = async (req, res) => {
  const lines = [];
  const lineProcesser = ({ name, filename, type, lineNumber, line }) => lines.push(line);
  const filter = { type: 'plain' };
  const filter2 = { type: 'markdown' };
  textReadline(req, filter, lineProcesser);
  await textReadline(req, filter2, lineProcesser);
  ...
}

MIT Licensed