@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
29 lines (28 loc) • 1.01 kB
JavaScript
import { CredoError } from "../../../error/CredoError.mjs";
import "../../../error/index.mjs";
import { Hasher } from "../../../crypto/hashes/Hasher.mjs";
import { isJsonObject } from "../../../types.mjs";
import "../../../crypto/index.mjs";
import { decodeSdJwtSync, getClaimsSync } from "@sd-jwt/core";
//#region src/modules/vc/sd-jwt-vc/W3cV2SdJwt.ts
function sdJwtVcHasher(data, alg) {
return Hasher.hash(typeof data === "string" ? data : new Uint8Array(data), alg);
}
function decodeSdJwt(compact, claimFormat) {
const { jwt, disclosures, kbJwt } = decodeSdJwtSync(compact, sdJwtVcHasher);
const header = jwt.header;
const payload = jwt.payload;
const prettyClaims = getClaimsSync(payload, disclosures, sdJwtVcHasher);
if (!isJsonObject(prettyClaims)) throw new CredoError("SD-JWT claims are not a valid JSON object");
return {
claimFormat,
compact,
header,
payload,
prettyClaims,
kbJwt
};
}
//#endregion
export { decodeSdJwt, sdJwtVcHasher };
//# sourceMappingURL=W3cV2SdJwt.mjs.map