cbor

Encode and parse data in the Concise Binary Object Representation (CBOR) data format (RFC7049).

cbor

Encode and parse data in the Concise Binary Object Representation (CBOR) data format (RFC7049).

$ npm install --save cbor

NOTE This package now requires node.js 4.1 or higher. If you want a version that works with older node.js versions, you can install like this:

npm install 'hildjj/node-cbor#node0' --save

See the full API documentation.

From the command line:

$ bin/json2cbor package.json > package.cbor
$ bin/cbor2json package.cbor
$ bin/cbor2diag package.cbor

Example:

var cbor = require('cbor');
var assert = require('assert');
 
var encoded = cbor.encode(true); // returns <Buffer f5> 
cbor.decodeFirst(encoded, function(errorobj) {
  // error != null if there was an error 
  // obj is the unpacked object 
  assert.ok(obj[0] === true);
});

Allows streaming as well:

var cbor = require('cbor');
var fs = require('fs');
 
var d = new cbor.Decoder();
d.on('data', function(obj){
  console.log(obj);
});
 
var s = fs.createReadStream('foo');
s.pipe(d);
 
var d2 = new cbor.Decoder({input: '00', encoding: 'hex'});
d.on('data', function(obj){
  console.log(obj);
});
d2.start(); // needed when you don't use the stream interface 

For the moment, you'll need to manually install istanbul, nodeunit, and grunt-cli:

$ npm install -g grunt-cli nodeunit istanbul
$ grunt
Running "coffee:compile" (coffee) task
 
Running "nodeunit:all" (nodeunit) task
Testing decoder.test.....OK
Testing diagnose.test...OK
Testing encoder.test.......OK
Testing evented.test....OK
Testing simple.test.OK
Testing tagged.test..OK
Testing utils.test.......OK
>> 459 assertions passed (129ms)
 
Done, without errors.