{"version":3,"file":"jwk.mjs","names":[],"sources":["../../../../src/modules/kms/jwk/jwk.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { zJwkKeyOps, zJwkUse } from './keyOps'\n\nexport const vJwkCommon = z\n  .object({\n    kty: z.string(),\n    kid: z.optional(z.string()),\n    alg: z.optional(z.string()),\n\n    key_ops: z.optional(zJwkKeyOps),\n    use: z.optional(zJwkUse),\n\n    ext: z.optional(z.boolean()),\n\n    x5c: z.optional(z.array(z.string())),\n    x5t: z.optional(z.string()),\n    'x5t#S256': z.optional(z.string()),\n    x5u: z.optional(z.string()),\n  })\n  .loose()\nexport type JwkCommon = z.output<typeof vJwkCommon>\n\n// This can be used to verify the general structure matches\n// without verifying any key type specific combinations (just\n// that if e.g. x is present it should be a string)\nexport const vJwk = z\n  .object({\n    ...vJwkCommon.shape,\n\n    // EC/OKP\n    crv: z.optional(z.string()),\n    x: z.optional(z.string()),\n    d: z.optional(z.string()),\n\n    // EC\n    y: z.optional(z.string()),\n\n    // oct\n    k: z.optional(z.string()),\n\n    // RSA\n    e: z.optional(z.string()),\n    n: z.optional(z.string()),\n    dp: z.optional(z.string()),\n    dq: z.optional(z.string()),\n    oth: z.optional(\n      z.array(\n        z\n          .object({\n            d: z.optional(z.string()),\n            r: z.optional(z.string()),\n            t: z.optional(z.string()),\n          })\n          .loose()\n      )\n    ),\n    p: z.optional(z.string()),\n    q: z.optional(z.string()),\n    qi: z.optional(z.string()),\n  })\n  .loose()\nexport type Jwk = z.output<typeof vJwk>\n"],"mappings":";;;;;;AAIA,MAAa,aAAa,EACvB,OAAO;CACN,KAAK,EAAE,QAAQ;CACf,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC3B,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;CAE3B,SAAS,EAAE,SAAS,WAAW;CAC/B,KAAK,EAAE,SAAS,QAAQ;CAExB,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC;CAE5B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;CACpC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC3B,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;CAClC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC5B,CAAC,CACD,OAAO;AAMV,MAAa,OAAO,EACjB,OAAO;CACN,GAAG,WAAW;CAGd,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC3B,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CACzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CAGzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CAGzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CAGzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CACzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CACzB,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC1B,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC1B,KAAK,EAAE,SACL,EAAE,MACA,EACG,OAAO;EACN,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;EACzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;EACzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;EAC1B,CAAC,CACD,OAAO,CACX,CACF;CACD,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CACzB,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;CACzB,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;CAC3B,CAAC,CACD,OAAO"}