d2-ui
Version:
105 lines (90 loc) • 3.64 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; }; })();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _libCheck = require('../lib/check');
var Logger = (function () {
function Logger(logging) {
_classCallCheck(this, Logger);
(0, _libCheck.checkType)(logging, 'object', 'console');
this.logger = logging;
}
_createClass(Logger, [{
key: 'canLog',
value: function canLog(type) {
return !!(type && console && (0, _libCheck.isType)(this.logger[type], 'function'));
}
}, {
key: 'debug',
value: function debug() {
if (this.canLog('debug')) {
for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {
rest[_key] = arguments[_key];
}
this.logger.debug.apply(console, rest);
return true;
}
return false;
}
}, {
key: 'error',
value: function error() {
if (this.canLog('error')) {
for (var _len2 = arguments.length, rest = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
rest[_key2] = arguments[_key2];
}
this.logger.error.apply(console, rest);
return true;
}
return false;
}
}, {
key: 'log',
value: function log() {
if (this.canLog('log')) {
for (var _len3 = arguments.length, rest = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
rest[_key3] = arguments[_key3];
}
this.logger.log.apply(console, rest);
return true;
}
return false;
}
}, {
key: 'warn',
value: function warn() {
if (this.canLog('warn')) {
for (var _len4 = arguments.length, rest = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
rest[_key4] = arguments[_key4];
}
this.logger.warn.apply(console, rest);
return true;
}
return false;
}
}], [{
key: 'getLogger',
value: function getLogger() {
var logger = undefined;
// TODO: This is not very clean try to figure out a better way to do this.
try {
// Node version
logger = global.console;
} catch (e) {
// Browser version fallback
/* istanbul ignore next */
logger = window.console;
}
if (this.logger) {
return this.logger;
}
return this.logger = new Logger(logger);
}
}]);
return Logger;
})();
exports['default'] = Logger;
module.exports = exports['default'];
//# sourceMappingURL=Logger.js.map
;