{"version":3,"file":"W3cCredentialsModule.mjs","names":[],"sources":["../../../src/modules/vc/W3cCredentialsModule.ts"],"sourcesContent":["import type { DependencyManager, Module } from '../../plugins'\nimport {\n  VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018,\n  VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020,\n} from '../dids'\nimport { Ed25519PublicJwk } from '../kms'\nimport { JsonLdModuleConfig } from './jsonld'\nimport { W3cJwtCredentialService } from './jwt-vc'\nimport {\n  SignatureSuiteRegistry,\n  SignatureSuiteToken,\n  type SuiteInfo,\n} from './linked-data-proofs/SignatureSuiteRegistry'\nimport { Ed25519Signature2018, Ed25519Signature2020 } from './linked-data-proofs/signature-suites'\nimport { W3cJsonLdCredentialService } from './linked-data-proofs/W3cJsonLdCredentialService'\nimport { W3cCredentialRepository } from './repository/W3cCredentialRepository'\nimport { W3cCredentialService } from './W3cCredentialService'\nimport { W3cCredentialsApi } from './W3cCredentialsApi'\nimport type { W3cCredentialsModuleConfigOptions } from './W3cCredentialsModuleConfig'\nimport { W3cCredentialsModuleConfig } from './W3cCredentialsModuleConfig'\n\n/**\n * @public\n */\nexport class W3cCredentialsModule implements Module {\n  public readonly config: W3cCredentialsModuleConfig\n  public readonly api = W3cCredentialsApi\n\n  public constructor(config?: W3cCredentialsModuleConfigOptions) {\n    this.config = new W3cCredentialsModuleConfig(config)\n  }\n\n  public register(dependencyManager: DependencyManager) {\n    dependencyManager.registerSingleton(W3cCredentialService)\n    dependencyManager.registerSingleton(W3cJwtCredentialService)\n    dependencyManager.registerSingleton(W3cJsonLdCredentialService)\n    dependencyManager.registerSingleton(W3cCredentialRepository)\n\n    // Register the config\n    dependencyManager.registerInstance(W3cCredentialsModuleConfig, this.config)\n\n    // Guard for shared JsonLdModuleConfig token if no standalone JsonLdModule\n    // registered, would otherwise be silently overwritten\n    if (!dependencyManager.isRegistered(JsonLdModuleConfig)) {\n      dependencyManager.registerInstance(JsonLdModuleConfig, this.config)\n    }\n\n    // Collect any suites registered via the deprecated SignatureSuiteToken for backward compatibility.\n    // External consumers that used registerInstance(SignatureSuiteToken, suite) will still work until\n    // SignatureSuiteToken is removed in 0.8.\n    const tokenRegisteredSuites = dependencyManager.isRegistered(SignatureSuiteToken)\n      ? (dependencyManager.container.resolveAll<SuiteInfo>(SignatureSuiteToken) as SuiteInfo[])\n      : []\n\n    // Always register ed25519 signature suites\n    dependencyManager.registerInstance(\n      SignatureSuiteRegistry,\n      new SignatureSuiteRegistry([\n        ...tokenRegisteredSuites,\n        {\n          suiteClass: Ed25519Signature2018,\n          proofType: 'Ed25519Signature2018',\n          verificationMethodTypes: [VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018],\n          supportedPublicJwkTypes: [Ed25519PublicJwk],\n        } satisfies SuiteInfo,\n        {\n          suiteClass: Ed25519Signature2020,\n          proofType: 'Ed25519Signature2020',\n          verificationMethodTypes: [VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020],\n          supportedPublicJwkTypes: [Ed25519PublicJwk],\n        } satisfies SuiteInfo,\n      ])\n    )\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAa,uBAAb,MAAoD;CAIlD,YAAmB,QAA4C;EAF/D,KAAgB,MAAM;EAGpB,KAAK,SAAS,IAAI,2BAA2B,MAAM;CACrD;CAEA,SAAgB,mBAAsC;EACpD,kBAAkB,kBAAkB,oBAAoB;EACxD,kBAAkB,kBAAkB,uBAAuB;EAC3D,kBAAkB,kBAAkB,0BAA0B;EAC9D,kBAAkB,kBAAkB,uBAAuB;EAG3D,kBAAkB,iBAAiB,4BAA4B,KAAK,MAAM;EAI1E,IAAI,CAAC,kBAAkB,aAAa,kBAAkB,GACpD,kBAAkB,iBAAiB,oBAAoB,KAAK,MAAM;EAMpE,MAAM,wBAAwB,kBAAkB,aAAa,mBAAmB,IAC3E,kBAAkB,UAAU,WAAsB,mBAAmB,IACtE,CAAC;EAGL,kBAAkB,iBAChB,wBACA,IAAI,uBAAuB;GACzB,GAAG;GACH;IACE,YAAY;IACZ,WAAW;IACX,yBAAyB,CAAC,sDAAsD;IAChF,yBAAyB,CAAC,gBAAgB;GAC5C;GACA;IACE,YAAY;IACZ,WAAW;IACX,yBAAyB,CAAC,sDAAsD;IAChF,yBAAyB,CAAC,gBAAgB;GAC5C;EACF,CAAC,CACH;CACF;AACF"}