ember-app-scheduler
Version:
Ember addon to schedule work at different phases of app life cycle.
86 lines (67 loc) • 8.02 kB
JavaScript
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
export var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["Trace"] = 0] = "Trace";
LogLevel[LogLevel["Debug"] = 1] = "Debug";
LogLevel[LogLevel["Warn"] = 2] = "Warn";
LogLevel[LogLevel["Error"] = 3] = "Error";
})(LogLevel || (LogLevel = {}));
var NullConsole = function () {
function NullConsole() {
_classCallCheck(this, NullConsole);
}
NullConsole.prototype.log = function log(_message) {};
NullConsole.prototype.warn = function warn(_message) {};
NullConsole.prototype.error = function error(_message) {};
NullConsole.prototype.trace = function trace() {};
return NullConsole;
}();
var ALWAYS = void 0;
export var Logger = function () {
function Logger(_ref) {
var console = _ref.console,
level = _ref.level;
_classCallCheck(this, Logger);
this.f = ALWAYS;
this.force = ALWAYS;
this.console = console;
this.level = level;
}
Logger.prototype.skipped = function skipped(level) {
return level < this.level;
};
Logger.prototype.trace = function trace(message) {
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref2$stackTrace = _ref2.stackTrace,
stackTrace = _ref2$stackTrace === undefined ? false : _ref2$stackTrace;
if (this.skipped(LogLevel.Trace)) return;
this.console.log(message);
if (stackTrace) this.console.trace();
};
Logger.prototype.debug = function debug(message) {
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref3$stackTrace = _ref3.stackTrace,
stackTrace = _ref3$stackTrace === undefined ? false : _ref3$stackTrace;
if (this.skipped(LogLevel.Debug)) return;
this.console.log(message);
if (stackTrace) this.console.trace();
};
Logger.prototype.warn = function warn(message) {
var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref4$stackTrace = _ref4.stackTrace,
stackTrace = _ref4$stackTrace === undefined ? false : _ref4$stackTrace;
if (this.skipped(LogLevel.Warn)) return;
this.console.warn(message);
if (stackTrace) this.console.trace();
};
Logger.prototype.error = function error(message) {
if (this.skipped(LogLevel.Error)) return;
this.console.error(message);
};
return Logger;
}();
var _console = typeof console === 'undefined' ? new NullConsole() : console;
ALWAYS = new Logger({ console: _console, level: LogLevel.Trace });
var LOG_LEVEL = LogLevel.Debug;
export default new Logger({ console: _console, level: LOG_LEVEL });
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOlsiTG9nTGV2ZWwiLCJOdWxsQ29uc29sZSIsImxvZyIsIl9tZXNzYWdlIiwid2FybiIsImVycm9yIiwidHJhY2UiLCJBTFdBWVMiLCJMb2dnZXIiLCJjb25zb2xlIiwibGV2ZWwiLCJmIiwiZm9yY2UiLCJza2lwcGVkIiwibWVzc2FnZSIsInN0YWNrVHJhY2UiLCJUcmFjZSIsImRlYnVnIiwiRGVidWciLCJXYXJuIiwiRXJyb3IiLCJfY29uc29sZSIsIkxPR19MRVZFTCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLElBQUlBLFFBQUo7QUFDUCxDQUFDLFVBQVVBLFFBQVYsRUFBb0I7QUFDakJBLGFBQVNBLFNBQVMsT0FBVCxJQUFvQixDQUE3QixJQUFrQyxPQUFsQztBQUNBQSxhQUFTQSxTQUFTLE9BQVQsSUFBb0IsQ0FBN0IsSUFBa0MsT0FBbEM7QUFDQUEsYUFBU0EsU0FBUyxNQUFULElBQW1CLENBQTVCLElBQWlDLE1BQWpDO0FBQ0FBLGFBQVNBLFNBQVMsT0FBVCxJQUFvQixDQUE3QixJQUFrQyxPQUFsQztBQUNILENBTEQsRUFLR0EsYUFBYUEsV0FBVyxFQUF4QixDQUxIOztJQU1NQyxXOzs7OzswQkFDRkMsRyxnQkFBSUMsUSxFQUFVLENBQUUsQzs7MEJBQ2hCQyxJLGlCQUFLRCxRLEVBQVUsQ0FBRSxDOzswQkFDakJFLEssa0JBQU1GLFEsRUFBVSxDQUFFLEM7OzBCQUNsQkcsSyxvQkFBUSxDQUFFLEM7Ozs7O0FBRWQsSUFBSUMsZUFBSjtBQUNBLFdBQWFDLE1BQWI7QUFDSSwwQkFBZ0M7QUFBQSxZQUFsQkMsT0FBa0IsUUFBbEJBLE9BQWtCO0FBQUEsWUFBVEMsS0FBUyxRQUFUQSxLQUFTOztBQUFBOztBQUM1QixhQUFLQyxDQUFMLEdBQVNKLE1BQVQ7QUFDQSxhQUFLSyxLQUFMLEdBQWFMLE1BQWI7QUFDQSxhQUFLRSxPQUFMLEdBQWVBLE9BQWY7QUFDQSxhQUFLQyxLQUFMLEdBQWFBLEtBQWI7QUFDSDs7QUFOTCxxQkFPSUcsT0FQSixvQkFPWUgsS0FQWixFQU9tQjtBQUNYLGVBQU9BLFFBQVEsS0FBS0EsS0FBcEI7QUFDSCxLQVRMOztBQUFBLHFCQVVJSixLQVZKLGtCQVVVUSxPQVZWLEVBVWdEO0FBQUEsd0ZBQUosRUFBSTtBQUFBLHFDQUEzQkMsVUFBMkI7QUFBQSxZQUEzQkEsVUFBMkIsb0NBQWQsS0FBYzs7QUFDeEMsWUFBSSxLQUFLRixPQUFMLENBQWFiLFNBQVNnQixLQUF0QixDQUFKLEVBQWtDO0FBQ2xDLGFBQUtQLE9BQUwsQ0FBYVAsR0FBYixDQUFpQlksT0FBakI7QUFDQSxZQUFJQyxVQUFKLEVBQWdCLEtBQUtOLE9BQUwsQ0FBYUgsS0FBYjtBQUNuQixLQWRMOztBQUFBLHFCQWVJVyxLQWZKLGtCQWVVSCxPQWZWLEVBZWdEO0FBQUEsd0ZBQUosRUFBSTtBQUFBLHFDQUEzQkMsVUFBMkI7QUFBQSxZQUEzQkEsVUFBMkIsb0NBQWQsS0FBYzs7QUFDeEMsWUFBSSxLQUFLRixPQUFMLENBQWFiLFNBQVNrQixLQUF0QixDQUFKLEVBQWtDO0FBQ2xDLGFBQUtULE9BQUwsQ0FBYVAsR0FBYixDQUFpQlksT0FBakI7QUFDQSxZQUFJQyxVQUFKLEVBQWdCLEtBQUtOLE9BQUwsQ0FBYUgsS0FBYjtBQUNuQixLQW5CTDs7QUFBQSxxQkFvQklGLElBcEJKLGlCQW9CU1UsT0FwQlQsRUFvQitDO0FBQUEsd0ZBQUosRUFBSTtBQUFBLHFDQUEzQkMsVUFBMkI7QUFBQSxZQUEzQkEsVUFBMkIsb0NBQWQsS0FBYzs7QUFDdkMsWUFBSSxLQUFLRixPQUFMLENBQWFiLFNBQVNtQixJQUF0QixDQUFKLEVBQWlDO0FBQ2pDLGFBQUtWLE9BQUwsQ0FBYUwsSUFBYixDQUFrQlUsT0FBbEI7QUFDQSxZQUFJQyxVQUFKLEVBQWdCLEtBQUtOLE9BQUwsQ0FBYUgsS0FBYjtBQUNuQixLQXhCTDs7QUFBQSxxQkF5QklELEtBekJKLGtCQXlCVVMsT0F6QlYsRUF5Qm1CO0FBQ1gsWUFBSSxLQUFLRCxPQUFMLENBQWFiLFNBQVNvQixLQUF0QixDQUFKLEVBQWtDO0FBQ2xDLGFBQUtYLE9BQUwsQ0FBYUosS0FBYixDQUFtQlMsT0FBbkI7QUFDSCxLQTVCTDs7QUFBQTtBQUFBO0FBOEJBLElBQUlPLFdBQVcsT0FBT1osT0FBUCxLQUFtQixXQUFuQixHQUFpQyxJQUFJUixXQUFKLEVBQWpDLEdBQXFEUSxPQUFwRTtBQUNBRixTQUFTLElBQUlDLE1BQUosQ0FBVyxFQUFFQyxTQUFTWSxRQUFYLEVBQXFCWCxPQUFPVixTQUFTZ0IsS0FBckMsRUFBWCxDQUFUO0FBQ0EsSUFBTU0sWUFBWXRCLFNBQVNrQixLQUEzQjtBQUNBLGVBQWUsSUFBSVYsTUFBSixDQUFXLEVBQUVDLFNBQVNZLFFBQVgsRUFBcUJYLE9BQU9ZLFNBQTVCLEVBQVgsQ0FBZiIsImZpbGUiOiJsaWIvbG9nZ2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBMb2dMZXZlbDtcbihmdW5jdGlvbiAoTG9nTGV2ZWwpIHtcbiAgICBMb2dMZXZlbFtMb2dMZXZlbFtcIlRyYWNlXCJdID0gMF0gPSBcIlRyYWNlXCI7XG4gICAgTG9nTGV2ZWxbTG9nTGV2ZWxbXCJEZWJ1Z1wiXSA9IDFdID0gXCJEZWJ1Z1wiO1xuICAgIExvZ0xldmVsW0xvZ0xldmVsW1wiV2FyblwiXSA9IDJdID0gXCJXYXJuXCI7XG4gICAgTG9nTGV2ZWxbTG9nTGV2ZWxbXCJFcnJvclwiXSA9IDNdID0gXCJFcnJvclwiO1xufSkoTG9nTGV2ZWwgfHwgKExvZ0xldmVsID0ge30pKTtcbmNsYXNzIE51bGxDb25zb2xlIHtcbiAgICBsb2coX21lc3NhZ2UpIHt9XG4gICAgd2FybihfbWVzc2FnZSkge31cbiAgICBlcnJvcihfbWVzc2FnZSkge31cbiAgICB0cmFjZSgpIHt9XG59XG5sZXQgQUxXQVlTO1xuZXhwb3J0IGNsYXNzIExvZ2dlciB7XG4gICAgY29uc3RydWN0b3IoeyBjb25zb2xlLCBsZXZlbCB9KSB7XG4gICAgICAgIHRoaXMuZiA9IEFMV0FZUztcbiAgICAgICAgdGhpcy5mb3JjZSA9IEFMV0FZUztcbiAgICAgICAgdGhpcy5jb25zb2xlID0gY29uc29sZTtcbiAgICAgICAgdGhpcy5sZXZlbCA9IGxldmVsO1xuICAgIH1cbiAgICBza2lwcGVkKGxldmVsKSB7XG4gICAgICAgIHJldHVybiBsZXZlbCA8IHRoaXMubGV2ZWw7XG4gICAgfVxuICAgIHRyYWNlKG1lc3NhZ2UsIHsgc3RhY2tUcmFjZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgICAgICBpZiAodGhpcy5za2lwcGVkKExvZ0xldmVsLlRyYWNlKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgICAgICBpZiAoc3RhY2tUcmFjZSkgdGhpcy5jb25zb2xlLnRyYWNlKCk7XG4gICAgfVxuICAgIGRlYnVnKG1lc3NhZ2UsIHsgc3RhY2tUcmFjZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgICAgICBpZiAodGhpcy5za2lwcGVkKExvZ0xldmVsLkRlYnVnKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmNvbnNvbGUubG9nKG1lc3NhZ2UpO1xuICAgICAgICBpZiAoc3RhY2tUcmFjZSkgdGhpcy5jb25zb2xlLnRyYWNlKCk7XG4gICAgfVxuICAgIHdhcm4obWVzc2FnZSwgeyBzdGFja1RyYWNlID0gZmFsc2UgfSA9IHt9KSB7XG4gICAgICAgIGlmICh0aGlzLnNraXBwZWQoTG9nTGV2ZWwuV2FybikpIHJldHVybjtcbiAgICAgICAgdGhpcy5jb25zb2xlLndhcm4obWVzc2FnZSk7XG4gICAgICAgIGlmIChzdGFja1RyYWNlKSB0aGlzLmNvbnNvbGUudHJhY2UoKTtcbiAgICB9XG4gICAgZXJyb3IobWVzc2FnZSkge1xuICAgICAgICBpZiAodGhpcy5za2lwcGVkKExvZ0xldmVsLkVycm9yKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxufVxubGV0IF9jb25zb2xlID0gdHlwZW9mIGNvbnNvbGUgPT09ICd1bmRlZmluZWQnID8gbmV3IE51bGxDb25zb2xlKCkgOiBjb25zb2xlO1xuQUxXQVlTID0gbmV3IExvZ2dlcih7IGNvbnNvbGU6IF9jb25zb2xlLCBsZXZlbDogTG9nTGV2ZWwuVHJhY2UgfSk7XG5jb25zdCBMT0dfTEVWRUwgPSBMb2dMZXZlbC5EZWJ1ZztcbmV4cG9ydCBkZWZhdWx0IG5ldyBMb2dnZXIoeyBjb25zb2xlOiBfY29uc29sZSwgbGV2ZWw6IExPR19MRVZFTCB9KTsiXX0=