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 = ; var parser = ; console;// ['A','BCD','EF','GHIJ'] console;// ['NPM','IS','THE','BEST']
Option 2: Hashmaptionary
var cav = ; var parser = ; console;// { do: 'FOO', re: 'BAR', mi: 'STUFF' }
Preserving Whitespace
var cav = ; var trimWhitespace = ; console;// ['PEOPLE','PLACES','THINGS'] var keepWhitespace = ; console;// ['PEOPLE ',' PLACES ',' THINGS']