Skip to content

abehiroshi/node-parse-buffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-parse-buffer

Parse Buffer

convert to object from buffer.

parse-buffer npm version

Installation

npm install parse-buffer

Example

var parser = require('parse-buffer');

var def = parser(p=>p.object(
  {version: p.string(':')},
  {message1: p.option(
    $=>$.version === '1',
    p.object(
      {key: p.string(',')},
      {val: p.string()},
      {etc: p.value('')}
    )
  )},
  {message2: p.option(
    $=>$.version === '2',
    p.object(
      {key: p.string(',')},
      {val: p.string(',')},
      {etc: p.array(';',
        p.string()
      )}
    )
  )},
  {rank: p.any(
    p.option($=>$.version === '1', p.value('v1')),
    p.option($=>$.version === '2', p.value('v2'))
  )}
))

var buf = new Buffer('1:234,abc');
var result = def.parse(buf);
// result.version === '1'
// result.message1.key === '234'
// result.message1.val === 'abc'
// result.message1.etc === ''
// result.rank === 'v1'

var buf = new Buffer('2:234,abc,x1;y2;z3');
var result = def.parse(buf);
// result.version === '2'
// result.message2.key === '234'
// result.message2.val === 'abc'
// result.message2.etc[0] === 'x1'
// result.message2.etc[1] === 'y1'
// result.message2.etc[2] === 'z1'
// result.rank === 'v2'

License

MIT.

About

convert to object from buffer.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published