mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-05-15 22:30:38 +08:00
Reorganize modules into layered directories
This commit is contained in:
59
runtime/debug-logging.js
Normal file
59
runtime/debug-logging.js
Normal file
@@ -0,0 +1,59 @@
|
||||
const MODULE_NAME = "st_bme";
|
||||
const GLOBAL_DEBUG_FLAG_KEY = "__stBmeDebugLoggingEnabled";
|
||||
|
||||
function resolveModuleSettings(settings = null) {
|
||||
if (settings && typeof settings === "object") {
|
||||
return settings;
|
||||
}
|
||||
|
||||
const moduleSettings =
|
||||
globalThis?.extension_settings?.[MODULE_NAME] ||
|
||||
globalThis?.__p0ExtensionSettings?.[MODULE_NAME] ||
|
||||
globalThis?.SillyTavern?.getContext?.()?.extensionSettings?.[MODULE_NAME] ||
|
||||
null;
|
||||
return moduleSettings && typeof moduleSettings === "object"
|
||||
? moduleSettings
|
||||
: null;
|
||||
}
|
||||
|
||||
export function isDebugLoggingEnabled(settings = null) {
|
||||
if (
|
||||
settings &&
|
||||
typeof settings === "object" &&
|
||||
Object.prototype.hasOwnProperty.call(settings, "debugLoggingEnabled")
|
||||
) {
|
||||
return Boolean(settings.debugLoggingEnabled);
|
||||
}
|
||||
|
||||
if (typeof globalThis[GLOBAL_DEBUG_FLAG_KEY] === "boolean") {
|
||||
return globalThis[GLOBAL_DEBUG_FLAG_KEY];
|
||||
}
|
||||
|
||||
return Boolean(resolveModuleSettings(settings)?.debugLoggingEnabled);
|
||||
}
|
||||
|
||||
function emitDebugLog(method, args, settings = null) {
|
||||
if (!isDebugLoggingEnabled(settings)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const target =
|
||||
typeof console?.[method] === "function" ? console[method] : console.log;
|
||||
Reflect.apply(target, console, args);
|
||||
}
|
||||
|
||||
export function debugLog(...args) {
|
||||
emitDebugLog("log", args);
|
||||
}
|
||||
|
||||
export function debugInfo(...args) {
|
||||
emitDebugLog("info", args);
|
||||
}
|
||||
|
||||
export function debugWarn(...args) {
|
||||
emitDebugLog("warn", args);
|
||||
}
|
||||
|
||||
export function debugDebug(...args) {
|
||||
emitDebugLog("debug", args);
|
||||
}
|
||||
Reference in New Issue
Block a user