@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
1 lines • 2.55 kB
Source Map (JSON)
{"version":3,"file":"W3cDataIntegrityCryptosuiteRegistry.mjs","names":[],"sources":["../../../src/modules/w3c-di/W3cDataIntegrityCryptosuiteRegistry.ts"],"sourcesContent":["import type { AgentContext } from '../../agent/context'\nimport { CredoError } from '../../error'\nimport { injectAll, injectable } from '../../plugins'\nimport { PublicJwk, type SupportedPublicJwkClass } from '../kms/jwk/PublicJwk'\nimport type { W3cDataIntegrityCryptosuiteInfo } from './cryptosuites/types'\nimport { W3cDataIntegrityCryptosuiteToken } from './cryptosuites/types'\n\n@injectable()\nexport class W3cDataIntegrityCryptosuiteRegistry {\n private cryptosuiteMapping: W3cDataIntegrityCryptosuiteInfo[]\n\n public constructor(\n @injectAll(W3cDataIntegrityCryptosuiteToken) cryptosuites: Array<W3cDataIntegrityCryptosuiteInfo | 'default'>\n ) {\n this.cryptosuiteMapping = cryptosuites.filter(\n (cryptosuite): cryptosuite is W3cDataIntegrityCryptosuiteInfo => cryptosuite !== 'default'\n )\n }\n\n public get supportedCryptosuites(): string[] {\n return this.cryptosuiteMapping.map((x) => x.cryptosuite)\n }\n\n public getByCryptosuite(cryptosuite: string) {\n const cryptosuiteInfo = this.cryptosuiteMapping.find((x) => x.cryptosuite === cryptosuite)\n\n if (!cryptosuiteInfo) {\n throw new CredoError(`No Data Integrity cryptosuite registered for cryptosuite: ${cryptosuite}`)\n }\n\n return cryptosuiteInfo\n }\n\n public getAllByPublicJwkType(publicJwkType: SupportedPublicJwkClass | PublicJwk) {\n const publicJwkClass = publicJwkType instanceof PublicJwk ? publicJwkType.JwkClass : publicJwkType\n return this.cryptosuiteMapping.filter((x) => x.supportedPublicJwkTypes.includes(publicJwkClass))\n }\n\n public createByCryptosuite(agentContext: AgentContext, cryptosuite: string) {\n const cryptosuiteInfo = this.getByCryptosuite(cryptosuite)\n return new cryptosuiteInfo.cryptosuiteClass(agentContext)\n }\n}\n"],"mappings":";;;;;;;;;AAQO,IAAM,sCAAN,MAAM,oCAAoC;CAG/C,YACE,cACA;EACA,KAAK,qBAAqB,aAAa,QACpC,gBAAgE,gBAAgB,SACnF;CACF;CAEA,IAAW,wBAAkC;EAC3C,OAAO,KAAK,mBAAmB,KAAK,MAAM,EAAE,WAAW;CACzD;CAEA,iBAAwB,aAAqB;EAC3C,MAAM,kBAAkB,KAAK,mBAAmB,MAAM,MAAM,EAAE,gBAAgB,WAAW;EAEzF,IAAI,CAAC,iBACH,MAAM,IAAI,WAAW,6DAA6D,aAAa;EAGjG,OAAO;CACT;CAEA,sBAA6B,eAAoD;EAC/E,MAAM,iBAAiB,yBAAyB,YAAY,cAAc,WAAW;EACrF,OAAO,KAAK,mBAAmB,QAAQ,MAAM,EAAE,wBAAwB,SAAS,cAAc,CAAC;CACjG;CAEA,oBAA2B,cAA4B,aAAqB;EAE1E,OAAO,KADiB,KAAK,iBAAiB,WACrB,EAAA,CAAE,iBAAiB,YAAY;CAC1D;AACF;;CAnCC,WAAW;CAKP,gBAAA,GAAA,UAAU,gCAAgC,CAAA"}