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 • 2.16 kB
{"version":3,"file":"W3cV2SdJwt.mjs","names":[],"sources":["../../../../src/modules/vc/sd-jwt-vc/W3cV2SdJwt.ts"],"sourcesContent":["import { decodeSdJwtSync, getClaimsSync } from '@sd-jwt/core'\nimport { Hasher } from '../../../crypto'\nimport { CredoError } from '../../../error'\nimport { isJsonObject, type SingleOrArray } from '../../../types'\nimport { ClaimFormat } from '../models/ClaimFormat'\n\nexport interface W3cV2SdJwtHeader {\n alg: string\n kid?: string\n [property: string]: unknown\n}\n\nexport interface W3cV2SdJwtPayload {\n type: SingleOrArray<string>\n iss?: string\n jti?: string\n [property: string]: unknown\n}\n\nexport interface W3cV2SdJwt<T extends ClaimFormat.SdJwtW3cVc | ClaimFormat.SdJwtW3cVp> {\n claimFormat: T\n compact: string\n header: W3cV2SdJwtHeader\n payload: W3cV2SdJwtPayload\n prettyClaims: W3cV2SdJwtPayload\n kbJwt?: {\n header: Record<string, unknown>\n payload: Record<string, unknown>\n }\n}\n\nexport function sdJwtVcHasher(data: string | ArrayBufferLike, alg: string) {\n return Hasher.hash(typeof data === 'string' ? data : new Uint8Array(data), alg)\n}\n\nexport function decodeSdJwt<T extends ClaimFormat.SdJwtW3cVc | ClaimFormat.SdJwtW3cVp>(\n compact: string,\n claimFormat: T\n): W3cV2SdJwt<T> {\n const { jwt, disclosures, kbJwt } = decodeSdJwtSync(compact, sdJwtVcHasher)\n\n const header = jwt.header as W3cV2SdJwtHeader\n const payload = jwt.payload as W3cV2SdJwtPayload\n const prettyClaims = getClaimsSync(payload, disclosures, sdJwtVcHasher) as W3cV2SdJwtPayload\n\n if (!isJsonObject(prettyClaims)) {\n throw new CredoError('SD-JWT claims are not a valid JSON object')\n }\n\n return {\n claimFormat,\n compact,\n header,\n payload,\n prettyClaims,\n kbJwt,\n }\n}\n"],"mappings":";;;;;;;AA+BA,SAAgB,cAAc,MAAgC,KAAa;CACzE,OAAO,OAAO,KAAK,OAAO,SAAS,WAAW,OAAO,IAAI,WAAW,IAAI,GAAG,GAAG;AAChF;AAEA,SAAgB,YACd,SACA,aACe;CACf,MAAM,EAAE,KAAK,aAAa,UAAU,gBAAgB,SAAS,aAAa;CAE1E,MAAM,SAAS,IAAI;CACnB,MAAM,UAAU,IAAI;CACpB,MAAM,eAAe,cAAc,SAAS,aAAa,aAAa;CAEtE,IAAI,CAAC,aAAa,YAAY,GAC5B,MAAM,IAAI,WAAW,2CAA2C;CAGlE,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}