diff options
| author | Teddy Wing | 2014-10-30 20:27:55 -0400 | 
|---|---|---|
| committer | Teddy Wing | 2014-10-30 20:27:55 -0400 | 
| commit | fb4b26ac3aa96432fabeaa5b180690a7f5e3c981 (patch) | |
| tree | f3d9c7d231569417f72aab4e12b26d76e0cfed68 /node_modules/debug/browser.js | |
| parent | 65600960507d714053d6c7ba99b8e3ced1d6761f (diff) | |
| download | sipping-point-fb4b26ac3aa96432fabeaa5b180690a7f5e3c981.tar.bz2 | |
Add node_modules/
Diffstat (limited to 'node_modules/debug/browser.js')
| -rw-r--r-- | node_modules/debug/browser.js | 147 | 
1 files changed, 147 insertions, 0 deletions
| diff --git a/node_modules/debug/browser.js b/node_modules/debug/browser.js new file mode 100644 index 0000000..ce6369f --- /dev/null +++ b/node_modules/debug/browser.js @@ -0,0 +1,147 @@ + +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [ +  'lightseagreen', +  'forestgreen', +  'goldenrod', +  'dodgerblue', +  'darkorchid', +  'crimson' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { +  // is webkit? http://stackoverflow.com/a/16459606/376773 +  return ('WebkitAppearance' in document.documentElement.style) || +    // is firebug? http://stackoverflow.com/a/398120/376773 +    (window.console && (console.firebug || (console.exception && console.table))) || +    // is firefox >= v31? +    // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages +    (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { +  return JSON.stringify(v); +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs() { +  var args = arguments; +  var useColors = this.useColors; + +  args[0] = (useColors ? '%c' : '') +    + this.namespace +    + (useColors ? ' %c' : ' ') +    + args[0] +    + (useColors ? '%c ' : ' ') +    + '+' + exports.humanize(this.diff); + +  if (!useColors) return args; + +  var c = 'color: ' + this.color; +  args = [args[0], c, 'color: inherit'].concat(Array.prototype.slice.call(args, 1)); + +  // the final "%c" is somewhat tricky, because there could be other +  // arguments passed either before or after the %c, so we need to +  // figure out the correct index to insert the CSS into +  var index = 0; +  var lastC = 0; +  args[0].replace(/%[a-z%]/g, function(match) { +    if ('%%' === match) return; +    index++; +    if ('%c' === match) { +      // we only are interested in the *last* %c +      // (the user may have provided their own) +      lastC = index; +    } +  }); + +  args.splice(lastC, 0, c); +  return args; +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { +  // This hackery is required for IE8, +  // where the `console.log` function doesn't have 'apply' +  return 'object' == typeof console +    && 'function' == typeof console.log +    && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { +  try { +    if (null == namespaces) { +      localStorage.removeItem('debug'); +    } else { +      localStorage.debug = namespaces; +    } +  } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { +  var r; +  try { +    r = localStorage.debug; +  } catch(e) {} +  return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); | 
