{"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 { SignatureSuiteRegistry, SignatureSuiteToken, type SuiteInfo } from './data-integrity/SignatureSuiteRegistry'\nimport { Ed25519Signature2018, Ed25519Signature2020 } from './data-integrity/signature-suites'\nimport { W3cJsonLdCredentialService } from './data-integrity/W3cJsonLdCredentialService'\nimport { W3cJwtCredentialService } from './jwt-vc'\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    dependencyManager.registerSingleton(SignatureSuiteRegistry)\n\n    // Register the config\n    dependencyManager.registerInstance(W3cCredentialsModuleConfig, this.config)\n\n    // Always register ed25519 signature suite\n    dependencyManager.registerInstance(SignatureSuiteToken, {\n      suiteClass: Ed25519Signature2018,\n      proofType: 'Ed25519Signature2018',\n      verificationMethodTypes: [\n        VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018,\n        VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020,\n      ],\n      supportedPublicJwkTypes: [Ed25519PublicJwk],\n    } satisfies SuiteInfo)\n    dependencyManager.registerInstance(SignatureSuiteToken, {\n      suiteClass: Ed25519Signature2020,\n      proofType: 'Ed25519Signature2020',\n      verificationMethodTypes: [VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020],\n      supportedPublicJwkTypes: [Ed25519PublicJwk],\n    } satisfies SuiteInfo)\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAa,uBAAb,MAAoD;CAIlD,AAAO,YAAY,QAA4C;OAF/C,MAAM;AAGpB,OAAK,SAAS,IAAI,2BAA2B,OAAO;;CAGtD,AAAO,SAAS,mBAAsC;AACpD,oBAAkB,kBAAkB,qBAAqB;AACzD,oBAAkB,kBAAkB,wBAAwB;AAC5D,oBAAkB,kBAAkB,2BAA2B;AAC/D,oBAAkB,kBAAkB,wBAAwB;AAE5D,oBAAkB,kBAAkB,uBAAuB;AAG3D,oBAAkB,iBAAiB,4BAA4B,KAAK,OAAO;AAG3E,oBAAkB,iBAAiB,qBAAqB;GACtD,YAAY;GACZ,WAAW;GACX,yBAAyB,CACvB,wDACA,uDACD;GACD,yBAAyB,CAAC,iBAAiB;GAC5C,CAAqB;AACtB,oBAAkB,iBAAiB,qBAAqB;GACtD,YAAY;GACZ,WAAW;GACX,yBAAyB,CAAC,uDAAuD;GACjF,yBAAyB,CAAC,iBAAiB;GAC5C,CAAqB"}