UNPKG

@httpc/kit

Version:

httpc toolbox for building function-based API with minimal code and end-to-end type safety

31 lines (30 loc) 860 B
import { Assertion } from "."; function serializeTokenClaim(token) { return typeof token === "string" ? token : token.join(":"); } function serializeAuthorizationClaim(claim) { let str = serializeTokenClaim(claim.token); if (claim.scope) { str += "@" + serializeTokenClaim(claim.scope); } return str; } function serializeAssertionClaim(assertion) { let str = serializeAuthorizationClaim(assertion); if (assertion.negative) { str = "!" + str; } return str; } function serialize(what) { const serialize = what instanceof Assertion ? serializeAssertionClaim : serializeAuthorizationClaim; return what.claims.map(serialize).join(" "); } export default { serialize, serializeTokenClaim, serializeAuthorizationClaim, serializeAssertionClaim };