rb-sdk
Version:
rb client sdk
134 lines (107 loc) • 4.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _EventDispatcher = require("./EventDispatcher");
var _EventDispatcher2 = _interopRequireDefault(_EventDispatcher);
var _RBEvent = require("./RBEvent");
var _RBEvent2 = _interopRequireDefault(_RBEvent);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var RBDebugger = function () {
function RBDebugger(opts) {
_classCallCheck(this, RBDebugger);
this.defaultConf = {
forward: RBDebugger.FORWARD_CONSOLE,
level: RBDebugger.DEBUGGER_LEVEL_ERROR
};
this.setConfig(opts || this.defaultConf);
}
_createClass(RBDebugger, [{
key: "setConfig",
value: function setConfig() {
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { forward: RBDebugger.FORWARD_CONSOLE, level: RBDebugger.DEBUGGER_LEVEL_INFO };
opts = Object.assign(this.defaultConf, opts);
this.config = opts;
}
}, {
key: "debug",
value: function debug(message, args) {
if (this._isOff()) {
return;
}
var level = this.config.level;
if (level != RBDebugger.DEBUGGER_LEVEL_DEBUG) {
return;
}
this._log(message, args, RBDebugger.DEBUGGER_LEVEL_DEBUG);
}
}, {
key: "error",
value: function error(_error, args) {
if (this._isOff()) {
return;
}
var message = _error;
if (typeof message == 'Error') {
message = _error.message;
}
this._log(message, args, RBDebugger.DEBUGGER_LEVEL_ERROR);
}
}, {
key: "info",
value: function info(message, args) {
if (this._isOff()) {
return;
}
var level = this.config.level;
if (level == RBDebugger.DEBUGGER_LEVEL_ERROR) {
return;
}
this._log(message, args, RBDebugger.DEBUGGER_LEVEL_INFO);
}
}, {
key: "_log",
value: function _log(message, args, level) {
var forward = this.config.forward;
var logdata = { level: level, time: new Date(), message: message, args: args };
var method = level.toLowerCase();
switch (forward) {
case RBDebugger.FORWARD_CONSOLE:
if (method in console) {
console[method]("[" + level + "]:" + message, args);
} else {
console.log("[" + level + "]:" + message, args);
}
break;
case RBDebugger.FORWARD_ALTER:
alert("[" + level + "]:" + message + "^:" + JSON.stringify(args));break;
case RBDebugger.FORWARD_EVENT:
_EventDispatcher2.default.dispatchEvent(new _RBEvent2.default(this, _RBEvent2.default.PRINT_DEBUG_MESSAGE, logdata));break;
}
}
}, {
key: "_isOff",
value: function _isOff() {
var forward = this.config.forward;
if (!forward && forward == RBDebugger.FORWARD_OFF) {
return true;
}
return false;
}
}]);
return RBDebugger;
}();
RBDebugger.FORWARD_OFF = "off";
RBDebugger.FORWARD_CONSOLE = "console";
RBDebugger.FORWARD_ALTER = "alter";
RBDebugger.FORWARD_EVENT = "event";
RBDebugger.DEBUGGER_LEVEL_ERROR = "ERROR";
RBDebugger.DEBUGGER_LEVEL_INFO = "INFO";
RBDebugger.DEBUGGER_LEVEL_DEBUG = "DEBUG";
var rbDebugger = new RBDebugger();
window.onerror = function (message, url, line, column, error) {
rbDebugger.error(message, { url: url, line: line, column: column, error: error });
};
exports.default = rbDebugger;