@yehn/cbor
v3.0.41
Published
Implementation of Concise Binary Object Representation (CBOR) data format (RFC7049).
Downloads
2
Readme
Yehn™
This repository is part of the source code of Yehn. You can find more information at yehn.io or by contacting [email protected].
You can find the published source code at github.com/yehn/yehn.
For licensing information, see the attached LICENSE file and the list of third-party licenses at yehn.io/legal/licenses/.
CBOR
Installation
yarn add @yehn/cbor
Usage
Browser
TypeScript
import * as CBOR from '@yehn/cbor';
const payload: Uint8Array = new Uint8Array([
255,
18,
15,
34,
210,
168,
165,
188,
81,
33,
34,
40,
73,
61,
149,
198,
154,
54,
128,
76,
191,
161,
58,
176,
45,
75,
1,
33,
80,
157,
28,
89,
]);
// Encoding
const encoder: CBOR.Encoder = new CBOR.Encoder();
const encoded: ArrayBuffer = encoder
.object(1)
.u8(0)
.bytes(payload)
.get_buffer();
// Decoding
let decoded: Uint8Array;
const decoder: CBOR.Decoder = new CBOR.Decoder(encoded);
const properties: number = decoder.object();
for (let i = 0; i < properties; i++) {
switch (decoder.u8()) {
case 0:
decoded = new Uint8Array(decoder.bytes());
break;
default:
decoder.skip();
}
}
// Comparison
const isEqual = decoded.every((row, index) => {
return decoded[index] === payload[index];
});
console.log(isEqual); // true