next-auth
Version:
Authentication for Next.js
83 lines (68 loc) • 2.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setLogger = setLogger;
exports.proxyLogger = proxyLogger;
exports.default = void 0;
const _logger = {
error(code, ...message) {
console.error(`[next-auth][error][${code.toLowerCase()}]`, `\nhttps://next-auth.js.org/errors#${code.toLowerCase()}`, ...message);
},
warn(code, ...message) {
console.warn(`[next-auth][warn][${code.toLowerCase()}]`, `\nhttps://next-auth.js.org/warnings#${code.toLowerCase()}`, ...message);
},
debug(code, ...message) {
var _process, _process$env;
if (!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env._NEXTAUTH_DEBUG)) return;
console.log(`[next-auth][debug][${code.toLowerCase()}]`, ...message);
}
};
function setLogger(newLogger = {}) {
if (newLogger.error) _logger.error = newLogger.error;
if (newLogger.warn) _logger.warn = newLogger.warn;
if (newLogger.debug) _logger.debug = newLogger.debug;
}
var _default = _logger;
exports.default = _default;
function proxyLogger(logger = _logger, basePath) {
try {
if (typeof window === "undefined") {
return logger;
}
const clientLogger = {};
for (const level in logger) {
clientLogger[level] = (code, ...message) => {
_logger[level](code, ...message);
const url = `${basePath}/_log`;
const body = new URLSearchParams({
level,
code,
message: JSON.stringify(message.map(m => {
if (m instanceof Error) {
return {
name: m.name,
message: m.message,
stack: m.stack
};
}
return m;
}))
});
if (navigator.sendBeacon) {
return navigator.sendBeacon(url, body);
}
return fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body
});
};
}
return clientLogger;
} catch (_unused) {
return _logger;
}
}