function enabled() {
              var self = enabled;

              // set `diff` timestamp
              var curr = +new Date();
              var ms = curr - (prevTime || curr);
              self.diff = ms;
              self.prev = prevTime;
              self.curr = curr;
              prevTime = curr;

              // add the `color` if not set
              if (null == self.useColors) self.useColors = exports.useColors();
              if (null == self.color && self.useColors) self.color = selectColor();

              var args = Array.prototype.slice.call(arguments);

              args[0] = exports.coerce(args[0]);

              if ('string' !== typeof args[0]) {
                // anything else let's inspect with %o
                args = ['%o'].concat(args);
              }

              // apply any `formatters` transformations
              var index = 0;
              args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {
                // if we encounter an escaped % then don't increase the array index
                if (match === '%%') return match;
                index++;
                var formatter = exports.formatters[format];
                if ('function' === typeof formatter) {
                  var val = args[index];
                  match = formatter.call(self, val);

                  // now we need to remove `args[index]` since it's inlined in the `format`
                  args.splice(index, 1);
                  index--;
                }
                return match;
              });

              if ('function' === typeof exports.formatArgs) {
                args = exports.formatArgs.apply(self, args);
              }
              var logFn = enabled.log || exports.log || console.log.bind(console);
              logFn.apply(self, args);
            }
// define the `enabled` version
define the `enabled` version
define the ` enabled ` version
function enabled() {
              var self = enabled;
              var curr = +new Date();
              var ms = curr - (prevTime || curr);
              self.diff = ms;
              self.prev = prevTime;
              self.curr = curr;
              prevTime = curr;
              if (null == self.useColors) self.useColors = exports.useColors();
              if (null == self.color && self.useColors) self.color = selectColor();
              var args = Array.prototype.slice.call(arguments);
              args[0] = exports.coerce(args[0]);
              if ('string' !== typeof args[0]) {
                args = ['%o'].concat(args);
              }
              var index = 0;
              args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {
                if (match === '%%') return match;
                index++;
                var formatter = exports.formatters[format];
                if ('function' === typeof formatter) {
                  var val = args[index];
                  match = formatter.call(self, val);
                  args.splice(index, 1);
                  index--;
                }
                return match;
              });
              if ('function' === typeof exports.formatArgs) {
                args = exports.formatArgs.apply(self, args);
              }
              var logFn = enabled.log || exports.log || console.log.bind(console);
              logFn.apply(self, args);
            }
function enabled ( ) { var self = enabled ; var curr = + new Date ( ) ; var ms = curr - ( prevTime || curr ) ; self . diff = ms ; self . prev = prevTime ; self . curr = curr ; prevTime = curr ; if ( null == self . useColors ) self . useColors = exports . useColors ( ) ; if ( null == self . color && self . useColors ) self . color = selectColor ( ) ; var args = Array . prototype . slice . call ( arguments ) ; args [ 0 ] = exports . coerce ( args [ 0 ] ) ; if ( 'string' !== typeof args [ 0 ] ) { args = [ '%o' ] . concat ( args ) ; } var index = 0 ; args [ 0 ] = args [ 0 ] . replace ( / %([a-z%]) / g , function ( match , format ) { if ( match === '%%' ) return match ; index ++ ; var formatter = exports . formatters [ format ] ; if ( 'function' === typeof formatter ) { var val = args [ index ] ; match = formatter . call ( self , val ) ; args . splice ( index , 1 ) ; index -- ; } return match ; } ) ; if ( 'function' === typeof exports . formatArgs ) { args = exports . formatArgs . apply ( self , args ) ; } var logFn = enabled . log || exports . log || console . log . bind ( console ) ; logFn . apply ( self , args ) ; }
define the `enabled` version
define the ` enabled ` version
// set `diff` timestamp // add the `color` if not set // anything else let's inspect with %o // apply any `formatters` transformations // if we encounter an escaped % then don't increase the array index // now we need to remove `args[index]` since it's inlined in the `format`