UNPKG

@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
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