UNPKG

webpack-bundle-analyzer-sunburst

Version:

Webpack plugin and CLI utility that represents bundle content either as an interactive zoomable treemap or a sunburst chart

74 lines (52 loc) 2.08 kB
'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var LEVELS = ['info', 'warn', 'error', 'silent']; var LEVEL_TO_CONSOLE_METHOD = new Map([['info', 'log'], ['warn', 'log']]); var Logger = function () { function Logger() { var level = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'info'; _classCallCheck(this, Logger); this.activeLevels = new Set(); this.setLogLevel(level); } Logger.prototype.setLogLevel = function setLogLevel(level) { var levelIndex = LEVELS.indexOf(level); if (levelIndex === -1) throw new Error('Invalid log level "' + level + '". Use one of these: ' + LEVELS.join(', ')); this.activeLevels.clear(); for (var _iterator = LEVELS.entries(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var _ref2 = _ref, i = _ref2[0], _level = _ref2[1]; if (i >= levelIndex) this.activeLevels.add(_level); } }; Logger.prototype._log = function _log(level) { var _console; for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } (_console = console)[LEVEL_TO_CONSOLE_METHOD.get(level) || level].apply(_console, args); }; return Logger; }(); Logger.levels = LEVELS; ; LEVELS.forEach(function (level) { if (level === 'silent') return; Logger.prototype[level] = function () { for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } if (this.activeLevels.has(level)) this._log.apply(this, [level].concat(args)); }; }); module.exports = Logger;