@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
38 lines (37 loc) • 2.02 kB
JavaScript
import { CredoError } from "../../error/CredoError.mjs";
import "../../error/index.mjs";
import { injectAll, injectable } from "../../plugins/index.mjs";
import __decorateMetadata from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
import __decorate from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
import { PublicJwk } from "../kms/jwk/PublicJwk.mjs";
import __decorateParam from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateParam.mjs";
import { W3cDataIntegrityCryptosuiteToken } from "./cryptosuites/types.mjs";
//#region src/modules/w3c-di/W3cDataIntegrityCryptosuiteRegistry.ts
let W3cDataIntegrityCryptosuiteRegistry = class W3cDataIntegrityCryptosuiteRegistry {
constructor(cryptosuites) {
this.cryptosuiteMapping = cryptosuites.filter((cryptosuite) => cryptosuite !== "default");
}
get supportedCryptosuites() {
return this.cryptosuiteMapping.map((x) => x.cryptosuite);
}
getByCryptosuite(cryptosuite) {
const cryptosuiteInfo = this.cryptosuiteMapping.find((x) => x.cryptosuite === cryptosuite);
if (!cryptosuiteInfo) throw new CredoError(`No Data Integrity cryptosuite registered for cryptosuite: ${cryptosuite}`);
return cryptosuiteInfo;
}
getAllByPublicJwkType(publicJwkType) {
const publicJwkClass = publicJwkType instanceof PublicJwk ? publicJwkType.JwkClass : publicJwkType;
return this.cryptosuiteMapping.filter((x) => x.supportedPublicJwkTypes.includes(publicJwkClass));
}
createByCryptosuite(agentContext, cryptosuite) {
return new (this.getByCryptosuite(cryptosuite)).cryptosuiteClass(agentContext);
}
};
W3cDataIntegrityCryptosuiteRegistry = __decorate([
injectable(),
__decorateParam(0, injectAll(W3cDataIntegrityCryptosuiteToken)),
__decorateMetadata("design:paramtypes", [typeof Array === "undefined" ? Object : Array])
], W3cDataIntegrityCryptosuiteRegistry);
//#endregion
export { W3cDataIntegrityCryptosuiteRegistry };
//# sourceMappingURL=W3cDataIntegrityCryptosuiteRegistry.mjs.map