@substrate-system/debug 0.9.54 → 0.9.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,26 +12,16 @@ export * from "../index.js";
12
12
  const log = console.log || (() => {
13
13
  });
14
14
  const colors = [
15
- "#e6194b",
16
- "#3cb44b",
17
- "#b8860b",
18
- "#4363d8",
19
- "#f58231",
20
- "#911eb4",
21
- "#0097a7",
22
- "#f032e6",
23
- "#558b2f",
24
- "#c2185b",
25
- "#469990",
26
- "#7b1fa2",
27
- "#9a6324",
28
- "#d69c00",
29
- "#d32f2f",
30
- "#00897b",
31
- "#808000",
32
- "#d84315",
33
- "#1976d2",
34
- "#607d8b"
15
+ "#cc0000",
16
+ "#0044cc",
17
+ "#118811",
18
+ "#9922cc",
19
+ "#dd7700",
20
+ "#cc0088",
21
+ "#778800",
22
+ "#774422",
23
+ "#007777",
24
+ "#555555"
35
25
  ];
36
26
  var cloudflare_default = createDebug;
37
27
  function isEnabled(namespace, env) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cloudflare/index.ts"],
4
- "sourcesContent": ["import humanize from '../ms.js'\nimport {\n generateRandomString,\n coerce,\n selectColor,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport { noop } from '../noop.js'\n\nexport * from '../index.js'\n\n// Cloudflare Workers have a limited set of Web APIs\n// No localStorage, document, or navigator\nconst log = console.log || (() => {})\n\n/**\n * Maximally distinct colors selected for perceptual distance in CIELAB space.\n * All colors have sufficient contrast for legibility on white backgrounds.\n */\nconst colors = [\n '#e6194b', '#3cb44b', '#b8860b', '#4363d8', '#f58231',\n '#911eb4', '#0097a7', '#f032e6', '#558b2f', '#c2185b',\n '#469990', '#7b1fa2', '#9a6324', '#d69c00', '#d32f2f',\n '#00897b', '#808000', '#d84315', '#1976d2', '#607d8b',\n]\n\nexport { createDebug }\nexport default createDebug\n\n/**\n * Check if the given namespace is enabled in Cloudflare Workers.\n * Since there's no localStorage, we check environment variables or global DEBUG.\n * `namespace` is the name that is passed into debug.\n * `env` is an optional environment object that can contain DEBUG setting.\n */\nfunction isEnabled (namespace:string, env?:Record<string, string>):boolean {\n // Determine the DEBUG value from env parameter, global, or process.env\n const DEBUG = env?.DEBUG ||\n (typeof globalThis !== 'undefined' && (globalThis as any).DEBUG) ||\n (typeof process !== 'undefined' && process.env?.DEBUG)\n\n // Check for wildcard first - enables all namespaces including DEV\n if (DEBUG === '*') return true\n\n // If no namespace (DEV mode), check if there's no DEBUG variable\n if (namespace === 'DEV') {\n // We want to log iff there is no DEBUG variable.\n if (!DEBUG) {\n return true\n }\n return false\n }\n\n // No DEBUG variable set\n if (!DEBUG) return false\n\n // Check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Map %j to `JSON.stringify()`, since Cloudflare Workers don't\n * have Web Inspectors.\n */\nfunction createFormatters () {\n return {\n j: function (v:any) {\n try {\n return JSON.stringify(v)\n } catch (error) {\n return '[UnexpectedJSONParseError]: ' + String(error)\n }\n }\n }\n}\n\nfunction logger (\n namespace:string,\n args:any[],\n { prevTime, color },\n env?:Record<string, string>\n) {\n args = args || []\n if (!isEnabled(namespace, env)) return\n\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters()\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(globalThis, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply Cloudflare-specific formatting (no colors in Workers typically)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\nfunction shouldUseColors ():boolean {\n // Cloudflare Workers typically don't support colors in console output\n // But we can detect if we're in a development environment\n return false\n}\n\n/**\n * Format log arguments for Cloudflare Workers (no color support typically).\n * Mutates the given args.\n */\nfunction formatArgs ({ diff, namespace }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]) {\n args[0] = namespace + ' ' + args[0] + ' +' + humanize(diff, {})\n return args\n}\n\nfunction createDebug (namespace:string, env?:Record<string, string>):Debugger;\nfunction createDebug (enabled:boolean):Debugger;\nfunction createDebug (\n namespaceOrEnabled?:string|boolean,\n env?:Record<string, string>\n):Debugger {\n // Handle the case where first parameter is a boolean\n if (typeof namespaceOrEnabled === 'boolean') {\n if (namespaceOrEnabled === false) return noop\n // If namespaceOrEnabled is true, use DEV mode with forced logging\n return createDebug('DEV', { DEBUG: '*' })\n }\n\n const prevTime = Number(new Date())\n const color = selectColor(\n typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n generateRandomString(10),\n colors\n )\n\n const actualNamespace = typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n 'DEV'\n\n // Handle environment parameter\n let envObj:Record<string, string>|undefined\n if (typeof env === 'object') {\n envObj = env\n }\n\n const debug = function (...args:any[]) {\n return logger(\n actualNamespace,\n args,\n { prevTime, color },\n envObj\n )\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = actualNamespace + ':' + extension\n return createDebug(extendedNamespace, envObj)\n }\n\n return debug\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import humanize from '../ms.js'\nimport {\n generateRandomString,\n coerce,\n selectColor,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport { noop } from '../noop.js'\n\nexport * from '../index.js'\n\n// Cloudflare Workers have a limited set of Web APIs\n// No localStorage, document, or navigator\nconst log = console.log || (() => {})\n\n/**\n * Maximally distinct colors for debug namespaces.\n * Every pair has high perceptual distance \u2014 no similar hues nearby.\n */\nconst colors = [\n '#cc0000', '#0044cc', '#118811', '#9922cc', '#dd7700',\n '#cc0088', '#778800', '#774422', '#007777', '#555555',\n]\n\nexport { createDebug }\nexport default createDebug\n\n/**\n * Check if the given namespace is enabled in Cloudflare Workers.\n * Since there's no localStorage, we check environment variables or global DEBUG.\n * `namespace` is the name that is passed into debug.\n * `env` is an optional environment object that can contain DEBUG setting.\n */\nfunction isEnabled (namespace:string, env?:Record<string, string>):boolean {\n // Determine the DEBUG value from env parameter, global, or process.env\n const DEBUG = env?.DEBUG ||\n (typeof globalThis !== 'undefined' && (globalThis as any).DEBUG) ||\n (typeof process !== 'undefined' && process.env?.DEBUG)\n\n // Check for wildcard first - enables all namespaces including DEV\n if (DEBUG === '*') return true\n\n // If no namespace (DEV mode), check if there's no DEBUG variable\n if (namespace === 'DEV') {\n // We want to log iff there is no DEBUG variable.\n if (!DEBUG) {\n return true\n }\n return false\n }\n\n // No DEBUG variable set\n if (!DEBUG) return false\n\n // Check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Map %j to `JSON.stringify()`, since Cloudflare Workers don't\n * have Web Inspectors.\n */\nfunction createFormatters () {\n return {\n j: function (v:any) {\n try {\n return JSON.stringify(v)\n } catch (error) {\n return '[UnexpectedJSONParseError]: ' + String(error)\n }\n }\n }\n}\n\nfunction logger (\n namespace:string,\n args:any[],\n { prevTime, color },\n env?:Record<string, string>\n) {\n args = args || []\n if (!isEnabled(namespace, env)) return\n\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters()\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(globalThis, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply Cloudflare-specific formatting (no colors in Workers typically)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\nfunction shouldUseColors ():boolean {\n // Cloudflare Workers typically don't support colors in console output\n // But we can detect if we're in a development environment\n return false\n}\n\n/**\n * Format log arguments for Cloudflare Workers (no color support typically).\n * Mutates the given args.\n */\nfunction formatArgs ({ diff, namespace }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]) {\n args[0] = namespace + ' ' + args[0] + ' +' + humanize(diff, {})\n return args\n}\n\nfunction createDebug (namespace:string, env?:Record<string, string>):Debugger;\nfunction createDebug (enabled:boolean):Debugger;\nfunction createDebug (\n namespaceOrEnabled?:string|boolean,\n env?:Record<string, string>\n):Debugger {\n // Handle the case where first parameter is a boolean\n if (typeof namespaceOrEnabled === 'boolean') {\n if (namespaceOrEnabled === false) return noop\n // If namespaceOrEnabled is true, use DEV mode with forced logging\n return createDebug('DEV', { DEBUG: '*' })\n }\n\n const prevTime = Number(new Date())\n const color = selectColor(\n typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n generateRandomString(10),\n colors\n )\n\n const actualNamespace = typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n 'DEV'\n\n // Handle environment parameter\n let envObj:Record<string, string>|undefined\n if (typeof env === 'object') {\n envObj = env\n }\n\n const debug = function (...args:any[]) {\n return logger(\n actualNamespace,\n args,\n { prevTime, color },\n envObj\n )\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = actualNamespace + ':' + extension\n return createDebug(extendedNamespace, envObj)\n }\n\n return debug\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var f=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var t=(e,r)=>f(e,"name",{value:r,configurable:!0});var N=(e,r)=>{for(var n in r)f(e,n,{get:r[n],enumerable:!0})},U=(e,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of M(r))!C.call(e,o)&&o!==n&&f(e,o,{get:()=>r[o],enumerable:!(s=S(r,o))||s.enumerable});return e};var V=e=>U(f({},"__esModule",{value:!0}),e);var L={};N(L,{coerce:()=>p,createDebug:()=>l,createRegexFromEnvVar:()=>y,default:()=>_,generateRandomString:()=>x,selectColor:()=>h});module.exports=V(L);function b(e,r={}){r=r||{};let n=typeof e;if(n==="string"&&e.length>0)return B(e);if(n==="number"&&isFinite(e))return r.long?A(e):k(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}t(b,"default");function B(e){if(e=String(e),e.length>100)return;let r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;let n=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*315576e5;case"weeks":case"week":case"w":return n*6048e5;case"days":case"day":case"d":return n*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return n*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return n*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return n*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}t(B,"parse");function k(e){let r=Math.abs(e);return r>=864e5?Math.round(e/864e5)+"d":r>=36e5?Math.round(e/36e5)+"h":r>=6e4?Math.round(e/6e4)+"m":r>=1e3?Math.round(e/1e3)+"s":e+"ms"}t(k,"fmtShort");function A(e){let r=Math.abs(e);return r>=864e5?g(e,r,864e5,"day"):r>=36e5?g(e,r,36e5,"hour"):r>=6e4?g(e,r,6e4,"minute"):r>=1e3?g(e,r,1e3,"second"):e+" ms"}t(A,"fmtLong");function g(e,r,n,s){let o=r>=n*1.5;return Math.round(e/n)+" "+s+(o?"s":"")}t(g,"plural");function p(e){return e instanceof Error?e.stack||e.message:String(e)}t(p,"coerce");function h(e,r){let n=0;for(let s=0;s<e.length;s++)n=(n<<5)-n+e.charCodeAt(s),n|=0;return r[Math.abs(n)%r.length]}t(h,"selectColor");function y(e){return e.split(/[\s,]+/).filter(Boolean).map(s=>s.replace(/\*/g,".*?")).map(s=>new RegExp("^"+s+"$"))}t(y,"createRegexFromEnvVar");function x(e=6){return Math.random().toString(20).substring(2,e)}t(x,"generateRandomString");var d=t(function(e){},"noop");d.extend=function(e){return d};var F=console.log||(()=>{}),G=["#e6194b","#3cb44b","#b8860b","#4363d8","#f58231","#911eb4","#0097a7","#f032e6","#558b2f","#c2185b","#469990","#7b1fa2","#9a6324","#d69c00","#d32f2f","#00897b","#808000","#d84315","#1976d2","#607d8b"];var _=l;function j(e,r){let n=r?.DEBUG||typeof globalThis<"u"&&globalThis.DEBUG||typeof process<"u"&&process.env?.DEBUG;return n==="*"?!0:e==="DEV"?!n:n?y(n).some(o=>o.test(e)):!1}t(j,"isEnabled");function J(){return{j:t(function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+String(r)}},"j")}}t(J,"createFormatters");function T(e,r,{prevTime:n,color:s},o){if(r=r||[],!j(e,o))return;let c=Number(new Date),a=c-(n||c);n=c,r[0]=p(r[0]);let u=J();typeof r[0]!="string"&&r.unshift("%O");let i=0;r[0]=r[0].replace(/%([a-zA-Z%])/g,(m,E)=>{if(m==="%%")return"%";i++;let D=u[E];if(typeof D=="function"){let R=r[i];m=D.call(globalThis,R),r.splice(i,1),i--}return m});let w=z({diff:a,color:s,useColors:v(),namespace:e},r);F(...w)}t(T,"logger");function v(){return!1}t(v,"shouldUseColors");function z({diff:e,namespace:r},n){return n[0]=r+" "+n[0]+" +"+b(e,{}),n}t(z,"formatArgs");function l(e,r){if(typeof e=="boolean")return e===!1?d:l("DEV",{DEBUG:"*"});let n=Number(new Date),s=h(typeof e=="string"?e:x(10),G),o=typeof e=="string"?e:"DEV",c;typeof r=="object"&&(c=r);let a=t(function(...u){return T(o,u,{prevTime:n,color:s},c)},"debug");return a.extend=function(u){let i=o+":"+u;return l(i,c)},a}t(l,"createDebug");
1
+ "use strict";var f=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var t=(e,r)=>f(e,"name",{value:r,configurable:!0});var N=(e,r)=>{for(var n in r)f(e,n,{get:r[n],enumerable:!0})},U=(e,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of M(r))!C.call(e,o)&&o!==n&&f(e,o,{get:()=>r[o],enumerable:!(s=S(r,o))||s.enumerable});return e};var V=e=>U(f({},"__esModule",{value:!0}),e);var L={};N(L,{coerce:()=>h,createDebug:()=>l,createRegexFromEnvVar:()=>y,default:()=>_,generateRandomString:()=>x,selectColor:()=>b});module.exports=V(L);function p(e,r={}){r=r||{};let n=typeof e;if(n==="string"&&e.length>0)return B(e);if(n==="number"&&isFinite(e))return r.long?A(e):k(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}t(p,"default");function B(e){if(e=String(e),e.length>100)return;let r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;let n=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*315576e5;case"weeks":case"week":case"w":return n*6048e5;case"days":case"day":case"d":return n*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return n*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return n*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return n*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}t(B,"parse");function k(e){let r=Math.abs(e);return r>=864e5?Math.round(e/864e5)+"d":r>=36e5?Math.round(e/36e5)+"h":r>=6e4?Math.round(e/6e4)+"m":r>=1e3?Math.round(e/1e3)+"s":e+"ms"}t(k,"fmtShort");function A(e){let r=Math.abs(e);return r>=864e5?g(e,r,864e5,"day"):r>=36e5?g(e,r,36e5,"hour"):r>=6e4?g(e,r,6e4,"minute"):r>=1e3?g(e,r,1e3,"second"):e+" ms"}t(A,"fmtLong");function g(e,r,n,s){let o=r>=n*1.5;return Math.round(e/n)+" "+s+(o?"s":"")}t(g,"plural");function h(e){return e instanceof Error?e.stack||e.message:String(e)}t(h,"coerce");function b(e,r){let n=0;for(let s=0;s<e.length;s++)n=(n<<5)-n+e.charCodeAt(s),n|=0;return r[Math.abs(n)%r.length]}t(b,"selectColor");function y(e){return e.split(/[\s,]+/).filter(Boolean).map(s=>s.replace(/\*/g,".*?")).map(s=>new RegExp("^"+s+"$"))}t(y,"createRegexFromEnvVar");function x(e=6){return Math.random().toString(20).substring(2,e)}t(x,"generateRandomString");var d=t(function(e){},"noop");d.extend=function(e){return d};var F=console.log||(()=>{}),G=["#cc0000","#0044cc","#118811","#9922cc","#dd7700","#cc0088","#778800","#774422","#007777","#555555"];var _=l;function j(e,r){let n=r?.DEBUG||typeof globalThis<"u"&&globalThis.DEBUG||typeof process<"u"&&process.env?.DEBUG;return n==="*"?!0:e==="DEV"?!n:n?y(n).some(o=>o.test(e)):!1}t(j,"isEnabled");function J(){return{j:t(function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+String(r)}},"j")}}t(J,"createFormatters");function T(e,r,{prevTime:n,color:s},o){if(r=r||[],!j(e,o))return;let c=Number(new Date),a=c-(n||c);n=c,r[0]=h(r[0]);let u=J();typeof r[0]!="string"&&r.unshift("%O");let i=0;r[0]=r[0].replace(/%([a-zA-Z%])/g,(m,E)=>{if(m==="%%")return"%";i++;let D=u[E];if(typeof D=="function"){let R=r[i];m=D.call(globalThis,R),r.splice(i,1),i--}return m});let w=z({diff:a,color:s,useColors:v(),namespace:e},r);F(...w)}t(T,"logger");function v(){return!1}t(v,"shouldUseColors");function z({diff:e,namespace:r},n){return n[0]=r+" "+n[0]+" +"+p(e,{}),n}t(z,"formatArgs");function l(e,r){if(typeof e=="boolean")return e===!1?d:l("DEV",{DEBUG:"*"});let n=Number(new Date),s=b(typeof e=="string"?e:x(10),G),o=typeof e=="string"?e:"DEV",c;typeof r=="object"&&(c=r);let a=t(function(...u){return T(o,u,{prevTime:n,color:s},c)},"debug");return a.extend=function(u){let i=o+":"+u;return l(i,c)},a}t(l,"createDebug");
2
2
  //# sourceMappingURL=index.min.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cloudflare/index.ts", "../../src/ms.ts", "../../src/index.ts", "../../src/noop.ts"],
4
- "sourcesContent": ["import humanize from '../ms.js'\nimport {\n generateRandomString,\n coerce,\n selectColor,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport { noop } from '../noop.js'\n\nexport * from '../index.js'\n\n// Cloudflare Workers have a limited set of Web APIs\n// No localStorage, document, or navigator\nconst log = console.log || (() => {})\n\n/**\n * Maximally distinct colors selected for perceptual distance in CIELAB space.\n * All colors have sufficient contrast for legibility on white backgrounds.\n */\nconst colors = [\n '#e6194b', '#3cb44b', '#b8860b', '#4363d8', '#f58231',\n '#911eb4', '#0097a7', '#f032e6', '#558b2f', '#c2185b',\n '#469990', '#7b1fa2', '#9a6324', '#d69c00', '#d32f2f',\n '#00897b', '#808000', '#d84315', '#1976d2', '#607d8b',\n]\n\nexport { createDebug }\nexport default createDebug\n\n/**\n * Check if the given namespace is enabled in Cloudflare Workers.\n * Since there's no localStorage, we check environment variables or global DEBUG.\n * `namespace` is the name that is passed into debug.\n * `env` is an optional environment object that can contain DEBUG setting.\n */\nfunction isEnabled (namespace:string, env?:Record<string, string>):boolean {\n // Determine the DEBUG value from env parameter, global, or process.env\n const DEBUG = env?.DEBUG ||\n (typeof globalThis !== 'undefined' && (globalThis as any).DEBUG) ||\n (typeof process !== 'undefined' && process.env?.DEBUG)\n\n // Check for wildcard first - enables all namespaces including DEV\n if (DEBUG === '*') return true\n\n // If no namespace (DEV mode), check if there's no DEBUG variable\n if (namespace === 'DEV') {\n // We want to log iff there is no DEBUG variable.\n if (!DEBUG) {\n return true\n }\n return false\n }\n\n // No DEBUG variable set\n if (!DEBUG) return false\n\n // Check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Map %j to `JSON.stringify()`, since Cloudflare Workers don't\n * have Web Inspectors.\n */\nfunction createFormatters () {\n return {\n j: function (v:any) {\n try {\n return JSON.stringify(v)\n } catch (error) {\n return '[UnexpectedJSONParseError]: ' + String(error)\n }\n }\n }\n}\n\nfunction logger (\n namespace:string,\n args:any[],\n { prevTime, color },\n env?:Record<string, string>\n) {\n args = args || []\n if (!isEnabled(namespace, env)) return\n\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters()\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(globalThis, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply Cloudflare-specific formatting (no colors in Workers typically)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\nfunction shouldUseColors ():boolean {\n // Cloudflare Workers typically don't support colors in console output\n // But we can detect if we're in a development environment\n return false\n}\n\n/**\n * Format log arguments for Cloudflare Workers (no color support typically).\n * Mutates the given args.\n */\nfunction formatArgs ({ diff, namespace }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]) {\n args[0] = namespace + ' ' + args[0] + ' +' + humanize(diff, {})\n return args\n}\n\nfunction createDebug (namespace:string, env?:Record<string, string>):Debugger;\nfunction createDebug (enabled:boolean):Debugger;\nfunction createDebug (\n namespaceOrEnabled?:string|boolean,\n env?:Record<string, string>\n):Debugger {\n // Handle the case where first parameter is a boolean\n if (typeof namespaceOrEnabled === 'boolean') {\n if (namespaceOrEnabled === false) return noop\n // If namespaceOrEnabled is true, use DEV mode with forced logging\n return createDebug('DEV', { DEBUG: '*' })\n }\n\n const prevTime = Number(new Date())\n const color = selectColor(\n typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n generateRandomString(10),\n colors\n )\n\n const actualNamespace = typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n 'DEV'\n\n // Handle environment parameter\n let envObj:Record<string, string>|undefined\n if (typeof env === 'object') {\n envObj = env\n }\n\n const debug = function (...args:any[]) {\n return logger(\n actualNamespace,\n args,\n { prevTime, color },\n envObj\n )\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = actualNamespace + ':' + extension\n return createDebug(extendedNamespace, envObj)\n }\n\n return debug\n}\n", "/**\n * Helpers.\n */\n\nconst s = 1000\nconst m = s * 60\nconst h = m * 60\nconst d = h * 24\nconst w = d * 7\nconst y = d * 365.25\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nexport default function (val, options:{ long?:boolean } = {}) {\n options = options || {}\n const type = typeof val\n if (type === 'string' && val.length > 0) {\n return parse(val)\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val)\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n )\n}\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse (str) {\n str = String(str)\n if (str.length > 100) {\n return\n }\n const match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n )\n if (!match) {\n return\n }\n const n = parseFloat(match[1])\n const type = (match[2] || 'ms').toLowerCase()\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y\n case 'weeks':\n case 'week':\n case 'w':\n return n * w\n case 'days':\n case 'day':\n case 'd':\n return n * d\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n\n default:\n return undefined\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd'\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h'\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm'\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's'\n }\n return ms + 'ms'\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day')\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour')\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute')\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second')\n }\n return ms + ' ms'\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural (ms, msAbs, n, name) {\n const isPlural = msAbs >= n * 1.5\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '')\n}\n", "/**\n* Coerce `val`.\n*\n* @param {unknown} val\n* @return {string}\n*/\nexport function coerce (val:unknown):string {\n if (val instanceof Error) {\n return val.stack || val.message\n }\n\n return String(val)\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @return {number|string} An ANSI color code for the given namespace\n */\nexport function selectColor (\n namespace:string,\n colors:string[]|number[]\n):number|string {\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 colors[Math.abs(hash) % colors.length]\n}\n\nexport function createRegexFromEnvVar (names:string):RegExp[] {\n const split = names.split(/[\\s,]+/).filter(Boolean)\n const regexs = split\n .map(word => word.replace(/\\*/g, '.*?'))\n .map(r => new RegExp('^' + r + '$'))\n\n return regexs\n}\n\nexport type Debugger = {\n (...args: any[]): void;\n extend: (namespace: string) => Debugger;\n}\n\n/**\n * Use this to create a random namespace in the case that `debug`\n * is called without any arguments.\n * @param {number} length Lenght of the random string\n * @returns {string}\n */\nexport function generateRandomString (length = 6):string {\n return Math.random().toString(20).substring(2, length)\n}\n", "import { type Debugger } from './index.js'\n\nexport const noop:Debugger = function (_args:any[]) {}\nnoop.extend = function (_namespace:string) { return noop }\n\n/**\n * Factory function that matches the main module's API.\n * Always returns the noop debugger regardless of namespace.\n */\nexport function createDebug (_namespace?:string|boolean):Debugger {\n return noop\n}\n\nexport default createDebug\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import humanize from '../ms.js'\nimport {\n generateRandomString,\n coerce,\n selectColor,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport { noop } from '../noop.js'\n\nexport * from '../index.js'\n\n// Cloudflare Workers have a limited set of Web APIs\n// No localStorage, document, or navigator\nconst log = console.log || (() => {})\n\n/**\n * Maximally distinct colors for debug namespaces.\n * Every pair has high perceptual distance \u2014 no similar hues nearby.\n */\nconst colors = [\n '#cc0000', '#0044cc', '#118811', '#9922cc', '#dd7700',\n '#cc0088', '#778800', '#774422', '#007777', '#555555',\n]\n\nexport { createDebug }\nexport default createDebug\n\n/**\n * Check if the given namespace is enabled in Cloudflare Workers.\n * Since there's no localStorage, we check environment variables or global DEBUG.\n * `namespace` is the name that is passed into debug.\n * `env` is an optional environment object that can contain DEBUG setting.\n */\nfunction isEnabled (namespace:string, env?:Record<string, string>):boolean {\n // Determine the DEBUG value from env parameter, global, or process.env\n const DEBUG = env?.DEBUG ||\n (typeof globalThis !== 'undefined' && (globalThis as any).DEBUG) ||\n (typeof process !== 'undefined' && process.env?.DEBUG)\n\n // Check for wildcard first - enables all namespaces including DEV\n if (DEBUG === '*') return true\n\n // If no namespace (DEV mode), check if there's no DEBUG variable\n if (namespace === 'DEV') {\n // We want to log iff there is no DEBUG variable.\n if (!DEBUG) {\n return true\n }\n return false\n }\n\n // No DEBUG variable set\n if (!DEBUG) return false\n\n // Check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Map %j to `JSON.stringify()`, since Cloudflare Workers don't\n * have Web Inspectors.\n */\nfunction createFormatters () {\n return {\n j: function (v:any) {\n try {\n return JSON.stringify(v)\n } catch (error) {\n return '[UnexpectedJSONParseError]: ' + String(error)\n }\n }\n }\n}\n\nfunction logger (\n namespace:string,\n args:any[],\n { prevTime, color },\n env?:Record<string, string>\n) {\n args = args || []\n if (!isEnabled(namespace, env)) return\n\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters()\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(globalThis, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply Cloudflare-specific formatting (no colors in Workers typically)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\nfunction shouldUseColors ():boolean {\n // Cloudflare Workers typically don't support colors in console output\n // But we can detect if we're in a development environment\n return false\n}\n\n/**\n * Format log arguments for Cloudflare Workers (no color support typically).\n * Mutates the given args.\n */\nfunction formatArgs ({ diff, namespace }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]) {\n args[0] = namespace + ' ' + args[0] + ' +' + humanize(diff, {})\n return args\n}\n\nfunction createDebug (namespace:string, env?:Record<string, string>):Debugger;\nfunction createDebug (enabled:boolean):Debugger;\nfunction createDebug (\n namespaceOrEnabled?:string|boolean,\n env?:Record<string, string>\n):Debugger {\n // Handle the case where first parameter is a boolean\n if (typeof namespaceOrEnabled === 'boolean') {\n if (namespaceOrEnabled === false) return noop\n // If namespaceOrEnabled is true, use DEV mode with forced logging\n return createDebug('DEV', { DEBUG: '*' })\n }\n\n const prevTime = Number(new Date())\n const color = selectColor(\n typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n generateRandomString(10),\n colors\n )\n\n const actualNamespace = typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n 'DEV'\n\n // Handle environment parameter\n let envObj:Record<string, string>|undefined\n if (typeof env === 'object') {\n envObj = env\n }\n\n const debug = function (...args:any[]) {\n return logger(\n actualNamespace,\n args,\n { prevTime, color },\n envObj\n )\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = actualNamespace + ':' + extension\n return createDebug(extendedNamespace, envObj)\n }\n\n return debug\n}\n", "/**\n * Helpers.\n */\n\nconst s = 1000\nconst m = s * 60\nconst h = m * 60\nconst d = h * 24\nconst w = d * 7\nconst y = d * 365.25\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nexport default function (val, options:{ long?:boolean } = {}) {\n options = options || {}\n const type = typeof val\n if (type === 'string' && val.length > 0) {\n return parse(val)\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val)\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n )\n}\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse (str) {\n str = String(str)\n if (str.length > 100) {\n return\n }\n const match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n )\n if (!match) {\n return\n }\n const n = parseFloat(match[1])\n const type = (match[2] || 'ms').toLowerCase()\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y\n case 'weeks':\n case 'week':\n case 'w':\n return n * w\n case 'days':\n case 'day':\n case 'd':\n return n * d\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n\n default:\n return undefined\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd'\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h'\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm'\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's'\n }\n return ms + 'ms'\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day')\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour')\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute')\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second')\n }\n return ms + ' ms'\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural (ms, msAbs, n, name) {\n const isPlural = msAbs >= n * 1.5\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '')\n}\n", "/**\n* Coerce `val`.\n*\n* @param {unknown} val\n* @return {string}\n*/\nexport function coerce (val:unknown):string {\n if (val instanceof Error) {\n return val.stack || val.message\n }\n\n return String(val)\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @return {number|string} An ANSI color code for the given namespace\n */\nexport function selectColor (\n namespace:string,\n colors:string[]|number[]\n):number|string {\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 colors[Math.abs(hash) % colors.length]\n}\n\nexport function createRegexFromEnvVar (names:string):RegExp[] {\n const split = names.split(/[\\s,]+/).filter(Boolean)\n const regexs = split\n .map(word => word.replace(/\\*/g, '.*?'))\n .map(r => new RegExp('^' + r + '$'))\n\n return regexs\n}\n\nexport type Debugger = {\n (...args: any[]): void;\n extend: (namespace: string) => Debugger;\n}\n\n/**\n * Use this to create a random namespace in the case that `debug`\n * is called without any arguments.\n * @param {number} length Lenght of the random string\n * @returns {string}\n */\nexport function generateRandomString (length = 6):string {\n return Math.random().toString(20).substring(2, length)\n}\n", "import { type Debugger } from './index.js'\n\nexport const noop:Debugger = function (_args:any[]) {}\nnoop.extend = function (_namespace:string) { return noop }\n\n/**\n * Factory function that matches the main module's API.\n * Always returns the noop debugger regardless of namespace.\n */\nexport function createDebug (_namespace?:string|boolean):Debugger {\n return noop\n}\n\nexport default createDebug\n"],
5
+ "mappings": "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",
6
6
  "names": ["cloudflare_exports", "__export", "coerce", "createDebug", "createRegexFromEnvVar", "cloudflare_default", "generateRandomString", "selectColor", "__toCommonJS", "ms_default", "val", "options", "type", "parse", "fmtLong", "fmtShort", "__name", "str", "match", "ms", "msAbs", "plural", "name", "isPlural", "coerce", "val", "__name", "selectColor", "namespace", "colors", "hash", "i", "createRegexFromEnvVar", "names", "word", "r", "generateRandomString", "length", "noop", "__name", "_args", "_namespace", "log", "colors", "cloudflare_default", "createDebug", "isEnabled", "namespace", "env", "DEBUG", "createRegexFromEnvVar", "regex", "__name", "createFormatters", "v", "error", "logger", "args", "prevTime", "color", "curr", "diff", "coerce", "formatters", "index", "match", "format", "formatter", "val", "_args", "formatArgs", "shouldUseColors", "log", "ms_default", "namespaceOrEnabled", "noop", "selectColor", "generateRandomString", "colors", "actualNamespace", "envObj", "debug", "extension", "extendedNamespace"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var R=Object.defineProperty;var t=(e,r)=>R(e,"name",{value:r,configurable:!0});function l(e,r={}){r=r||{};let n=typeof e;if(n==="string"&&e.length>0)return S(e);if(n==="number"&&isFinite(e))return r.long?C(e):M(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}t(l,"default");function S(e){if(e=String(e),e.length>100)return;let r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;let n=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*315576e5;case"weeks":case"week":case"w":return n*6048e5;case"days":case"day":case"d":return n*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return n*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return n*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return n*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}t(S,"parse");function M(e){let r=Math.abs(e);return r>=864e5?Math.round(e/864e5)+"d":r>=36e5?Math.round(e/36e5)+"h":r>=6e4?Math.round(e/6e4)+"m":r>=1e3?Math.round(e/1e3)+"s":e+"ms"}t(M,"fmtShort");function C(e){let r=Math.abs(e);return r>=864e5?f(e,r,864e5,"day"):r>=36e5?f(e,r,36e5,"hour"):r>=6e4?f(e,r,6e4,"minute"):r>=1e3?f(e,r,1e3,"second"):e+" ms"}t(C,"fmtLong");function f(e,r,n,s){let o=r>=n*1.5;return Math.round(e/n)+" "+s+(o?"s":"")}t(f,"plural");function p(e){return e instanceof Error?e.stack||e.message:String(e)}t(p,"coerce");function h(e,r){let n=0;for(let s=0;s<e.length;s++)n=(n<<5)-n+e.charCodeAt(s),n|=0;return r[Math.abs(n)%r.length]}t(h,"selectColor");function y(e){return e.split(/[\s,]+/).filter(Boolean).map(s=>s.replace(/\*/g,".*?")).map(s=>new RegExp("^"+s+"$"))}t(y,"createRegexFromEnvVar");function x(e=6){return Math.random().toString(20).substring(2,e)}t(x,"generateRandomString");var g=t(function(e){},"noop");g.extend=function(e){return g};var N=console.log||(()=>{}),U=["#e6194b","#3cb44b","#b8860b","#4363d8","#f58231","#911eb4","#0097a7","#f032e6","#558b2f","#c2185b","#469990","#7b1fa2","#9a6324","#d69c00","#d32f2f","#00897b","#808000","#d84315","#1976d2","#607d8b"];var Z=m;function V(e,r){let n=r?.DEBUG||typeof globalThis<"u"&&globalThis.DEBUG||typeof process<"u"&&process.env?.DEBUG;return n==="*"?!0:e==="DEV"?!n:n?y(n).some(o=>o.test(e)):!1}t(V,"isEnabled");function B(){return{j:t(function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+String(r)}},"j")}}t(B,"createFormatters");function k(e,r,{prevTime:n,color:s},o){if(r=r||[],!V(e,o))return;let c=Number(new Date),a=c-(n||c);n=c,r[0]=p(r[0]);let u=B();typeof r[0]!="string"&&r.unshift("%O");let i=0;r[0]=r[0].replace(/%([a-zA-Z%])/g,(d,w)=>{if(d==="%%")return"%";i++;let b=u[w];if(typeof b=="function"){let E=r[i];d=b.call(globalThis,E),r.splice(i,1),i--}return d});let D=F({diff:a,color:s,useColors:A(),namespace:e},r);N(...D)}t(k,"logger");function A(){return!1}t(A,"shouldUseColors");function F({diff:e,namespace:r},n){return n[0]=r+" "+n[0]+" +"+l(e,{}),n}t(F,"formatArgs");function m(e,r){if(typeof e=="boolean")return e===!1?g:m("DEV",{DEBUG:"*"});let n=Number(new Date),s=h(typeof e=="string"?e:x(10),U),o=typeof e=="string"?e:"DEV",c;typeof r=="object"&&(c=r);let a=t(function(...u){return k(o,u,{prevTime:n,color:s},c)},"debug");return a.extend=function(u){let i=o+":"+u;return m(i,c)},a}t(m,"createDebug");export{p as coerce,m as createDebug,y as createRegexFromEnvVar,Z as default,x as generateRandomString,h as selectColor};
1
+ var R=Object.defineProperty;var t=(e,r)=>R(e,"name",{value:r,configurable:!0});function l(e,r={}){r=r||{};let n=typeof e;if(n==="string"&&e.length>0)return S(e);if(n==="number"&&isFinite(e))return r.long?C(e):M(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}t(l,"default");function S(e){if(e=String(e),e.length>100)return;let r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;let n=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*315576e5;case"weeks":case"week":case"w":return n*6048e5;case"days":case"day":case"d":return n*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return n*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return n*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return n*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}t(S,"parse");function M(e){let r=Math.abs(e);return r>=864e5?Math.round(e/864e5)+"d":r>=36e5?Math.round(e/36e5)+"h":r>=6e4?Math.round(e/6e4)+"m":r>=1e3?Math.round(e/1e3)+"s":e+"ms"}t(M,"fmtShort");function C(e){let r=Math.abs(e);return r>=864e5?f(e,r,864e5,"day"):r>=36e5?f(e,r,36e5,"hour"):r>=6e4?f(e,r,6e4,"minute"):r>=1e3?f(e,r,1e3,"second"):e+" ms"}t(C,"fmtLong");function f(e,r,n,s){let o=r>=n*1.5;return Math.round(e/n)+" "+s+(o?"s":"")}t(f,"plural");function h(e){return e instanceof Error?e.stack||e.message:String(e)}t(h,"coerce");function b(e,r){let n=0;for(let s=0;s<e.length;s++)n=(n<<5)-n+e.charCodeAt(s),n|=0;return r[Math.abs(n)%r.length]}t(b,"selectColor");function y(e){return e.split(/[\s,]+/).filter(Boolean).map(s=>s.replace(/\*/g,".*?")).map(s=>new RegExp("^"+s+"$"))}t(y,"createRegexFromEnvVar");function x(e=6){return Math.random().toString(20).substring(2,e)}t(x,"generateRandomString");var g=t(function(e){},"noop");g.extend=function(e){return g};var N=console.log||(()=>{}),U=["#cc0000","#0044cc","#118811","#9922cc","#dd7700","#cc0088","#778800","#774422","#007777","#555555"];var Z=m;function V(e,r){let n=r?.DEBUG||typeof globalThis<"u"&&globalThis.DEBUG||typeof process<"u"&&process.env?.DEBUG;return n==="*"?!0:e==="DEV"?!n:n?y(n).some(o=>o.test(e)):!1}t(V,"isEnabled");function B(){return{j:t(function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+String(r)}},"j")}}t(B,"createFormatters");function k(e,r,{prevTime:n,color:s},o){if(r=r||[],!V(e,o))return;let c=Number(new Date),a=c-(n||c);n=c,r[0]=h(r[0]);let u=B();typeof r[0]!="string"&&r.unshift("%O");let i=0;r[0]=r[0].replace(/%([a-zA-Z%])/g,(d,w)=>{if(d==="%%")return"%";i++;let p=u[w];if(typeof p=="function"){let E=r[i];d=p.call(globalThis,E),r.splice(i,1),i--}return d});let D=F({diff:a,color:s,useColors:A(),namespace:e},r);N(...D)}t(k,"logger");function A(){return!1}t(A,"shouldUseColors");function F({diff:e,namespace:r},n){return n[0]=r+" "+n[0]+" +"+l(e,{}),n}t(F,"formatArgs");function m(e,r){if(typeof e=="boolean")return e===!1?g:m("DEV",{DEBUG:"*"});let n=Number(new Date),s=b(typeof e=="string"?e:x(10),U),o=typeof e=="string"?e:"DEV",c;typeof r=="object"&&(c=r);let a=t(function(...u){return k(o,u,{prevTime:n,color:s},c)},"debug");return a.extend=function(u){let i=o+":"+u;return m(i,c)},a}t(m,"createDebug");export{h as coerce,m as createDebug,y as createRegexFromEnvVar,Z as default,x as generateRandomString,b as selectColor};
2
2
  //# sourceMappingURL=index.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ms.ts", "../../src/index.ts", "../../src/noop.ts", "../../src/cloudflare/index.ts"],
4
- "sourcesContent": ["/**\n * Helpers.\n */\n\nconst s = 1000\nconst m = s * 60\nconst h = m * 60\nconst d = h * 24\nconst w = d * 7\nconst y = d * 365.25\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nexport default function (val, options:{ long?:boolean } = {}) {\n options = options || {}\n const type = typeof val\n if (type === 'string' && val.length > 0) {\n return parse(val)\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val)\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n )\n}\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse (str) {\n str = String(str)\n if (str.length > 100) {\n return\n }\n const match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n )\n if (!match) {\n return\n }\n const n = parseFloat(match[1])\n const type = (match[2] || 'ms').toLowerCase()\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y\n case 'weeks':\n case 'week':\n case 'w':\n return n * w\n case 'days':\n case 'day':\n case 'd':\n return n * d\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n\n default:\n return undefined\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd'\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h'\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm'\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's'\n }\n return ms + 'ms'\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day')\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour')\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute')\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second')\n }\n return ms + ' ms'\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural (ms, msAbs, n, name) {\n const isPlural = msAbs >= n * 1.5\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '')\n}\n", "/**\n* Coerce `val`.\n*\n* @param {unknown} val\n* @return {string}\n*/\nexport function coerce (val:unknown):string {\n if (val instanceof Error) {\n return val.stack || val.message\n }\n\n return String(val)\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @return {number|string} An ANSI color code for the given namespace\n */\nexport function selectColor (\n namespace:string,\n colors:string[]|number[]\n):number|string {\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 colors[Math.abs(hash) % colors.length]\n}\n\nexport function createRegexFromEnvVar (names:string):RegExp[] {\n const split = names.split(/[\\s,]+/).filter(Boolean)\n const regexs = split\n .map(word => word.replace(/\\*/g, '.*?'))\n .map(r => new RegExp('^' + r + '$'))\n\n return regexs\n}\n\nexport type Debugger = {\n (...args: any[]): void;\n extend: (namespace: string) => Debugger;\n}\n\n/**\n * Use this to create a random namespace in the case that `debug`\n * is called without any arguments.\n * @param {number} length Lenght of the random string\n * @returns {string}\n */\nexport function generateRandomString (length = 6):string {\n return Math.random().toString(20).substring(2, length)\n}\n", "import { type Debugger } from './index.js'\n\nexport const noop:Debugger = function (_args:any[]) {}\nnoop.extend = function (_namespace:string) { return noop }\n\n/**\n * Factory function that matches the main module's API.\n * Always returns the noop debugger regardless of namespace.\n */\nexport function createDebug (_namespace?:string|boolean):Debugger {\n return noop\n}\n\nexport default createDebug\n", "import humanize from '../ms.js'\nimport {\n generateRandomString,\n coerce,\n selectColor,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport { noop } from '../noop.js'\n\nexport * from '../index.js'\n\n// Cloudflare Workers have a limited set of Web APIs\n// No localStorage, document, or navigator\nconst log = console.log || (() => {})\n\n/**\n * Maximally distinct colors selected for perceptual distance in CIELAB space.\n * All colors have sufficient contrast for legibility on white backgrounds.\n */\nconst colors = [\n '#e6194b', '#3cb44b', '#b8860b', '#4363d8', '#f58231',\n '#911eb4', '#0097a7', '#f032e6', '#558b2f', '#c2185b',\n '#469990', '#7b1fa2', '#9a6324', '#d69c00', '#d32f2f',\n '#00897b', '#808000', '#d84315', '#1976d2', '#607d8b',\n]\n\nexport { createDebug }\nexport default createDebug\n\n/**\n * Check if the given namespace is enabled in Cloudflare Workers.\n * Since there's no localStorage, we check environment variables or global DEBUG.\n * `namespace` is the name that is passed into debug.\n * `env` is an optional environment object that can contain DEBUG setting.\n */\nfunction isEnabled (namespace:string, env?:Record<string, string>):boolean {\n // Determine the DEBUG value from env parameter, global, or process.env\n const DEBUG = env?.DEBUG ||\n (typeof globalThis !== 'undefined' && (globalThis as any).DEBUG) ||\n (typeof process !== 'undefined' && process.env?.DEBUG)\n\n // Check for wildcard first - enables all namespaces including DEV\n if (DEBUG === '*') return true\n\n // If no namespace (DEV mode), check if there's no DEBUG variable\n if (namespace === 'DEV') {\n // We want to log iff there is no DEBUG variable.\n if (!DEBUG) {\n return true\n }\n return false\n }\n\n // No DEBUG variable set\n if (!DEBUG) return false\n\n // Check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Map %j to `JSON.stringify()`, since Cloudflare Workers don't\n * have Web Inspectors.\n */\nfunction createFormatters () {\n return {\n j: function (v:any) {\n try {\n return JSON.stringify(v)\n } catch (error) {\n return '[UnexpectedJSONParseError]: ' + String(error)\n }\n }\n }\n}\n\nfunction logger (\n namespace:string,\n args:any[],\n { prevTime, color },\n env?:Record<string, string>\n) {\n args = args || []\n if (!isEnabled(namespace, env)) return\n\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters()\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(globalThis, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply Cloudflare-specific formatting (no colors in Workers typically)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\nfunction shouldUseColors ():boolean {\n // Cloudflare Workers typically don't support colors in console output\n // But we can detect if we're in a development environment\n return false\n}\n\n/**\n * Format log arguments for Cloudflare Workers (no color support typically).\n * Mutates the given args.\n */\nfunction formatArgs ({ diff, namespace }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]) {\n args[0] = namespace + ' ' + args[0] + ' +' + humanize(diff, {})\n return args\n}\n\nfunction createDebug (namespace:string, env?:Record<string, string>):Debugger;\nfunction createDebug (enabled:boolean):Debugger;\nfunction createDebug (\n namespaceOrEnabled?:string|boolean,\n env?:Record<string, string>\n):Debugger {\n // Handle the case where first parameter is a boolean\n if (typeof namespaceOrEnabled === 'boolean') {\n if (namespaceOrEnabled === false) return noop\n // If namespaceOrEnabled is true, use DEV mode with forced logging\n return createDebug('DEV', { DEBUG: '*' })\n }\n\n const prevTime = Number(new Date())\n const color = selectColor(\n typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n generateRandomString(10),\n colors\n )\n\n const actualNamespace = typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n 'DEV'\n\n // Handle environment parameter\n let envObj:Record<string, string>|undefined\n if (typeof env === 'object') {\n envObj = env\n }\n\n const debug = function (...args:any[]) {\n return logger(\n actualNamespace,\n args,\n { prevTime, color },\n envObj\n )\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = actualNamespace + ':' + extension\n return createDebug(extendedNamespace, envObj)\n }\n\n return debug\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * Helpers.\n */\n\nconst s = 1000\nconst m = s * 60\nconst h = m * 60\nconst d = h * 24\nconst w = d * 7\nconst y = d * 365.25\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nexport default function (val, options:{ long?:boolean } = {}) {\n options = options || {}\n const type = typeof val\n if (type === 'string' && val.length > 0) {\n return parse(val)\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val)\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n )\n}\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse (str) {\n str = String(str)\n if (str.length > 100) {\n return\n }\n const match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n )\n if (!match) {\n return\n }\n const n = parseFloat(match[1])\n const type = (match[2] || 'ms').toLowerCase()\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y\n case 'weeks':\n case 'week':\n case 'w':\n return n * w\n case 'days':\n case 'day':\n case 'd':\n return n * d\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n\n default:\n return undefined\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd'\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h'\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm'\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's'\n }\n return ms + 'ms'\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong (ms) {\n const msAbs = Math.abs(ms)\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day')\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour')\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute')\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second')\n }\n return ms + ' ms'\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural (ms, msAbs, n, name) {\n const isPlural = msAbs >= n * 1.5\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '')\n}\n", "/**\n* Coerce `val`.\n*\n* @param {unknown} val\n* @return {string}\n*/\nexport function coerce (val:unknown):string {\n if (val instanceof Error) {\n return val.stack || val.message\n }\n\n return String(val)\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @return {number|string} An ANSI color code for the given namespace\n */\nexport function selectColor (\n namespace:string,\n colors:string[]|number[]\n):number|string {\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 colors[Math.abs(hash) % colors.length]\n}\n\nexport function createRegexFromEnvVar (names:string):RegExp[] {\n const split = names.split(/[\\s,]+/).filter(Boolean)\n const regexs = split\n .map(word => word.replace(/\\*/g, '.*?'))\n .map(r => new RegExp('^' + r + '$'))\n\n return regexs\n}\n\nexport type Debugger = {\n (...args: any[]): void;\n extend: (namespace: string) => Debugger;\n}\n\n/**\n * Use this to create a random namespace in the case that `debug`\n * is called without any arguments.\n * @param {number} length Lenght of the random string\n * @returns {string}\n */\nexport function generateRandomString (length = 6):string {\n return Math.random().toString(20).substring(2, length)\n}\n", "import { type Debugger } from './index.js'\n\nexport const noop:Debugger = function (_args:any[]) {}\nnoop.extend = function (_namespace:string) { return noop }\n\n/**\n * Factory function that matches the main module's API.\n * Always returns the noop debugger regardless of namespace.\n */\nexport function createDebug (_namespace?:string|boolean):Debugger {\n return noop\n}\n\nexport default createDebug\n", "import humanize from '../ms.js'\nimport {\n generateRandomString,\n coerce,\n selectColor,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport { noop } from '../noop.js'\n\nexport * from '../index.js'\n\n// Cloudflare Workers have a limited set of Web APIs\n// No localStorage, document, or navigator\nconst log = console.log || (() => {})\n\n/**\n * Maximally distinct colors for debug namespaces.\n * Every pair has high perceptual distance \u2014 no similar hues nearby.\n */\nconst colors = [\n '#cc0000', '#0044cc', '#118811', '#9922cc', '#dd7700',\n '#cc0088', '#778800', '#774422', '#007777', '#555555',\n]\n\nexport { createDebug }\nexport default createDebug\n\n/**\n * Check if the given namespace is enabled in Cloudflare Workers.\n * Since there's no localStorage, we check environment variables or global DEBUG.\n * `namespace` is the name that is passed into debug.\n * `env` is an optional environment object that can contain DEBUG setting.\n */\nfunction isEnabled (namespace:string, env?:Record<string, string>):boolean {\n // Determine the DEBUG value from env parameter, global, or process.env\n const DEBUG = env?.DEBUG ||\n (typeof globalThis !== 'undefined' && (globalThis as any).DEBUG) ||\n (typeof process !== 'undefined' && process.env?.DEBUG)\n\n // Check for wildcard first - enables all namespaces including DEV\n if (DEBUG === '*') return true\n\n // If no namespace (DEV mode), check if there's no DEBUG variable\n if (namespace === 'DEV') {\n // We want to log iff there is no DEBUG variable.\n if (!DEBUG) {\n return true\n }\n return false\n }\n\n // No DEBUG variable set\n if (!DEBUG) return false\n\n // Check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Map %j to `JSON.stringify()`, since Cloudflare Workers don't\n * have Web Inspectors.\n */\nfunction createFormatters () {\n return {\n j: function (v:any) {\n try {\n return JSON.stringify(v)\n } catch (error) {\n return '[UnexpectedJSONParseError]: ' + String(error)\n }\n }\n }\n}\n\nfunction logger (\n namespace:string,\n args:any[],\n { prevTime, color },\n env?:Record<string, string>\n) {\n args = args || []\n if (!isEnabled(namespace, env)) return\n\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters()\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(globalThis, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply Cloudflare-specific formatting (no colors in Workers typically)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\nfunction shouldUseColors ():boolean {\n // Cloudflare Workers typically don't support colors in console output\n // But we can detect if we're in a development environment\n return false\n}\n\n/**\n * Format log arguments for Cloudflare Workers (no color support typically).\n * Mutates the given args.\n */\nfunction formatArgs ({ diff, namespace }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]) {\n args[0] = namespace + ' ' + args[0] + ' +' + humanize(diff, {})\n return args\n}\n\nfunction createDebug (namespace:string, env?:Record<string, string>):Debugger;\nfunction createDebug (enabled:boolean):Debugger;\nfunction createDebug (\n namespaceOrEnabled?:string|boolean,\n env?:Record<string, string>\n):Debugger {\n // Handle the case where first parameter is a boolean\n if (typeof namespaceOrEnabled === 'boolean') {\n if (namespaceOrEnabled === false) return noop\n // If namespaceOrEnabled is true, use DEV mode with forced logging\n return createDebug('DEV', { DEBUG: '*' })\n }\n\n const prevTime = Number(new Date())\n const color = selectColor(\n typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n generateRandomString(10),\n colors\n )\n\n const actualNamespace = typeof namespaceOrEnabled === 'string' ?\n namespaceOrEnabled :\n 'DEV'\n\n // Handle environment parameter\n let envObj:Record<string, string>|undefined\n if (typeof env === 'object') {\n envObj = env\n }\n\n const debug = function (...args:any[]) {\n return logger(\n actualNamespace,\n args,\n { prevTime, color },\n envObj\n )\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = actualNamespace + ':' + extension\n return createDebug(extendedNamespace, envObj)\n }\n\n return debug\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["ms_default", "val", "options", "type", "parse", "fmtLong", "fmtShort", "__name", "str", "match", "ms", "msAbs", "plural", "name", "isPlural", "coerce", "val", "__name", "selectColor", "namespace", "colors", "hash", "i", "createRegexFromEnvVar", "names", "word", "r", "generateRandomString", "length", "noop", "__name", "_args", "_namespace", "log", "colors", "cloudflare_default", "createDebug", "isEnabled", "namespace", "env", "DEBUG", "createRegexFromEnvVar", "regex", "__name", "createFormatters", "v", "error", "logger", "args", "prevTime", "color", "curr", "diff", "coerce", "formatters", "index", "match", "format", "formatter", "val", "_args", "formatArgs", "shouldUseColors", "log", "ms_default", "namespaceOrEnabled", "noop", "selectColor", "generateRandomString", "colors", "actualNamespace", "envObj", "debug", "extension", "extendedNamespace"]
7
7
  }
@@ -51,40 +51,20 @@ const colors = import_supports_color.default && // @ts-expect-error ???
51
51
  // red
52
52
  46,
53
53
  // green
54
- 226,
55
- // yellow
56
54
  21,
57
55
  // blue
58
- 208,
59
- // orange
60
56
  129,
61
57
  // purple
62
- 51,
63
- // cyan
58
+ 208,
59
+ // orange
64
60
  201,
65
61
  // magenta
66
- 118,
67
- // lime
68
- 218,
69
- // pink
70
- 30,
71
- // teal
72
- 183,
73
- // lavender
74
- 130,
75
- // brown
76
- 229,
77
- // beige
78
- 88,
79
- // maroon
80
- 121,
81
- // mint
82
62
  142,
83
63
  // olive
84
- 223,
85
- // apricot
86
- 18,
87
- // navy
64
+ 130,
65
+ // brown
66
+ 30,
67
+ // teal
88
68
  245
89
69
  // grey
90
70
  ] : [1, 2, 3, 4, 5, 6];
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/node/index.ts"],
4
- "sourcesContent": ["import supportsColor from 'supports-color'\nimport tty from 'node:tty'\nimport util from 'node:util'\nimport {\n generateRandomString,\n coerce,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport ms from '../ms.js'\n\nexport * from '../index.js'\n\n(function () {\n if (typeof self === 'undefined' && typeof global === 'object') {\n // @ts-expect-error self\n global.self = global\n }\n})()\n\n/**\n * Maximally distinct ANSI 256 color codes.\n * Selected for perceptual distance - any two colors are visually distinguishable.\n */\nconst colors:number[] = (supportsColor &&\n // @ts-expect-error ???\n (supportsColor.stderr || supportsColor).level >= 2) ? ([\n 196, // red\n 46, // green\n 226, // yellow\n 21, // blue\n 208, // orange\n 129, // purple\n 51, // cyan\n 201, // magenta\n 118, // lime\n 218, // pink\n 30, // teal\n 183, // lavender\n 130, // brown\n 229, // beige\n 88, // maroon\n 121, // mint\n 142, // olive\n 223, // apricot\n 18, // navy\n 245, // grey\n ]) :\n ([1, 2, 3, 4, 5, 6])\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\nfunction shouldUseColors ():boolean {\n return tty.isatty(process.stderr.fd) || !!process.env.FORCE_COLOR\n}\n\nfunction getDate ():string {\n return new Date().toISOString()\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\nfunction log (...args:any[]):boolean {\n return process.stderr.write(util.format(...args) + '\\n')\n}\n\n/**\n * Mutate formatters\n * Map %o to `util.inspect()`, all on a single line.\n */\nfunction createFormatters (useColors:boolean, inspectOpts = {}) {\n return {\n o: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: useColors\n }))\n .split('\\n')\n .map(str => str.trim())\n .join(' ')\n },\n\n O: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: shouldUseColors()\n }))\n }\n }\n}\n\nlet randomNamespace:string = ''\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {string} namespace\n * @return {Function}\n */\nexport function createDebug (\n namespace:string|boolean|null,\n env?:Record<string, any>\n):Debugger {\n // eslint-disable-next-line\n let prevTime = Number(new Date())\n if (!randomNamespace) randomNamespace = generateRandomString(10)\n const _namespace = typeof namespace === 'string' ? namespace : randomNamespace\n const color = selectColor(\n typeof namespace === 'string' ? namespace : generateRandomString(10),\n colors\n )\n\n function debug (...args:any[]) {\n if (isEnabled(namespace, env)) {\n if (!namespace) return // for TS\n\n return logger(\n namespace === true ? 'DEV' : namespace,\n args,\n { prevTime, color }\n )\n }\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = _namespace + ':' + extension\n return createDebug(extendedNamespace, env)\n }\n\n return debug as Debugger\n}\n\ncreateDebug.shouldLog = function (envString:string) {\n return (envString && (envString === 'development' || envString === 'test'))\n}\n\nexport default createDebug\n\nfunction logger (namespace:string, args:any[], { prevTime, color }) {\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters(shouldUseColors())\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(self, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply env-specific formatting (colors, etc.)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\n/**\n * Check if the given namespace is enabled.\n */\nfunction isEnabled (namespace?:string|boolean|null, _env?:Record<string, string>):boolean {\n const env = _env || process.env\n\n if (namespace === true) {\n return true\n }\n\n // if no namespace, and we are in dev mode\n if (!namespace) {\n return false\n }\n\n // there is a namespace\n if (!env.DEBUG) return false // if no env DEBUG mode\n\n // else check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(env.DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n */\nfunction formatArgs ({ diff, color, namespace, useColors }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]):string[] {\n args = args || []\n\n if (useColors) {\n const c = color\n const colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c)\n const prefix = ` ${colorCode};1m${namespace} \\u001B[0m`\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix)\n args.push(colorCode + 'm+' + ms(diff) + '\\u001B[0m')\n } else {\n args[0] = getDate() + ' ' + namespace + ' ' + args[0]\n }\n\n return args\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @param {number[]} colors The namespace string for the debug instance to be colored\n * @return {number} An ANSI color code for the given namespace\n */\nfunction selectColor (namespace:string, colors:number[]):number {\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 colors[Math.abs(hash) % colors.length]\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import supportsColor from 'supports-color'\nimport tty from 'node:tty'\nimport util from 'node:util'\nimport {\n generateRandomString,\n coerce,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport ms from '../ms.js'\n\nexport * from '../index.js'\n\n(function () {\n if (typeof self === 'undefined' && typeof global === 'object') {\n // @ts-expect-error self\n global.self = global\n }\n})()\n\n/**\n * Maximally distinct ANSI 256 color codes.\n * Selected for perceptual distance - every pair is visually distinguishable.\n */\nconst colors:number[] = (supportsColor &&\n // @ts-expect-error ???\n (supportsColor.stderr || supportsColor).level >= 2) ? ([\n 196, // red\n 46, // green\n 21, // blue\n 129, // purple\n 208, // orange\n 201, // magenta\n 142, // olive\n 130, // brown\n 30, // teal\n 245, // grey\n ]) :\n ([1, 2, 3, 4, 5, 6])\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\nfunction shouldUseColors ():boolean {\n return tty.isatty(process.stderr.fd) || !!process.env.FORCE_COLOR\n}\n\nfunction getDate ():string {\n return new Date().toISOString()\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\nfunction log (...args:any[]):boolean {\n return process.stderr.write(util.format(...args) + '\\n')\n}\n\n/**\n * Mutate formatters\n * Map %o to `util.inspect()`, all on a single line.\n */\nfunction createFormatters (useColors:boolean, inspectOpts = {}) {\n return {\n o: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: useColors\n }))\n .split('\\n')\n .map(str => str.trim())\n .join(' ')\n },\n\n O: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: shouldUseColors()\n }))\n }\n }\n}\n\nlet randomNamespace:string = ''\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {string} namespace\n * @return {Function}\n */\nexport function createDebug (\n namespace:string|boolean|null,\n env?:Record<string, any>\n):Debugger {\n // eslint-disable-next-line\n let prevTime = Number(new Date())\n if (!randomNamespace) randomNamespace = generateRandomString(10)\n const _namespace = typeof namespace === 'string' ? namespace : randomNamespace\n const color = selectColor(\n typeof namespace === 'string' ? namespace : generateRandomString(10),\n colors\n )\n\n function debug (...args:any[]) {\n if (isEnabled(namespace, env)) {\n if (!namespace) return // for TS\n\n return logger(\n namespace === true ? 'DEV' : namespace,\n args,\n { prevTime, color }\n )\n }\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = _namespace + ':' + extension\n return createDebug(extendedNamespace, env)\n }\n\n return debug as Debugger\n}\n\ncreateDebug.shouldLog = function (envString:string) {\n return (envString && (envString === 'development' || envString === 'test'))\n}\n\nexport default createDebug\n\nfunction logger (namespace:string, args:any[], { prevTime, color }) {\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters(shouldUseColors())\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(self, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply env-specific formatting (colors, etc.)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\n/**\n * Check if the given namespace is enabled.\n */\nfunction isEnabled (namespace?:string|boolean|null, _env?:Record<string, string>):boolean {\n const env = _env || process.env\n\n if (namespace === true) {\n return true\n }\n\n // if no namespace, and we are in dev mode\n if (!namespace) {\n return false\n }\n\n // there is a namespace\n if (!env.DEBUG) return false // if no env DEBUG mode\n\n // else check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(env.DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n */\nfunction formatArgs ({ diff, color, namespace, useColors }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]):string[] {\n args = args || []\n\n if (useColors) {\n const c = color\n const colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c)\n const prefix = ` ${colorCode};1m${namespace} \\u001B[0m`\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix)\n args.push(colorCode + 'm+' + ms(diff) + '\\u001B[0m')\n } else {\n args[0] = getDate() + ' ' + namespace + ' ' + args[0]\n }\n\n return args\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @param {number[]} colors The namespace string for the debug instance to be colored\n * @return {number} An ANSI color code for the given namespace\n */\nfunction selectColor (namespace:string, colors:number[]):number {\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 colors[Math.abs(hash) % colors.length]\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA0B;AAC1B,sBAAgB;AAChB,uBAAiB;AACjB,eAKO;AACP,gBAAe;AAEf,0BAAc,wBAXd;AAAA,CAaC,WAAY;AACT,MAAI,OAAO,SAAS,eAAe,OAAO,WAAW,UAAU;AAE3D,WAAO,OAAO;AAAA,EAClB;AACJ,GAAG;AAMH,MAAM,SAAmB,sBAAAA;AAAA,CAEpB,sBAAAA,QAAc,UAAU,sBAAAA,SAAe,SAAS,IAAM;AAAA,EACnD;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACJ,IACC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAKtB,SAAS,kBAA2B;AAChC,SAAO,gBAAAC,QAAI,OAAO,QAAQ,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI;AAC1D;AAFS;AAIT,SAAS,UAAkB;AACvB,UAAO,oBAAI,KAAK,GAAE,YAAY;AAClC;AAFS;AAOT,SAAS,OAAQ,MAAoB;AACjC,SAAO,QAAQ,OAAO,MAAM,iBAAAC,QAAK,OAAO,GAAG,IAAI,IAAI,IAAI;AAC3D;AAFS;AAQT,SAAS,iBAAkB,WAAmB,cAAc,CAAC,GAAG;AAC5D,SAAO;AAAA,IACH,GAAG,gCAAU,GAAG;AACZ,aAAO,iBAAAA,QAAK,QAAQ,GAAG,OAAO,OAAO,CAAC,GAAG,aAAa;AAAA,QAClD,QAAQ;AAAA,MACZ,CAAC,CAAC,EACG,MAAM,IAAI,EACV,IAAI,SAAO,IAAI,KAAK,CAAC,EACrB,KAAK,GAAG;AAAA,IACjB,GAPG;AAAA,IASH,GAAG,gCAAU,GAAG;AACZ,aAAO,iBAAAA,QAAK,QAAQ,GAAG,OAAO,OAAO,CAAC,GAAG,aAAa;AAAA,QAClD,QAAQ,gBAAgB;AAAA,MAC5B,CAAC,CAAC;AAAA,IACN,GAJG;AAAA,EAKP;AACJ;AAjBS;AAmBT,IAAI,kBAAyB;AAQtB,SAAS,YACZ,WACA,KACO;AAEP,MAAI,WAAW,OAAO,oBAAI,KAAK,CAAC;AAChC,MAAI,CAAC,gBAAiB,uBAAkB,+BAAqB,EAAE;AAC/D,QAAM,aAAa,OAAO,cAAc,WAAW,YAAY;AAC/D,QAAM,QAAQ;AAAA,IACV,OAAO,cAAc,WAAW,gBAAY,+BAAqB,EAAE;AAAA,IACnE;AAAA,EACJ;AAEA,WAAS,SAAU,MAAY;AAC3B,QAAI,UAAU,WAAW,GAAG,GAAG;AAC3B,UAAI,CAAC,UAAW;AAEhB,aAAO;AAAA,QACH,cAAc,OAAO,QAAQ;AAAA,QAC7B;AAAA,QACA,EAAE,UAAU,MAAM;AAAA,MACtB;AAAA,IACJ;AAAA,EACJ;AAVS;AAYT,QAAM,SAAS,SAAU,WAA2B;AAChD,UAAM,oBAAoB,aAAa,MAAM;AAC7C,WAAO,YAAY,mBAAmB,GAAG;AAAA,EAC7C;AAEA,SAAO;AACX;AA/BgB;AAiChB,YAAY,YAAY,SAAU,WAAkB;AAChD,SAAQ,cAAc,cAAc,iBAAiB,cAAc;AACvE;AAEA,IAAO,gBAAQ;AAEf,SAAS,OAAQ,WAAkB,MAAY,EAAE,UAAU,MAAM,GAAG;AAEhE,QAAM,OAAO,OAAO,oBAAI,KAAK,CAAC;AAC9B,QAAM,OAAO,QAAQ,YAAY;AACjC,aAAW;AAEX,OAAK,CAAC,QAAI,iBAAO,KAAK,CAAC,CAAC;AACxB,QAAM,aAAa,iBAAiB,gBAAgB,CAAC;AAErD,MAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAE7B,SAAK,QAAQ,IAAI;AAAA,EACrB;AAGA,MAAI,QAAQ;AACZ,OAAK,CAAC,IAAI,KAAK,CAAC,EAAE,QAAQ,iBAAiB,CAAC,OAAO,WAAW;AAG1D,QAAI,UAAU,KAAM,QAAO;AAE3B;AAEA,UAAM,YAAY,WAAW,MAAM;AACnC,QAAI,OAAO,cAAc,YAAY;AACjC,YAAM,MAAM,KAAK,KAAK;AACtB,cAAQ,UAAU,KAAK,MAAM,GAAG;AAIhC,WAAK,OAAO,OAAO,CAAC;AACpB;AAAA,IACJ;AACA,WAAO;AAAA,EACX,CAAC;AAGD,QAAM,QAAQ,WAAW;AAAA,IACrB;AAAA,IACA;AAAA,IACA,WAAW,gBAAgB;AAAA,IAC3B;AAAA,EACJ,GAAG,IAAI;AAEP,MAAI,GAAG,KAAK;AAChB;AA7CS;AAkDT,SAAS,UAAW,WAAgC,MAAsC;AACtF,QAAM,MAAM,QAAQ,QAAQ;AAE5B,MAAI,cAAc,MAAM;AACpB,WAAO;AAAA,EACX;AAGA,MAAI,CAAC,WAAW;AACZ,WAAO;AAAA,EACX;AAGA,MAAI,CAAC,IAAI,MAAO,QAAO;AAGvB,QAAM,cAAU,gCAAsB,IAAI,KAAK;AAC/C,SAAO,QAAQ,KAAK,WAAS,MAAM,KAAK,SAAS,CAAC;AACtD;AAlBS;AAuBT,SAAS,WAAY,EAAE,MAAM,OAAO,WAAW,UAAU,GAKtD,MAAwB;AACvB,SAAO,QAAQ,CAAC;AAEhB,MAAI,WAAW;AACX,UAAM,IAAI;AACV,UAAM,YAAY,YAAc,IAAI,IAAI,IAAI,SAAS;AACrD,UAAM,SAAS,KAAK,SAAS,MAAM,SAAS;AAE5C,SAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,MAAM,IAAI,EAAE,KAAK,OAAO,MAAM;AACzD,SAAK,KAAK,YAAY,WAAO,UAAAC,SAAG,IAAI,IAAI,SAAW;AAAA,EACvD,OAAO;AACH,SAAK,CAAC,IAAI,QAAQ,IAAI,MAAM,YAAY,MAAM,KAAK,CAAC;AAAA,EACxD;AAEA,SAAO;AACX;AApBS;AA4BT,SAAS,YAAa,WAAkBC,SAAwB;AAC5D,MAAI,OAAO;AAEX,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACvC,YAAS,QAAQ,KAAK,OAAQ,UAAU,WAAW,CAAC;AACpD,YAAQ;AAAA,EACZ;AAEA,SAAOA,QAAO,KAAK,IAAI,IAAI,IAAIA,QAAO,MAAM;AAChD;AATS;",
6
6
  "names": ["supportsColor", "tty", "util", "ms", "colors"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,KAAK,QAAQ,EAChB,MAAM,aAAa,CAAA;AAGpB,cAAc,aAAa,CAAA;AAkF3B;;;;;GAKG;AACH,wBAAgB,WAAW,CACvB,SAAS,EAAC,MAAM,GAAC,OAAO,GAAC,IAAI,EAC7B,GAAG,CAAC,EAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,QAAQ,CA4BT;yBA/Be,WAAW;+BAiCiB,MAAM;;AAIlD,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,KAAK,QAAQ,EAChB,MAAM,aAAa,CAAA;AAGpB,cAAc,aAAa,CAAA;AAwE3B;;;;;GAKG;AACH,wBAAgB,WAAW,CACvB,SAAS,EAAC,MAAM,GAAC,OAAO,GAAC,IAAI,EAC7B,GAAG,CAAC,EAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,QAAQ,CA4BT;yBA/Be,WAAW;+BAiCiB,MAAM;;AAIlD,eAAe,WAAW,CAAA"}
@@ -21,40 +21,20 @@ const colors = supportsColor && // @ts-expect-error ???
21
21
  // red
22
22
  46,
23
23
  // green
24
- 226,
25
- // yellow
26
24
  21,
27
25
  // blue
28
- 208,
29
- // orange
30
26
  129,
31
27
  // purple
32
- 51,
33
- // cyan
28
+ 208,
29
+ // orange
34
30
  201,
35
31
  // magenta
36
- 118,
37
- // lime
38
- 218,
39
- // pink
40
- 30,
41
- // teal
42
- 183,
43
- // lavender
44
- 130,
45
- // brown
46
- 229,
47
- // beige
48
- 88,
49
- // maroon
50
- 121,
51
- // mint
52
32
  142,
53
33
  // olive
54
- 223,
55
- // apricot
56
- 18,
57
- // navy
34
+ 130,
35
+ // brown
36
+ 30,
37
+ // teal
58
38
  245
59
39
  // grey
60
40
  ] : [1, 2, 3, 4, 5, 6];
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/node/index.ts"],
4
- "sourcesContent": ["import supportsColor from 'supports-color'\nimport tty from 'node:tty'\nimport util from 'node:util'\nimport {\n generateRandomString,\n coerce,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport ms from '../ms.js'\n\nexport * from '../index.js'\n\n(function () {\n if (typeof self === 'undefined' && typeof global === 'object') {\n // @ts-expect-error self\n global.self = global\n }\n})()\n\n/**\n * Maximally distinct ANSI 256 color codes.\n * Selected for perceptual distance - any two colors are visually distinguishable.\n */\nconst colors:number[] = (supportsColor &&\n // @ts-expect-error ???\n (supportsColor.stderr || supportsColor).level >= 2) ? ([\n 196, // red\n 46, // green\n 226, // yellow\n 21, // blue\n 208, // orange\n 129, // purple\n 51, // cyan\n 201, // magenta\n 118, // lime\n 218, // pink\n 30, // teal\n 183, // lavender\n 130, // brown\n 229, // beige\n 88, // maroon\n 121, // mint\n 142, // olive\n 223, // apricot\n 18, // navy\n 245, // grey\n ]) :\n ([1, 2, 3, 4, 5, 6])\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\nfunction shouldUseColors ():boolean {\n return tty.isatty(process.stderr.fd) || !!process.env.FORCE_COLOR\n}\n\nfunction getDate ():string {\n return new Date().toISOString()\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\nfunction log (...args:any[]):boolean {\n return process.stderr.write(util.format(...args) + '\\n')\n}\n\n/**\n * Mutate formatters\n * Map %o to `util.inspect()`, all on a single line.\n */\nfunction createFormatters (useColors:boolean, inspectOpts = {}) {\n return {\n o: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: useColors\n }))\n .split('\\n')\n .map(str => str.trim())\n .join(' ')\n },\n\n O: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: shouldUseColors()\n }))\n }\n }\n}\n\nlet randomNamespace:string = ''\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {string} namespace\n * @return {Function}\n */\nexport function createDebug (\n namespace:string|boolean|null,\n env?:Record<string, any>\n):Debugger {\n // eslint-disable-next-line\n let prevTime = Number(new Date())\n if (!randomNamespace) randomNamespace = generateRandomString(10)\n const _namespace = typeof namespace === 'string' ? namespace : randomNamespace\n const color = selectColor(\n typeof namespace === 'string' ? namespace : generateRandomString(10),\n colors\n )\n\n function debug (...args:any[]) {\n if (isEnabled(namespace, env)) {\n if (!namespace) return // for TS\n\n return logger(\n namespace === true ? 'DEV' : namespace,\n args,\n { prevTime, color }\n )\n }\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = _namespace + ':' + extension\n return createDebug(extendedNamespace, env)\n }\n\n return debug as Debugger\n}\n\ncreateDebug.shouldLog = function (envString:string) {\n return (envString && (envString === 'development' || envString === 'test'))\n}\n\nexport default createDebug\n\nfunction logger (namespace:string, args:any[], { prevTime, color }) {\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters(shouldUseColors())\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(self, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply env-specific formatting (colors, etc.)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\n/**\n * Check if the given namespace is enabled.\n */\nfunction isEnabled (namespace?:string|boolean|null, _env?:Record<string, string>):boolean {\n const env = _env || process.env\n\n if (namespace === true) {\n return true\n }\n\n // if no namespace, and we are in dev mode\n if (!namespace) {\n return false\n }\n\n // there is a namespace\n if (!env.DEBUG) return false // if no env DEBUG mode\n\n // else check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(env.DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n */\nfunction formatArgs ({ diff, color, namespace, useColors }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]):string[] {\n args = args || []\n\n if (useColors) {\n const c = color\n const colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c)\n const prefix = ` ${colorCode};1m${namespace} \\u001B[0m`\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix)\n args.push(colorCode + 'm+' + ms(diff) + '\\u001B[0m')\n } else {\n args[0] = getDate() + ' ' + namespace + ' ' + args[0]\n }\n\n return args\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @param {number[]} colors The namespace string for the debug instance to be colored\n * @return {number} An ANSI color code for the given namespace\n */\nfunction selectColor (namespace:string, colors:number[]):number {\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 colors[Math.abs(hash) % colors.length]\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import supportsColor from 'supports-color'\nimport tty from 'node:tty'\nimport util from 'node:util'\nimport {\n generateRandomString,\n coerce,\n createRegexFromEnvVar,\n type Debugger\n} from '../index.js'\nimport ms from '../ms.js'\n\nexport * from '../index.js'\n\n(function () {\n if (typeof self === 'undefined' && typeof global === 'object') {\n // @ts-expect-error self\n global.self = global\n }\n})()\n\n/**\n * Maximally distinct ANSI 256 color codes.\n * Selected for perceptual distance - every pair is visually distinguishable.\n */\nconst colors:number[] = (supportsColor &&\n // @ts-expect-error ???\n (supportsColor.stderr || supportsColor).level >= 2) ? ([\n 196, // red\n 46, // green\n 21, // blue\n 129, // purple\n 208, // orange\n 201, // magenta\n 142, // olive\n 130, // brown\n 30, // teal\n 245, // grey\n ]) :\n ([1, 2, 3, 4, 5, 6])\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\nfunction shouldUseColors ():boolean {\n return tty.isatty(process.stderr.fd) || !!process.env.FORCE_COLOR\n}\n\nfunction getDate ():string {\n return new Date().toISOString()\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\nfunction log (...args:any[]):boolean {\n return process.stderr.write(util.format(...args) + '\\n')\n}\n\n/**\n * Mutate formatters\n * Map %o to `util.inspect()`, all on a single line.\n */\nfunction createFormatters (useColors:boolean, inspectOpts = {}) {\n return {\n o: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: useColors\n }))\n .split('\\n')\n .map(str => str.trim())\n .join(' ')\n },\n\n O: function (v) {\n return util.inspect(v, Object.assign({}, inspectOpts, {\n colors: shouldUseColors()\n }))\n }\n }\n}\n\nlet randomNamespace:string = ''\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {string} namespace\n * @return {Function}\n */\nexport function createDebug (\n namespace:string|boolean|null,\n env?:Record<string, any>\n):Debugger {\n // eslint-disable-next-line\n let prevTime = Number(new Date())\n if (!randomNamespace) randomNamespace = generateRandomString(10)\n const _namespace = typeof namespace === 'string' ? namespace : randomNamespace\n const color = selectColor(\n typeof namespace === 'string' ? namespace : generateRandomString(10),\n colors\n )\n\n function debug (...args:any[]) {\n if (isEnabled(namespace, env)) {\n if (!namespace) return // for TS\n\n return logger(\n namespace === true ? 'DEV' : namespace,\n args,\n { prevTime, color }\n )\n }\n }\n\n debug.extend = function (extension:string):Debugger {\n const extendedNamespace = _namespace + ':' + extension\n return createDebug(extendedNamespace, env)\n }\n\n return debug as Debugger\n}\n\ncreateDebug.shouldLog = function (envString:string) {\n return (envString && (envString === 'development' || envString === 'test'))\n}\n\nexport default createDebug\n\nfunction logger (namespace:string, args:any[], { prevTime, color }) {\n // Set `diff` timestamp\n const curr = Number(new Date())\n const diff = curr - (prevTime || curr)\n prevTime = curr\n\n args[0] = coerce(args[0])\n const formatters = createFormatters(shouldUseColors())\n\n if (typeof args[0] !== 'string') {\n // Anything else let's inspect with %O\n args.unshift('%O')\n }\n\n // Apply any `formatters` transformations\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\n // array index\n if (match === '%%') return '%'\n\n index++\n\n const formatter = formatters[format]\n if (typeof formatter === 'function') {\n const val = args[index]\n match = formatter.call(self, val)\n\n // Now we need to remove `args[index]` since it's inlined\n // in the `format`\n args.splice(index, 1)\n index--\n }\n return match\n })\n\n // Apply env-specific formatting (colors, etc.)\n const _args = formatArgs({\n diff,\n color,\n useColors: shouldUseColors(),\n namespace\n }, args)\n\n log(..._args)\n}\n\n/**\n * Check if the given namespace is enabled.\n */\nfunction isEnabled (namespace?:string|boolean|null, _env?:Record<string, string>):boolean {\n const env = _env || process.env\n\n if (namespace === true) {\n return true\n }\n\n // if no namespace, and we are in dev mode\n if (!namespace) {\n return false\n }\n\n // there is a namespace\n if (!env.DEBUG) return false // if no env DEBUG mode\n\n // else check namespace vs DEBUG env var\n const envVars = createRegexFromEnvVar(env.DEBUG)\n return envVars.some(regex => regex.test(namespace))\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n */\nfunction formatArgs ({ diff, color, namespace, useColors }:{\n diff:number,\n color:number,\n namespace:string,\n useColors:boolean\n}, args:string[]):string[] {\n args = args || []\n\n if (useColors) {\n const c = color\n const colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c)\n const prefix = ` ${colorCode};1m${namespace} \\u001B[0m`\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix)\n args.push(colorCode + 'm+' + ms(diff) + '\\u001B[0m')\n } else {\n args[0] = getDate() + ' ' + namespace + ' ' + args[0]\n }\n\n return args\n}\n\n/**\n * Selects a color for a debug namespace\n * @param {string} namespace The namespace string for the debug instance to be colored\n * @param {number[]} colors The namespace string for the debug instance to be colored\n * @return {number} An ANSI color code for the given namespace\n */\nfunction selectColor (namespace:string, colors:number[]):number {\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 colors[Math.abs(hash) % colors.length]\n}\n"],
5
+ "mappings": ";;AAAA,OAAO,mBAAmB;AAC1B,OAAO,SAAS;AAChB,OAAO,UAAU;AACjB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,OAEG;AACP,OAAO,QAAQ;AAEf,cAAc;AAAA,CAEb,WAAY;AACT,MAAI,OAAO,SAAS,eAAe,OAAO,WAAW,UAAU;AAE3D,WAAO,OAAO;AAAA,EAClB;AACJ,GAAG;AAMH,MAAM,SAAmB;AAAA,CAEpB,cAAc,UAAU,eAAe,SAAS,IAAM;AAAA,EACnD;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACJ,IACC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAKtB,SAAS,kBAA2B;AAChC,SAAO,IAAI,OAAO,QAAQ,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI;AAC1D;AAFS;AAIT,SAAS,UAAkB;AACvB,UAAO,oBAAI,KAAK,GAAE,YAAY;AAClC;AAFS;AAOT,SAAS,OAAQ,MAAoB;AACjC,SAAO,QAAQ,OAAO,MAAM,KAAK,OAAO,GAAG,IAAI,IAAI,IAAI;AAC3D;AAFS;AAQT,SAAS,iBAAkB,WAAmB,cAAc,CAAC,GAAG;AAC5D,SAAO;AAAA,IACH,GAAG,gCAAU,GAAG;AACZ,aAAO,KAAK,QAAQ,GAAG,OAAO,OAAO,CAAC,GAAG,aAAa;AAAA,QAClD,QAAQ;AAAA,MACZ,CAAC,CAAC,EACG,MAAM,IAAI,EACV,IAAI,SAAO,IAAI,KAAK,CAAC,EACrB,KAAK,GAAG;AAAA,IACjB,GAPG;AAAA,IASH,GAAG,gCAAU,GAAG;AACZ,aAAO,KAAK,QAAQ,GAAG,OAAO,OAAO,CAAC,GAAG,aAAa;AAAA,QAClD,QAAQ,gBAAgB;AAAA,MAC5B,CAAC,CAAC;AAAA,IACN,GAJG;AAAA,EAKP;AACJ;AAjBS;AAmBT,IAAI,kBAAyB;AAQtB,SAAS,YACZ,WACA,KACO;AAEP,MAAI,WAAW,OAAO,oBAAI,KAAK,CAAC;AAChC,MAAI,CAAC,gBAAiB,mBAAkB,qBAAqB,EAAE;AAC/D,QAAM,aAAa,OAAO,cAAc,WAAW,YAAY;AAC/D,QAAM,QAAQ;AAAA,IACV,OAAO,cAAc,WAAW,YAAY,qBAAqB,EAAE;AAAA,IACnE;AAAA,EACJ;AAEA,WAAS,SAAU,MAAY;AAC3B,QAAI,UAAU,WAAW,GAAG,GAAG;AAC3B,UAAI,CAAC,UAAW;AAEhB,aAAO;AAAA,QACH,cAAc,OAAO,QAAQ;AAAA,QAC7B;AAAA,QACA,EAAE,UAAU,MAAM;AAAA,MACtB;AAAA,IACJ;AAAA,EACJ;AAVS;AAYT,QAAM,SAAS,SAAU,WAA2B;AAChD,UAAM,oBAAoB,aAAa,MAAM;AAC7C,WAAO,YAAY,mBAAmB,GAAG;AAAA,EAC7C;AAEA,SAAO;AACX;AA/BgB;AAiChB,YAAY,YAAY,SAAU,WAAkB;AAChD,SAAQ,cAAc,cAAc,iBAAiB,cAAc;AACvE;AAEA,IAAO,gBAAQ;AAEf,SAAS,OAAQ,WAAkB,MAAY,EAAE,UAAU,MAAM,GAAG;AAEhE,QAAM,OAAO,OAAO,oBAAI,KAAK,CAAC;AAC9B,QAAM,OAAO,QAAQ,YAAY;AACjC,aAAW;AAEX,OAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC;AACxB,QAAM,aAAa,iBAAiB,gBAAgB,CAAC;AAErD,MAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAE7B,SAAK,QAAQ,IAAI;AAAA,EACrB;AAGA,MAAI,QAAQ;AACZ,OAAK,CAAC,IAAI,KAAK,CAAC,EAAE,QAAQ,iBAAiB,CAAC,OAAO,WAAW;AAG1D,QAAI,UAAU,KAAM,QAAO;AAE3B;AAEA,UAAM,YAAY,WAAW,MAAM;AACnC,QAAI,OAAO,cAAc,YAAY;AACjC,YAAM,MAAM,KAAK,KAAK;AACtB,cAAQ,UAAU,KAAK,MAAM,GAAG;AAIhC,WAAK,OAAO,OAAO,CAAC;AACpB;AAAA,IACJ;AACA,WAAO;AAAA,EACX,CAAC;AAGD,QAAM,QAAQ,WAAW;AAAA,IACrB;AAAA,IACA;AAAA,IACA,WAAW,gBAAgB;AAAA,IAC3B;AAAA,EACJ,GAAG,IAAI;AAEP,MAAI,GAAG,KAAK;AAChB;AA7CS;AAkDT,SAAS,UAAW,WAAgC,MAAsC;AACtF,QAAM,MAAM,QAAQ,QAAQ;AAE5B,MAAI,cAAc,MAAM;AACpB,WAAO;AAAA,EACX;AAGA,MAAI,CAAC,WAAW;AACZ,WAAO;AAAA,EACX;AAGA,MAAI,CAAC,IAAI,MAAO,QAAO;AAGvB,QAAM,UAAU,sBAAsB,IAAI,KAAK;AAC/C,SAAO,QAAQ,KAAK,WAAS,MAAM,KAAK,SAAS,CAAC;AACtD;AAlBS;AAuBT,SAAS,WAAY,EAAE,MAAM,OAAO,WAAW,UAAU,GAKtD,MAAwB;AACvB,SAAO,QAAQ,CAAC;AAEhB,MAAI,WAAW;AACX,UAAM,IAAI;AACV,UAAM,YAAY,YAAc,IAAI,IAAI,IAAI,SAAS;AACrD,UAAM,SAAS,KAAK,SAAS,MAAM,SAAS;AAE5C,SAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,MAAM,IAAI,EAAE,KAAK,OAAO,MAAM;AACzD,SAAK,KAAK,YAAY,OAAO,GAAG,IAAI,IAAI,SAAW;AAAA,EACvD,OAAO;AACH,SAAK,CAAC,IAAI,QAAQ,IAAI,MAAM,YAAY,MAAM,KAAK,CAAC;AAAA,EACxD;AAEA,SAAO;AACX;AApBS;AA4BT,SAAS,YAAa,WAAkBA,SAAwB;AAC5D,MAAI,OAAO;AAEX,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACvC,YAAS,QAAQ,KAAK,OAAQ,UAAU,WAAW,CAAC;AACpD,YAAQ;AAAA,EACZ;AAEA,SAAOA,QAAO,KAAK,IAAI,IAAI,IAAIA,QAAO,MAAM;AAChD;AATS;",
6
6
  "names": ["colors"]
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict";var B=Object.create;var a=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var s=(e,r)=>a(e,"name",{value:r,configurable:!0});var Y=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},w=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of v(r))!P.call(e,o)&&o!==t&&a(e,o,{get:()=>r[o],enumerable:!(n=V(r,o))||n.enumerable});return e};var m=(e,r,t)=>(t=e!=null?B(G(e)):{},w(r||!e||!e.__esModule?a(t,"default",{value:e,enumerable:!0}):t,e)),k=e=>w(a({},"__esModule",{value:!0}),e);var se={};Y(se,{coerce:()=>E,createDebug:()=>y,createRegexFromEnvVar:()=>T,default:()=>ee,generateRandomString:()=>h,selectColor:()=>H});module.exports=k(se);var g=m(require("node:process"),1),D=m(require("node:os"),1),O=m(require("node:tty"),1);function f(e,r=globalThis.Deno?globalThis.Deno.args:g.default.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),o=r.indexOf("--");return n!==-1&&(o===-1||n<o)}s(f,"hasFlag");var{env:i}=g.default,d;f("no-color")||f("no-colors")||f("color=false")||f("color=never")?d=0:(f("color")||f("colors")||f("color=true")||f("color=always"))&&(d=1);function U(){if(!("FORCE_COLOR"in i))return;if(i.FORCE_COLOR==="true")return 1;if(i.FORCE_COLOR==="false")return 0;if(i.FORCE_COLOR.length===0)return 1;let e=Math.min(Number.parseInt(i.FORCE_COLOR,10),3);if([0,1,2,3].includes(e))return e}s(U,"envForceColor");function j(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}s(j,"translateLevel");function $(e,{streamIsTTY:r,sniffFlags:t=!0}={}){let n=U();n!==void 0&&(d=n);let o=t?d:n;if(o===0)return 0;if(t){if(f("color=16m")||f("color=full")||f("color=truecolor"))return 3;if(f("color=256"))return 2}if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(e&&!r&&o===void 0)return 0;let c=o||0;if(i.TERM==="dumb")return c;if(g.default.platform==="win32"){let u=D.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in i)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in i)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in i)||i.CI_NAME==="codeship"?1:c;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if(i.COLORTERM==="truecolor"||i.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in i){let u=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:c}s($,"_supportsColor");function A(e,r={}){let t=$(e,{streamIsTTY:e&&e.isTTY,...r});return j(t)}s(A,"createSupportsColor");var z={stdout:A({isTTY:O.default.isatty(1)}),stderr:A({isTTY:O.default.isatty(2)})},p=z;var N=m(require("node:tty"),1),R=m(require("node:util"),1);function E(e){return e instanceof Error?e.stack||e.message:String(e)}s(E,"coerce");function H(e,r){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return r[Math.abs(t)%r.length]}s(H,"selectColor");function T(e){return e.split(/[\s,]+/).filter(Boolean).map(n=>n.replace(/\*/g,".*?")).map(n=>new RegExp("^"+n+"$"))}s(T,"createRegexFromEnvVar");function h(e=6){return Math.random().toString(20).substring(2,e)}s(h,"generateRandomString");function x(e,r={}){r=r||{};let t=typeof e;if(t==="string"&&e.length>0)return J(e);if(t==="number"&&isFinite(e))return r.long?W(e):K(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}s(x,"default");function J(e){if(e=String(e),e.length>100)return;let r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;let t=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return t*315576e5;case"weeks":case"week":case"w":return t*6048e5;case"days":case"day":case"d":return t*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return t*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return t*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return t*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}s(J,"parse");function K(e){let r=Math.abs(e);return r>=864e5?Math.round(e/864e5)+"d":r>=36e5?Math.round(e/36e5)+"h":r>=6e4?Math.round(e/6e4)+"m":r>=1e3?Math.round(e/1e3)+"s":e+"ms"}s(K,"fmtShort");function W(e){let r=Math.abs(e);return r>=864e5?b(e,r,864e5,"day"):r>=36e5?b(e,r,36e5,"hour"):r>=6e4?b(e,r,6e4,"minute"):r>=1e3?b(e,r,1e3,"second"):e+" ms"}s(W,"fmtLong");function b(e,r,t,n){let o=r>=t*1.5;return Math.round(e/t)+" "+n+(o?"s":"")}s(b,"plural");(function(){typeof self>"u"&&typeof global=="object"&&(global.self=global)})();var Z=p&&(p.stderr||p).level>=2?[196,46,226,21,208,129,51,201,118,218,30,183,130,229,88,121,142,223,18,245]:[1,2,3,4,5,6];function _(){return N.default.isatty(process.stderr.fd)||!!process.env.FORCE_COLOR}s(_,"shouldUseColors");function q(){return new Date().toISOString()}s(q,"getDate");function Q(...e){return process.stderr.write(R.default.format(...e)+`
1
+ "use strict";var B=Object.create;var a=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var s=(e,r)=>a(e,"name",{value:r,configurable:!0});var Y=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},w=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of v(r))!P.call(e,o)&&o!==t&&a(e,o,{get:()=>r[o],enumerable:!(n=V(r,o))||n.enumerable});return e};var m=(e,r,t)=>(t=e!=null?B(G(e)):{},w(r||!e||!e.__esModule?a(t,"default",{value:e,enumerable:!0}):t,e)),k=e=>w(a({},"__esModule",{value:!0}),e);var se={};Y(se,{coerce:()=>E,createDebug:()=>y,createRegexFromEnvVar:()=>T,default:()=>ee,generateRandomString:()=>h,selectColor:()=>H});module.exports=k(se);var g=m(require("node:process"),1),D=m(require("node:os"),1),O=m(require("node:tty"),1);function f(e,r=globalThis.Deno?globalThis.Deno.args:g.default.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),o=r.indexOf("--");return n!==-1&&(o===-1||n<o)}s(f,"hasFlag");var{env:i}=g.default,d;f("no-color")||f("no-colors")||f("color=false")||f("color=never")?d=0:(f("color")||f("colors")||f("color=true")||f("color=always"))&&(d=1);function U(){if(!("FORCE_COLOR"in i))return;if(i.FORCE_COLOR==="true")return 1;if(i.FORCE_COLOR==="false")return 0;if(i.FORCE_COLOR.length===0)return 1;let e=Math.min(Number.parseInt(i.FORCE_COLOR,10),3);if([0,1,2,3].includes(e))return e}s(U,"envForceColor");function j(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}s(j,"translateLevel");function $(e,{streamIsTTY:r,sniffFlags:t=!0}={}){let n=U();n!==void 0&&(d=n);let o=t?d:n;if(o===0)return 0;if(t){if(f("color=16m")||f("color=full")||f("color=truecolor"))return 3;if(f("color=256"))return 2}if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(e&&!r&&o===void 0)return 0;let c=o||0;if(i.TERM==="dumb")return c;if(g.default.platform==="win32"){let u=D.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in i)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in i)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in i)||i.CI_NAME==="codeship"?1:c;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if(i.COLORTERM==="truecolor"||i.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in i){let u=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:c}s($,"_supportsColor");function A(e,r={}){let t=$(e,{streamIsTTY:e&&e.isTTY,...r});return j(t)}s(A,"createSupportsColor");var z={stdout:A({isTTY:O.default.isatty(1)}),stderr:A({isTTY:O.default.isatty(2)})},p=z;var N=m(require("node:tty"),1),R=m(require("node:util"),1);function E(e){return e instanceof Error?e.stack||e.message:String(e)}s(E,"coerce");function H(e,r){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return r[Math.abs(t)%r.length]}s(H,"selectColor");function T(e){return e.split(/[\s,]+/).filter(Boolean).map(n=>n.replace(/\*/g,".*?")).map(n=>new RegExp("^"+n+"$"))}s(T,"createRegexFromEnvVar");function h(e=6){return Math.random().toString(20).substring(2,e)}s(h,"generateRandomString");function x(e,r={}){r=r||{};let t=typeof e;if(t==="string"&&e.length>0)return J(e);if(t==="number"&&isFinite(e))return r.long?W(e):K(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}s(x,"default");function J(e){if(e=String(e),e.length>100)return;let r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;let t=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return t*315576e5;case"weeks":case"week":case"w":return t*6048e5;case"days":case"day":case"d":return t*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return t*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return t*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return t*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}s(J,"parse");function K(e){let r=Math.abs(e);return r>=864e5?Math.round(e/864e5)+"d":r>=36e5?Math.round(e/36e5)+"h":r>=6e4?Math.round(e/6e4)+"m":r>=1e3?Math.round(e/1e3)+"s":e+"ms"}s(K,"fmtShort");function W(e){let r=Math.abs(e);return r>=864e5?b(e,r,864e5,"day"):r>=36e5?b(e,r,36e5,"hour"):r>=6e4?b(e,r,6e4,"minute"):r>=1e3?b(e,r,1e3,"second"):e+" ms"}s(W,"fmtLong");function b(e,r,t,n){let o=r>=t*1.5;return Math.round(e/t)+" "+n+(o?"s":"")}s(b,"plural");(function(){typeof self>"u"&&typeof global=="object"&&(global.self=global)})();var Z=p&&(p.stderr||p).level>=2?[196,46,21,129,208,201,142,130,30,245]:[1,2,3,4,5,6];function _(){return N.default.isatty(process.stderr.fd)||!!process.env.FORCE_COLOR}s(_,"shouldUseColors");function q(){return new Date().toISOString()}s(q,"getDate");function Q(...e){return process.stderr.write(R.default.format(...e)+`
2
2
  `)}s(Q,"log");function X(e,r={}){return{o:s(function(t){return R.default.inspect(t,Object.assign({},r,{colors:e})).split(`
3
3
  `).map(n=>n.trim()).join(" ")},"o"),O:s(function(t){return R.default.inspect(t,Object.assign({},r,{colors:_()}))},"O")}}s(X,"createFormatters");var M="";function y(e,r){let t=Number(new Date);M||(M=h(10));let n=typeof e=="string"?e:M,o=oe(typeof e=="string"?e:h(10),Z);function c(...u){if(te(e,r))return e?re(e===!0?"DEV":e,u,{prevTime:t,color:o}):void 0}return s(c,"debug"),c.extend=function(u){let l=n+":"+u;return y(l,r)},c}s(y,"createDebug");y.shouldLog=function(e){return e&&(e==="development"||e==="test")};var ee=y;function re(e,r,{prevTime:t,color:n}){let o=Number(new Date),c=o-(t||o);t=o,r[0]=E(r[0]);let u=X(_());typeof r[0]!="string"&&r.unshift("%O");let l=0;r[0]=r[0].replace(/%([a-zA-Z%])/g,(C,L)=>{if(C==="%%")return"%";l++;let I=u[L];if(typeof I=="function"){let S=r[l];C=I.call(self,S),r.splice(l,1),l--}return C});let F=ne({diff:c,color:n,useColors:_(),namespace:e},r);Q(...F)}s(re,"logger");function te(e,r){let t=r||process.env;return e===!0?!0:!e||!t.DEBUG?!1:T(t.DEBUG).some(o=>o.test(e))}s(te,"isEnabled");function ne({diff:e,color:r,namespace:t,useColors:n},o){if(o=o||[],n){let c=r,u="\x1B[3"+(c<8?c:"8;5;"+c),l=` ${u};1m${t} \x1B[0m`;o[0]=l+o[0].split(`
4
4
  `).join(`