26 lines
721 B
JavaScript
26 lines
721 B
JavaScript
var EXPORTED_SYMBOLS = ['aiLog', 'setDebug'];
|
|
let debugEnabled = false;
|
|
|
|
function setDebug(value) {
|
|
debugEnabled = !!value;
|
|
}
|
|
|
|
function getCaller() {
|
|
try {
|
|
let stack = new Error().stack.split('\n');
|
|
if (stack.length >= 3) {
|
|
return stack[2].trim().replace(/^@?\s*\(?/,'').replace(/^at\s+/, '');
|
|
}
|
|
} catch (e) {}
|
|
return '';
|
|
}
|
|
|
|
function aiLog(message, opts = {}, ...args) {
|
|
const { level = 'log', debug = false } = opts;
|
|
if (debug && !debugEnabled) {
|
|
return;
|
|
}
|
|
const caller = getCaller();
|
|
const prefix = caller ? `[ai-filter][${caller}]` : '[ai-filter]';
|
|
console[level](`%c${prefix}`, 'color:#1c92d2;font-weight:bold', message, ...args);
|
|
}
|