Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/webpack-log/src/loglevel/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict';
/* eslint-disable
arrow-parens,
multiline-ternary,
consistent-return,
no-param-reassign,
prefer-destructuring
*/
const noop = () => {};
const levels = Symbol('levels');
const instance = Symbol('instance');
class MethodFactory {
constructor(logger) {
this[levels] = {
TRACE: 0,
DEBUG: 1,
INFO: 2,
WARN: 3,
ERROR: 4,
SILENT: 5
};
this[instance] = logger;
}
set logger(logger) {
this[instance] = logger;
}
get logger() {
return this[instance];
}
get levels() {
return this[levels];
}
get methods() {
return Object.keys(this.levels)
.map((key) => key.toLowerCase())
.filter((key) => key !== 'silent');
}
distillLevel(level) {
let result = level;
if (
typeof result === 'string' &&
typeof this.levels[result.toUpperCase()] !== 'undefined'
) {
result = this.levels[result.toUpperCase()];
}
if (this.levelValid(result)) {
return result;
}
}
levelValid(level) {
if (
typeof level === 'number' && level >= 0 &&
level <= this.levels.SILENT
) {
return true;
}
return false;
}
/**
* Build the best logging method possible for this env
* Wherever possible we want to bind, not wrap, to preserve stack traces.
* Since we're targeting modern browsers, there's no need to wait for the
* console to become available.
*/
// eslint-disable-next-line class-methods-use-this
make(method) {
if (method === 'debug') {
method = 'log';
}
/* eslint-disable no-console */
if (typeof console[method] !== 'undefined') {
return this.bindMethod(console, method);
} else if (typeof console.log !== 'undefined') {
return this.bindMethod(console, 'log');
}
/* eslint-enable no-console */
return noop;
}
// eslint-disable-next-line class-methods-use-this
bindMethod(obj, name) {
const method = obj[name];
if (typeof method.bind === 'function') {
return method.bind(obj);
}
try {
return Function.prototype.bind.call(method, obj);
} catch (err) {
// Missing bind shim or IE8 + Modernizr, fallback to wrapping
return function result() {
// eslint-disable-next-line prefer-rest-params
return Function.prototype.apply.apply(method, [obj, arguments]);
};
}
}
replaceMethods(logLevel) {
const level = this.distillLevel(logLevel);
if (level == null) {
throw new Error(
`loglevel: replaceMethods() called with invalid level: ${logLevel}`
);
}
if (!this.logger || this.logger.type !== 'LogLevel') {
throw new TypeError(
'loglevel: Logger is undefined or invalid. Please specify a valid Logger instance.'
);
}
this.methods.forEach((method) => {
this.logger[method] = (this.levels[method.toUpperCase()] < level)
? noop
: this.make(method);
});
// Define log.log as an alias for log.debug
this.logger.log = this.logger.debug;
}
}
module.exports = MethodFactory;
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0055 ]-- |