@httpc/kit
Version:
httpc toolbox for building function-based API with minimal code and end-to-end type safety
33 lines (32 loc) • 939 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require(".");
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 _1.Assertion
? serializeAssertionClaim
: serializeAuthorizationClaim;
return what.claims.map(serialize).join(" ");
}
exports.default = {
serialize,
serializeTokenClaim,
serializeAuthorizationClaim,
serializeAssertionClaim
};