@harmoniclabs/cbor
v1.5.0
Published
cbor library for easy cbor parsing, manipulation and conversion
Downloads
5,083
Readme
CBOR (Concise Binary Object Representation)
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 theUint8Array
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;