The Concise Binary Object Representation (CBOR) data format (RFC7049) implemented in pure JavaScript.
Branch: master
Clone or download
Pull request Compare This branch is 4 commits ahead of paroga:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
.travis.yml
Gruntfile.js
LICENSE
README.md
cbor.js
package.json
yarn.lock

README.md

cbor-js

The Concise Binary Object Representation (CBOR) data format (RFC 7049) implemented in pure JavaScript.

Build Status Coverage Status Dependency status Dev Dependency Status Selenium Test Status

Selenium Test Status

API

The CBOR-object provides the following two functions:

CBOR.decode(data)

Take the ArrayBuffer object data and return it decoded as a JavaScript object.

CBOR.encode(data)

Take the JavaScript object data and return it encoded as a ArrayBuffer object.

Usage

Include cbor.js in your or HTML page:

<script src="path/to/cbor.js" type="text/javascript"></script>

Then you can use it via the CBOR-object in your code:

var initial = { Hello: "World" };
var encoded = CBOR.encode(initial);
var decoded = CBOR.decode(encoded);

After running this example initial and decoded represent the same value.

Combination with WebSocket

The API was designed to play well with the WebSocket object in the browser:

var websocket = new WebSocket(url);
websocket.binaryType = "arraybuffer";
...
websocket.onmessage = function(event) {
  var message = CBOR.decode(event.data);
};
...
websocket.send(CBOR.encode(message));