Nicely Presented Misnomer
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    tinycborpublic

    Node.js Addon for TinyCBOR

    node-tinyCBOR is a NodeJS addon that allows use of the C based tinyCBOR library. With this addon, you can serialize and parse numbers, booleans, strings, arrays, and objects into the CBOR format.

    Performance

    node-tinycbor is currently slower than the built-in JSON.stringify() and JSON.parse() methods for Array and Object encode/decode. However, node-tinycbor is quite fast when compared to alternatives such as node-msgpack. Benchmarks for node-tinycbor can be found here.

    Usage

    This module provides the four following methods:

    • encode(), which consumes a JavaScript object and returns an ArrayBuffer containing the serialized data
    • decode(), which consumes a node ArrayBuffer object and returns a JavaScript object identical to the original
    • toJson(), which consumes a node ArrayBuffer object and writes the JSON representation of said object into a CBORtoJSON.json file in the top directory
    • toText(), which consumes a node ArrayBuffer object and writes the text representation of said object into a CBORtoTEXT.txt file in the top directory

    For toJson() and toText(), if the file is not found, a new one will be generated. Otherwise, the CBOR conversion is appended to the existing file.

    Encoding of Strings, Arrays, and Objects of up to length 100,000 is currently supported. Behavior is undefined for objects outside of the specified range. Encode/Decode of null and undefined data types are also supported.

    The below code snippet encodes and then decodes a JavaScript object, verifying the resulting object at the end using assert.deepEqual().

        var assert = require('assert');
        var CBOR = require('tinycbor');
     
        var obj = {"a" : 1, "b" : 2, "c" : [1, 2, 3]};
        var input = CBOR.encode(obj);
        var output = CBOR.decode(obj);
     
        assert.deepEqual(output, obj);

    Installation

    To install node-tinycbor, use the following:

    NPM

    npm install tinycbor
    

    This should allow use of node-tinycbor through require('tinycbor').

    Manually

    You will need node-gyp:

    npm install -g node-gyp
    

    Then from the root of the tinycbor repo, you can run:

    node-gyp rebuild
    
    NOTE:
    node-gyp attempts to contact the Internet and download the target version of node.js source and store it locally. This will only happen once for each time it sees a new node.js version. If you're on a host with no direct Internet access, you may need to shuffle this source over from another box or sneaker net. Good luck!

    install

    npm i tinycbor

    Downloadslast 7 days

    20

    version

    0.2.1

    license

    ISC

    repository

    gitlab.com

    last publish

    collaborators

    • avatar