lib/Logger.js (57 lines of code) (raw):
'use strict';
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"); } }
/**
* Copyright 2016-present, Deloitte Digital.
* All rights reserved.
*
* This source code is licensed under the BSD-3-Clause license found in the
* LICENSE file in the root directory of this source tree.
*/
var empty = function empty() {};
var log = empty;
var concatArgs = empty;
var WARN_DEFINITIONS_URL = 'http://tinyurl.com/jxryd3s';
// If not production update the stubs
if (process.env.NODE_ENV !== 'production') {
/**
* Safely log to the console
*/
log = function log(type, args) {
if (typeof console !== 'undefined' && console[type]) {
if (console[type].apply) {
console[type].apply(undefined, args);
} else {
// IE9 Fallback
console[type](args);
}
}
};
/**
* Concats the message and arguments into a single array
*/
concatArgs = function concatArgs(msg, args) {
var throwArgs = [msg];
if (args && args.length) {
for (var i = 0; i < args.length; i++) {
throwArgs.push(args[i]);
}
}
return throwArgs;
};
}
/**
* Logger class for debugging React Habitat
*/
var Logger = function () {
function Logger() {
_classCallCheck(this, Logger);
}
_createClass(Logger, null, [{
key: 'warn',
/**
* Log a warning
* @param {string} code - The warning code
* @param {string} msg - The warning message
* @param {Array} debugs - Any debugging arguments
*/
value: function warn(code, msg) {
for (var _len = arguments.length, debugs = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
debugs[_key - 2] = arguments[_key];
}
var args = concatArgs('WARNING: ' + code + ' ' + msg + ' ' + WARN_DEFINITIONS_URL + '#' + code.toLowerCase(), debugs);
log('warn', args);
}
/**
* Log an error
* @param {string} code - The warning code
* @param {string} msg - The error message
* @param {Array} debugs - Any debugging arguments
*/
}, {
key: 'error',
value: function error(code, msg) {
for (var _len2 = arguments.length, debugs = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
debugs[_key2 - 2] = arguments[_key2];
}
var args = concatArgs('ERROR: ' + code + ' ' + msg + ' ' + WARN_DEFINITIONS_URL + '#' + code.toLowerCase(), debugs);
log('error', args);
}
}]);
return Logger;
}();
exports.default = Logger;
module.exports = exports['default'];