@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
52 lines (48 loc) • 2.42 kB
JavaScript
import { CredoError } from "../../../error/CredoError.mjs";
import "../../../error/index.mjs";
import { injectAll, injectable } from "../../../plugins/index.mjs";
import { __decorateMetadata } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorateMetadata.mjs";
import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorate.mjs";
import { PublicJwk } from "../../kms/jwk/PublicJwk.mjs";
import { __decorateParam } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorateParam.mjs";
import { suites } from "./libraries/jsonld-signatures.mjs";
//#region src/modules/vc/data-integrity/SignatureSuiteRegistry.ts
var _ref;
suites.LinkedDataSignature;
const SignatureSuiteToken = Symbol("SignatureSuiteToken");
let SignatureSuiteRegistry = class SignatureSuiteRegistry {
constructor(suites) {
this.suiteMapping = suites.filter((suite) => suite !== "default");
}
get supportedProofTypes() {
return this.suiteMapping.map((x) => x.proofType);
}
/**
* @deprecated recommended to always search by key type instead as that will have broader support
*/
getByVerificationMethodType(verificationMethodType) {
return this.suiteMapping.find((x) => x.verificationMethodTypes.includes(verificationMethodType));
}
getAllByPublicJwkType(publicJwkType) {
const publicJwkClass = publicJwkType instanceof PublicJwk ? publicJwkType.JwkClass : publicJwkType;
return this.suiteMapping.filter((x) => x.supportedPublicJwkTypes.includes(publicJwkClass));
}
getByProofType(proofType) {
const suiteInfo = this.suiteMapping.find((x) => x.proofType === proofType);
if (!suiteInfo) throw new CredoError(`No signature suite for proof type: ${proofType}`);
return suiteInfo;
}
getVerificationMethodTypesByProofType(proofType) {
const suiteInfo = this.suiteMapping.find((suiteInfo) => suiteInfo.proofType === proofType);
if (!suiteInfo) throw new CredoError(`No verification method type found for proof type: ${proofType}`);
return suiteInfo.verificationMethodTypes;
}
};
SignatureSuiteRegistry = __decorate([
injectable(),
__decorateParam(0, injectAll(SignatureSuiteToken)),
__decorateMetadata("design:paramtypes", [typeof (_ref = typeof Array !== "undefined" && Array) === "function" ? _ref : Object])
], SignatureSuiteRegistry);
//#endregion
export { SignatureSuiteRegistry, SignatureSuiteToken };
//# sourceMappingURL=SignatureSuiteRegistry.mjs.map