@harmoniclabs/cbor
v1.6.6
Published
cbor library for easy cbor parsing, manipulation and conversion
Readme
CBOR (Concise Binary Object Representation)
Installation
npm install @harmoniclabs/cborGetting 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:
toStringmethod that returns a lower case hex string.toBuffermethod that returns theUint8Arrayrepresentation 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;