INNER CODE UNIT · TypeScript
isSigningJwk
bex-co/beancount-io · backend-cluster/backend-v2/src/config/jwks/index.ts:26
function isSigningJwk(value: unknown): value is SigningJwk {
if (typeof value !== "object" || value === null) return false;
const candidate = value as Record<string, unknown>;
if (
!(
candidate.kty === "EC" &&
candidate.crv === "P-256" &&
candidate.alg === "ES256" &&
(candidate.use === undefined || candidate.use === "sig") &&
(candidate.key_ops === undefined ||
(Array.isArray(candidate.key_ops) &&
candidate.key_ops.includes("sign"))) &&
typeof candidate.kid === "string" &&
candidate.kid.length > 0 &&
typeof candidate.d === "string" &&
candidate.d.length > 0
)
) {