standard-log-color 13.0.1 → 13.0.2

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.
@@ -336,27 +336,24 @@ function createConsoleLogReporter(options) {
336
336
  });
337
337
  }
338
338
  //#endregion
339
- //#region ../../node_modules/.pnpm/supports-color@11.0.0/node_modules/supports-color/browser.js
340
- const level = (() => {
341
- if (!("navigator" in globalThis)) return 0;
342
- if (navigator.userAgentData) {
343
- if (navigator.userAgentData.brands.find(({ brand }) => brand === "Chromium")?.version > 93) return 3;
344
- }
345
- if (/\b(?:Chrome|Chromium)\//.test(navigator.userAgent)) return 1;
346
- return 0;
347
- })();
348
- const colorSupport = level !== 0 && {
349
- level,
350
- hasBasic: true,
351
- has256: level >= 2,
352
- has16m: level >= 3
353
- };
354
- const supportsColor = {
355
- stdout: colorSupport,
356
- stderr: colorSupport
357
- };
358
- //#endregion
359
339
  //#region ts/supportColor.ts
340
+ var import_browser = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
341
+ function getChromeVersion() {
342
+ const matches = /(Chrome|Chromium)\/(?<chromeVersion>\d+)\./.exec(navigator.userAgent);
343
+ if (!matches) return;
344
+ return Number.parseInt(matches.groups.chromeVersion, 10);
345
+ }
346
+ const colorSupport = getChromeVersion() >= 69 ? {
347
+ level: 1,
348
+ hasBasic: true,
349
+ has256: false,
350
+ has16m: false
351
+ } : false;
352
+ module.exports = {
353
+ stdout: colorSupport,
354
+ stderr: colorSupport
355
+ };
356
+ })))(), 1);
360
357
  let value;
361
358
  /**
362
359
  * Detects if the platform supports color.
@@ -369,8 +366,8 @@ let value;
369
366
  function supportColor() {
370
367
  // istanbul ignore next
371
368
  return value = value || {
372
- stderr: supportsColor.stderr ? supportsColor.stderr.level : 0,
373
- stdout: supportsColor.stdout ? supportsColor.stdout.level : 0
369
+ stderr: import_browser.default.stderr ? import_browser.default.stderr.level : 0,
370
+ stdout: import_browser.default.stdout ? import_browser.default.stdout.level : 0
374
371
  };
375
372
  }
376
373
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"standard-log-color.esm.js","names":["ms","sc"],"sources":["../../log/esm/log_levels.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../log/esm/formatter.js","../../../node_modules/.pnpm/unpartial@1.0.5/node_modules/unpartial/esm/index.js","../../../node_modules/.pnpm/type-plus@7.6.2/node_modules/type-plus/esm/object/record.js","../../log/esm/platform.browser.js","../../log/esm/console.js","../../../node_modules/.pnpm/supports-color@11.0.0/node_modules/supports-color/browser.js","../ts/supportColor.ts","../ts/ansi/constants.ts","../ts/ansi/wrapAnsi.ts","../ts/ansi/ansiFormatter.ts","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColors.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColorsFromMap.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/rgbHex.js","../ts/css/colors.ts","../ts/css/cssFormatter.ts","../ts/createColorLogReporter.browser.ts"],"sourcesContent":["//#region ts/log_levels.ts\nconst logLevels = {\n\t/**\n\t* none: 0\n\t*/\n\tnone: 0,\n\t/**\n\t* emergency: 100\n\t*\n\t* emergency -> alert\n\t*/\n\temergency: 100,\n\t/**\n\t* alert: 200\n\t*\n\t* emergency -> alert -> critical\n\t*/\n\talert: 200,\n\t/**\n\t* critical: 300\n\t*\n\t* alert -> critical -> error\n\t*/\n\tcritical: 300,\n\t/**\n\t* error: 400\n\t*\n\t* critical -> error -> warn\n\t*/\n\terror: 400,\n\t/**\n\t* warn: 500\n\t*\n\t* error -> warn -> notice\n\t*/\n\twarn: 500,\n\t/**\n\t* notice: 600\n\t*\n\t* warn -> notice -> info\n\t*/\n\tnotice: 600,\n\t/**\n\t* info: 700\n\t*\n\t* notice -> info -> debug\n\t*/\n\tinfo: 700,\n\t/**\n\t* debug: 800\n\t*\n\t* info -> debug -> trace\n\t*/\n\tdebug: 800,\n\t/**\n\t* trace: 900\n\t*\n\t* debug -> trace -> planck\n\t*/\n\ttrace: 900,\n\t/**\n\t* planck: Infinity\n\t* `planck unit` is a very small unit <https://en.wikipedia.org/wiki/Planck_units>.\n\t*\n\t* trace -> planck\n\t*/\n\tplanck: Number.POSITIVE_INFINITY,\n\t/**\n\t* all: Infinity\n\t*/\n\tall: Number.POSITIVE_INFINITY\n};\n/**\n* Convert default log level value to log level name.\n*/\nfunction toLogLevelName(level) {\n\tif (level <= 100) return \"emergency\";\n\tif (level <= 200) return \"alert\";\n\tif (level <= 300) return \"critical\";\n\tif (level <= 400) return \"error\";\n\tif (level <= 500) return \"warn\";\n\tif (level <= 600) return \"notice\";\n\tif (level <= 700) return \"info\";\n\tif (level <= 800) return \"debug\";\n\tif (level <= 900) return \"trace\";\n\treturn \"planck\";\n}\n/**\n* Convert default log level name to log level value.\n*/\nfunction toLogLevel(name) {\n\treturn logLevels[name.toLocaleLowerCase()];\n}\nconst DEFAULT_LOG_METHOD_NAMES = [\n\t\"emergency\",\n\t\"alert\",\n\t\"critical\",\n\t\"error\",\n\t\"warn\",\n\t\"notice\",\n\t\"info\",\n\t\"debug\",\n\t\"trace\",\n\t\"planck\"\n];\n//#endregion\nexport { DEFAULT_LOG_METHOD_NAMES, logLevels, toLogLevel, toLogLevelName };\n\n//# sourceMappingURL=log_levels.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar 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\nmodule.exports = function (val, options) {\n options = options || {};\n var 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 var 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 var n = parseFloat(match[1]);\n var 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 var 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 var 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 var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import { toLogLevelName } from \"./log_levels.js\";\nimport ms from \"ms\";\n//#region ts/formatter.ts\nfunction createTimestampFormatter(format) {\n\tswitch (format) {\n\t\tcase \"none\": return (_timestamp) => void 0;\n\t\tcase \"iso\": return (timestamp) => timestamp.toISOString();\n\t\tcase \"elapsed\": {\n\t\t\tlet lastTick;\n\t\t\treturn (timestamp) => {\n\t\t\t\tconst newTick = timestamp.getTime();\n\t\t\t\tconst result = ms(lastTick === void 0 ? 0 : newTick - lastTick);\n\t\t\t\tlastTick = newTick;\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t}\n}\nfunction formatLogLevel(level) {\n\treturn `(${toLogLevelName(level).toUpperCase()})`;\n}\n/**\n* Formats log entry as plain text with the following format:\n* `timestamp id level ...args`\n*\n* This is typically useful for writing logs to file\n*/\nfunction plainLogFormatter({ id, level, args, timestamp }) {\n\treturn [\n\t\ttimestamp.toISOString(),\n\t\tid,\n\t\tformatLogLevel(level),\n\t\t...args\n\t];\n}\n/**\n* Formats log entry like default console log.\n*/\nfunction consoleFormatter({ args }) {\n\treturn args;\n}\n//#endregion\nexport { consoleFormatter, createTimestampFormatter, formatLogLevel, plainLogFormatter };\n\n//# sourceMappingURL=formatter.js.map","export function required(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => {\n return { ...p, ...e };\n });\n}\nexport function requiredDeep(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n if (entries[0] === undefined || entries[0] === null)\n return entries[0];\n return entries.filter(x => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n if (typeof source1 !== 'object' || source1 === null)\n return source2 !== undefined ? source2 : source1;\n if (Array.isArray(source1)) {\n if (Array.isArray(source2))\n return source2;\n if (source2 === undefined)\n return [...source1];\n return [...source1, source2];\n }\n return getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n // @ts-ignore\n p[k] = deepmerge(source1[k], source2 && source2[k]);\n return p;\n }, {});\n}\nfunction getAllKeys(subject, internal = false) {\n if (typeof subject !== 'object')\n return [];\n const propertyNames = Object.getOwnPropertyNames(subject);\n const keys = internal ? propertyNames.filter(n => n !== 'constructor') : propertyNames;\n const proto = Object.getPrototypeOf(subject);\n return proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nexport function unpartial(s1, s2, s3) {\n // defensive check for JS\n if (s1 === undefined || s1 === null)\n return s1;\n return [s1, s2, s3]\n .filter(notNil)\n .reduce((p, s) => ({ ...p, ...trimNilProps(s) }), {});\n}\nfunction trimNilProps(value) {\n return Object.keys(value).reduce((p, k) => {\n if (notNil(value[k]))\n p[k] = value[k];\n return p;\n }, {});\n}\nfunction notNil(value) {\n return value !== null && value !== undefined;\n}\nexport function unpartialRecursively(arg1, arg2, arg3) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return requiredDeep(arg1, arg2, arg3);\n}\n//# sourceMappingURL=index.js.map","export function record(value) {\n const r = Object.create(null);\n return (value ? Object.assign(r, value) : r);\n}\n//# sourceMappingURL=record.js.map","import { record } from \"type-plus\";\n//#region ts/platform.browser.ts\nconst toInspectLogEntry = (e) => e;\nconst polyfill = record();\n//#endregion\nexport { polyfill, toInspectLogEntry };\n\n//# sourceMappingURL=platform.browser.js.map","import { logLevels } from \"./log_levels.js\";\nimport { consoleFormatter } from \"./formatter.js\";\nimport { polyfill } from \"./platform.js\";\nimport { unpartial } from \"type-plus\";\n//#region ts/console.ts\nfunction toConsoleMethod(level) {\n\tswitch (true) {\n\t\tcase level <= 0: return \"debug\";\n\t\tcase level <= logLevels.error: return \"error\";\n\t\tcase level <= logLevels.warn: return \"warn\";\n\t\tcase level <= logLevels.info: return \"info\";\n\t\tdefault: return \"debug\";\n\t}\n}\n// istanbul ignore next\nfunction buildPolyfillConsole() {\n\tif (!!console.log.bind) return {\n\t\tdebug: (typeof console.info === \"function\" ? console.debug : console.log).bind(console),\n\t\tinfo: (typeof console.info === \"function\" ? console.info : console.log).bind(console),\n\t\twarn: (typeof console.warn === \"function\" ? console.warn : console.log).bind(console),\n\t\terror: (typeof console.error === \"function\" ? console.error : console.log).bind(console)\n\t};\n\treturn {\n\t\tdebug: buildFn(typeof console.debug === \"function\" ? \"debug\" : \"log\"),\n\t\tinfo: buildFn(typeof console.info === \"function\" ? \"info\" : \"log\"),\n\t\twarn: buildFn(typeof console.warn === \"function\" ? \"warn\" : \"log\"),\n\t\terror: buildFn(typeof console.error === \"function\" ? \"error\" : \"log\")\n\t};\n}\n// istanbul ignore next\nfunction buildFn(name) {\n\treturn (...args) => {\n\t\tconsole[name](...args);\n\t};\n}\nfunction createConsoleLogReporter(options) {\n\tconst { id, formatter, filter } = unpartial({\n\t\tid: \"console\",\n\t\tformatter: consoleFormatter\n\t}, options);\n\tif (!polyfill.console) polyfill.console = buildPolyfillConsole();\n\treturn Object.freeze({\n\t\tid,\n\t\tisConsoleReporter: true,\n\t\tget formatter() {\n\t\t\treturn formatter;\n\t\t},\n\t\tget filter() {\n\t\t\treturn filter;\n\t\t},\n\t\tconsole: polyfill.console,\n\t\twrite(entry) {\n\t\t\tif (filter && !filter(entry)) return;\n\t\t\tconst values = formatter(entry);\n\t\t\tconst method = toConsoleMethod(entry.level);\n\t\t\tthis.console[method](...values);\n\t\t}\n\t});\n}\n//#endregion\nexport { createConsoleLogReporter, toConsoleMethod };\n\n//# sourceMappingURL=console.js.map","const level = (() => {\n\tif (!('navigator' in globalThis)) {\n\t\treturn 0;\n\t}\n\n\tif (navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand?.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\t// eslint-disable-next-line require-unicode-regexp -- This entry point supports browsers without Unicode Sets.\n\tif (/\\b(?:Chrome|Chromium)\\//.test(navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","import sc from 'supports-color'\n\n/**\n * Color level.\n * This is the same definition as the `ColorSupportLevel` in `supports-color`.\n * Using the same definition for simplicity\n * @see https://github.com/chalk/supports-color/blob/main/index.d.ts#L19\n */\nexport enum ColorLevels {\n\tDISABLED = 0,\n\t/**\n\t * Basic 16 colors (4-bits)\n\t */\n\tBASIC = 1,\n\t/**\n\t * ANSI 256 colors (8-bits)\n\t */\n\tANSI = 2,\n\t/**\n\t * Truecolor 16 million colors (24-bits)\n\t */\n\tTRUE = 3\n}\n\nexport namespace supportColor {\n\texport type Result = { stdout: ColorLevels; stderr: ColorLevels }\n}\n\nlet value: supportColor.Result\n\n/**\n * Detects if the platform supports color.\n * For browser, the value can only be:\n * - `{ stdout: 0, stderr: 0 }` (DISABLED), or\n * - `{ stdout: 3, stderr: 3 }` (TRUE).\n * So you only need to check one case.\n * The result value is made the same so that it can be used in all platforms.\n */\nexport function supportColor(): supportColor.Result {\n\t// istanbul ignore next\n\treturn (value = value || {\n\t\tstderr: sc.stderr ? sc.stderr.level : ColorLevels.DISABLED,\n\t\tstdout: sc.stdout ? sc.stdout.level : ColorLevels.DISABLED\n\t})\n}\n","export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\nexport const ANSI_BLACK = 0\nexport const ANSI_RED = 1\nexport const ANSI_GREEN = 2\nexport const ANSI_YELLOW = 3\nexport const ANSI_BLUE = 4\nexport const ANSI_MAGENTA = 5\nexport const ANSI_CYAN = 6\nexport const ANSI_WHITE = 7\n\nexport type AnsiStyle = 1 | 4\nexport const ANSI_BRIGHT = 1\nexport const ANSI_UNDERSCORE = 4\n\nexport const ANSI_FOREGROUND = 30\nexport const ANSI_BACKGROUND = 40\n","export function wrapAnsi(text: string, codes: number[]) {\n\treturn `\\u001B[${codes.join(';')}m${text}\\u001B[0m`\n}\n","import { createTimestampFormatter, type LogEntry, type TimestampFormat, toConsoleMethod } from 'standard-log'\nimport { ColorLevels, supportColor } from '../supportColor.js'\nimport {\n\tANSI_BACKGROUND,\n\tANSI_BLACK,\n\tANSI_BLUE,\n\tANSI_BRIGHT,\n\tANSI_CYAN,\n\tANSI_FOREGROUND,\n\tANSI_GREEN,\n\tANSI_MAGENTA,\n\tANSI_RED,\n\tANSI_UNDERSCORE,\n\tANSI_WHITE,\n\tANSI_YELLOW\n} from './constants.js'\nimport { wrapAnsi } from './wrapAnsi.js'\n\nexport type AnsiFormatterOptions = {\n\ttimestamp: TimestampFormat\n}\n\nexport function createAnsiFormatter(options: AnsiFormatterOptions = { timestamp: 'none' }) {\n\tconst timestampFormatter = createTimestampFormatter(options.timestamp)\n\n\treturn function ansiFormatter(entry: LogEntry) {\n\t\tconst consoleMethod = toConsoleMethod(entry.level)\n\t\tconst id = formatID(consoleMethod, entry.id)\n\t\tconst args = formatArgs(timestampFormatter, consoleMethod, entry)\n\t\treturn [id, ...args]\n\t}\n}\n\nfunction formatArgs(\n\ttimestampFormatter: (timestamp: Date) => string | undefined,\n\tmethod: 'error' | 'warn' | 'info' | 'debug',\n\tentry: Pick<LogEntry, 'args' | 'timestamp'>\n) {\n\tconst args = [...entry.args]\n\tconst timestamp = timestampFormatter(entry.timestamp)\n\tif (timestamp !== undefined) args.push(timestamp)\n\tconst textCodes =\n\t\tmethod === 'error'\n\t\t\t? [ANSI_RED + ANSI_FOREGROUND]\n\t\t\t: method === 'warn'\n\t\t\t\t? [ANSI_YELLOW + ANSI_FOREGROUND]\n\t\t\t\t: undefined\n\n\treturn textCodes ? args.map(x => wrapAnsi(x, textCodes)) : args\n}\n\nfunction formatID(method: 'error' | 'warn' | 'info' | 'debug', id: string) {\n\tconst colorLevels = supportColor()\n\tconst colorLevel = method === 'error' ? colorLevels.stderr : colorLevels.stdout\n\treturn toIDFormatter(colorLevel)(id)\n}\n\nfunction toIDFormatter(colorLevel: ColorLevels) {\n\t// istanbul ignore next\n\tswitch (colorLevel) {\n\t\tcase ColorLevels.DISABLED:\n\t\t\treturn (id: string) => id\n\t\tcase ColorLevels.BASIC:\n\t\t\treturn basicIDFormatter\n\t\tcase ColorLevels.ANSI:\n\t\t\treturn ansiIDFormatter\n\t\tcase ColorLevels.TRUE:\n\t\t\treturn truecolorIDFormatter\n\t}\n}\n\nfunction basicIDFormatter(id: string) {\n\tconst codes = getAnsiColor(id)\n\treturn wrapAnsi(` ${id} `, codes)\n}\n\nconst ansiColors: {\n\tcounter: number\n\tlist: Array<number[]>\n} = {\n\tcounter: 0,\n\tlist: [\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE]\n\t]\n}\nconst ansiColorMap: Record<string, number[]> = Object.create(null)\n\nfunction getAnsiColor(id: string) {\n\treturn (ansiColorMap[id] =\n\t\tansiColorMap[id] || ansiColors.list[ansiColors.counter++ % ansiColors.list.length])\n}\n\n// istanbul ignore next\nfunction ansiIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n\n// istanbul ignore next\nfunction truecolorIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n","export function createColors(from, to, shades, alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n]) {\n const start = [...from];\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ];\n if (start.length === 3)\n start.push(alpha[0]);\n const inc = 1 / Math.max(shades - 1, 1);\n const rgba = [];\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ];\n rgba.push(color);\n }\n return rgba;\n}\n//# sourceMappingURL=createColors.js.map","import { createColors } from './createColors.js';\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap, shades, alpha) {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`);\n }\n const result = [];\n const steps = [];\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades));\n }\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i];\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha));\n }\n return result;\n}\n//# sourceMappingURL=createColorsFromMap.js.map","/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb) {\n let hex = '#';\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i]);\n }\n return hex;\n}\nfunction d2h(d) {\n const s = (+d).toString(16);\n return s.length < 2 ? '0' + s : s;\n}\n//# sourceMappingURL=rgbHex.js.map","import type { ColorMap } from 'color-map'\n\nexport const rainbow: ColorMap = [\n\t{ index: 0, rgb: [150, 0, 90] },\n\t{ index: 0.125, rgb: [0, 0, 200] },\n\t{ index: 0.25, rgb: [0, 25, 255] },\n\t{ index: 0.375, rgb: [0, 152, 255] },\n\t{ index: 0.5, rgb: [44, 255, 150] },\n\t{ index: 0.625, rgb: [151, 255, 0] },\n\t{ index: 0.75, rgb: [255, 234, 0] },\n\t{ index: 0.875, rgb: [255, 111, 0] },\n\t{ index: 1, rgb: [255, 0, 0] }\n]\n","import { createColorsFromMap, type RGB, type RGBA, rgbHex } from 'color-map'\nimport { createTimestampFormatter, type LogEntry } from 'standard-log'\nimport { required } from 'unpartial'\nimport type { CssFormatterOptions } from '../types.js'\nimport { rainbow } from './colors.js'\n\nexport function createCssFormatter(options?: CssFormatterOptions) {\n\tconst { maxColor, timestamp, style } = required(\n\t\t{\n\t\t\tmaxColor: 20,\n\t\t\ttimestamp: 'none',\n\t\t\tstyle: 'padding: 2px; line-height: 1rem;'\n\t\t},\n\t\toptions\n\t)\n\tconst loggerMap: Record<string, RGB> = Object.create(null)\n\tconst colorMap: RGBA[] = createColorsFromMap(rainbow, maxColor)\n\tlet count = 0\n\n\tconst timestampFormatter = createTimestampFormatter(timestamp)\n\n\treturn function cssFormatter(entry: LogEntry) {\n\t\tlet idStr = `%c ${entry.id} `\n\t\tlet args: any[]\n\t\tif (firstArgIsColorTemplate(entry.args)) {\n\t\t\tidStr += entry.args[0]\n\t\t\targs = [...entry.args.slice(1)]\n\t\t} else {\n\t\t\targs = [...entry.args]\n\t\t}\n\t\tconst rgb = getRgb(entry.id)\n\t\tconst background = rgbHex(rgb)\n\t\tconst border = rgbHex(rgb.map(x => Math.max(0, x - 32)) as RGB)\n\t\tconst color = getForegroundColor(rgb)\n\t\tconst result = [\n\t\t\tidStr,\n\t\t\t`${style}background: ${background};border: 1px solid ${border};color: ${color};`,\n\t\t\t...args\n\t\t]\n\t\tconst t = timestampFormatter(entry.timestamp)\n\t\tif (t !== undefined) result.push(t)\n\t\treturn result\n\t}\n\n\tfunction firstArgIsColorTemplate(args: any[]) {\n\t\treturn typeof args[0] === 'string' && args[0].indexOf('%c') !== -1\n\t}\n\n\tfunction getRgb(id: string) {\n\t\treturn (loggerMap[id] = loggerMap[id] || colorMap[count++ & maxColor])\n\t}\n}\n\nconst gammaMap = {\n\trc: 0.2126,\n\tgc: 0.7152,\n\tbc: 0.0722,\n\tlowc: 1 / 12.92\n}\n\nfunction getForegroundColor(background: RGB) {\n\t// Setting the contrasting color as default\n\tlet color = getComplementary(background)\n\tconst bgLuminance = getRelativeLuminance(background)\n\tconst fgLuminance =\n\t\tcolor === '#ffffff' ? getRelativeLuminance([255, 255, 255]) : getRelativeLuminance([0, 0, 0])\n\tconst relativeL =\n\t\tbgLuminance > fgLuminance\n\t\t\t? (bgLuminance + 0.05) / (fgLuminance + 0.05)\n\t\t\t: (fgLuminance + 0.05) / (bgLuminance + 0.05)\n\n\t// Can set the contrast ratio based on text size later.\n\tif (relativeL < 4.5) {\n\t\tconst avgLuminance =\n\t\t\tbackground[0] * gammaMap['rc'] + background[1] * gammaMap['gc'] + background[2] * gammaMap['bc']\n\n\t\t// If the relative contrast is lower than standard, we switch color to black/white\n\t\tcolor = avgLuminance < 220 ? '#ffffff' : '#000000'\n\t}\n\treturn color\n}\n\nfunction getRelativeLuminance(rgb: RGB) {\n\t// https://www.w3.org/TR/WCAG/#relativeluminancedef\n\tconst rsrgb = rgb[0] / 255\n\tconst gsrgb = rgb[1] / 255\n\tconst bsrgb = rgb[2] / 255\n\n\tconst r = rsrgb <= 0.03928 ? rsrgb * gammaMap['lowc'] : ((rsrgb + 0.055) / 1.055) ** 2.4\n\tconst g = gsrgb <= 0.03928 ? gsrgb * gammaMap['lowc'] : ((gsrgb + 0.055) / 1.055) ** 2.4\n\tconst b = bsrgb <= 0.03928 ? bsrgb * gammaMap['lowc'] : ((bsrgb + 0.055) / 1.055) ** 2.4\n\n\treturn r * gammaMap['rc'] + g * gammaMap['gc'] + b * gammaMap['bc']\n}\n\nfunction getComplementary(rgb: RGB) {\n\tconst r = 255 - rgb[0]\n\tconst g = 255 - rgb[1]\n\tconst b = 255 - rgb[2]\n\treturn rgbHex([r, g, b])\n}\n","import { consoleFormatter, createConsoleLogReporter } from 'standard-log'\nimport { unpartial } from 'unpartial'\nimport { createCssFormatter } from './css/index.js'\nimport type { ColorLogReporterOptions } from './types.js'\n\nexport function createColorLogReporter(options?: ColorLogReporterOptions) {\n\treturn createConsoleLogReporter(\n\t\tunpartial(\n\t\t\t{\n\t\t\t\tformatter: supportCSSColorInConsole()\n\t\t\t\t\t? createCssFormatter(options?.cssFormatterOptions)\n\t\t\t\t\t: consoleFormatter\n\t\t\t},\n\t\t\toptions\n\t\t)\n\t)\n}\n\n// istanbul ignore next\nfunction supportCSSColorInConsole() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\t// @ts-expect-error\n\tif (window?.process?.type === 'renderer' || window?.process?.__nwjs) {\n\t\treturn true\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (navigator?.userAgent?.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (\n\t\t// @ts-expect-error\n\t\tdocument?.documentElement?.style?.WebkitAppearance ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t// @ts-expect-error\n\t\twindow?.console?.firebug ||\n\t\t// @ts-expect-error\n\t\t(window?.console?.exception && window?.console?.table) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(navigator?.userAgent?.toLowerCase().match(/firefox\\/(\\d+)/) && Number.parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\tnavigator?.userAgent?.toLowerCase().match(/applewebkit\\/(\\d+)/)\n\t)\n}\n"],"x_google_ignoreList":[1,3,4,7,12,13,14],"mappings":"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"}
1
+ {"version":3,"file":"standard-log-color.esm.js","names":["ms","sc"],"sources":["../../log/esm/log_levels.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../log/esm/formatter.js","../../../node_modules/.pnpm/unpartial@1.0.5/node_modules/unpartial/esm/index.js","../../../node_modules/.pnpm/type-plus@7.6.2/node_modules/type-plus/esm/object/record.js","../../log/esm/platform.browser.js","../../log/esm/console.js","../../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/browser.js","../ts/supportColor.ts","../ts/ansi/constants.ts","../ts/ansi/wrapAnsi.ts","../ts/ansi/ansiFormatter.ts","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColors.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColorsFromMap.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/rgbHex.js","../ts/css/colors.ts","../ts/css/cssFormatter.ts","../ts/createColorLogReporter.browser.ts"],"sourcesContent":["//#region ts/log_levels.ts\nconst logLevels = {\n\t/**\n\t* none: 0\n\t*/\n\tnone: 0,\n\t/**\n\t* emergency: 100\n\t*\n\t* emergency -> alert\n\t*/\n\temergency: 100,\n\t/**\n\t* alert: 200\n\t*\n\t* emergency -> alert -> critical\n\t*/\n\talert: 200,\n\t/**\n\t* critical: 300\n\t*\n\t* alert -> critical -> error\n\t*/\n\tcritical: 300,\n\t/**\n\t* error: 400\n\t*\n\t* critical -> error -> warn\n\t*/\n\terror: 400,\n\t/**\n\t* warn: 500\n\t*\n\t* error -> warn -> notice\n\t*/\n\twarn: 500,\n\t/**\n\t* notice: 600\n\t*\n\t* warn -> notice -> info\n\t*/\n\tnotice: 600,\n\t/**\n\t* info: 700\n\t*\n\t* notice -> info -> debug\n\t*/\n\tinfo: 700,\n\t/**\n\t* debug: 800\n\t*\n\t* info -> debug -> trace\n\t*/\n\tdebug: 800,\n\t/**\n\t* trace: 900\n\t*\n\t* debug -> trace -> planck\n\t*/\n\ttrace: 900,\n\t/**\n\t* planck: Infinity\n\t* `planck unit` is a very small unit <https://en.wikipedia.org/wiki/Planck_units>.\n\t*\n\t* trace -> planck\n\t*/\n\tplanck: Number.POSITIVE_INFINITY,\n\t/**\n\t* all: Infinity\n\t*/\n\tall: Number.POSITIVE_INFINITY\n};\n/**\n* Convert default log level value to log level name.\n*/\nfunction toLogLevelName(level) {\n\tif (level <= 100) return \"emergency\";\n\tif (level <= 200) return \"alert\";\n\tif (level <= 300) return \"critical\";\n\tif (level <= 400) return \"error\";\n\tif (level <= 500) return \"warn\";\n\tif (level <= 600) return \"notice\";\n\tif (level <= 700) return \"info\";\n\tif (level <= 800) return \"debug\";\n\tif (level <= 900) return \"trace\";\n\treturn \"planck\";\n}\n/**\n* Convert default log level name to log level value.\n*/\nfunction toLogLevel(name) {\n\treturn logLevels[name.toLocaleLowerCase()];\n}\nconst DEFAULT_LOG_METHOD_NAMES = [\n\t\"emergency\",\n\t\"alert\",\n\t\"critical\",\n\t\"error\",\n\t\"warn\",\n\t\"notice\",\n\t\"info\",\n\t\"debug\",\n\t\"trace\",\n\t\"planck\"\n];\n//#endregion\nexport { DEFAULT_LOG_METHOD_NAMES, logLevels, toLogLevel, toLogLevelName };\n\n//# sourceMappingURL=log_levels.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar 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\nmodule.exports = function (val, options) {\n options = options || {};\n var 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 var 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 var n = parseFloat(match[1]);\n var 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 var 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 var 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 var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import { toLogLevelName } from \"./log_levels.js\";\nimport ms from \"ms\";\n//#region ts/formatter.ts\nfunction createTimestampFormatter(format) {\n\tswitch (format) {\n\t\tcase \"none\": return (_timestamp) => void 0;\n\t\tcase \"iso\": return (timestamp) => timestamp.toISOString();\n\t\tcase \"elapsed\": {\n\t\t\tlet lastTick;\n\t\t\treturn (timestamp) => {\n\t\t\t\tconst newTick = timestamp.getTime();\n\t\t\t\tconst result = ms(lastTick === void 0 ? 0 : newTick - lastTick);\n\t\t\t\tlastTick = newTick;\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t}\n}\nfunction formatLogLevel(level) {\n\treturn `(${toLogLevelName(level).toUpperCase()})`;\n}\n/**\n* Formats log entry as plain text with the following format:\n* `timestamp id level ...args`\n*\n* This is typically useful for writing logs to file\n*/\nfunction plainLogFormatter({ id, level, args, timestamp }) {\n\treturn [\n\t\ttimestamp.toISOString(),\n\t\tid,\n\t\tformatLogLevel(level),\n\t\t...args\n\t];\n}\n/**\n* Formats log entry like default console log.\n*/\nfunction consoleFormatter({ args }) {\n\treturn args;\n}\n//#endregion\nexport { consoleFormatter, createTimestampFormatter, formatLogLevel, plainLogFormatter };\n\n//# sourceMappingURL=formatter.js.map","export function required(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => {\n return { ...p, ...e };\n });\n}\nexport function requiredDeep(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n if (entries[0] === undefined || entries[0] === null)\n return entries[0];\n return entries.filter(x => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n if (typeof source1 !== 'object' || source1 === null)\n return source2 !== undefined ? source2 : source1;\n if (Array.isArray(source1)) {\n if (Array.isArray(source2))\n return source2;\n if (source2 === undefined)\n return [...source1];\n return [...source1, source2];\n }\n return getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n // @ts-ignore\n p[k] = deepmerge(source1[k], source2 && source2[k]);\n return p;\n }, {});\n}\nfunction getAllKeys(subject, internal = false) {\n if (typeof subject !== 'object')\n return [];\n const propertyNames = Object.getOwnPropertyNames(subject);\n const keys = internal ? propertyNames.filter(n => n !== 'constructor') : propertyNames;\n const proto = Object.getPrototypeOf(subject);\n return proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nexport function unpartial(s1, s2, s3) {\n // defensive check for JS\n if (s1 === undefined || s1 === null)\n return s1;\n return [s1, s2, s3]\n .filter(notNil)\n .reduce((p, s) => ({ ...p, ...trimNilProps(s) }), {});\n}\nfunction trimNilProps(value) {\n return Object.keys(value).reduce((p, k) => {\n if (notNil(value[k]))\n p[k] = value[k];\n return p;\n }, {});\n}\nfunction notNil(value) {\n return value !== null && value !== undefined;\n}\nexport function unpartialRecursively(arg1, arg2, arg3) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return requiredDeep(arg1, arg2, arg3);\n}\n//# sourceMappingURL=index.js.map","export function record(value) {\n const r = Object.create(null);\n return (value ? Object.assign(r, value) : r);\n}\n//# sourceMappingURL=record.js.map","import { record } from \"type-plus\";\n//#region ts/platform.browser.ts\nconst toInspectLogEntry = (e) => e;\nconst polyfill = record();\n//#endregion\nexport { polyfill, toInspectLogEntry };\n\n//# sourceMappingURL=platform.browser.js.map","import { logLevels } from \"./log_levels.js\";\nimport { consoleFormatter } from \"./formatter.js\";\nimport { polyfill } from \"./platform.js\";\nimport { unpartial } from \"type-plus\";\n//#region ts/console.ts\nfunction toConsoleMethod(level) {\n\tswitch (true) {\n\t\tcase level <= 0: return \"debug\";\n\t\tcase level <= logLevels.error: return \"error\";\n\t\tcase level <= logLevels.warn: return \"warn\";\n\t\tcase level <= logLevels.info: return \"info\";\n\t\tdefault: return \"debug\";\n\t}\n}\n// istanbul ignore next\nfunction buildPolyfillConsole() {\n\tif (!!console.log.bind) return {\n\t\tdebug: (typeof console.info === \"function\" ? console.debug : console.log).bind(console),\n\t\tinfo: (typeof console.info === \"function\" ? console.info : console.log).bind(console),\n\t\twarn: (typeof console.warn === \"function\" ? console.warn : console.log).bind(console),\n\t\terror: (typeof console.error === \"function\" ? console.error : console.log).bind(console)\n\t};\n\treturn {\n\t\tdebug: buildFn(typeof console.debug === \"function\" ? \"debug\" : \"log\"),\n\t\tinfo: buildFn(typeof console.info === \"function\" ? \"info\" : \"log\"),\n\t\twarn: buildFn(typeof console.warn === \"function\" ? \"warn\" : \"log\"),\n\t\terror: buildFn(typeof console.error === \"function\" ? \"error\" : \"log\")\n\t};\n}\n// istanbul ignore next\nfunction buildFn(name) {\n\treturn (...args) => {\n\t\tconsole[name](...args);\n\t};\n}\nfunction createConsoleLogReporter(options) {\n\tconst { id, formatter, filter } = unpartial({\n\t\tid: \"console\",\n\t\tformatter: consoleFormatter\n\t}, options);\n\tif (!polyfill.console) polyfill.console = buildPolyfillConsole();\n\treturn Object.freeze({\n\t\tid,\n\t\tisConsoleReporter: true,\n\t\tget formatter() {\n\t\t\treturn formatter;\n\t\t},\n\t\tget filter() {\n\t\t\treturn filter;\n\t\t},\n\t\tconsole: polyfill.console,\n\t\twrite(entry) {\n\t\t\tif (filter && !filter(entry)) return;\n\t\t\tconst values = formatter(entry);\n\t\t\tconst method = toConsoleMethod(entry.level);\n\t\t\tthis.console[method](...values);\n\t\t}\n\t});\n}\n//#endregion\nexport { createConsoleLogReporter, toConsoleMethod };\n\n//# sourceMappingURL=console.js.map","/* eslint-env browser */\n'use strict';\n\nfunction getChromeVersion() {\n\tconst matches = /(Chrome|Chromium)\\/(?<chromeVersion>\\d+)\\./.exec(navigator.userAgent);\n\n\tif (!matches) {\n\t\treturn;\n\t}\n\n\treturn Number.parseInt(matches.groups.chromeVersion, 10);\n}\n\nconst colorSupport = getChromeVersion() >= 69 ? {\n\tlevel: 1,\n\thasBasic: true,\n\thas256: false,\n\thas16m: false\n} : false;\n\nmodule.exports = {\n\tstdout: colorSupport,\n\tstderr: colorSupport\n};\n","import sc from 'supports-color'\n\n/**\n * Color level.\n * This is the same definition as the `ColorSupportLevel` in `supports-color`.\n * Using the same definition for simplicity\n * @see https://github.com/chalk/supports-color/blob/main/index.d.ts#L19\n */\nexport enum ColorLevels {\n\tDISABLED = 0,\n\t/**\n\t * Basic 16 colors (4-bits)\n\t */\n\tBASIC = 1,\n\t/**\n\t * ANSI 256 colors (8-bits)\n\t */\n\tANSI = 2,\n\t/**\n\t * Truecolor 16 million colors (24-bits)\n\t */\n\tTRUE = 3\n}\n\nexport namespace supportColor {\n\texport type Result = { stdout: ColorLevels; stderr: ColorLevels }\n}\n\nlet value: supportColor.Result\n\n/**\n * Detects if the platform supports color.\n * For browser, the value can only be:\n * - `{ stdout: 0, stderr: 0 }` (DISABLED), or\n * - `{ stdout: 3, stderr: 3 }` (TRUE).\n * So you only need to check one case.\n * The result value is made the same so that it can be used in all platforms.\n */\nexport function supportColor(): supportColor.Result {\n\t// istanbul ignore next\n\treturn (value = value || {\n\t\tstderr: sc.stderr ? sc.stderr.level : ColorLevels.DISABLED,\n\t\tstdout: sc.stdout ? sc.stdout.level : ColorLevels.DISABLED\n\t})\n}\n","export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\nexport const ANSI_BLACK = 0\nexport const ANSI_RED = 1\nexport const ANSI_GREEN = 2\nexport const ANSI_YELLOW = 3\nexport const ANSI_BLUE = 4\nexport const ANSI_MAGENTA = 5\nexport const ANSI_CYAN = 6\nexport const ANSI_WHITE = 7\n\nexport type AnsiStyle = 1 | 4\nexport const ANSI_BRIGHT = 1\nexport const ANSI_UNDERSCORE = 4\n\nexport const ANSI_FOREGROUND = 30\nexport const ANSI_BACKGROUND = 40\n","export function wrapAnsi(text: string, codes: number[]) {\n\treturn `\\u001B[${codes.join(';')}m${text}\\u001B[0m`\n}\n","import { createTimestampFormatter, type LogEntry, type TimestampFormat, toConsoleMethod } from 'standard-log'\nimport { ColorLevels, supportColor } from '../supportColor.js'\nimport {\n\tANSI_BACKGROUND,\n\tANSI_BLACK,\n\tANSI_BLUE,\n\tANSI_BRIGHT,\n\tANSI_CYAN,\n\tANSI_FOREGROUND,\n\tANSI_GREEN,\n\tANSI_MAGENTA,\n\tANSI_RED,\n\tANSI_UNDERSCORE,\n\tANSI_WHITE,\n\tANSI_YELLOW\n} from './constants.js'\nimport { wrapAnsi } from './wrapAnsi.js'\n\nexport type AnsiFormatterOptions = {\n\ttimestamp: TimestampFormat\n}\n\nexport function createAnsiFormatter(options: AnsiFormatterOptions = { timestamp: 'none' }) {\n\tconst timestampFormatter = createTimestampFormatter(options.timestamp)\n\n\treturn function ansiFormatter(entry: LogEntry) {\n\t\tconst consoleMethod = toConsoleMethod(entry.level)\n\t\tconst id = formatID(consoleMethod, entry.id)\n\t\tconst args = formatArgs(timestampFormatter, consoleMethod, entry)\n\t\treturn [id, ...args]\n\t}\n}\n\nfunction formatArgs(\n\ttimestampFormatter: (timestamp: Date) => string | undefined,\n\tmethod: 'error' | 'warn' | 'info' | 'debug',\n\tentry: Pick<LogEntry, 'args' | 'timestamp'>\n) {\n\tconst args = [...entry.args]\n\tconst timestamp = timestampFormatter(entry.timestamp)\n\tif (timestamp !== undefined) args.push(timestamp)\n\tconst textCodes =\n\t\tmethod === 'error'\n\t\t\t? [ANSI_RED + ANSI_FOREGROUND]\n\t\t\t: method === 'warn'\n\t\t\t\t? [ANSI_YELLOW + ANSI_FOREGROUND]\n\t\t\t\t: undefined\n\n\treturn textCodes ? args.map(x => wrapAnsi(x, textCodes)) : args\n}\n\nfunction formatID(method: 'error' | 'warn' | 'info' | 'debug', id: string) {\n\tconst colorLevels = supportColor()\n\tconst colorLevel = method === 'error' ? colorLevels.stderr : colorLevels.stdout\n\treturn toIDFormatter(colorLevel)(id)\n}\n\nfunction toIDFormatter(colorLevel: ColorLevels) {\n\t// istanbul ignore next\n\tswitch (colorLevel) {\n\t\tcase ColorLevels.DISABLED:\n\t\t\treturn (id: string) => id\n\t\tcase ColorLevels.BASIC:\n\t\t\treturn basicIDFormatter\n\t\tcase ColorLevels.ANSI:\n\t\t\treturn ansiIDFormatter\n\t\tcase ColorLevels.TRUE:\n\t\t\treturn truecolorIDFormatter\n\t}\n}\n\nfunction basicIDFormatter(id: string) {\n\tconst codes = getAnsiColor(id)\n\treturn wrapAnsi(` ${id} `, codes)\n}\n\nconst ansiColors: {\n\tcounter: number\n\tlist: Array<number[]>\n} = {\n\tcounter: 0,\n\tlist: [\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE]\n\t]\n}\nconst ansiColorMap: Record<string, number[]> = Object.create(null)\n\nfunction getAnsiColor(id: string) {\n\treturn (ansiColorMap[id] =\n\t\tansiColorMap[id] || ansiColors.list[ansiColors.counter++ % ansiColors.list.length])\n}\n\n// istanbul ignore next\nfunction ansiIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n\n// istanbul ignore next\nfunction truecolorIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n","export function createColors(from, to, shades, alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n]) {\n const start = [...from];\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ];\n if (start.length === 3)\n start.push(alpha[0]);\n const inc = 1 / Math.max(shades - 1, 1);\n const rgba = [];\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ];\n rgba.push(color);\n }\n return rgba;\n}\n//# sourceMappingURL=createColors.js.map","import { createColors } from './createColors.js';\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap, shades, alpha) {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`);\n }\n const result = [];\n const steps = [];\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades));\n }\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i];\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha));\n }\n return result;\n}\n//# sourceMappingURL=createColorsFromMap.js.map","/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb) {\n let hex = '#';\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i]);\n }\n return hex;\n}\nfunction d2h(d) {\n const s = (+d).toString(16);\n return s.length < 2 ? '0' + s : s;\n}\n//# sourceMappingURL=rgbHex.js.map","import type { ColorMap } from 'color-map'\n\nexport const rainbow: ColorMap = [\n\t{ index: 0, rgb: [150, 0, 90] },\n\t{ index: 0.125, rgb: [0, 0, 200] },\n\t{ index: 0.25, rgb: [0, 25, 255] },\n\t{ index: 0.375, rgb: [0, 152, 255] },\n\t{ index: 0.5, rgb: [44, 255, 150] },\n\t{ index: 0.625, rgb: [151, 255, 0] },\n\t{ index: 0.75, rgb: [255, 234, 0] },\n\t{ index: 0.875, rgb: [255, 111, 0] },\n\t{ index: 1, rgb: [255, 0, 0] }\n]\n","import { createColorsFromMap, type RGB, type RGBA, rgbHex } from 'color-map'\nimport { createTimestampFormatter, type LogEntry } from 'standard-log'\nimport { required } from 'unpartial'\nimport type { CssFormatterOptions } from '../types.js'\nimport { rainbow } from './colors.js'\n\nexport function createCssFormatter(options?: CssFormatterOptions) {\n\tconst { maxColor, timestamp, style } = required(\n\t\t{\n\t\t\tmaxColor: 20,\n\t\t\ttimestamp: 'none',\n\t\t\tstyle: 'padding: 2px; line-height: 1rem;'\n\t\t},\n\t\toptions\n\t)\n\tconst loggerMap: Record<string, RGB> = Object.create(null)\n\tconst colorMap: RGBA[] = createColorsFromMap(rainbow, maxColor)\n\tlet count = 0\n\n\tconst timestampFormatter = createTimestampFormatter(timestamp)\n\n\treturn function cssFormatter(entry: LogEntry) {\n\t\tlet idStr = `%c ${entry.id} `\n\t\tlet args: any[]\n\t\tif (firstArgIsColorTemplate(entry.args)) {\n\t\t\tidStr += entry.args[0]\n\t\t\targs = [...entry.args.slice(1)]\n\t\t} else {\n\t\t\targs = [...entry.args]\n\t\t}\n\t\tconst rgb = getRgb(entry.id)\n\t\tconst background = rgbHex(rgb)\n\t\tconst border = rgbHex(rgb.map(x => Math.max(0, x - 32)) as RGB)\n\t\tconst color = getForegroundColor(rgb)\n\t\tconst result = [\n\t\t\tidStr,\n\t\t\t`${style}background: ${background};border: 1px solid ${border};color: ${color};`,\n\t\t\t...args\n\t\t]\n\t\tconst t = timestampFormatter(entry.timestamp)\n\t\tif (t !== undefined) result.push(t)\n\t\treturn result\n\t}\n\n\tfunction firstArgIsColorTemplate(args: any[]) {\n\t\treturn typeof args[0] === 'string' && args[0].indexOf('%c') !== -1\n\t}\n\n\tfunction getRgb(id: string) {\n\t\treturn (loggerMap[id] = loggerMap[id] || colorMap[count++ & maxColor])\n\t}\n}\n\nconst gammaMap = {\n\trc: 0.2126,\n\tgc: 0.7152,\n\tbc: 0.0722,\n\tlowc: 1 / 12.92\n}\n\nfunction getForegroundColor(background: RGB) {\n\t// Setting the contrasting color as default\n\tlet color = getComplementary(background)\n\tconst bgLuminance = getRelativeLuminance(background)\n\tconst fgLuminance =\n\t\tcolor === '#ffffff' ? getRelativeLuminance([255, 255, 255]) : getRelativeLuminance([0, 0, 0])\n\tconst relativeL =\n\t\tbgLuminance > fgLuminance\n\t\t\t? (bgLuminance + 0.05) / (fgLuminance + 0.05)\n\t\t\t: (fgLuminance + 0.05) / (bgLuminance + 0.05)\n\n\t// Can set the contrast ratio based on text size later.\n\tif (relativeL < 4.5) {\n\t\tconst avgLuminance =\n\t\t\tbackground[0] * gammaMap['rc'] + background[1] * gammaMap['gc'] + background[2] * gammaMap['bc']\n\n\t\t// If the relative contrast is lower than standard, we switch color to black/white\n\t\tcolor = avgLuminance < 220 ? '#ffffff' : '#000000'\n\t}\n\treturn color\n}\n\nfunction getRelativeLuminance(rgb: RGB) {\n\t// https://www.w3.org/TR/WCAG/#relativeluminancedef\n\tconst rsrgb = rgb[0] / 255\n\tconst gsrgb = rgb[1] / 255\n\tconst bsrgb = rgb[2] / 255\n\n\tconst r = rsrgb <= 0.03928 ? rsrgb * gammaMap['lowc'] : ((rsrgb + 0.055) / 1.055) ** 2.4\n\tconst g = gsrgb <= 0.03928 ? gsrgb * gammaMap['lowc'] : ((gsrgb + 0.055) / 1.055) ** 2.4\n\tconst b = bsrgb <= 0.03928 ? bsrgb * gammaMap['lowc'] : ((bsrgb + 0.055) / 1.055) ** 2.4\n\n\treturn r * gammaMap['rc'] + g * gammaMap['gc'] + b * gammaMap['bc']\n}\n\nfunction getComplementary(rgb: RGB) {\n\tconst r = 255 - rgb[0]\n\tconst g = 255 - rgb[1]\n\tconst b = 255 - rgb[2]\n\treturn rgbHex([r, g, b])\n}\n","import { consoleFormatter, createConsoleLogReporter } from 'standard-log'\nimport { unpartial } from 'unpartial'\nimport { createCssFormatter } from './css/index.js'\nimport type { ColorLogReporterOptions } from './types.js'\n\nexport function createColorLogReporter(options?: ColorLogReporterOptions) {\n\treturn createConsoleLogReporter(\n\t\tunpartial(\n\t\t\t{\n\t\t\t\tformatter: supportCSSColorInConsole()\n\t\t\t\t\t? createCssFormatter(options?.cssFormatterOptions)\n\t\t\t\t\t: consoleFormatter\n\t\t\t},\n\t\t\toptions\n\t\t)\n\t)\n}\n\n// istanbul ignore next\nfunction supportCSSColorInConsole() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\t// @ts-expect-error\n\tif (window?.process?.type === 'renderer' || window?.process?.__nwjs) {\n\t\treturn true\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (navigator?.userAgent?.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (\n\t\t// @ts-expect-error\n\t\tdocument?.documentElement?.style?.WebkitAppearance ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t// @ts-expect-error\n\t\twindow?.console?.firebug ||\n\t\t// @ts-expect-error\n\t\t(window?.console?.exception && window?.console?.table) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(navigator?.userAgent?.toLowerCase().match(/firefox\\/(\\d+)/) && Number.parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\tnavigator?.userAgent?.toLowerCase().match(/applewebkit\\/(\\d+)/)\n\t)\n}\n"],"x_google_ignoreList":[1,3,4,7,12,13,14],"mappings":"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"}
@@ -338,27 +338,24 @@ var StandardLogColor = (function(exports) {
338
338
  });
339
339
  }
340
340
  //#endregion
341
- //#region ../../node_modules/.pnpm/supports-color@11.0.0/node_modules/supports-color/browser.js
342
- const level = (() => {
343
- if (!("navigator" in globalThis)) return 0;
344
- if (navigator.userAgentData) {
345
- if (navigator.userAgentData.brands.find(({ brand }) => brand === "Chromium")?.version > 93) return 3;
346
- }
347
- if (/\b(?:Chrome|Chromium)\//.test(navigator.userAgent)) return 1;
348
- return 0;
349
- })();
350
- const colorSupport = level !== 0 && {
351
- level,
352
- hasBasic: true,
353
- has256: level >= 2,
354
- has16m: level >= 3
355
- };
356
- const supportsColor = {
357
- stdout: colorSupport,
358
- stderr: colorSupport
359
- };
360
- //#endregion
361
341
  //#region ts/supportColor.ts
342
+ var import_browser = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
343
+ function getChromeVersion() {
344
+ const matches = /(Chrome|Chromium)\/(?<chromeVersion>\d+)\./.exec(navigator.userAgent);
345
+ if (!matches) return;
346
+ return Number.parseInt(matches.groups.chromeVersion, 10);
347
+ }
348
+ const colorSupport = getChromeVersion() >= 69 ? {
349
+ level: 1,
350
+ hasBasic: true,
351
+ has256: false,
352
+ has16m: false
353
+ } : false;
354
+ module.exports = {
355
+ stdout: colorSupport,
356
+ stderr: colorSupport
357
+ };
358
+ })))(), 1);
362
359
  let value;
363
360
  /**
364
361
  * Detects if the platform supports color.
@@ -371,8 +368,8 @@ var StandardLogColor = (function(exports) {
371
368
  function supportColor() {
372
369
  // istanbul ignore next
373
370
  return value = value || {
374
- stderr: supportsColor.stderr ? supportsColor.stderr.level : 0,
375
- stdout: supportsColor.stdout ? supportsColor.stdout.level : 0
371
+ stderr: import_browser.default.stderr ? import_browser.default.stderr.level : 0,
372
+ stdout: import_browser.default.stdout ? import_browser.default.stdout.level : 0
376
373
  };
377
374
  }
378
375
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"standard-log-color.iife.js","names":["ms","sc"],"sources":["../../log/esm/log_levels.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../log/esm/formatter.js","../../../node_modules/.pnpm/unpartial@1.0.5/node_modules/unpartial/esm/index.js","../../../node_modules/.pnpm/type-plus@7.6.2/node_modules/type-plus/esm/object/record.js","../../log/esm/platform.browser.js","../../log/esm/console.js","../../../node_modules/.pnpm/supports-color@11.0.0/node_modules/supports-color/browser.js","../ts/supportColor.ts","../ts/ansi/constants.ts","../ts/ansi/wrapAnsi.ts","../ts/ansi/ansiFormatter.ts","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColors.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColorsFromMap.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/rgbHex.js","../ts/css/colors.ts","../ts/css/cssFormatter.ts","../ts/createColorLogReporter.browser.ts"],"sourcesContent":["//#region ts/log_levels.ts\nconst logLevels = {\n\t/**\n\t* none: 0\n\t*/\n\tnone: 0,\n\t/**\n\t* emergency: 100\n\t*\n\t* emergency -> alert\n\t*/\n\temergency: 100,\n\t/**\n\t* alert: 200\n\t*\n\t* emergency -> alert -> critical\n\t*/\n\talert: 200,\n\t/**\n\t* critical: 300\n\t*\n\t* alert -> critical -> error\n\t*/\n\tcritical: 300,\n\t/**\n\t* error: 400\n\t*\n\t* critical -> error -> warn\n\t*/\n\terror: 400,\n\t/**\n\t* warn: 500\n\t*\n\t* error -> warn -> notice\n\t*/\n\twarn: 500,\n\t/**\n\t* notice: 600\n\t*\n\t* warn -> notice -> info\n\t*/\n\tnotice: 600,\n\t/**\n\t* info: 700\n\t*\n\t* notice -> info -> debug\n\t*/\n\tinfo: 700,\n\t/**\n\t* debug: 800\n\t*\n\t* info -> debug -> trace\n\t*/\n\tdebug: 800,\n\t/**\n\t* trace: 900\n\t*\n\t* debug -> trace -> planck\n\t*/\n\ttrace: 900,\n\t/**\n\t* planck: Infinity\n\t* `planck unit` is a very small unit <https://en.wikipedia.org/wiki/Planck_units>.\n\t*\n\t* trace -> planck\n\t*/\n\tplanck: Number.POSITIVE_INFINITY,\n\t/**\n\t* all: Infinity\n\t*/\n\tall: Number.POSITIVE_INFINITY\n};\n/**\n* Convert default log level value to log level name.\n*/\nfunction toLogLevelName(level) {\n\tif (level <= 100) return \"emergency\";\n\tif (level <= 200) return \"alert\";\n\tif (level <= 300) return \"critical\";\n\tif (level <= 400) return \"error\";\n\tif (level <= 500) return \"warn\";\n\tif (level <= 600) return \"notice\";\n\tif (level <= 700) return \"info\";\n\tif (level <= 800) return \"debug\";\n\tif (level <= 900) return \"trace\";\n\treturn \"planck\";\n}\n/**\n* Convert default log level name to log level value.\n*/\nfunction toLogLevel(name) {\n\treturn logLevels[name.toLocaleLowerCase()];\n}\nconst DEFAULT_LOG_METHOD_NAMES = [\n\t\"emergency\",\n\t\"alert\",\n\t\"critical\",\n\t\"error\",\n\t\"warn\",\n\t\"notice\",\n\t\"info\",\n\t\"debug\",\n\t\"trace\",\n\t\"planck\"\n];\n//#endregion\nexport { DEFAULT_LOG_METHOD_NAMES, logLevels, toLogLevel, toLogLevelName };\n\n//# sourceMappingURL=log_levels.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar 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\nmodule.exports = function (val, options) {\n options = options || {};\n var 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 var 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 var n = parseFloat(match[1]);\n var 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 var 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 var 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 var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import { toLogLevelName } from \"./log_levels.js\";\nimport ms from \"ms\";\n//#region ts/formatter.ts\nfunction createTimestampFormatter(format) {\n\tswitch (format) {\n\t\tcase \"none\": return (_timestamp) => void 0;\n\t\tcase \"iso\": return (timestamp) => timestamp.toISOString();\n\t\tcase \"elapsed\": {\n\t\t\tlet lastTick;\n\t\t\treturn (timestamp) => {\n\t\t\t\tconst newTick = timestamp.getTime();\n\t\t\t\tconst result = ms(lastTick === void 0 ? 0 : newTick - lastTick);\n\t\t\t\tlastTick = newTick;\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t}\n}\nfunction formatLogLevel(level) {\n\treturn `(${toLogLevelName(level).toUpperCase()})`;\n}\n/**\n* Formats log entry as plain text with the following format:\n* `timestamp id level ...args`\n*\n* This is typically useful for writing logs to file\n*/\nfunction plainLogFormatter({ id, level, args, timestamp }) {\n\treturn [\n\t\ttimestamp.toISOString(),\n\t\tid,\n\t\tformatLogLevel(level),\n\t\t...args\n\t];\n}\n/**\n* Formats log entry like default console log.\n*/\nfunction consoleFormatter({ args }) {\n\treturn args;\n}\n//#endregion\nexport { consoleFormatter, createTimestampFormatter, formatLogLevel, plainLogFormatter };\n\n//# sourceMappingURL=formatter.js.map","export function required(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => {\n return { ...p, ...e };\n });\n}\nexport function requiredDeep(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n if (entries[0] === undefined || entries[0] === null)\n return entries[0];\n return entries.filter(x => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n if (typeof source1 !== 'object' || source1 === null)\n return source2 !== undefined ? source2 : source1;\n if (Array.isArray(source1)) {\n if (Array.isArray(source2))\n return source2;\n if (source2 === undefined)\n return [...source1];\n return [...source1, source2];\n }\n return getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n // @ts-ignore\n p[k] = deepmerge(source1[k], source2 && source2[k]);\n return p;\n }, {});\n}\nfunction getAllKeys(subject, internal = false) {\n if (typeof subject !== 'object')\n return [];\n const propertyNames = Object.getOwnPropertyNames(subject);\n const keys = internal ? propertyNames.filter(n => n !== 'constructor') : propertyNames;\n const proto = Object.getPrototypeOf(subject);\n return proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nexport function unpartial(s1, s2, s3) {\n // defensive check for JS\n if (s1 === undefined || s1 === null)\n return s1;\n return [s1, s2, s3]\n .filter(notNil)\n .reduce((p, s) => ({ ...p, ...trimNilProps(s) }), {});\n}\nfunction trimNilProps(value) {\n return Object.keys(value).reduce((p, k) => {\n if (notNil(value[k]))\n p[k] = value[k];\n return p;\n }, {});\n}\nfunction notNil(value) {\n return value !== null && value !== undefined;\n}\nexport function unpartialRecursively(arg1, arg2, arg3) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return requiredDeep(arg1, arg2, arg3);\n}\n//# sourceMappingURL=index.js.map","export function record(value) {\n const r = Object.create(null);\n return (value ? Object.assign(r, value) : r);\n}\n//# sourceMappingURL=record.js.map","import { record } from \"type-plus\";\n//#region ts/platform.browser.ts\nconst toInspectLogEntry = (e) => e;\nconst polyfill = record();\n//#endregion\nexport { polyfill, toInspectLogEntry };\n\n//# sourceMappingURL=platform.browser.js.map","import { logLevels } from \"./log_levels.js\";\nimport { consoleFormatter } from \"./formatter.js\";\nimport { polyfill } from \"./platform.js\";\nimport { unpartial } from \"type-plus\";\n//#region ts/console.ts\nfunction toConsoleMethod(level) {\n\tswitch (true) {\n\t\tcase level <= 0: return \"debug\";\n\t\tcase level <= logLevels.error: return \"error\";\n\t\tcase level <= logLevels.warn: return \"warn\";\n\t\tcase level <= logLevels.info: return \"info\";\n\t\tdefault: return \"debug\";\n\t}\n}\n// istanbul ignore next\nfunction buildPolyfillConsole() {\n\tif (!!console.log.bind) return {\n\t\tdebug: (typeof console.info === \"function\" ? console.debug : console.log).bind(console),\n\t\tinfo: (typeof console.info === \"function\" ? console.info : console.log).bind(console),\n\t\twarn: (typeof console.warn === \"function\" ? console.warn : console.log).bind(console),\n\t\terror: (typeof console.error === \"function\" ? console.error : console.log).bind(console)\n\t};\n\treturn {\n\t\tdebug: buildFn(typeof console.debug === \"function\" ? \"debug\" : \"log\"),\n\t\tinfo: buildFn(typeof console.info === \"function\" ? \"info\" : \"log\"),\n\t\twarn: buildFn(typeof console.warn === \"function\" ? \"warn\" : \"log\"),\n\t\terror: buildFn(typeof console.error === \"function\" ? \"error\" : \"log\")\n\t};\n}\n// istanbul ignore next\nfunction buildFn(name) {\n\treturn (...args) => {\n\t\tconsole[name](...args);\n\t};\n}\nfunction createConsoleLogReporter(options) {\n\tconst { id, formatter, filter } = unpartial({\n\t\tid: \"console\",\n\t\tformatter: consoleFormatter\n\t}, options);\n\tif (!polyfill.console) polyfill.console = buildPolyfillConsole();\n\treturn Object.freeze({\n\t\tid,\n\t\tisConsoleReporter: true,\n\t\tget formatter() {\n\t\t\treturn formatter;\n\t\t},\n\t\tget filter() {\n\t\t\treturn filter;\n\t\t},\n\t\tconsole: polyfill.console,\n\t\twrite(entry) {\n\t\t\tif (filter && !filter(entry)) return;\n\t\t\tconst values = formatter(entry);\n\t\t\tconst method = toConsoleMethod(entry.level);\n\t\t\tthis.console[method](...values);\n\t\t}\n\t});\n}\n//#endregion\nexport { createConsoleLogReporter, toConsoleMethod };\n\n//# sourceMappingURL=console.js.map","const level = (() => {\n\tif (!('navigator' in globalThis)) {\n\t\treturn 0;\n\t}\n\n\tif (navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand?.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\t// eslint-disable-next-line require-unicode-regexp -- This entry point supports browsers without Unicode Sets.\n\tif (/\\b(?:Chrome|Chromium)\\//.test(navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","import sc from 'supports-color'\n\n/**\n * Color level.\n * This is the same definition as the `ColorSupportLevel` in `supports-color`.\n * Using the same definition for simplicity\n * @see https://github.com/chalk/supports-color/blob/main/index.d.ts#L19\n */\nexport enum ColorLevels {\n\tDISABLED = 0,\n\t/**\n\t * Basic 16 colors (4-bits)\n\t */\n\tBASIC = 1,\n\t/**\n\t * ANSI 256 colors (8-bits)\n\t */\n\tANSI = 2,\n\t/**\n\t * Truecolor 16 million colors (24-bits)\n\t */\n\tTRUE = 3\n}\n\nexport namespace supportColor {\n\texport type Result = { stdout: ColorLevels; stderr: ColorLevels }\n}\n\nlet value: supportColor.Result\n\n/**\n * Detects if the platform supports color.\n * For browser, the value can only be:\n * - `{ stdout: 0, stderr: 0 }` (DISABLED), or\n * - `{ stdout: 3, stderr: 3 }` (TRUE).\n * So you only need to check one case.\n * The result value is made the same so that it can be used in all platforms.\n */\nexport function supportColor(): supportColor.Result {\n\t// istanbul ignore next\n\treturn (value = value || {\n\t\tstderr: sc.stderr ? sc.stderr.level : ColorLevels.DISABLED,\n\t\tstdout: sc.stdout ? sc.stdout.level : ColorLevels.DISABLED\n\t})\n}\n","export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\nexport const ANSI_BLACK = 0\nexport const ANSI_RED = 1\nexport const ANSI_GREEN = 2\nexport const ANSI_YELLOW = 3\nexport const ANSI_BLUE = 4\nexport const ANSI_MAGENTA = 5\nexport const ANSI_CYAN = 6\nexport const ANSI_WHITE = 7\n\nexport type AnsiStyle = 1 | 4\nexport const ANSI_BRIGHT = 1\nexport const ANSI_UNDERSCORE = 4\n\nexport const ANSI_FOREGROUND = 30\nexport const ANSI_BACKGROUND = 40\n","export function wrapAnsi(text: string, codes: number[]) {\n\treturn `\\u001B[${codes.join(';')}m${text}\\u001B[0m`\n}\n","import { createTimestampFormatter, type LogEntry, type TimestampFormat, toConsoleMethod } from 'standard-log'\nimport { ColorLevels, supportColor } from '../supportColor.js'\nimport {\n\tANSI_BACKGROUND,\n\tANSI_BLACK,\n\tANSI_BLUE,\n\tANSI_BRIGHT,\n\tANSI_CYAN,\n\tANSI_FOREGROUND,\n\tANSI_GREEN,\n\tANSI_MAGENTA,\n\tANSI_RED,\n\tANSI_UNDERSCORE,\n\tANSI_WHITE,\n\tANSI_YELLOW\n} from './constants.js'\nimport { wrapAnsi } from './wrapAnsi.js'\n\nexport type AnsiFormatterOptions = {\n\ttimestamp: TimestampFormat\n}\n\nexport function createAnsiFormatter(options: AnsiFormatterOptions = { timestamp: 'none' }) {\n\tconst timestampFormatter = createTimestampFormatter(options.timestamp)\n\n\treturn function ansiFormatter(entry: LogEntry) {\n\t\tconst consoleMethod = toConsoleMethod(entry.level)\n\t\tconst id = formatID(consoleMethod, entry.id)\n\t\tconst args = formatArgs(timestampFormatter, consoleMethod, entry)\n\t\treturn [id, ...args]\n\t}\n}\n\nfunction formatArgs(\n\ttimestampFormatter: (timestamp: Date) => string | undefined,\n\tmethod: 'error' | 'warn' | 'info' | 'debug',\n\tentry: Pick<LogEntry, 'args' | 'timestamp'>\n) {\n\tconst args = [...entry.args]\n\tconst timestamp = timestampFormatter(entry.timestamp)\n\tif (timestamp !== undefined) args.push(timestamp)\n\tconst textCodes =\n\t\tmethod === 'error'\n\t\t\t? [ANSI_RED + ANSI_FOREGROUND]\n\t\t\t: method === 'warn'\n\t\t\t\t? [ANSI_YELLOW + ANSI_FOREGROUND]\n\t\t\t\t: undefined\n\n\treturn textCodes ? args.map(x => wrapAnsi(x, textCodes)) : args\n}\n\nfunction formatID(method: 'error' | 'warn' | 'info' | 'debug', id: string) {\n\tconst colorLevels = supportColor()\n\tconst colorLevel = method === 'error' ? colorLevels.stderr : colorLevels.stdout\n\treturn toIDFormatter(colorLevel)(id)\n}\n\nfunction toIDFormatter(colorLevel: ColorLevels) {\n\t// istanbul ignore next\n\tswitch (colorLevel) {\n\t\tcase ColorLevels.DISABLED:\n\t\t\treturn (id: string) => id\n\t\tcase ColorLevels.BASIC:\n\t\t\treturn basicIDFormatter\n\t\tcase ColorLevels.ANSI:\n\t\t\treturn ansiIDFormatter\n\t\tcase ColorLevels.TRUE:\n\t\t\treturn truecolorIDFormatter\n\t}\n}\n\nfunction basicIDFormatter(id: string) {\n\tconst codes = getAnsiColor(id)\n\treturn wrapAnsi(` ${id} `, codes)\n}\n\nconst ansiColors: {\n\tcounter: number\n\tlist: Array<number[]>\n} = {\n\tcounter: 0,\n\tlist: [\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE]\n\t]\n}\nconst ansiColorMap: Record<string, number[]> = Object.create(null)\n\nfunction getAnsiColor(id: string) {\n\treturn (ansiColorMap[id] =\n\t\tansiColorMap[id] || ansiColors.list[ansiColors.counter++ % ansiColors.list.length])\n}\n\n// istanbul ignore next\nfunction ansiIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n\n// istanbul ignore next\nfunction truecolorIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n","export function createColors(from, to, shades, alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n]) {\n const start = [...from];\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ];\n if (start.length === 3)\n start.push(alpha[0]);\n const inc = 1 / Math.max(shades - 1, 1);\n const rgba = [];\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ];\n rgba.push(color);\n }\n return rgba;\n}\n//# sourceMappingURL=createColors.js.map","import { createColors } from './createColors.js';\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap, shades, alpha) {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`);\n }\n const result = [];\n const steps = [];\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades));\n }\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i];\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha));\n }\n return result;\n}\n//# sourceMappingURL=createColorsFromMap.js.map","/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb) {\n let hex = '#';\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i]);\n }\n return hex;\n}\nfunction d2h(d) {\n const s = (+d).toString(16);\n return s.length < 2 ? '0' + s : s;\n}\n//# sourceMappingURL=rgbHex.js.map","import type { ColorMap } from 'color-map'\n\nexport const rainbow: ColorMap = [\n\t{ index: 0, rgb: [150, 0, 90] },\n\t{ index: 0.125, rgb: [0, 0, 200] },\n\t{ index: 0.25, rgb: [0, 25, 255] },\n\t{ index: 0.375, rgb: [0, 152, 255] },\n\t{ index: 0.5, rgb: [44, 255, 150] },\n\t{ index: 0.625, rgb: [151, 255, 0] },\n\t{ index: 0.75, rgb: [255, 234, 0] },\n\t{ index: 0.875, rgb: [255, 111, 0] },\n\t{ index: 1, rgb: [255, 0, 0] }\n]\n","import { createColorsFromMap, type RGB, type RGBA, rgbHex } from 'color-map'\nimport { createTimestampFormatter, type LogEntry } from 'standard-log'\nimport { required } from 'unpartial'\nimport type { CssFormatterOptions } from '../types.js'\nimport { rainbow } from './colors.js'\n\nexport function createCssFormatter(options?: CssFormatterOptions) {\n\tconst { maxColor, timestamp, style } = required(\n\t\t{\n\t\t\tmaxColor: 20,\n\t\t\ttimestamp: 'none',\n\t\t\tstyle: 'padding: 2px; line-height: 1rem;'\n\t\t},\n\t\toptions\n\t)\n\tconst loggerMap: Record<string, RGB> = Object.create(null)\n\tconst colorMap: RGBA[] = createColorsFromMap(rainbow, maxColor)\n\tlet count = 0\n\n\tconst timestampFormatter = createTimestampFormatter(timestamp)\n\n\treturn function cssFormatter(entry: LogEntry) {\n\t\tlet idStr = `%c ${entry.id} `\n\t\tlet args: any[]\n\t\tif (firstArgIsColorTemplate(entry.args)) {\n\t\t\tidStr += entry.args[0]\n\t\t\targs = [...entry.args.slice(1)]\n\t\t} else {\n\t\t\targs = [...entry.args]\n\t\t}\n\t\tconst rgb = getRgb(entry.id)\n\t\tconst background = rgbHex(rgb)\n\t\tconst border = rgbHex(rgb.map(x => Math.max(0, x - 32)) as RGB)\n\t\tconst color = getForegroundColor(rgb)\n\t\tconst result = [\n\t\t\tidStr,\n\t\t\t`${style}background: ${background};border: 1px solid ${border};color: ${color};`,\n\t\t\t...args\n\t\t]\n\t\tconst t = timestampFormatter(entry.timestamp)\n\t\tif (t !== undefined) result.push(t)\n\t\treturn result\n\t}\n\n\tfunction firstArgIsColorTemplate(args: any[]) {\n\t\treturn typeof args[0] === 'string' && args[0].indexOf('%c') !== -1\n\t}\n\n\tfunction getRgb(id: string) {\n\t\treturn (loggerMap[id] = loggerMap[id] || colorMap[count++ & maxColor])\n\t}\n}\n\nconst gammaMap = {\n\trc: 0.2126,\n\tgc: 0.7152,\n\tbc: 0.0722,\n\tlowc: 1 / 12.92\n}\n\nfunction getForegroundColor(background: RGB) {\n\t// Setting the contrasting color as default\n\tlet color = getComplementary(background)\n\tconst bgLuminance = getRelativeLuminance(background)\n\tconst fgLuminance =\n\t\tcolor === '#ffffff' ? getRelativeLuminance([255, 255, 255]) : getRelativeLuminance([0, 0, 0])\n\tconst relativeL =\n\t\tbgLuminance > fgLuminance\n\t\t\t? (bgLuminance + 0.05) / (fgLuminance + 0.05)\n\t\t\t: (fgLuminance + 0.05) / (bgLuminance + 0.05)\n\n\t// Can set the contrast ratio based on text size later.\n\tif (relativeL < 4.5) {\n\t\tconst avgLuminance =\n\t\t\tbackground[0] * gammaMap['rc'] + background[1] * gammaMap['gc'] + background[2] * gammaMap['bc']\n\n\t\t// If the relative contrast is lower than standard, we switch color to black/white\n\t\tcolor = avgLuminance < 220 ? '#ffffff' : '#000000'\n\t}\n\treturn color\n}\n\nfunction getRelativeLuminance(rgb: RGB) {\n\t// https://www.w3.org/TR/WCAG/#relativeluminancedef\n\tconst rsrgb = rgb[0] / 255\n\tconst gsrgb = rgb[1] / 255\n\tconst bsrgb = rgb[2] / 255\n\n\tconst r = rsrgb <= 0.03928 ? rsrgb * gammaMap['lowc'] : ((rsrgb + 0.055) / 1.055) ** 2.4\n\tconst g = gsrgb <= 0.03928 ? gsrgb * gammaMap['lowc'] : ((gsrgb + 0.055) / 1.055) ** 2.4\n\tconst b = bsrgb <= 0.03928 ? bsrgb * gammaMap['lowc'] : ((bsrgb + 0.055) / 1.055) ** 2.4\n\n\treturn r * gammaMap['rc'] + g * gammaMap['gc'] + b * gammaMap['bc']\n}\n\nfunction getComplementary(rgb: RGB) {\n\tconst r = 255 - rgb[0]\n\tconst g = 255 - rgb[1]\n\tconst b = 255 - rgb[2]\n\treturn rgbHex([r, g, b])\n}\n","import { consoleFormatter, createConsoleLogReporter } from 'standard-log'\nimport { unpartial } from 'unpartial'\nimport { createCssFormatter } from './css/index.js'\nimport type { ColorLogReporterOptions } from './types.js'\n\nexport function createColorLogReporter(options?: ColorLogReporterOptions) {\n\treturn createConsoleLogReporter(\n\t\tunpartial(\n\t\t\t{\n\t\t\t\tformatter: supportCSSColorInConsole()\n\t\t\t\t\t? createCssFormatter(options?.cssFormatterOptions)\n\t\t\t\t\t: consoleFormatter\n\t\t\t},\n\t\t\toptions\n\t\t)\n\t)\n}\n\n// istanbul ignore next\nfunction supportCSSColorInConsole() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\t// @ts-expect-error\n\tif (window?.process?.type === 'renderer' || window?.process?.__nwjs) {\n\t\treturn true\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (navigator?.userAgent?.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (\n\t\t// @ts-expect-error\n\t\tdocument?.documentElement?.style?.WebkitAppearance ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t// @ts-expect-error\n\t\twindow?.console?.firebug ||\n\t\t// @ts-expect-error\n\t\t(window?.console?.exception && window?.console?.table) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(navigator?.userAgent?.toLowerCase().match(/firefox\\/(\\d+)/) && Number.parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\tnavigator?.userAgent?.toLowerCase().match(/applewebkit\\/(\\d+)/)\n\t)\n}\n"],"x_google_ignoreList":[1,3,4,7,12,13,14],"mappings":"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"}
1
+ {"version":3,"file":"standard-log-color.iife.js","names":["ms","sc"],"sources":["../../log/esm/log_levels.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../log/esm/formatter.js","../../../node_modules/.pnpm/unpartial@1.0.5/node_modules/unpartial/esm/index.js","../../../node_modules/.pnpm/type-plus@7.6.2/node_modules/type-plus/esm/object/record.js","../../log/esm/platform.browser.js","../../log/esm/console.js","../../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/browser.js","../ts/supportColor.ts","../ts/ansi/constants.ts","../ts/ansi/wrapAnsi.ts","../ts/ansi/ansiFormatter.ts","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColors.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColorsFromMap.js","../../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/rgbHex.js","../ts/css/colors.ts","../ts/css/cssFormatter.ts","../ts/createColorLogReporter.browser.ts"],"sourcesContent":["//#region ts/log_levels.ts\nconst logLevels = {\n\t/**\n\t* none: 0\n\t*/\n\tnone: 0,\n\t/**\n\t* emergency: 100\n\t*\n\t* emergency -> alert\n\t*/\n\temergency: 100,\n\t/**\n\t* alert: 200\n\t*\n\t* emergency -> alert -> critical\n\t*/\n\talert: 200,\n\t/**\n\t* critical: 300\n\t*\n\t* alert -> critical -> error\n\t*/\n\tcritical: 300,\n\t/**\n\t* error: 400\n\t*\n\t* critical -> error -> warn\n\t*/\n\terror: 400,\n\t/**\n\t* warn: 500\n\t*\n\t* error -> warn -> notice\n\t*/\n\twarn: 500,\n\t/**\n\t* notice: 600\n\t*\n\t* warn -> notice -> info\n\t*/\n\tnotice: 600,\n\t/**\n\t* info: 700\n\t*\n\t* notice -> info -> debug\n\t*/\n\tinfo: 700,\n\t/**\n\t* debug: 800\n\t*\n\t* info -> debug -> trace\n\t*/\n\tdebug: 800,\n\t/**\n\t* trace: 900\n\t*\n\t* debug -> trace -> planck\n\t*/\n\ttrace: 900,\n\t/**\n\t* planck: Infinity\n\t* `planck unit` is a very small unit <https://en.wikipedia.org/wiki/Planck_units>.\n\t*\n\t* trace -> planck\n\t*/\n\tplanck: Number.POSITIVE_INFINITY,\n\t/**\n\t* all: Infinity\n\t*/\n\tall: Number.POSITIVE_INFINITY\n};\n/**\n* Convert default log level value to log level name.\n*/\nfunction toLogLevelName(level) {\n\tif (level <= 100) return \"emergency\";\n\tif (level <= 200) return \"alert\";\n\tif (level <= 300) return \"critical\";\n\tif (level <= 400) return \"error\";\n\tif (level <= 500) return \"warn\";\n\tif (level <= 600) return \"notice\";\n\tif (level <= 700) return \"info\";\n\tif (level <= 800) return \"debug\";\n\tif (level <= 900) return \"trace\";\n\treturn \"planck\";\n}\n/**\n* Convert default log level name to log level value.\n*/\nfunction toLogLevel(name) {\n\treturn logLevels[name.toLocaleLowerCase()];\n}\nconst DEFAULT_LOG_METHOD_NAMES = [\n\t\"emergency\",\n\t\"alert\",\n\t\"critical\",\n\t\"error\",\n\t\"warn\",\n\t\"notice\",\n\t\"info\",\n\t\"debug\",\n\t\"trace\",\n\t\"planck\"\n];\n//#endregion\nexport { DEFAULT_LOG_METHOD_NAMES, logLevels, toLogLevel, toLogLevelName };\n\n//# sourceMappingURL=log_levels.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar 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\nmodule.exports = function (val, options) {\n options = options || {};\n var 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 var 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 var n = parseFloat(match[1]);\n var 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 var 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 var 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 var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import { toLogLevelName } from \"./log_levels.js\";\nimport ms from \"ms\";\n//#region ts/formatter.ts\nfunction createTimestampFormatter(format) {\n\tswitch (format) {\n\t\tcase \"none\": return (_timestamp) => void 0;\n\t\tcase \"iso\": return (timestamp) => timestamp.toISOString();\n\t\tcase \"elapsed\": {\n\t\t\tlet lastTick;\n\t\t\treturn (timestamp) => {\n\t\t\t\tconst newTick = timestamp.getTime();\n\t\t\t\tconst result = ms(lastTick === void 0 ? 0 : newTick - lastTick);\n\t\t\t\tlastTick = newTick;\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t}\n}\nfunction formatLogLevel(level) {\n\treturn `(${toLogLevelName(level).toUpperCase()})`;\n}\n/**\n* Formats log entry as plain text with the following format:\n* `timestamp id level ...args`\n*\n* This is typically useful for writing logs to file\n*/\nfunction plainLogFormatter({ id, level, args, timestamp }) {\n\treturn [\n\t\ttimestamp.toISOString(),\n\t\tid,\n\t\tformatLogLevel(level),\n\t\t...args\n\t];\n}\n/**\n* Formats log entry like default console log.\n*/\nfunction consoleFormatter({ args }) {\n\treturn args;\n}\n//#endregion\nexport { consoleFormatter, createTimestampFormatter, formatLogLevel, plainLogFormatter };\n\n//# sourceMappingURL=formatter.js.map","export function required(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => {\n return { ...p, ...e };\n });\n}\nexport function requiredDeep(source1, source2, source3) {\n return merge([source1, source2, source3], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n if (entries[0] === undefined || entries[0] === null)\n return entries[0];\n return entries.filter(x => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n if (typeof source1 !== 'object' || source1 === null)\n return source2 !== undefined ? source2 : source1;\n if (Array.isArray(source1)) {\n if (Array.isArray(source2))\n return source2;\n if (source2 === undefined)\n return [...source1];\n return [...source1, source2];\n }\n return getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n // @ts-ignore\n p[k] = deepmerge(source1[k], source2 && source2[k]);\n return p;\n }, {});\n}\nfunction getAllKeys(subject, internal = false) {\n if (typeof subject !== 'object')\n return [];\n const propertyNames = Object.getOwnPropertyNames(subject);\n const keys = internal ? propertyNames.filter(n => n !== 'constructor') : propertyNames;\n const proto = Object.getPrototypeOf(subject);\n return proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nexport function unpartial(s1, s2, s3) {\n // defensive check for JS\n if (s1 === undefined || s1 === null)\n return s1;\n return [s1, s2, s3]\n .filter(notNil)\n .reduce((p, s) => ({ ...p, ...trimNilProps(s) }), {});\n}\nfunction trimNilProps(value) {\n return Object.keys(value).reduce((p, k) => {\n if (notNil(value[k]))\n p[k] = value[k];\n return p;\n }, {});\n}\nfunction notNil(value) {\n return value !== null && value !== undefined;\n}\nexport function unpartialRecursively(arg1, arg2, arg3) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return requiredDeep(arg1, arg2, arg3);\n}\n//# sourceMappingURL=index.js.map","export function record(value) {\n const r = Object.create(null);\n return (value ? Object.assign(r, value) : r);\n}\n//# sourceMappingURL=record.js.map","import { record } from \"type-plus\";\n//#region ts/platform.browser.ts\nconst toInspectLogEntry = (e) => e;\nconst polyfill = record();\n//#endregion\nexport { polyfill, toInspectLogEntry };\n\n//# sourceMappingURL=platform.browser.js.map","import { logLevels } from \"./log_levels.js\";\nimport { consoleFormatter } from \"./formatter.js\";\nimport { polyfill } from \"./platform.js\";\nimport { unpartial } from \"type-plus\";\n//#region ts/console.ts\nfunction toConsoleMethod(level) {\n\tswitch (true) {\n\t\tcase level <= 0: return \"debug\";\n\t\tcase level <= logLevels.error: return \"error\";\n\t\tcase level <= logLevels.warn: return \"warn\";\n\t\tcase level <= logLevels.info: return \"info\";\n\t\tdefault: return \"debug\";\n\t}\n}\n// istanbul ignore next\nfunction buildPolyfillConsole() {\n\tif (!!console.log.bind) return {\n\t\tdebug: (typeof console.info === \"function\" ? console.debug : console.log).bind(console),\n\t\tinfo: (typeof console.info === \"function\" ? console.info : console.log).bind(console),\n\t\twarn: (typeof console.warn === \"function\" ? console.warn : console.log).bind(console),\n\t\terror: (typeof console.error === \"function\" ? console.error : console.log).bind(console)\n\t};\n\treturn {\n\t\tdebug: buildFn(typeof console.debug === \"function\" ? \"debug\" : \"log\"),\n\t\tinfo: buildFn(typeof console.info === \"function\" ? \"info\" : \"log\"),\n\t\twarn: buildFn(typeof console.warn === \"function\" ? \"warn\" : \"log\"),\n\t\terror: buildFn(typeof console.error === \"function\" ? \"error\" : \"log\")\n\t};\n}\n// istanbul ignore next\nfunction buildFn(name) {\n\treturn (...args) => {\n\t\tconsole[name](...args);\n\t};\n}\nfunction createConsoleLogReporter(options) {\n\tconst { id, formatter, filter } = unpartial({\n\t\tid: \"console\",\n\t\tformatter: consoleFormatter\n\t}, options);\n\tif (!polyfill.console) polyfill.console = buildPolyfillConsole();\n\treturn Object.freeze({\n\t\tid,\n\t\tisConsoleReporter: true,\n\t\tget formatter() {\n\t\t\treturn formatter;\n\t\t},\n\t\tget filter() {\n\t\t\treturn filter;\n\t\t},\n\t\tconsole: polyfill.console,\n\t\twrite(entry) {\n\t\t\tif (filter && !filter(entry)) return;\n\t\t\tconst values = formatter(entry);\n\t\t\tconst method = toConsoleMethod(entry.level);\n\t\t\tthis.console[method](...values);\n\t\t}\n\t});\n}\n//#endregion\nexport { createConsoleLogReporter, toConsoleMethod };\n\n//# sourceMappingURL=console.js.map","/* eslint-env browser */\n'use strict';\n\nfunction getChromeVersion() {\n\tconst matches = /(Chrome|Chromium)\\/(?<chromeVersion>\\d+)\\./.exec(navigator.userAgent);\n\n\tif (!matches) {\n\t\treturn;\n\t}\n\n\treturn Number.parseInt(matches.groups.chromeVersion, 10);\n}\n\nconst colorSupport = getChromeVersion() >= 69 ? {\n\tlevel: 1,\n\thasBasic: true,\n\thas256: false,\n\thas16m: false\n} : false;\n\nmodule.exports = {\n\tstdout: colorSupport,\n\tstderr: colorSupport\n};\n","import sc from 'supports-color'\n\n/**\n * Color level.\n * This is the same definition as the `ColorSupportLevel` in `supports-color`.\n * Using the same definition for simplicity\n * @see https://github.com/chalk/supports-color/blob/main/index.d.ts#L19\n */\nexport enum ColorLevels {\n\tDISABLED = 0,\n\t/**\n\t * Basic 16 colors (4-bits)\n\t */\n\tBASIC = 1,\n\t/**\n\t * ANSI 256 colors (8-bits)\n\t */\n\tANSI = 2,\n\t/**\n\t * Truecolor 16 million colors (24-bits)\n\t */\n\tTRUE = 3\n}\n\nexport namespace supportColor {\n\texport type Result = { stdout: ColorLevels; stderr: ColorLevels }\n}\n\nlet value: supportColor.Result\n\n/**\n * Detects if the platform supports color.\n * For browser, the value can only be:\n * - `{ stdout: 0, stderr: 0 }` (DISABLED), or\n * - `{ stdout: 3, stderr: 3 }` (TRUE).\n * So you only need to check one case.\n * The result value is made the same so that it can be used in all platforms.\n */\nexport function supportColor(): supportColor.Result {\n\t// istanbul ignore next\n\treturn (value = value || {\n\t\tstderr: sc.stderr ? sc.stderr.level : ColorLevels.DISABLED,\n\t\tstdout: sc.stdout ? sc.stdout.level : ColorLevels.DISABLED\n\t})\n}\n","export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\nexport const ANSI_BLACK = 0\nexport const ANSI_RED = 1\nexport const ANSI_GREEN = 2\nexport const ANSI_YELLOW = 3\nexport const ANSI_BLUE = 4\nexport const ANSI_MAGENTA = 5\nexport const ANSI_CYAN = 6\nexport const ANSI_WHITE = 7\n\nexport type AnsiStyle = 1 | 4\nexport const ANSI_BRIGHT = 1\nexport const ANSI_UNDERSCORE = 4\n\nexport const ANSI_FOREGROUND = 30\nexport const ANSI_BACKGROUND = 40\n","export function wrapAnsi(text: string, codes: number[]) {\n\treturn `\\u001B[${codes.join(';')}m${text}\\u001B[0m`\n}\n","import { createTimestampFormatter, type LogEntry, type TimestampFormat, toConsoleMethod } from 'standard-log'\nimport { ColorLevels, supportColor } from '../supportColor.js'\nimport {\n\tANSI_BACKGROUND,\n\tANSI_BLACK,\n\tANSI_BLUE,\n\tANSI_BRIGHT,\n\tANSI_CYAN,\n\tANSI_FOREGROUND,\n\tANSI_GREEN,\n\tANSI_MAGENTA,\n\tANSI_RED,\n\tANSI_UNDERSCORE,\n\tANSI_WHITE,\n\tANSI_YELLOW\n} from './constants.js'\nimport { wrapAnsi } from './wrapAnsi.js'\n\nexport type AnsiFormatterOptions = {\n\ttimestamp: TimestampFormat\n}\n\nexport function createAnsiFormatter(options: AnsiFormatterOptions = { timestamp: 'none' }) {\n\tconst timestampFormatter = createTimestampFormatter(options.timestamp)\n\n\treturn function ansiFormatter(entry: LogEntry) {\n\t\tconst consoleMethod = toConsoleMethod(entry.level)\n\t\tconst id = formatID(consoleMethod, entry.id)\n\t\tconst args = formatArgs(timestampFormatter, consoleMethod, entry)\n\t\treturn [id, ...args]\n\t}\n}\n\nfunction formatArgs(\n\ttimestampFormatter: (timestamp: Date) => string | undefined,\n\tmethod: 'error' | 'warn' | 'info' | 'debug',\n\tentry: Pick<LogEntry, 'args' | 'timestamp'>\n) {\n\tconst args = [...entry.args]\n\tconst timestamp = timestampFormatter(entry.timestamp)\n\tif (timestamp !== undefined) args.push(timestamp)\n\tconst textCodes =\n\t\tmethod === 'error'\n\t\t\t? [ANSI_RED + ANSI_FOREGROUND]\n\t\t\t: method === 'warn'\n\t\t\t\t? [ANSI_YELLOW + ANSI_FOREGROUND]\n\t\t\t\t: undefined\n\n\treturn textCodes ? args.map(x => wrapAnsi(x, textCodes)) : args\n}\n\nfunction formatID(method: 'error' | 'warn' | 'info' | 'debug', id: string) {\n\tconst colorLevels = supportColor()\n\tconst colorLevel = method === 'error' ? colorLevels.stderr : colorLevels.stdout\n\treturn toIDFormatter(colorLevel)(id)\n}\n\nfunction toIDFormatter(colorLevel: ColorLevels) {\n\t// istanbul ignore next\n\tswitch (colorLevel) {\n\t\tcase ColorLevels.DISABLED:\n\t\t\treturn (id: string) => id\n\t\tcase ColorLevels.BASIC:\n\t\t\treturn basicIDFormatter\n\t\tcase ColorLevels.ANSI:\n\t\t\treturn ansiIDFormatter\n\t\tcase ColorLevels.TRUE:\n\t\t\treturn truecolorIDFormatter\n\t}\n}\n\nfunction basicIDFormatter(id: string) {\n\tconst codes = getAnsiColor(id)\n\treturn wrapAnsi(` ${id} `, codes)\n}\n\nconst ansiColors: {\n\tcounter: number\n\tlist: Array<number[]>\n} = {\n\tcounter: 0,\n\tlist: [\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_RED + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_GREEN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_YELLOW + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLUE + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_MAGENTA + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_BLACK + ANSI_FOREGROUND, ANSI_CYAN + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE],\n\t\t[ANSI_WHITE + ANSI_FOREGROUND, ANSI_BLACK + ANSI_BACKGROUND, ANSI_BRIGHT, ANSI_UNDERSCORE]\n\t]\n}\nconst ansiColorMap: Record<string, number[]> = Object.create(null)\n\nfunction getAnsiColor(id: string) {\n\treturn (ansiColorMap[id] =\n\t\tansiColorMap[id] || ansiColors.list[ansiColors.counter++ % ansiColors.list.length])\n}\n\n// istanbul ignore next\nfunction ansiIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n\n// istanbul ignore next\nfunction truecolorIDFormatter(id: string) {\n\treturn basicIDFormatter(id)\n}\n","export function createColors(from, to, shades, alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n]) {\n const start = [...from];\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ];\n if (start.length === 3)\n start.push(alpha[0]);\n const inc = 1 / Math.max(shades - 1, 1);\n const rgba = [];\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ];\n rgba.push(color);\n }\n return rgba;\n}\n//# sourceMappingURL=createColors.js.map","import { createColors } from './createColors.js';\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap, shades, alpha) {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`);\n }\n const result = [];\n const steps = [];\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades));\n }\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i];\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha));\n }\n return result;\n}\n//# sourceMappingURL=createColorsFromMap.js.map","/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb) {\n let hex = '#';\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i]);\n }\n return hex;\n}\nfunction d2h(d) {\n const s = (+d).toString(16);\n return s.length < 2 ? '0' + s : s;\n}\n//# sourceMappingURL=rgbHex.js.map","import type { ColorMap } from 'color-map'\n\nexport const rainbow: ColorMap = [\n\t{ index: 0, rgb: [150, 0, 90] },\n\t{ index: 0.125, rgb: [0, 0, 200] },\n\t{ index: 0.25, rgb: [0, 25, 255] },\n\t{ index: 0.375, rgb: [0, 152, 255] },\n\t{ index: 0.5, rgb: [44, 255, 150] },\n\t{ index: 0.625, rgb: [151, 255, 0] },\n\t{ index: 0.75, rgb: [255, 234, 0] },\n\t{ index: 0.875, rgb: [255, 111, 0] },\n\t{ index: 1, rgb: [255, 0, 0] }\n]\n","import { createColorsFromMap, type RGB, type RGBA, rgbHex } from 'color-map'\nimport { createTimestampFormatter, type LogEntry } from 'standard-log'\nimport { required } from 'unpartial'\nimport type { CssFormatterOptions } from '../types.js'\nimport { rainbow } from './colors.js'\n\nexport function createCssFormatter(options?: CssFormatterOptions) {\n\tconst { maxColor, timestamp, style } = required(\n\t\t{\n\t\t\tmaxColor: 20,\n\t\t\ttimestamp: 'none',\n\t\t\tstyle: 'padding: 2px; line-height: 1rem;'\n\t\t},\n\t\toptions\n\t)\n\tconst loggerMap: Record<string, RGB> = Object.create(null)\n\tconst colorMap: RGBA[] = createColorsFromMap(rainbow, maxColor)\n\tlet count = 0\n\n\tconst timestampFormatter = createTimestampFormatter(timestamp)\n\n\treturn function cssFormatter(entry: LogEntry) {\n\t\tlet idStr = `%c ${entry.id} `\n\t\tlet args: any[]\n\t\tif (firstArgIsColorTemplate(entry.args)) {\n\t\t\tidStr += entry.args[0]\n\t\t\targs = [...entry.args.slice(1)]\n\t\t} else {\n\t\t\targs = [...entry.args]\n\t\t}\n\t\tconst rgb = getRgb(entry.id)\n\t\tconst background = rgbHex(rgb)\n\t\tconst border = rgbHex(rgb.map(x => Math.max(0, x - 32)) as RGB)\n\t\tconst color = getForegroundColor(rgb)\n\t\tconst result = [\n\t\t\tidStr,\n\t\t\t`${style}background: ${background};border: 1px solid ${border};color: ${color};`,\n\t\t\t...args\n\t\t]\n\t\tconst t = timestampFormatter(entry.timestamp)\n\t\tif (t !== undefined) result.push(t)\n\t\treturn result\n\t}\n\n\tfunction firstArgIsColorTemplate(args: any[]) {\n\t\treturn typeof args[0] === 'string' && args[0].indexOf('%c') !== -1\n\t}\n\n\tfunction getRgb(id: string) {\n\t\treturn (loggerMap[id] = loggerMap[id] || colorMap[count++ & maxColor])\n\t}\n}\n\nconst gammaMap = {\n\trc: 0.2126,\n\tgc: 0.7152,\n\tbc: 0.0722,\n\tlowc: 1 / 12.92\n}\n\nfunction getForegroundColor(background: RGB) {\n\t// Setting the contrasting color as default\n\tlet color = getComplementary(background)\n\tconst bgLuminance = getRelativeLuminance(background)\n\tconst fgLuminance =\n\t\tcolor === '#ffffff' ? getRelativeLuminance([255, 255, 255]) : getRelativeLuminance([0, 0, 0])\n\tconst relativeL =\n\t\tbgLuminance > fgLuminance\n\t\t\t? (bgLuminance + 0.05) / (fgLuminance + 0.05)\n\t\t\t: (fgLuminance + 0.05) / (bgLuminance + 0.05)\n\n\t// Can set the contrast ratio based on text size later.\n\tif (relativeL < 4.5) {\n\t\tconst avgLuminance =\n\t\t\tbackground[0] * gammaMap['rc'] + background[1] * gammaMap['gc'] + background[2] * gammaMap['bc']\n\n\t\t// If the relative contrast is lower than standard, we switch color to black/white\n\t\tcolor = avgLuminance < 220 ? '#ffffff' : '#000000'\n\t}\n\treturn color\n}\n\nfunction getRelativeLuminance(rgb: RGB) {\n\t// https://www.w3.org/TR/WCAG/#relativeluminancedef\n\tconst rsrgb = rgb[0] / 255\n\tconst gsrgb = rgb[1] / 255\n\tconst bsrgb = rgb[2] / 255\n\n\tconst r = rsrgb <= 0.03928 ? rsrgb * gammaMap['lowc'] : ((rsrgb + 0.055) / 1.055) ** 2.4\n\tconst g = gsrgb <= 0.03928 ? gsrgb * gammaMap['lowc'] : ((gsrgb + 0.055) / 1.055) ** 2.4\n\tconst b = bsrgb <= 0.03928 ? bsrgb * gammaMap['lowc'] : ((bsrgb + 0.055) / 1.055) ** 2.4\n\n\treturn r * gammaMap['rc'] + g * gammaMap['gc'] + b * gammaMap['bc']\n}\n\nfunction getComplementary(rgb: RGB) {\n\tconst r = 255 - rgb[0]\n\tconst g = 255 - rgb[1]\n\tconst b = 255 - rgb[2]\n\treturn rgbHex([r, g, b])\n}\n","import { consoleFormatter, createConsoleLogReporter } from 'standard-log'\nimport { unpartial } from 'unpartial'\nimport { createCssFormatter } from './css/index.js'\nimport type { ColorLogReporterOptions } from './types.js'\n\nexport function createColorLogReporter(options?: ColorLogReporterOptions) {\n\treturn createConsoleLogReporter(\n\t\tunpartial(\n\t\t\t{\n\t\t\t\tformatter: supportCSSColorInConsole()\n\t\t\t\t\t? createCssFormatter(options?.cssFormatterOptions)\n\t\t\t\t\t: consoleFormatter\n\t\t\t},\n\t\t\toptions\n\t\t)\n\t)\n}\n\n// istanbul ignore next\nfunction supportCSSColorInConsole() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\t// @ts-expect-error\n\tif (window?.process?.type === 'renderer' || window?.process?.__nwjs) {\n\t\treturn true\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (navigator?.userAgent?.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (\n\t\t// @ts-expect-error\n\t\tdocument?.documentElement?.style?.WebkitAppearance ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t// @ts-expect-error\n\t\twindow?.console?.firebug ||\n\t\t// @ts-expect-error\n\t\t(window?.console?.exception && window?.console?.table) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(navigator?.userAgent?.toLowerCase().match(/firefox\\/(\\d+)/) && Number.parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\tnavigator?.userAgent?.toLowerCase().match(/applewebkit\\/(\\d+)/)\n\t)\n}\n"],"x_google_ignoreList":[1,3,4,7,12,13,14],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "standard-log-color",
3
- "version": "13.0.1",
3
+ "version": "13.0.2",
4
4
  "description": "Color console reporter for `standard-log`",
5
5
  "homepage": "https://github.com/cyberuni/standard-log/tree/main/packages/color",
6
6
  "bugs": {
@@ -55,18 +55,18 @@
55
55
  ],
56
56
  "dependencies": {
57
57
  "color-map": "^2.0.6",
58
- "supports-color": "^11.0.0",
58
+ "supports-color": "^8.1.1",
59
59
  "unpartial": "^1.0.4"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@repobuddy/vitest": "^2.1.1",
63
63
  "@types/node": "^24.0.0",
64
- "@types/supports-color": "^10.0.0",
64
+ "@types/supports-color": "^8.1.3",
65
65
  "assertron": "^11.0.0",
66
66
  "depcheck": "^1.4.3",
67
67
  "rimraf": "^6.0.0",
68
68
  "satisfier": "^5.2.2",
69
- "standard-log": "13.0.1",
69
+ "standard-log": "13.0.2",
70
70
  "tsdown": "^0.22.14",
71
71
  "typescript": "^7.0.2",
72
72
  "vitest": "^4.1.0"