{"ast":null,"code":"/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\nfunction setup(env) {\n  createDebug.debug = createDebug;\n  createDebug.default = createDebug;\n  createDebug.coerce = coerce;\n  createDebug.disable = disable;\n  createDebug.enable = enable;\n  createDebug.enabled = enabled;\n  createDebug.humanize = require('ms');\n  createDebug.destroy = destroy;\n  Object.keys(env).forEach(key => {\n    createDebug[key] = env[key];\n  });\n  /**\n  * The currently active debug mode names, and names to skip.\n  */\n\n  createDebug.names = [];\n  createDebug.skips = [];\n  /**\n  * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n  *\n  * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n  */\n\n  createDebug.formatters = {};\n  /**\n  * Selects a color for a debug namespace\n  * @param {String} namespace The namespace string for the for the debug instance to be colored\n  * @return {Number|String} An ANSI color code for the given namespace\n  * @api private\n  */\n\n  function selectColor(namespace) {\n    let hash = 0;\n\n    for (let i = 0; i < namespace.length; i++) {\n      hash = (hash << 5) - hash + namespace.charCodeAt(i);\n      hash |= 0; // Convert to 32bit integer\n    }\n\n    return createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n  }\n\n  createDebug.selectColor = selectColor;\n  /**\n  * Create a debugger with the given `namespace`.\n  *\n  * @param {String} namespace\n  * @return {Function}\n  * @api public\n  */\n\n  function createDebug(namespace) {\n    let prevTime;\n    let enableOverride = null;\n\n    function debug(...args) {\n      // Disabled?\n      if (!debug.enabled) {\n        return;\n      }\n\n      const self = debug; // Set `diff` timestamp\n\n      const curr = Number(new Date());\n      const ms = curr - (prevTime || curr);\n      self.diff = ms;\n      self.prev = prevTime;\n      self.curr = curr;\n      prevTime = curr;\n      args[0] = createDebug.coerce(args[0]);\n\n      if (typeof args[0] !== 'string') {\n        // Anything else let's inspect with %O\n        args.unshift('%O');\n      } // Apply any `formatters` transformations\n\n\n      let index = 0;\n      args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n        // If we encounter an escaped % then don't increase the array index\n        if (match === '%%') {\n          return '%';\n        }\n\n        index++;\n        const formatter = createDebug.formatters[format];\n\n        if (typeof formatter === 'function') {\n          const val = args[index];\n          match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format`\n\n          args.splice(index, 1);\n          index--;\n        }\n\n        return match;\n      }); // Apply env-specific formatting (colors, etc.)\n\n      createDebug.formatArgs.call(self, args);\n      const logFn = self.log || createDebug.log;\n      logFn.apply(self, args);\n    }\n\n    debug.namespace = namespace;\n    debug.useColors = createDebug.useColors();\n    debug.color = createDebug.selectColor(namespace);\n    debug.extend = extend;\n    debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n    Object.defineProperty(debug, 'enabled', {\n      enumerable: true,\n      configurable: false,\n      get: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride,\n      set: v => {\n        enableOverride = v;\n      }\n    }); // Env-specific initialization logic for debug instances\n\n    if (typeof createDebug.init === 'function') {\n      createDebug.init(debug);\n    }\n\n    return debug;\n  }\n\n  function extend(namespace, delimiter) {\n    const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n    newDebug.log = this.log;\n    return newDebug;\n  }\n  /**\n  * Enables a debug mode by namespaces. This can include modes\n  * separated by a colon and wildcards.\n  *\n  * @param {String} namespaces\n  * @api public\n  */\n\n\n  function enable(namespaces) {\n    createDebug.save(namespaces);\n    createDebug.names = [];\n    createDebug.skips = [];\n    let i;\n    const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n    const len = split.length;\n\n    for (i = 0; i < len; i++) {\n      if (!split[i]) {\n        // ignore empty strings\n        continue;\n      }\n\n      namespaces = split[i].replace(/\\*/g, '.*?');\n\n      if (namespaces[0] === '-') {\n        createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n      } else {\n        createDebug.names.push(new RegExp('^' + namespaces + '$'));\n      }\n    }\n  }\n  /**\n  * Disable debug output.\n  *\n  * @return {String} namespaces\n  * @api public\n  */\n\n\n  function disable() {\n    const namespaces = [...createDebug.names.map(toNamespace), ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)].join(',');\n    createDebug.enable('');\n    return namespaces;\n  }\n  /**\n  * Returns true if the given mode name is enabled, false otherwise.\n  *\n  * @param {String} name\n  * @return {Boolean}\n  * @api public\n  */\n\n\n  function enabled(name) {\n    if (name[name.length - 1] === '*') {\n      return true;\n    }\n\n    let i;\n    let len;\n\n    for (i = 0, len = createDebug.skips.length; i < len; i++) {\n      if (createDebug.skips[i].test(name)) {\n        return false;\n      }\n    }\n\n    for (i = 0, len = createDebug.names.length; i < len; i++) {\n      if (createDebug.names[i].test(name)) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n  /**\n  * Convert regexp to namespace\n  *\n  * @param {RegExp} regxep\n  * @return {String} namespace\n  * @api private\n  */\n\n\n  function toNamespace(regexp) {\n    return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\\.\\*\\?$/, '*');\n  }\n  /**\n  * Coerce `val`.\n  *\n  * @param {Mixed} val\n  * @return {Mixed}\n  * @api private\n  */\n\n\n  function coerce(val) {\n    if (val instanceof Error) {\n      return val.stack || val.message;\n    }\n\n    return val;\n  }\n  /**\n  * XXX DO NOT USE. This is a temporary stub function.\n  * XXX It WILL be removed in the next major release.\n  */\n\n\n  function destroy() {\n    console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n  }\n\n  createDebug.enable(createDebug.load());\n  return createDebug;\n}\n\nmodule.exports = setup;","map":{"version":3,"sources":["C:/laragon/www/itokin/DriverOPCDA/frontend/node_modules/debug/src/common.js"],"names":["setup","env","createDebug","debug","default","coerce","disable","enable","enabled","humanize","require","destroy","Object","keys","forEach","key","names","skips","formatters","selectColor","namespace","hash","i","length","charCodeAt","colors","Math","abs","prevTime","enableOverride","args","self","curr","Number","Date","ms","diff","prev","unshift","index","replace","match","format","formatter","val","call","splice","formatArgs","logFn","log","apply","useColors","color","extend","defineProperty","enumerable","configurable","get","set","v","init","delimiter","newDebug","namespaces","save","split","len","push","RegExp","substr","map","toNamespace","join","name","test","regexp","toString","substring","Error","stack","message","console","warn","load","module","exports"],"mappings":"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","sourcesContent":["\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride,\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n"]},"metadata":{},"sourceType":"script"}