| 1234567891011121314151617181920212223242526272829303132333435 | 'use strict';var enabled = require('enabled');/** * Bare minimum browser version of diagnostics. It doesn't need fancy pancy * detection algorithms. The code is only enabled when *you* enable it for * debugging purposes. * * @param {String} name Namespace of the diagnostics instance. * @returns {Function} The logger. * @api public */module.exports = function factory(name) {  if (!enabled(name)) return function diagnopes() {};  return function diagnostics() {    var args = Array.prototype.slice.call(arguments, 0);    //    // We cannot push a value as first argument of the argument array as    // console's formatting %s, %d only works on the first argument it receives.    // So in order to prepend our namespace we need to override and prefix the    // first argument.    //    args[0] = name +': '+ args[0];    //    // So yea. IE8 doesn't have an apply so we need a work around to puke the    // arguments in place.    //    try { Function.prototype.apply.call(console.log, console, args); }    catch (e) {}  };};
 |