JavaScript CBOR-LD Processor (@digitalcredentials/cborld)

A JavaScript CBOR-LD Process for Web browsers and Node.js apps.
Table of Contents
Background
(Forked from digitalbazaar/cborld
v4
to provide TypeScript and ReactNative compatibility.)
This library provides a CBOR-LD Processor for Web browsers, React Native,
and Node.js applications.
Install
NPM
npm install @digitalcredentials/cborld
Git
To install locally (for development):
git clone https://github.com/digitalcredentials/cborld.git
cd cborld
npm install
Usage
This library provides two primary functions for encoding and decoding
CBOR-LD data.
Encode to CBOR-LD
To encode a JSON-LD document as CBOR-LD:
import {encode, documentLoader} from '@digitalcredentials/cborld';
const jsonldDocument = {
'@context': 'https://www.w3.org/ns/activitystreams',
type: 'Note',
summary: 'CBOR-LD',
content: 'CBOR-LD is awesome!'
};
const cborldBytes = await encode({jsonldDocument, documentLoader});
To decode a CBOR-LD document to JSON-LD:
import {decode, documentLoader} from '@digitalcredentials/cborld';
const cborldBytes = await fs.promises.readFile('out.cborld');
const jsonldDocument = await cborld.decode({cborldBytes, documentLoader});
API
Functions
- encode(options) ⇒
Uint8Array
-
Encodes a given JSON-LD document into a CBOR-LD byte array.
- decode(options) ⇒
object
-
Decodes a CBOR-LD byte array into a JSON-LD document.
Typedefs
- diagnosticFunction :
function
-
A diagnostic function that is called with
diagnostic information. Typically set to console.log
when
debugging.
- documentLoaderFunction ⇒
string
-
Fetches a resource given a URL and returns it
as a string.
encode(options) ⇒ Promise<Uint8Array>
Encodes a given JSON-LD document into a CBOR-LD byte array.
Kind: global function
Returns: Uint8Array
- - The encoded CBOR-LD bytes.
options | object |
The
options to use when encoding to CBOR-LD.
|
options.jsonldDocument | object |
The JSON-LD
Document to convert to CBOR-LD bytes.
|
options.documentLoader | documentLoaderFunction |
The document loader to use when resolving JSON-LD Context URLs.
|
[options.appContextMap] | Map |
A map of JSON-LD Context URLs and their encoded CBOR-LD values
(must be values greater than 32767 (0x7FFF)).
|
[options.appTermMap] | Map |
A map of JSON-LD terms and their associated
CBOR-LD term codecs.
|
[options.diagnose] | diagnosticFunction |
A function that, if provided, is called with diagnostic
information.
|
decode(options) ⇒ Promise<object>
Decodes a CBOR-LD byte array into a JSON-LD document.
Kind: global function
Returns: object
- - The decoded JSON-LD Document.
options | object |
The options to use when decoding CBOR-LD.
|
options.cborldBytes | Uint8Array |
The encoded CBOR-LD bytes to
decode.
|
options.documentLoader | function |
The document loader to use when
resolving JSON-LD Context URLs.
|
[options.appContextMap] | Map |
A map of JSON-LD Context URLs and
their associated CBOR-LD values. The values must be greater than
32767 (0x7FFF)).
|
[options.appTermMap] | Map |
A map of JSON-LD terms and
their associated CBOR-LD term codecs.
|
[options.diagnose] | diagnosticFunction |
A function that, if
provided, is called with diagnostic information.
|
diagnosticFunction : function
A diagnostic function that is called with diagnostic information. Typically
set to console.log
when debugging.
Kind: global typedef
message | string | The diagnostic message.
|
documentLoaderFunction ⇒ string
Fetches a resource given a URL and returns it as a string.
Kind: global typedef
Returns: string
- The resource associated with the URL as a string.
url | string |
The URL to retrieve.
|
Examples:
TBD
Contribute
Please follow the existing code style.
PRs accepted.
If editing the README, please conform to the
standard-readme specification.
License
- MIT License - DCC - TypeScript compatibility.
- New BSD License (3-clause) © 2020-2021 Digital Bazaar - Initial implementation.