js-uploader
Version:
A JavaScript library for file upload
179 lines • 6.16 kB
JavaScript
import { __read, __spread } from "tslib";
export var Level;
(function (Level) {
Level[Level["debug"] = 10] = "debug";
Level[Level["info"] = 20] = "info";
Level[Level["warning"] = 30] = "warning";
Level[Level["error"] = 40] = "error";
Level[Level["test"] = 1000] = "test";
})(Level || (Level = {}));
var ContextLogger = /** @class */ (function () {
function ContextLogger(name, level, formatter, adapter) {
if (adapter === void 0) { adapter = console; }
this.name = name;
this.level = level;
this.formatter = formatter;
this.adapter = adapter;
this.destroy = function () { return void 0; };
this.effects = new Map();
}
ContextLogger.prototype.invoke = function (method, message) {
var _a;
var output = [];
if (this.formatter) {
var params = __spread([this.name, this.level], message);
output = this.formatter.apply(this, params);
}
(_a = this.adapter[method]).call.apply(_a, __spread([this.adapter], output));
var fns = this.effects.get(method) || [];
fns.forEach(function (fn) { return fn.apply(void 0, __spread(message)); });
};
ContextLogger.prototype.info = function () {
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
if (Level.info >= this.level) {
this.invoke('info', message);
}
};
ContextLogger.prototype.warn = function () {
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
if (Level.warning >= this.level) {
this.invoke('warn', message);
}
};
ContextLogger.prototype.error = function () {
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
if (Level.error >= this.level) {
this.invoke('error', message);
}
};
ContextLogger.prototype.debug = function () {
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
if (Level.debug >= this.level) {
this.invoke('debug', message);
}
};
ContextLogger.prototype.setLevel = function (level) {
this.level = level;
};
ContextLogger.prototype.replaceAdapter = function (adapter) {
if (adapter !== this.adapter) {
this.adapter = adapter;
}
};
ContextLogger.prototype.replaceFormatter = function (formatter) {
if (formatter !== this.formatter) {
this.formatter = formatter;
}
};
ContextLogger.prototype.effect = function (method, callback) {
if (this.effects.has(method)) {
var fns = this.effects.get(method);
if (fns.every(function (fn) { return fn !== callback; })) {
fns.push(callback);
}
}
else {
this.effects.set(method, [callback]);
}
};
ContextLogger.prototype.clearEffects = function () {
this.effects.clear();
};
return ContextLogger;
}());
export { ContextLogger };
var Logger = /** @class */ (function () {
function Logger() {
}
Logger.get = function (name, formatter, level, adapter) {
if (adapter === void 0) { adapter = console; }
var logger = Logger.contextMap.get(name);
if (!logger) {
var ctxLogger_1 = new ContextLogger(name, level || Logger.defaultLevel, formatter, adapter);
Logger.contextMap.set(name, ctxLogger_1);
ctxLogger_1.destroy = function () {
Logger.contextMap.delete(name);
ctxLogger_1.clearEffects();
};
return ctxLogger_1;
}
return logger;
};
Logger.setLevel = function (level) {
Logger.outputLogger.setLevel(level);
};
Logger.warn = function () {
var _a;
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
Logger.enable && (_a = Logger.outputLogger).warn.apply(_a, __spread(message));
};
Logger.info = function () {
var _a;
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
Logger.enable && (_a = Logger.outputLogger).info.apply(_a, __spread(message));
};
Logger.debug = function () {
var _a;
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
Logger.enable && (_a = Logger.outputLogger).debug.apply(_a, __spread(message));
};
Logger.error = function () {
var _a;
var message = [];
for (var _i = 0; _i < arguments.length; _i++) {
message[_i] = arguments[_i];
}
Logger.enable && (_a = Logger.outputLogger).error.apply(_a, __spread(message));
};
Logger.setEnable = function (enable) {
Logger.enable = !!enable;
};
Logger.enable = true;
Logger.contextMap = new Map();
Logger.defaultLevel = Level.debug;
Logger.outputLogger = new ContextLogger('rx-uploader', Logger.defaultLevel, function (name, _) {
var message = [];
for (var _i = 2; _i < arguments.length; _i++) {
message[_i - 2] = arguments[_i];
}
var current = new Date();
var prefix = name ? "[" + name + "] " : '';
return __spread([prefix + " " + current.toLocaleString() + ": \r\n"], message);
});
return Logger;
}());
export { Logger };
var envifyLevel = function () {
var env = (typeof process !== 'undefined' && process.env && process.env.NODE_ENV) || 'production';
switch (env) {
case 'production':
return Level.error;
case 'test':
return Level.test;
default:
return Level.debug;
}
};
Logger.setLevel(envifyLevel());
//# sourceMappingURL=Logger.js.map