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

1 lines • 4.95 kB
{"version":3,"file":"DidsModuleConfig.mjs","names":[],"sources":["../../../src/modules/dids/DidsModuleConfig.ts"],"sourcesContent":["import type { DidRegistrar, DidResolver } from './domain'\n\nimport {\n JwkDidRegistrar,\n JwkDidResolver,\n KeyDidRegistrar,\n KeyDidResolver,\n PeerDidRegistrar,\n PeerDidResolver,\n WebDidResolver,\n} from './methods'\n\n/**\n * DidsModuleConfigOptions defines the interface for the options of the DidsModuleConfig class.\n * This can contain optional parameters that have default values in the config class itself.\n */\nexport interface DidsModuleConfigOptions {\n /**\n * List of did registrars that should be used by the dids module. The registrar must\n * be an instance of the {@link DidRegistrar} interface.\n *\n * If no registrars are provided, the default registrars will be used. `PeerDidRegistrar` and `KeyDidRegistrar`\n * will ALWAYS be registered, as they are needed for connections, mediation and out of band modules to function.\n * Other did methods can be disabled.\n *\n * @default [KeyDidRegistrar, PeerDidRegistrar, JwkDidRegistrar]\n */\n registrars?: DidRegistrar[]\n\n /**\n * List of did resolvers that should be used by the dids module. The resolver must\n * be an instance of the {@link DidResolver} interface.\n *\n * If no resolvers are provided, the default resolvers will be used. `PeerDidResolver` and `KeyDidResolver`\n * will ALWAYS be registered, as they are needed for connections, mediation and out of band modules to function.\n * Other did methods can be disabled.\n *\n * @default [WebDidResolver, KeyDidResolver, PeerDidResolver, JwkDidResolver]\n */\n resolvers?: DidResolver[]\n}\n\nexport class DidsModuleConfig {\n private options: DidsModuleConfigOptions\n private _registrars: DidRegistrar[] | undefined\n private _resolvers: DidResolver[] | undefined\n\n public constructor(options?: DidsModuleConfigOptions) {\n this.options = options ?? {}\n }\n\n /** See {@link DidsModuleConfigOptions.registrars} */\n public get registrars(): DidRegistrar[] {\n // This prevents creating new instances every time this property is accessed\n if (this._registrars) return this._registrars\n\n let registrars = this.options.registrars ?? [new KeyDidRegistrar(), new PeerDidRegistrar(), new JwkDidRegistrar()]\n\n // Add peer did registrar if it is not included yet\n if (!registrars.find((registrar) => registrar instanceof PeerDidRegistrar)) {\n // Do not modify original options array\n registrars = [...registrars, new PeerDidRegistrar()]\n }\n\n // Add key did registrar if it is not included yet\n if (!registrars.find((registrar) => registrar instanceof KeyDidRegistrar)) {\n // Do not modify original options array\n registrars = [...registrars, new KeyDidRegistrar()]\n }\n\n this._registrars = registrars\n return registrars\n }\n\n public addRegistrar(registrar: DidRegistrar) {\n this.registrars.push(registrar)\n }\n\n /** See {@link DidsModuleConfigOptions.resolvers} */\n public get resolvers() {\n // This prevents creating new instances every time this property is accessed\n if (this._resolvers) return this._resolvers\n\n let resolvers = this.options.resolvers ?? [\n new WebDidResolver(),\n new KeyDidResolver(),\n new PeerDidResolver(),\n new JwkDidResolver(),\n ]\n\n // Add peer did resolver if it is not included yet\n if (!resolvers.find((resolver) => resolver instanceof PeerDidResolver)) {\n // Do not modify original options array\n resolvers = [...resolvers, new PeerDidResolver()]\n }\n\n // Add key did resolver if it is not included yet\n if (!resolvers.find((resolver) => resolver instanceof KeyDidResolver)) {\n // Do not modify original options array\n resolvers = [...resolvers, new KeyDidResolver()]\n }\n\n this._resolvers = resolvers\n return resolvers\n }\n\n public addResolver(resolver: DidResolver) {\n this.resolvers.push(resolver)\n }\n}\n"],"mappings":";;;;;;;;;;;;AA0CA,IAAa,mBAAb,MAA8B;CAK5B,AAAO,YAAY,SAAmC;AACpD,OAAK,UAAU,WAAW,EAAE;;;CAI9B,IAAW,aAA6B;AAEtC,MAAI,KAAK,YAAa,QAAO,KAAK;EAElC,IAAI,aAAa,KAAK,QAAQ,cAAc;GAAC,IAAI,iBAAiB;GAAE,IAAI,kBAAkB;GAAE,IAAI,iBAAiB;GAAC;AAGlH,MAAI,CAAC,WAAW,MAAM,cAAc,qBAAqB,iBAAiB,CAExE,cAAa,CAAC,GAAG,YAAY,IAAI,kBAAkB,CAAC;AAItD,MAAI,CAAC,WAAW,MAAM,cAAc,qBAAqB,gBAAgB,CAEvE,cAAa,CAAC,GAAG,YAAY,IAAI,iBAAiB,CAAC;AAGrD,OAAK,cAAc;AACnB,SAAO;;CAGT,AAAO,aAAa,WAAyB;AAC3C,OAAK,WAAW,KAAK,UAAU;;;CAIjC,IAAW,YAAY;AAErB,MAAI,KAAK,WAAY,QAAO,KAAK;EAEjC,IAAI,YAAY,KAAK,QAAQ,aAAa;GACxC,IAAI,gBAAgB;GACpB,IAAI,gBAAgB;GACpB,IAAI,iBAAiB;GACrB,IAAI,gBAAgB;GACrB;AAGD,MAAI,CAAC,UAAU,MAAM,aAAa,oBAAoB,gBAAgB,CAEpE,aAAY,CAAC,GAAG,WAAW,IAAI,iBAAiB,CAAC;AAInD,MAAI,CAAC,UAAU,MAAM,aAAa,oBAAoB,eAAe,CAEnE,aAAY,CAAC,GAAG,WAAW,IAAI,gBAAgB,CAAC;AAGlD,OAAK,aAAa;AAClB,SAAO;;CAGT,AAAO,YAAY,UAAuB;AACxC,OAAK,UAAU,KAAK,SAAS"}