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.15 kB
{"version":3,"file":"W3cV2SdJwt.mjs","names":[],"sources":["../../../../src/modules/vc/sd-jwt-vc/W3cV2SdJwt.ts"],"sourcesContent":["import { decodeSdJwtSync, getClaimsSync } from '@sd-jwt/decode'\nimport { Hasher } from '../../../crypto'\nimport { CredoError } from '../../../error'\nimport { isJsonObject, type SingleOrArray } from '../../../types'\nimport { ClaimFormat } from '../models'\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;AACzE,QAAO,OAAO,KAAK,OAAO,SAAS,WAAW,OAAO,IAAI,WAAW,KAAK,EAAE,IAAI;;AAGjF,SAAgB,YACd,SACA,aACe;CACf,MAAM,EAAE,KAAK,aAAa,UAAU,gBAAgB,SAAS,cAAc;CAE3E,MAAM,SAAS,IAAI;CACnB,MAAM,UAAU,IAAI;CACpB,MAAM,eAAe,cAAc,SAAS,aAAa,cAAc;AAEvE,KAAI,CAAC,aAAa,aAAa,CAC7B,OAAM,IAAI,WAAW,4CAA4C;AAGnE,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACD"}