zephyr-agent
Version:
Zephyr plugin agent
96 lines (95 loc) • 3.42 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, getters, values)=>{
var define = (defs, kind)=>{
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
[kind]: defs[key]
});
};
define(getters, "get");
define(values, "value");
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
function stringifyId(value) {
if ('number' == typeof value) return String(value);
return 'string' == typeof value && value.trim() ? value.trim() : void 0;
}
function decodeJwtPayload(token) {
const payload = token?.split('.')[1];
if (!payload) return;
try {
return JSON.parse(Buffer.from(toBase64(payload), 'base64').toString('utf8'));
} catch {
return;
}
}
function getEmailClaims(payload, keys) {
if (!payload) return [];
return getEmails(keys.map((key)=>payload[key]));
}
function getStringClaim(payload, keys) {
if (!payload) return;
return keys.map((key)=>stringifyId(payload[key])).find((value)=>Boolean(value));
}
function getEmails(values) {
return Array.from(new Set(values.map((value)=>getEmail(value)).filter((email)=>Boolean(email))));
}
function getEmail(value) {
if ('string' != typeof value) return;
const trimmed = value.trim();
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmed) ? trimmed : void 0;
}
function claimMatchesEnv(payload, claim, expected) {
if (!expected || void 0 === payload[claim] || null === payload[claim]) return true;
return String(payload[claim]) === expected;
}
function toBase64(base64Url) {
const normalized = base64Url.replace(/-/g, '+').replace(/_/g, '/');
return normalized.padEnd(normalized.length + (4 - normalized.length % 4) % 4, '=');
}
__webpack_require__.d(__webpack_exports__, {
claimMatchesEnv: ()=>claimMatchesEnv,
decodeJwtPayload: ()=>decodeJwtPayload,
getEmail: ()=>getEmail,
getEmailClaims: ()=>getEmailClaims,
getEmails: ()=>getEmails,
getStringClaim: ()=>getStringClaim,
stringifyId: ()=>stringifyId
});
exports.claimMatchesEnv = __webpack_exports__.claimMatchesEnv;
exports.decodeJwtPayload = __webpack_exports__.decodeJwtPayload;
exports.getEmail = __webpack_exports__.getEmail;
exports.getEmailClaims = __webpack_exports__.getEmailClaims;
exports.getEmails = __webpack_exports__.getEmails;
exports.getStringClaim = __webpack_exports__.getStringClaim;
exports.stringifyId = __webpack_exports__.stringifyId;
for(var __rspack_i in __webpack_exports__)if (-1 === [
"claimMatchesEnv",
"decodeJwtPayload",
"getEmail",
"getEmailClaims",
"getEmails",
"getStringClaim",
"stringifyId"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
value: true
});
//# sourceMappingURL=utils.js.map