@digitalbazaar/eddsa-rdfc-2022-cryptosuite
Version:
An EdDSA-RDFC-2022 Data Integrity cryptosuite for use with jsonld-signatures.
23 lines (21 loc) • 604 B
JavaScript
/*!
* Copyright (c) 2023-2024 Digital Bazaar, Inc. All rights reserved.
*/
import * as rdfCanonize from 'rdf-canonize';
import jsonld from 'jsonld';
export async function canonize(input, options) {
// convert to RDF dataset and do canonicalization
options = {
algorithm: 'RDFC-1.0',
format: 'application/n-quads',
base: null,
safe: true,
...options
};
const opts = {
rdfDirection: 'i18n-datatype', ...options, produceGeneralizedRdf: false,
};
delete opts.format;
const dataset = await jsonld.toRDF(input, opts);
return rdfCanonize.canonize(dataset, options);
}