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

39 lines (38 loc) • 2.13 kB
import _classPrivateFieldInitSpec from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/classPrivateFieldInitSpec.mjs"; import _classPrivateFieldGet2 from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/classPrivateFieldGet2.mjs"; import _classPrivateFieldSet2 from "../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/classPrivateFieldSet2.mjs"; import { KeyManagementError } from "./error/KeyManagementError.mjs"; //#region src/modules/kms/KeyManagementModuleConfig.ts var _defaultBackend = /* @__PURE__ */ new WeakMap(); var _backends = /* @__PURE__ */ new WeakMap(); var KeyManagementModuleConfig = class { constructor(options) { _classPrivateFieldInitSpec(this, _defaultBackend, void 0); _classPrivateFieldInitSpec(this, _backends, void 0); _classPrivateFieldSet2(_backends, this, options.backends ?? []); if (options.defaultBackend) { if (!_classPrivateFieldGet2(_backends, this).find((kms) => kms.backend === options.defaultBackend)) throw new KeyManagementError(`Default backend '${options.defaultBackend}' provided in KeyManagementModuleConfig, but not found in 'backends'. Make sure the backend identifier matches with a registered backend.`); _classPrivateFieldSet2(_defaultBackend, this, options.defaultBackend); } } get backends() { return _classPrivateFieldGet2(_backends, this); } registerBackend(backend) { this.backends.push(backend); } /** * The default backend, used for operations where no explicit `backend` is provided. * * Returns the backend matching the `defaultBackend` identifier from the config options, * or the first registered backend if no `defaultBackend` was configured. */ get defaultBackend() { const backend = this.backends.find((kms) => !_classPrivateFieldGet2(_defaultBackend, this) || _classPrivateFieldGet2(_defaultBackend, this) === kms.backend); if (!backend) throw new KeyManagementError("Unable to determine default key management service backend. Make sure at least one backend is registered."); return backend; } }; //#endregion export { KeyManagementModuleConfig }; //# sourceMappingURL=KeyManagementModuleConfig.mjs.map