Comparing version 3.2.3 to 4.0.0
"use strict"; | ||
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } | ||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
(function (f) { | ||
if ((typeof exports === "undefined" ? "undefined" : _typeof2(exports)) === "object" && typeof module !== "undefined") { | ||
if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") { | ||
module.exports = f(); | ||
@@ -87,3 +87,3 @@ } else if (typeof define === "function" && define.amd) { | ||
var type = _typeof2(val); | ||
var type = _typeof(val); | ||
@@ -455,17 +455,2 @@ if (type === 'string' && val.length > 0) { | ||
(function (process) { | ||
"use strict"; | ||
function _typeof(obj) { | ||
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { | ||
_typeof = function _typeof(obj) { | ||
return _typeof2(obj); | ||
}; | ||
} else { | ||
_typeof = function _typeof(obj) { | ||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); | ||
}; | ||
} | ||
return _typeof(obj); | ||
} | ||
/* eslint-env browser */ | ||
@@ -476,4 +461,2 @@ | ||
*/ | ||
exports.log = log; | ||
@@ -565,6 +548,6 @@ exports.formatArgs = formatArgs; | ||
function log() { | ||
var _console; // This hackery is required for IE8/9, where | ||
var _console; | ||
// This hackery is required for IE8/9, where | ||
// the `console.log` function doesn't have 'apply' | ||
return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); | ||
@@ -656,3 +639,2 @@ } | ||
4: [function (require, module, exports) { | ||
"use strict"; | ||
/** | ||
@@ -662,3 +644,2 @@ * This is the common logic for both the Node.js and web browser | ||
*/ | ||
function setup(env) { | ||
@@ -726,5 +707,5 @@ createDebug.debug = createDebug; | ||
args[_key] = arguments[_key]; | ||
} // Disabled? | ||
} | ||
// Disabled? | ||
if (!debug.enabled) { | ||
@@ -731,0 +712,0 @@ return; |
{ | ||
"name": "debug", | ||
"version": "3.2.3", | ||
"version": "4.0.0", | ||
"repository": { | ||
@@ -5,0 +5,0 @@ "type": "git", |
@@ -1,5 +0,1 @@ | ||
"use strict"; | ||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
/* eslint-env browser */ | ||
@@ -10,2 +6,3 @@ | ||
*/ | ||
exports.log = log; | ||
@@ -17,2 +14,3 @@ exports.formatArgs = formatArgs; | ||
exports.storage = localstorage(); | ||
/** | ||
@@ -22,3 +20,81 @@ * Colors. | ||
exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; | ||
exports.colors = [ | ||
'#0000CC', | ||
'#0000FF', | ||
'#0033CC', | ||
'#0033FF', | ||
'#0066CC', | ||
'#0066FF', | ||
'#0099CC', | ||
'#0099FF', | ||
'#00CC00', | ||
'#00CC33', | ||
'#00CC66', | ||
'#00CC99', | ||
'#00CCCC', | ||
'#00CCFF', | ||
'#3300CC', | ||
'#3300FF', | ||
'#3333CC', | ||
'#3333FF', | ||
'#3366CC', | ||
'#3366FF', | ||
'#3399CC', | ||
'#3399FF', | ||
'#33CC00', | ||
'#33CC33', | ||
'#33CC66', | ||
'#33CC99', | ||
'#33CCCC', | ||
'#33CCFF', | ||
'#6600CC', | ||
'#6600FF', | ||
'#6633CC', | ||
'#6633FF', | ||
'#66CC00', | ||
'#66CC33', | ||
'#9900CC', | ||
'#9900FF', | ||
'#9933CC', | ||
'#9933FF', | ||
'#99CC00', | ||
'#99CC33', | ||
'#CC0000', | ||
'#CC0033', | ||
'#CC0066', | ||
'#CC0099', | ||
'#CC00CC', | ||
'#CC00FF', | ||
'#CC3300', | ||
'#CC3333', | ||
'#CC3366', | ||
'#CC3399', | ||
'#CC33CC', | ||
'#CC33FF', | ||
'#CC6600', | ||
'#CC6633', | ||
'#CC9900', | ||
'#CC9933', | ||
'#CCCC00', | ||
'#CCCC33', | ||
'#FF0000', | ||
'#FF0033', | ||
'#FF0066', | ||
'#FF0099', | ||
'#FF00CC', | ||
'#FF00FF', | ||
'#FF3300', | ||
'#FF3333', | ||
'#FF3366', | ||
'#FF3399', | ||
'#FF33CC', | ||
'#FF33FF', | ||
'#FF6600', | ||
'#FF6633', | ||
'#FF9900', | ||
'#FF9933', | ||
'#FFCC00', | ||
'#FFCC33' | ||
]; | ||
/** | ||
@@ -31,25 +107,29 @@ * Currently only WebKit-based Web Inspectors, Firefox >= v31, | ||
*/ | ||
// eslint-disable-next-line complexity | ||
function useColors() { | ||
// NB: In an Electron preload script, document will be defined but not fully | ||
// initialized. Since we know we're in Chrome, we'll just detect this case | ||
// explicitly | ||
if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { | ||
return true; | ||
} // Internet Explorer and Edge do not support colors. | ||
// NB: In an Electron preload script, document will be defined but not fully | ||
// initialized. Since we know we're in Chrome, we'll just detect this case | ||
// explicitly | ||
if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { | ||
return true; | ||
} | ||
// Internet Explorer and Edge do not support colors. | ||
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { | ||
return false; | ||
} | ||
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { | ||
return false; | ||
} // Is webkit? http://stackoverflow.com/a/16459606/376773 | ||
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 | ||
// Is webkit? http://stackoverflow.com/a/16459606/376773 | ||
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 | ||
return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || | ||
// Is firebug? http://stackoverflow.com/a/398120/376773 | ||
(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || | ||
// Is firefox >= v31? | ||
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages | ||
(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || | ||
// Double check webkit in userAgent just in case we are in a worker | ||
(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); | ||
} | ||
return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 | ||
typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? | ||
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages | ||
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker | ||
typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); | ||
} | ||
/** | ||
@@ -61,32 +141,37 @@ * Colorize log arguments if enabled. | ||
function formatArgs(args) { | ||
args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); | ||
args[0] = (this.useColors ? '%c' : '') + | ||
this.namespace + | ||
(this.useColors ? ' %c' : ' ') + | ||
args[0] + | ||
(this.useColors ? '%c ' : ' ') + | ||
'+' + module.exports.humanize(this.diff); | ||
if (!this.useColors) { | ||
return; | ||
} | ||
if (!this.useColors) { | ||
return; | ||
} | ||
var c = 'color: ' + this.color; | ||
args.splice(1, 0, c, 'color: inherit'); // 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 | ||
const c = 'color: ' + this.color; | ||
args.splice(1, 0, c, 'color: inherit'); | ||
var index = 0; | ||
var lastC = 0; | ||
args[0].replace(/%[a-zA-Z%]/g, function (match) { | ||
if (match === '%%') { | ||
return; | ||
} | ||
// 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 | ||
let index = 0; | ||
let lastC = 0; | ||
args[0].replace(/%[a-zA-Z%]/g, match => { | ||
if (match === '%%') { | ||
return; | ||
} | ||
index++; | ||
if (match === '%c') { | ||
// We only are interested in the *last* %c | ||
// (the user may have provided their own) | ||
lastC = index; | ||
} | ||
}); | ||
index++; | ||
args.splice(lastC, 0, c); | ||
} | ||
if (match === '%c') { | ||
// We only are interested in the *last* %c | ||
// (the user may have provided their own) | ||
lastC = index; | ||
} | ||
}); | ||
args.splice(lastC, 0, c); | ||
} | ||
/** | ||
@@ -98,11 +183,10 @@ * Invokes `console.log()` when available. | ||
*/ | ||
function log(...args) { | ||
// This hackery is required for IE8/9, where | ||
// the `console.log` function doesn't have 'apply' | ||
return typeof console === 'object' && | ||
console.log && | ||
console.log(...args); | ||
} | ||
function log() { | ||
var _console; | ||
// This hackery is required for IE8/9, where | ||
// the `console.log` function doesn't have 'apply' | ||
return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); | ||
} | ||
/** | ||
@@ -114,15 +198,15 @@ * Save `namespaces`. | ||
*/ | ||
function save(namespaces) { | ||
try { | ||
if (namespaces) { | ||
exports.storage.setItem('debug', namespaces); | ||
} else { | ||
exports.storage.removeItem('debug'); | ||
} | ||
} catch (error) {// Swallow | ||
// XXX (@Qix-) should we be logging these? | ||
} | ||
try { | ||
if (namespaces) { | ||
exports.storage.setItem('debug', namespaces); | ||
} else { | ||
exports.storage.removeItem('debug'); | ||
} | ||
} catch (error) { | ||
// Swallow | ||
// XXX (@Qix-) should we be logging these? | ||
} | ||
} | ||
/** | ||
@@ -134,20 +218,19 @@ * Load `namespaces`. | ||
*/ | ||
function load() { | ||
var r; | ||
let r; | ||
try { | ||
r = exports.storage.getItem('debug'); | ||
} catch (error) { | ||
// Swallow | ||
// XXX (@Qix-) should we be logging these? | ||
} | ||
try { | ||
r = exports.storage.getItem('debug'); | ||
} catch (error) {} // Swallow | ||
// XXX (@Qix-) should we be logging these? | ||
// If debug isn't set in LS, and we're in Electron, try to load $DEBUG | ||
// If debug isn't set in LS, and we're in Electron, try to load $DEBUG | ||
if (!r && typeof process !== 'undefined' && 'env' in process) { | ||
r = process.env.DEBUG; | ||
} | ||
return r; | ||
} | ||
if (!r && typeof process !== 'undefined' && 'env' in process) { | ||
r = process.env.DEBUG; | ||
} | ||
return r; | ||
} | ||
/** | ||
@@ -164,15 +247,17 @@ * Localstorage attempts to return the localstorage. | ||
function localstorage() { | ||
try { | ||
// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context | ||
// The Browser also has localStorage in the global context. | ||
return localStorage; | ||
} catch (error) {// Swallow | ||
// XXX (@Qix-) should we be logging these? | ||
} | ||
try { | ||
// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context | ||
// The Browser also has localStorage in the global context. | ||
return localStorage; | ||
} catch (error) { | ||
// Swallow | ||
// XXX (@Qix-) should we be logging these? | ||
} | ||
} | ||
module.exports = require('./common')(exports); | ||
var formatters = module.exports.formatters; | ||
const {formatters} = module.exports; | ||
/** | ||
@@ -183,8 +268,7 @@ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. | ||
formatters.j = function (v) { | ||
try { | ||
return JSON.stringify(v); | ||
} catch (error) { | ||
return '[UnexpectedJSONParseError]: ' + error.message; | ||
} | ||
try { | ||
return JSON.stringify(v); | ||
} catch (error) { | ||
return '[UnexpectedJSONParseError]: ' + error.message; | ||
} | ||
}; | ||
@@ -1,2 +0,1 @@ | ||
"use strict"; | ||
@@ -7,244 +6,241 @@ /** | ||
*/ | ||
function setup(env) { | ||
createDebug.debug = createDebug; | ||
createDebug.default = createDebug; | ||
createDebug.coerce = coerce; | ||
createDebug.disable = disable; | ||
createDebug.enable = enable; | ||
createDebug.enabled = enabled; | ||
createDebug.humanize = require('ms'); | ||
Object.keys(env).forEach(function (key) { | ||
createDebug[key] = env[key]; | ||
}); | ||
/** | ||
* Active `debug` instances. | ||
*/ | ||
createDebug.debug = createDebug; | ||
createDebug.default = createDebug; | ||
createDebug.coerce = coerce; | ||
createDebug.disable = disable; | ||
createDebug.enable = enable; | ||
createDebug.enabled = enabled; | ||
createDebug.humanize = require('ms'); | ||
createDebug.instances = []; | ||
/** | ||
* The currently active debug mode names, and names to skip. | ||
*/ | ||
Object.keys(env).forEach(key => { | ||
createDebug[key] = env[key]; | ||
}); | ||
createDebug.names = []; | ||
createDebug.skips = []; | ||
/** | ||
* Map of special "%n" handling functions, for the debug "format" argument. | ||
* | ||
* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". | ||
*/ | ||
/** | ||
* Active `debug` instances. | ||
*/ | ||
createDebug.instances = []; | ||
createDebug.formatters = {}; | ||
/** | ||
* Selects a color for a debug namespace | ||
* @param {String} namespace The namespace string for the for the debug instance to be colored | ||
* @return {Number|String} An ANSI color code for the given namespace | ||
* @api private | ||
*/ | ||
/** | ||
* The currently active debug mode names, and names to skip. | ||
*/ | ||
function selectColor(namespace) { | ||
var hash = 0; | ||
createDebug.names = []; | ||
createDebug.skips = []; | ||
for (var i = 0; i < namespace.length; i++) { | ||
hash = (hash << 5) - hash + namespace.charCodeAt(i); | ||
hash |= 0; // Convert to 32bit integer | ||
} | ||
/** | ||
* Map of special "%n" handling functions, for the debug "format" argument. | ||
* | ||
* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". | ||
*/ | ||
createDebug.formatters = {}; | ||
return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; | ||
} | ||
/** | ||
* Selects a color for a debug namespace | ||
* @param {String} namespace The namespace string for the for the debug instance to be colored | ||
* @return {Number|String} An ANSI color code for the given namespace | ||
* @api private | ||
*/ | ||
function selectColor(namespace) { | ||
let hash = 0; | ||
createDebug.selectColor = selectColor; | ||
/** | ||
* Create a debugger with the given `namespace`. | ||
* | ||
* @param {String} namespace | ||
* @return {Function} | ||
* @api public | ||
*/ | ||
for (let i = 0; i < namespace.length; i++) { | ||
hash = ((hash << 5) - hash) + namespace.charCodeAt(i); | ||
hash |= 0; // Convert to 32bit integer | ||
} | ||
function createDebug(namespace) { | ||
var prevTime; | ||
return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; | ||
} | ||
createDebug.selectColor = selectColor; | ||
function debug() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
/** | ||
* Create a debugger with the given `namespace`. | ||
* | ||
* @param {String} namespace | ||
* @return {Function} | ||
* @api public | ||
*/ | ||
function createDebug(namespace) { | ||
let prevTime; | ||
// Disabled? | ||
if (!debug.enabled) { | ||
return; | ||
} | ||
function debug(...args) { | ||
// Disabled? | ||
if (!debug.enabled) { | ||
return; | ||
} | ||
var self = debug; // Set `diff` timestamp | ||
const self = debug; | ||
var curr = Number(new Date()); | ||
var ms = curr - (prevTime || curr); | ||
self.diff = ms; | ||
self.prev = prevTime; | ||
self.curr = curr; | ||
prevTime = curr; | ||
args[0] = createDebug.coerce(args[0]); | ||
// Set `diff` timestamp | ||
const curr = Number(new Date()); | ||
const ms = curr - (prevTime || curr); | ||
self.diff = ms; | ||
self.prev = prevTime; | ||
self.curr = curr; | ||
prevTime = curr; | ||
if (typeof args[0] !== 'string') { | ||
// Anything else let's inspect with %O | ||
args.unshift('%O'); | ||
} // Apply any `formatters` transformations | ||
args[0] = createDebug.coerce(args[0]); | ||
if (typeof args[0] !== 'string') { | ||
// Anything else let's inspect with %O | ||
args.unshift('%O'); | ||
} | ||
var index = 0; | ||
args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { | ||
// If we encounter an escaped % then don't increase the array index | ||
if (match === '%%') { | ||
return match; | ||
} | ||
// Apply any `formatters` transformations | ||
let index = 0; | ||
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { | ||
// If we encounter an escaped % then don't increase the array index | ||
if (match === '%%') { | ||
return match; | ||
} | ||
index++; | ||
const formatter = createDebug.formatters[format]; | ||
if (typeof formatter === 'function') { | ||
const val = args[index]; | ||
match = formatter.call(self, val); | ||
index++; | ||
var formatter = createDebug.formatters[format]; | ||
// Now we need to remove `args[index]` since it's inlined in the `format` | ||
args.splice(index, 1); | ||
index--; | ||
} | ||
return match; | ||
}); | ||
if (typeof formatter === 'function') { | ||
var val = args[index]; | ||
match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` | ||
// Apply env-specific formatting (colors, etc.) | ||
createDebug.formatArgs.call(self, args); | ||
args.splice(index, 1); | ||
index--; | ||
} | ||
const logFn = self.log || createDebug.log; | ||
logFn.apply(self, args); | ||
} | ||
return match; | ||
}); // Apply env-specific formatting (colors, etc.) | ||
debug.namespace = namespace; | ||
debug.enabled = createDebug.enabled(namespace); | ||
debug.useColors = createDebug.useColors(); | ||
debug.color = selectColor(namespace); | ||
debug.destroy = destroy; | ||
debug.extend = extend; | ||
// Debug.formatArgs = formatArgs; | ||
// debug.rawLog = rawLog; | ||
createDebug.formatArgs.call(self, args); | ||
var logFn = self.log || createDebug.log; | ||
logFn.apply(self, args); | ||
} | ||
// env-specific initialization logic for debug instances | ||
if (typeof createDebug.init === 'function') { | ||
createDebug.init(debug); | ||
} | ||
debug.namespace = namespace; | ||
debug.enabled = createDebug.enabled(namespace); | ||
debug.useColors = createDebug.useColors(); | ||
debug.color = selectColor(namespace); | ||
debug.destroy = destroy; | ||
debug.extend = extend; // Debug.formatArgs = formatArgs; | ||
// debug.rawLog = rawLog; | ||
// env-specific initialization logic for debug instances | ||
createDebug.instances.push(debug); | ||
if (typeof createDebug.init === 'function') { | ||
createDebug.init(debug); | ||
} | ||
return debug; | ||
} | ||
createDebug.instances.push(debug); | ||
return debug; | ||
} | ||
function destroy() { | ||
const index = createDebug.instances.indexOf(this); | ||
if (index !== -1) { | ||
createDebug.instances.splice(index, 1); | ||
return true; | ||
} | ||
return false; | ||
} | ||
function destroy() { | ||
var index = createDebug.instances.indexOf(this); | ||
function extend(namespace, delimiter) { | ||
return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); | ||
} | ||
if (index !== -1) { | ||
createDebug.instances.splice(index, 1); | ||
return true; | ||
} | ||
/** | ||
* Enables a debug mode by namespaces. This can include modes | ||
* separated by a colon and wildcards. | ||
* | ||
* @param {String} namespaces | ||
* @api public | ||
*/ | ||
function enable(namespaces) { | ||
createDebug.save(namespaces); | ||
return false; | ||
} | ||
createDebug.names = []; | ||
createDebug.skips = []; | ||
function extend(namespace, delimiter) { | ||
return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); | ||
} | ||
/** | ||
* Enables a debug mode by namespaces. This can include modes | ||
* separated by a colon and wildcards. | ||
* | ||
* @param {String} namespaces | ||
* @api public | ||
*/ | ||
let i; | ||
const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); | ||
const len = split.length; | ||
for (i = 0; i < len; i++) { | ||
if (!split[i]) { | ||
// ignore empty strings | ||
continue; | ||
} | ||
function enable(namespaces) { | ||
createDebug.save(namespaces); | ||
createDebug.names = []; | ||
createDebug.skips = []; | ||
var i; | ||
var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); | ||
var len = split.length; | ||
namespaces = split[i].replace(/\*/g, '.*?'); | ||
for (i = 0; i < len; i++) { | ||
if (!split[i]) { | ||
// ignore empty strings | ||
continue; | ||
} | ||
if (namespaces[0] === '-') { | ||
createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); | ||
} else { | ||
createDebug.names.push(new RegExp('^' + namespaces + '$')); | ||
} | ||
} | ||
namespaces = split[i].replace(/\*/g, '.*?'); | ||
for (i = 0; i < createDebug.instances.length; i++) { | ||
const instance = createDebug.instances[i]; | ||
instance.enabled = createDebug.enabled(instance.namespace); | ||
} | ||
} | ||
if (namespaces[0] === '-') { | ||
createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); | ||
} else { | ||
createDebug.names.push(new RegExp('^' + namespaces + '$')); | ||
} | ||
} | ||
/** | ||
* Disable debug output. | ||
* | ||
* @api public | ||
*/ | ||
function disable() { | ||
createDebug.enable(''); | ||
} | ||
for (i = 0; i < createDebug.instances.length; i++) { | ||
var instance = createDebug.instances[i]; | ||
instance.enabled = createDebug.enabled(instance.namespace); | ||
} | ||
} | ||
/** | ||
* Disable debug output. | ||
* | ||
* @api public | ||
*/ | ||
/** | ||
* Returns true if the given mode name is enabled, false otherwise. | ||
* | ||
* @param {String} name | ||
* @return {Boolean} | ||
* @api public | ||
*/ | ||
function enabled(name) { | ||
if (name[name.length - 1] === '*') { | ||
return true; | ||
} | ||
let i; | ||
let len; | ||
function disable() { | ||
createDebug.enable(''); | ||
} | ||
/** | ||
* Returns true if the given mode name is enabled, false otherwise. | ||
* | ||
* @param {String} name | ||
* @return {Boolean} | ||
* @api public | ||
*/ | ||
for (i = 0, len = createDebug.skips.length; i < len; i++) { | ||
if (createDebug.skips[i].test(name)) { | ||
return false; | ||
} | ||
} | ||
for (i = 0, len = createDebug.names.length; i < len; i++) { | ||
if (createDebug.names[i].test(name)) { | ||
return true; | ||
} | ||
} | ||
function enabled(name) { | ||
if (name[name.length - 1] === '*') { | ||
return true; | ||
} | ||
return false; | ||
} | ||
var i; | ||
var len; | ||
/** | ||
* Coerce `val`. | ||
* | ||
* @param {Mixed} val | ||
* @return {Mixed} | ||
* @api private | ||
*/ | ||
function coerce(val) { | ||
if (val instanceof Error) { | ||
return val.stack || val.message; | ||
} | ||
return val; | ||
} | ||
for (i = 0, len = createDebug.skips.length; i < len; i++) { | ||
if (createDebug.skips[i].test(name)) { | ||
return false; | ||
} | ||
} | ||
createDebug.enable(createDebug.load()); | ||
for (i = 0, len = createDebug.names.length; i < len; i++) { | ||
if (createDebug.names[i].test(name)) { | ||
return true; | ||
} | ||
} | ||
return false; | ||
} | ||
/** | ||
* Coerce `val`. | ||
* | ||
* @param {Mixed} val | ||
* @return {Mixed} | ||
* @api private | ||
*/ | ||
function coerce(val) { | ||
if (val instanceof Error) { | ||
return val.stack || val.message; | ||
} | ||
return val; | ||
} | ||
createDebug.enable(createDebug.load()); | ||
return createDebug; | ||
return createDebug; | ||
} | ||
module.exports = setup; | ||
@@ -1,3 +0,1 @@ | ||
"use strict"; | ||
/** | ||
@@ -7,7 +5,7 @@ * Detect Electron renderer / nwjs process, which is node, but we should | ||
*/ | ||
if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { | ||
module.exports = require('./browser.js'); | ||
module.exports = require('./browser.js'); | ||
} else { | ||
module.exports = require('./node.js'); | ||
module.exports = require('./node.js'); | ||
} | ||
239
src/node.js
@@ -1,9 +0,8 @@ | ||
"use strict"; | ||
/** | ||
* Module dependencies. | ||
*/ | ||
var tty = require('tty'); | ||
var util = require('util'); | ||
const tty = require('tty'); | ||
const util = require('util'); | ||
/** | ||
@@ -13,3 +12,2 @@ * This is the Node.js implementation of `debug()`. | ||
exports.init = init; | ||
@@ -21,2 +19,3 @@ exports.log = log; | ||
exports.useColors = useColors; | ||
/** | ||
@@ -29,10 +28,89 @@ * Colors. | ||
try { | ||
// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) | ||
// eslint-disable-next-line import/no-extraneous-dependencies | ||
var supportsColor = require('supports-color'); | ||
// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) | ||
// eslint-disable-next-line import/no-extraneous-dependencies | ||
const supportsColor = require('supports-color'); | ||
if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { | ||
exports.colors = [20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221]; | ||
} | ||
} catch (error) {} // Swallow - we only care if `supports-color` is available; it doesn't have to be. | ||
if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { | ||
exports.colors = [ | ||
20, | ||
21, | ||
26, | ||
27, | ||
32, | ||
33, | ||
38, | ||
39, | ||
40, | ||
41, | ||
42, | ||
43, | ||
44, | ||
45, | ||
56, | ||
57, | ||
62, | ||
63, | ||
68, | ||
69, | ||
74, | ||
75, | ||
76, | ||
77, | ||
78, | ||
79, | ||
80, | ||
81, | ||
92, | ||
93, | ||
98, | ||
99, | ||
112, | ||
113, | ||
128, | ||
129, | ||
134, | ||
135, | ||
148, | ||
149, | ||
160, | ||
161, | ||
162, | ||
163, | ||
164, | ||
165, | ||
166, | ||
167, | ||
168, | ||
169, | ||
170, | ||
171, | ||
172, | ||
173, | ||
178, | ||
179, | ||
184, | ||
185, | ||
196, | ||
197, | ||
198, | ||
199, | ||
200, | ||
201, | ||
202, | ||
203, | ||
204, | ||
205, | ||
206, | ||
207, | ||
208, | ||
209, | ||
214, | ||
215, | ||
220, | ||
221 | ||
]; | ||
} | ||
} catch (error) { | ||
// Swallow - we only care if `supports-color` is available; it doesn't have to be. | ||
} | ||
@@ -45,26 +123,29 @@ /** | ||
exports.inspectOpts = Object.keys(process.env).filter(key => { | ||
return /^debug_/i.test(key); | ||
}).reduce((obj, key) => { | ||
// Camel-case | ||
const prop = key | ||
.substring(6) | ||
.toLowerCase() | ||
.replace(/_([a-z])/g, (_, k) => { | ||
return k.toUpperCase(); | ||
}); | ||
exports.inspectOpts = Object.keys(process.env).filter(function (key) { | ||
return /^debug_/i.test(key); | ||
}).reduce(function (obj, key) { | ||
// Camel-case | ||
var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function (_, k) { | ||
return k.toUpperCase(); | ||
}); // Coerce string value into JS value | ||
// Coerce string value into JS value | ||
let val = process.env[key]; | ||
if (/^(yes|on|true|enabled)$/i.test(val)) { | ||
val = true; | ||
} else if (/^(no|off|false|disabled)$/i.test(val)) { | ||
val = false; | ||
} else if (val === 'null') { | ||
val = null; | ||
} else { | ||
val = Number(val); | ||
} | ||
var val = process.env[key]; | ||
obj[prop] = val; | ||
return obj; | ||
}, {}); | ||
if (/^(yes|on|true|enabled)$/i.test(val)) { | ||
val = true; | ||
} else if (/^(no|off|false|disabled)$/i.test(val)) { | ||
val = false; | ||
} else if (val === 'null') { | ||
val = null; | ||
} else { | ||
val = Number(val); | ||
} | ||
obj[prop] = val; | ||
return obj; | ||
}, {}); | ||
/** | ||
@@ -75,4 +156,7 @@ * Is stdout a TTY? Colored output is enabled when `true`. | ||
function useColors() { | ||
return 'colors' in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd); | ||
return 'colors' in exports.inspectOpts ? | ||
Boolean(exports.inspectOpts.colors) : | ||
tty.isatty(process.stderr.fd); | ||
} | ||
/** | ||
@@ -84,25 +168,24 @@ * Adds ANSI color escape codes if enabled. | ||
function formatArgs(args) { | ||
var name = this.namespace, | ||
useColors = this.useColors; | ||
const {namespace: name, useColors} = this; | ||
if (useColors) { | ||
var c = this.color; | ||
var colorCode = "\x1B[3" + (c < 8 ? c : '8;5;' + c); | ||
var prefix = " ".concat(colorCode, ";1m").concat(name, " \x1B[0m"); | ||
args[0] = prefix + args[0].split('\n').join('\n' + prefix); | ||
args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + "\x1B[0m"); | ||
} else { | ||
args[0] = getDate() + name + ' ' + args[0]; | ||
} | ||
if (useColors) { | ||
const c = this.color; | ||
const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); | ||
const prefix = ` ${colorCode};1m${name} \u001B[0m`; | ||
args[0] = prefix + args[0].split('\n').join('\n' + prefix); | ||
args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); | ||
} else { | ||
args[0] = getDate() + name + ' ' + args[0]; | ||
} | ||
} | ||
function getDate() { | ||
if (exports.inspectOpts.hideDate) { | ||
return ''; | ||
} | ||
if (exports.inspectOpts.hideDate) { | ||
return ''; | ||
} | ||
return new Date().toISOString() + ' '; | ||
} | ||
return new Date().toISOString() + ' '; | ||
} | ||
/** | ||
@@ -112,6 +195,6 @@ * Invokes `util.format()` with the specified arguments and writes to stderr. | ||
function log(...args) { | ||
return process.stderr.write(util.format(...args) + '\n'); | ||
} | ||
function log() { | ||
return process.stderr.write(util.format.apply(util, arguments) + '\n'); | ||
} | ||
/** | ||
@@ -123,13 +206,12 @@ * Save `namespaces`. | ||
*/ | ||
function save(namespaces) { | ||
if (namespaces) { | ||
process.env.DEBUG = namespaces; | ||
} else { | ||
// If you set a process.env field to null or undefined, it gets cast to the | ||
// string 'null' or 'undefined'. Just delete instead. | ||
delete process.env.DEBUG; | ||
} | ||
if (namespaces) { | ||
process.env.DEBUG = namespaces; | ||
} else { | ||
// If you set a process.env field to null or undefined, it gets cast to the | ||
// string 'null' or 'undefined'. Just delete instead. | ||
delete process.env.DEBUG; | ||
} | ||
} | ||
/** | ||
@@ -142,6 +224,6 @@ * Load `namespaces`. | ||
function load() { | ||
return process.env.DEBUG; | ||
return process.env.DEBUG; | ||
} | ||
/** | ||
@@ -154,14 +236,15 @@ * Init logic for `debug` instances. | ||
function init(debug) { | ||
debug.inspectOpts = {}; | ||
var keys = Object.keys(exports.inspectOpts); | ||
debug.inspectOpts = {}; | ||
for (var i = 0; i < keys.length; i++) { | ||
debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; | ||
} | ||
const keys = Object.keys(exports.inspectOpts); | ||
for (let i = 0; i < keys.length; i++) { | ||
debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; | ||
} | ||
} | ||
module.exports = require('./common')(exports); | ||
var formatters = module.exports.formatters; | ||
const {formatters} = module.exports; | ||
/** | ||
@@ -172,5 +255,7 @@ * Map %o to `util.inspect()`, all on a single line. | ||
formatters.o = function (v) { | ||
this.inspectOpts.colors = this.useColors; | ||
return util.inspect(v, this.inspectOpts).replace(/\s*\n\s*/g, ' '); | ||
this.inspectOpts.colors = this.useColors; | ||
return util.inspect(v, this.inspectOpts) | ||
.replace(/\s*\n\s*/g, ' '); | ||
}; | ||
/** | ||
@@ -180,7 +265,5 @@ * Map %O to `util.inspect()`, allowing multiple lines if needed. | ||
formatters.O = function (v) { | ||
this.inspectOpts.colors = this.useColors; | ||
return util.inspect(v, this.inspectOpts); | ||
this.inspectOpts.colors = this.useColors; | ||
return util.inspect(v, this.inspectOpts); | ||
}; | ||
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1406
78566