LTSV parser and formatter
$ npm install ltsv
$ bower install ltsv
var ltsv = require('ltsv');
<script src="ltsv.min.js"></script>
ltsv.parse(
'label1:value1\tlabel2:value2\n' +
'label1:value1\tlabel2:value2\n' +
'label1:value1\tlabel2:value2'
);
// [ { label1: 'value1', label2: 'value2' },
// { label1: 'value1', label2: 'value2' },
// { label1: 'value1', label2: 'value2' } ]
ltsv.parseLine('label1:value1\tlabel2:value2');
// { label1: 'value1', label2: 'value2' }
ltsv.parseLine('label1:value1\tlabel2:value2\n');
// { label1: 'value1', label2: 'value2' }
ltsv.parseLine('label1:value1\tlabel2:value2\r\n');
// { label1: 'value1', label2: 'value2' }
ltsv.format([
{ label1: 'value1', label2: 'value2' },
{ label1: 'value1', label2: 'value2' },
{ label1: 'value1', label2: 'value2' }
]);
// 'label1:value1\tlabel2:value2\nlabel1:value1\tlabel2:value2\nlabel1:value1\tlabel2:value2'
ltsv.format({ label1: 'value1', label2: 'value2' });
// 'label1:value1\tlabel2:value2'
var fs = require('fs'),
ltsv = require('ltsv'),
ltjs = ltsv.createLtsvToJsonStream({
toObject: false,
strict: false
});
// access.log:
// l1:v1\tl2:v2\n
// l1:v1\tl2:v2\n
// l1:v1\tl2:v2\n
fs.createReadStream('./access.log').pipe(ltjs).pipe(process.stdout);
// {"l1":"v1","l2":"v2"}{"l1":"v1","l2":"v2"}{"l1":"v1","l2":"v2"}
text
string - LTSV textreturn
Object[] - parsed objects
split to LTSV records.
throw SyntaxError if text
has no separator.
line
string - LTSV linereturn
Object - parsed object
split to LTSV record.
throw SyntaxError if line
has no separator.
text
string - LTSV textreturn
Object[] - parsed objects
split to LTSV records and validate label and value of fields.
throw SyntaxError if text
has no separator.
also throw SyntaxError if text
has unexpected character.
line
string - LTSV linereturn
Object - parsed object
split to LTSV record.
throw SyntaxError if line
has no separator.
also throw SyntaxError if line
has unexpected character.
mixed
Object|Object[] - object or object arrayreturn
string - LTSV text
convert to LTSV text.
throw TypeError if mixed
is not an object or array.
mixed
Object|Object[] - object or object arrayreturn
string - LTSV text
convert to LTSV text.
throw TypeError if mixed
is not an object or array.
also throw SyntaxError if mixed
has unexpected character.
options
object - option objectreturn
LtsvToJsonStream - LTSV to JSON stream
return LtsvToJsonStream instance. cannot use by browser.
encoding
string - StringDecoder encodingtoObject
boolean - flag of send to objectstrict
boolean - flag of strict parse
StringDecoder's encoding.
if not set, use "utf8".
send object if toObject
is true.
otherwise send JSON string.
if not set, toObject
is false.
strict parse if strict
is true.
otherwise not strict parse.
if not set, strict
is false.
$ npm install
$ npm test
$ npm install
$ npm run-script bower
$ npm run-script testem
The MIT License. Please see LICENSE file.