Files
lan-manager/web/node_modules/@probe.gl/log/dist/esm/log.js
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

428 lines
9.2 KiB
JavaScript

import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import { VERSION, isBrowser } from '@probe.gl/env';
import { LocalStorage } from './utils/local-storage';
import { formatImage, formatTime, leftPad } from './utils/formatters';
import { addColor } from './utils/color';
import { autobind } from './utils/autobind';
import assert from './utils/assert';
import { getHiResTimestamp } from './utils/hi-res-timestamp';
const originalConsole = {
debug: isBrowser ? console.debug || console.log : console.log,
log: console.log,
info: console.info,
warn: console.warn,
error: console.error
};
const DEFAULT_SETTINGS = {
enabled: true,
level: 0
};
function noop() {}
const cache = {};
const ONCE = {
once: true
};
export class Log {
constructor() {
let {
id
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
id: ''
};
_defineProperty(this, "id", void 0);
_defineProperty(this, "VERSION", VERSION);
_defineProperty(this, "_startTs", getHiResTimestamp());
_defineProperty(this, "_deltaTs", getHiResTimestamp());
_defineProperty(this, "_storage", void 0);
_defineProperty(this, "userData", {});
_defineProperty(this, "LOG_THROTTLE_TIMEOUT", 0);
this.id = id;
this.userData = {};
this._storage = new LocalStorage("__probe-".concat(this.id, "__"), DEFAULT_SETTINGS);
this.timeStamp("".concat(this.id, " started"));
autobind(this);
Object.seal(this);
}
set level(newLevel) {
this.setLevel(newLevel);
}
get level() {
return this.getLevel();
}
isEnabled() {
return this._storage.config.enabled;
}
getLevel() {
return this._storage.config.level;
}
getTotal() {
return Number((getHiResTimestamp() - this._startTs).toPrecision(10));
}
getDelta() {
return Number((getHiResTimestamp() - this._deltaTs).toPrecision(10));
}
set priority(newPriority) {
this.level = newPriority;
}
get priority() {
return this.level;
}
getPriority() {
return this.level;
}
enable() {
let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
this._storage.setConfiguration({
enabled
});
return this;
}
setLevel(level) {
this._storage.setConfiguration({
level
});
return this;
}
get(setting) {
return this._storage.config[setting];
}
set(setting, value) {
this._storage.setConfiguration({
[setting]: value
});
}
settings() {
if (console.table) {
console.table(this._storage.config);
} else {
console.log(this._storage.config);
}
}
assert(condition, message) {
assert(condition, message);
}
warn(message) {
return this._getLogFunction(0, message, originalConsole.warn, arguments, ONCE);
}
error(message) {
return this._getLogFunction(0, message, originalConsole.error, arguments);
}
deprecated(oldUsage, newUsage) {
return this.warn("`".concat(oldUsage, "` is deprecated and will be removed in a later version. Use `").concat(newUsage, "` instead"));
}
removed(oldUsage, newUsage) {
return this.error("`".concat(oldUsage, "` has been removed. Use `").concat(newUsage, "` instead"));
}
probe(logLevel, message) {
return this._getLogFunction(logLevel, message, originalConsole.log, arguments, {
time: true,
once: true
});
}
log(logLevel, message) {
return this._getLogFunction(logLevel, message, originalConsole.debug, arguments);
}
info(logLevel, message) {
return this._getLogFunction(logLevel, message, console.info, arguments);
}
once(logLevel, message) {
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
return this._getLogFunction(logLevel, message, originalConsole.debug || originalConsole.info, arguments, ONCE);
}
table(logLevel, table, columns) {
if (table) {
return this._getLogFunction(logLevel, table, console.table || noop, columns && [columns], {
tag: getTableHeader(table)
});
}
return noop;
}
image(_ref) {
let {
logLevel,
priority,
image,
message = '',
scale = 1
} = _ref;
if (!this._shouldLog(logLevel || priority)) {
return noop;
}
return isBrowser ? logImageInBrowser({
image,
message,
scale
}) : logImageInNode({
image,
message,
scale
});
}
time(logLevel, message) {
return this._getLogFunction(logLevel, message, console.time ? console.time : console.info);
}
timeEnd(logLevel, message) {
return this._getLogFunction(logLevel, message, console.timeEnd ? console.timeEnd : console.info);
}
timeStamp(logLevel, message) {
return this._getLogFunction(logLevel, message, console.timeStamp || noop);
}
group(logLevel, message) {
let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
collapsed: false
};
const options = normalizeArguments({
logLevel,
message,
opts
});
const {
collapsed
} = opts;
options.method = (collapsed ? console.groupCollapsed : console.group) || console.info;
return this._getLogFunction(options);
}
groupCollapsed(logLevel, message) {
let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
return this.group(logLevel, message, Object.assign({}, opts, {
collapsed: true
}));
}
groupEnd(logLevel) {
return this._getLogFunction(logLevel, '', console.groupEnd || noop);
}
withGroup(logLevel, message, func) {
this.group(logLevel, message)();
try {
func();
} finally {
this.groupEnd(logLevel)();
}
}
trace() {
if (console.trace) {
console.trace();
}
}
_shouldLog(logLevel) {
return this.isEnabled() && this.getLevel() >= normalizeLogLevel(logLevel);
}
_getLogFunction(logLevel, message, method, args, opts) {
if (this._shouldLog(logLevel)) {
opts = normalizeArguments({
logLevel,
message,
args,
opts
});
method = method || opts.method;
assert(method);
opts.total = this.getTotal();
opts.delta = this.getDelta();
this._deltaTs = getHiResTimestamp();
const tag = opts.tag || opts.message;
if (opts.once) {
if (!cache[tag]) {
cache[tag] = getHiResTimestamp();
} else {
return noop;
}
}
message = decorateMessage(this.id, opts.message, opts);
return method.bind(console, message, ...opts.args);
}
return noop;
}
}
_defineProperty(Log, "VERSION", VERSION);
function normalizeLogLevel(logLevel) {
if (!logLevel) {
return 0;
}
let resolvedLevel;
switch (typeof logLevel) {
case 'number':
resolvedLevel = logLevel;
break;
case 'object':
resolvedLevel = logLevel.logLevel || logLevel.priority || 0;
break;
default:
return 0;
}
assert(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
return resolvedLevel;
}
export function normalizeArguments(opts) {
const {
logLevel,
message
} = opts;
opts.logLevel = normalizeLogLevel(logLevel);
const args = opts.args ? Array.from(opts.args) : [];
while (args.length && args.shift() !== message) {}
switch (typeof logLevel) {
case 'string':
case 'function':
if (message !== undefined) {
args.unshift(message);
}
opts.message = logLevel;
break;
case 'object':
Object.assign(opts, logLevel);
break;
default:
}
if (typeof opts.message === 'function') {
opts.message = opts.message();
}
const messageType = typeof opts.message;
assert(messageType === 'string' || messageType === 'object');
return Object.assign(opts, {
args
}, opts.opts);
}
function decorateMessage(id, message, opts) {
if (typeof message === 'string') {
const time = opts.time ? leftPad(formatTime(opts.total)) : '';
message = opts.time ? "".concat(id, ": ").concat(time, " ").concat(message) : "".concat(id, ": ").concat(message);
message = addColor(message, opts.color, opts.background);
}
return message;
}
function logImageInNode(_ref2) {
let {
image,
message = '',
scale = 1
} = _ref2;
console.warn('removed');
return noop;
}
function logImageInBrowser(_ref3) {
let {
image,
message = '',
scale = 1
} = _ref3;
if (typeof image === 'string') {
const img = new Image();
img.onload = () => {
const args = formatImage(img, message, scale);
console.log(...args);
};
img.src = image;
return noop;
}
const element = image.nodeName || '';
if (element.toLowerCase() === 'img') {
console.log(...formatImage(image, message, scale));
return noop;
}
if (element.toLowerCase() === 'canvas') {
const img = new Image();
img.onload = () => console.log(...formatImage(img, message, scale));
img.src = image.toDataURL();
return noop;
}
return noop;
}
function getTableHeader(table) {
for (const key in table) {
for (const title in table[key]) {
return title || 'untitled';
}
}
return 'empty';
}
//# sourceMappingURL=log.js.map