{"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"}