@clerk/nextjs
Version:
Clerk SDK for NextJS
36 lines • 1.13 kB
JavaScript
import "../chunk-BUSYA2B4.js";
const SENSITIVE_KEYS = /* @__PURE__ */ new Set(["sessionToken", "tokenInHeader", "sessionTokenInCookie", "secretKey", "jwtKey"]);
const maskSecretKey = (str) => {
if (!str || typeof str !== "string") {
return str;
}
try {
return (str || "").replace(/^(sk_(live|test)_)(.+?)(.{3})$/, "$1*********$4");
} catch {
return "";
}
};
const redactSensitive = (value, key) => {
if (key && SENSITIVE_KEYS.has(key) && typeof value === "string") {
return value.substring(0, 7);
}
if (Array.isArray(value)) {
return value.map((item) => redactSensitive(item));
}
if (value && typeof value === "object") {
return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, redactSensitive(v, k)]));
}
return maskSecretKey(value);
};
const logFormatter = (entry) => {
return (Array.isArray(entry) ? entry : [entry]).map((entry2) => {
if (typeof entry2 === "string") {
return maskSecretKey(entry2);
}
return JSON.stringify(redactSensitive(entry2), null, 2);
}).join(", ");
};
export {
logFormatter
};
//# sourceMappingURL=logFormatter.js.map