No description or website provided.
JavaScript
Latest commit 4bb7b82 Nov 24, 2015 @flogvit Fixed license in files

README.md

rbm-keyvalue-parser

Easy string parser of keys/values

Build Status

Usage:

var Parser = require('rbm-keyvalue-parser');

var ps = new Parser('your text');
console.log(ps.getParts());
// output
var res = [ 
  ['your', undefined], 
  ['text', undefined] 
]

You also have some other methods you can use

var ps = new Parser('your text');
ps.next() // ['your', undefined] and we slurp the entry
ps.next() // ['text', undefined] we get the next one

var ps = new Parser('your text');
ps.peek() // ['your', undefined]; we don't slurp the entry
ps.next() // ['your', undefined]; we get the same

The module parses key/value with multiple keys and values. So you can do

var ps = new Parser('foo,bar="your text",bar');
console.log(ps.getParts());
// output
var res = [ 
  ['foo', ['your text', 'bar'] ], 
  ['bar', ['your text', 'bar'] 
]

Other parses

//Little brown="and yellow" fox=1 jumps over=lazy dog
var res = [ 
  [ 'Little', undefined ],
  [ 'brown', 'and yellow' ],
  [ 'fox', '1' ],
  [ 'jumps', undefined ],
  [ 'over', 'lazy' ],
  [ 'dog', undefined ] 
]

//foo list="foo bar","bar bar" fox="bar,bar" fox=1 foo=bar,foo fox="bar bar",foo fox=foo,"bar bar" foo,bar foo,bar="test test",bar
var res = [ 
  [ 'foo', undefined ],
  [ 'list', [ 'foo bar', 'bar bar' ] ],
  [ 'fox', 'bar,bar' ],
  [ 'fox', '1' ],
  [ 'foo', [ 'bar', 'foo' ] ],
  [ 'fox', [ 'bar bar', 'foo' ] ],
  [ 'fox', [ 'foo', 'bar bar' ] ],
  [ 'foo', undefined ],
  [ 'bar', undefined ],
  [ 'foo', [ 'test test', 'bar' ] ],
  [ 'bar', [ 'test test', 'bar' ] ] 
]

// "foo bar" bar,"foo bar"=1 bar,"foo bar"=bar,"foo bar"
var res = [
  ['foo bar', undefined],
  ['bar', '1'],
  ['foo bar', '1'],
  ['bar', ['bar', 'foo bar']],
  ['foo bar', ['bar', 'foo bar']]
]