textics-stream

text/ics-stream is a node version of textics. Counts lines, words, chars and spaces for a stream of strings :shower:

npm install textics-stream

API

import TStream from "textics-stream";

const txtStream = new TStream();

// Start counting
myStream.pipe(txtStream);

// Get lat chunk stat result
txtStream.on("latChunkStat", result => {
  // result : {lines, words, chars, spaces}
});

// Get all stat counters
txtStream.getStat();

Example

import TStream from "textics-stream";
import fs from "fs";

// Create read stream for file you want to read form
const rStream = fs.createReadStream(myFile);

// Create TexticsStream instance
const txtStream = new TStream();

// Pass reading stream to textics
rStream.pipe(txtStream);

// For each chunk passed, give me the result
txtStream.on("latChunkStat", result => {
  // do something
});

// When done, give me the final result
rStream.on("end", () => {
  const { lines, words, chars, spaces } = txtStream.getStat();
});

Tests

npm test

License

This project is licensed under the GPL-3.0 License