@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
34 lines (33 loc) • 1.4 kB
JavaScript
import { CredoError } from "../../../../error/CredoError.mjs";
import "../../../../error/index.mjs";
import { PublicJwk } from "../../../kms/jwk/PublicJwk.mjs";
import "../../../kms/index.mjs";
//#region src/modules/dids/domain/verificationMethod/JsonWebKey2020.ts
const VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020 = "JsonWebKey2020";
/**
* Get a JsonWebKey2020 verification method.
*/
function getJsonWebKey2020(options) {
return {
id: options.verificationMethodId ?? `${options.did}#${options.publicJwk.fingerprint}`,
type: VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020,
controller: options.did,
publicKeyJwk: options.publicJwk.toJson()
};
}
/**
* Check whether a verification method is a JsonWebKey2020 verification method.
*/
function isJsonWebKey2020(verificationMethod) {
return verificationMethod.type === VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020;
}
/**
* Get a key from a JsonWebKey2020 verification method.
*/
function getPublicJwkFromJsonWebKey2020(verificationMethod) {
if (!verificationMethod.publicKeyJwk) throw new CredoError(`Missing publicKeyJwk on verification method with type ${VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020}`);
return PublicJwk.fromUnknown(verificationMethod.publicKeyJwk);
}
//#endregion
export { VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020, getJsonWebKey2020, getPublicJwkFromJsonWebKey2020, isJsonWebKey2020 };
//# sourceMappingURL=JsonWebKey2020.mjs.map