chopped-and-viewed

1.0.0 • Public • Published

chopped-and-viewed

A small node module for parsing fixed-width text.

Supply an array of column widths and get back an array of values.

Supply an array of [name,width] pairs to get back a hash/dictionary instead.

An optional second argument preserves whitespace on the ends of a value (by default, values are trimmed).

Installation

npm install chopped-and-viewed

Usage

choppedAndViewed(columnWidths[,preserveWhitespace])

Returns a function that will parse a line of text according to the column widths supplied.

If columnWidths is an array of character widths, like [5,2,3], the parser will produce arrays of strings.

If columnWidths is an array of two-item arrays with a column name and a character width, like [["firstName",10],["lastName",12]], the parser will produce hashes/maps/dictionaries.

By default, each value in the resulting array or hashmaptionary will have whitespace trimmed from the beginning and end. If you want to preserve it, pass true as a second argument.

Option 1: Array

var cav = require("chopped-and-viewed");
 
var parser = cav([3,3,3,4]);
 
console.log(parser("A  BCDEF GHIJ"));
// ['A','BCD','EF','GHIJ']
 
console.log(parser("NPMIS THEBEST"));
// ['NPM','IS','THE','BEST']

Option 2: Hashmaptionary

var cav = require("chopped-and-viewed");
 
var parser = cav([["do",5],["re",3],["mi",5]]);
 
console.log(parser("FOO  BARSTUFF"));
// { do: 'FOO', re: 'BAR', mi: 'STUFF' }

Preserving Whitespace

var cav = require("chopped-and-viewed");
 
var trimWhitespace = cav([8,8,8]);
 
console.log(trimWhitespace("PEOPLE   PLACES   THINGS"));
// ['PEOPLE','PLACES','THINGS']
 
var keepWhitespace = cav([8,8,8],true);
 
console.log(keepWhitespace("PEOPLE   PLACES   THINGS"));
// ['PEOPLE  ',' PLACES ','  THINGS']

Readme

Keywords

Package Sidebar

Install

npm i chopped-and-viewed

Weekly Downloads

5

Version

1.0.0

License

MIT

Last publish

Collaborators

  • veltman