.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / loglevel-colored-level-prefix / dist / index.js
1 'use strict';
2
3 var loglevel = require('loglevel');
4 var chalk = require('chalk');
5
6 var loggers = {};
7
8 module.exports = getLogger;
9
10 function getLogger() {
11   var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
12       _ref$level = _ref.level,
13       level = _ref$level === undefined ? getDefaultLevel() : _ref$level,
14       _ref$prefix = _ref.prefix,
15       prefix = _ref$prefix === undefined ? '' : _ref$prefix;
16
17   if (loggers[prefix]) {
18     return loggers[prefix];
19   }
20   var coloredPrefix = prefix ? `${chalk.dim(prefix)} ` : '';
21   var levelPrefix = {
22     TRACE: chalk.dim('[TRACE]'),
23     DEBUG: chalk.cyan('[DEBUG]'),
24     INFO: chalk.blue('[INFO]'),
25     WARN: chalk.yellow('[WARN]'),
26     ERROR: chalk.red('[ERROR]')
27   };
28
29   var logger = loglevel.getLogger(`${prefix}-logger`);
30
31   // this is the plugin "api"
32   var originalFactory = logger.methodFactory;
33   logger.methodFactory = methodFactory;
34
35   var originalSetLevel = logger.setLevel;
36   logger.setLevel = setLevel;
37   logger.setLevel(level);
38   loggers[prefix] = logger;
39   return logger;
40
41   function methodFactory() {
42     for (var _len = arguments.length, factoryArgs = Array(_len), _key = 0; _key < _len; _key++) {
43       factoryArgs[_key] = arguments[_key];
44     }
45
46     var logLevel = factoryArgs[0];
47
48     var rawMethod = originalFactory.apply(undefined, factoryArgs);
49     return function () {
50       for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
51         args[_key2] = arguments[_key2];
52       }
53
54       return rawMethod.apply(undefined, [`${coloredPrefix}${levelPrefix[logLevel.toUpperCase()]}:`].concat(args));
55     };
56   }
57
58   function setLevel(levelToSetTo) {
59     var persist = false; // uses browser localStorage
60     return originalSetLevel.call(logger, levelToSetTo, persist);
61   }
62 }
63
64 function getDefaultLevel() {
65   var logLevel = process.env.LOG_LEVEL;
66
67   if (logLevel === 'undefined' || !logLevel) {
68     return 'warn';
69   }
70   return logLevel;
71 }