JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3270
  • Score
    100M100P100Q120286F
  • License Apache-2.0

cbor library for easy cbor parsing, manipulation and conversion

Package Exports

  • @harmoniclabs/cbor
  • @harmoniclabs/cbor/dist/LazyCborObj/LazyCborTag
  • @harmoniclabs/cbor/dist/LazyCborObj/LazyCborTag.js
  • @harmoniclabs/cbor/dist/index.js
  • @harmoniclabs/cbor/dist/utils/ints
  • @harmoniclabs/cbor/dist/utils/ints.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@harmoniclabs/cbor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

CBOR (Concise Binary Object Representation)

Specification

Installation

npm install @harmoniclabs/cbor

Getting started

import { Cbor, CborText } from "@harmoniclabs/cbor";

const input = "6B68656C6C6F20776F726C64";

const cborObj = Cbor.parse( input );

if( cborObj instanceof CborText )
{
    console.log( cborObj.text ) // prints "hello world"
}

const encoded = Cbor.encode( cborObj ).toString();

console.log( encoded ) // prints "6b68656c6c6f20776f726c64" (lower case hex)

How to use

Cbor

to parse/encode CBOR you can use the Cbor static class.

export declare class Cbor {
    private constructor();
    static encode(cborObj: CborObj): CborString;
    static parse(cbor: CborString | Uint8Array | string): CborObj;
}

parse allows you to go from a thing that can represent CBOR (a CborString object is always valid) to a CborObj

encode takes a CborObj and returns a CborString.

CborString

is an object that represents a valid CBOR string;

extending a ByteString includes:

  • toString method that returns a lower case hex string.
  • toBuffer method that returns the Uint8Array representation of the string.
class CborString {
    toString(): string
    toBuffer(): Uint8Array
}

CborObj

result of Cbor.parse; represents a generic CBOR tag corresponding to one of the possible Major types.

type CborObj
    = CborNegInt
    | CborUInt
    | CborBytes
    | CborText
    | CborArray
    | CborMap
    | CborTag
    | CborSimple;