standard-log-color 13.2.0 → 13.3.1

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.
Files changed (41) hide show
  1. package/cjs/ansi/ansiFormatter.d.ts +2 -3
  2. package/cjs/ansi/ansiFormatter.d.ts.map +1 -1
  3. package/cjs/ansi/constants.d.ts +14 -15
  4. package/cjs/ansi/constants.d.ts.map +1 -1
  5. package/cjs/ansi/wrapAnsi.d.ts +1 -2
  6. package/cjs/ansi/wrapAnsi.d.ts.map +1 -1
  7. package/cjs/createColorLogReporter.browser.d.ts +1 -2
  8. package/cjs/createColorLogReporter.browser.d.ts.map +1 -1
  9. package/cjs/createColorLogReporter.d.ts +1 -2
  10. package/cjs/createColorLogReporter.d.ts.map +1 -1
  11. package/cjs/css/colors.d.ts +1 -2
  12. package/cjs/css/colors.d.ts.map +1 -1
  13. package/cjs/css/cssFormatter.d.ts +1 -2
  14. package/cjs/css/cssFormatter.d.ts.map +1 -1
  15. package/cjs/supportColor.d.ts +3 -4
  16. package/cjs/supportColor.d.ts.map +1 -1
  17. package/cjs/types.d.ts +2 -3
  18. package/cjs/types.d.ts.map +1 -1
  19. package/dist/standard-log-color.esm.js +33 -55
  20. package/dist/standard-log-color.esm.js.map +1 -1
  21. package/dist/standard-log-color.iife.js +33 -55
  22. package/dist/standard-log-color.iife.js.map +1 -1
  23. package/esm/ansi/ansiFormatter.d.ts +2 -3
  24. package/esm/ansi/ansiFormatter.d.ts.map +1 -1
  25. package/esm/ansi/constants.d.ts +14 -15
  26. package/esm/ansi/constants.d.ts.map +1 -1
  27. package/esm/ansi/wrapAnsi.d.ts +1 -2
  28. package/esm/ansi/wrapAnsi.d.ts.map +1 -1
  29. package/esm/createColorLogReporter.browser.d.ts +1 -2
  30. package/esm/createColorLogReporter.browser.d.ts.map +1 -1
  31. package/esm/createColorLogReporter.d.ts +1 -2
  32. package/esm/createColorLogReporter.d.ts.map +1 -1
  33. package/esm/css/colors.d.ts +1 -2
  34. package/esm/css/colors.d.ts.map +1 -1
  35. package/esm/css/cssFormatter.d.ts +1 -2
  36. package/esm/css/cssFormatter.d.ts.map +1 -1
  37. package/esm/supportColor.d.ts +3 -4
  38. package/esm/supportColor.d.ts.map +1 -1
  39. package/esm/types.d.ts +2 -3
  40. package/esm/types.d.ts.map +1 -1
  41. package/package.json +5 -5
@@ -1,9 +1,8 @@
1
1
  import { LogEntry, TimestampFormat } from "standard-log";
2
2
  //#region ts/ansi/ansiFormatter.d.ts
3
- type AnsiFormatterOptions = {
3
+ export type AnsiFormatterOptions = {
4
4
  timestamp: TimestampFormat;
5
5
  };
6
- declare function createAnsiFormatter(options?: AnsiFormatterOptions): (entry: LogEntry) => any[];
6
+ export declare function createAnsiFormatter(options?: AnsiFormatterOptions): (entry: LogEntry) => any[];
7
7
  //#endregion
8
- export { AnsiFormatterOptions, createAnsiFormatter };
9
8
  //# sourceMappingURL=ansiFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ansiFormatter.d.ts","names":[],"sources":["../../ts/ansi/ansiFormatter.ts"],"mappings":";;KAkBY;EACX,WAAW;;iBAGI,oBAAoB,UAAS,wBAA4C,OAGnD"}
1
+ {"version":3,"file":"ansiFormatter.d.ts","names":[],"sources":["../../ts/ansi/ansiFormatter.ts"],"mappings":";;YAkBY;EACX,WAAW;;wBAGI,oBAAoB,UAAS,wBAA4C,OAGnD"}
@@ -1,18 +1,17 @@
1
1
  //#region ts/ansi/constants.d.ts
2
- type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
3
- declare const ANSI_BLACK = 0;
4
- declare const ANSI_RED = 1;
5
- declare const ANSI_GREEN = 2;
6
- declare const ANSI_YELLOW = 3;
7
- declare const ANSI_BLUE = 4;
8
- declare const ANSI_MAGENTA = 5;
9
- declare const ANSI_CYAN = 6;
10
- declare const ANSI_WHITE = 7;
11
- type AnsiStyle = 1 | 4;
12
- declare const ANSI_BRIGHT = 1;
13
- declare const ANSI_UNDERSCORE = 4;
14
- declare const ANSI_FOREGROUND = 30;
15
- declare const ANSI_BACKGROUND = 40;
2
+ export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
3
+ export declare const ANSI_BLACK = 0;
4
+ export declare const ANSI_RED = 1;
5
+ export declare const ANSI_GREEN = 2;
6
+ export declare const ANSI_YELLOW = 3;
7
+ export declare const ANSI_BLUE = 4;
8
+ export declare const ANSI_MAGENTA = 5;
9
+ export declare const ANSI_CYAN = 6;
10
+ export declare const ANSI_WHITE = 7;
11
+ export type AnsiStyle = 1 | 4;
12
+ export declare const ANSI_BRIGHT = 1;
13
+ export declare const ANSI_UNDERSCORE = 4;
14
+ export declare const ANSI_FOREGROUND = 30;
15
+ export declare const ANSI_BACKGROUND = 40;
16
16
  //#endregion
17
- export { ANSI_BACKGROUND, ANSI_BLACK, ANSI_BLUE, ANSI_BRIGHT, ANSI_CYAN, ANSI_FOREGROUND, ANSI_GREEN, ANSI_MAGENTA, ANSI_RED, ANSI_UNDERSCORE, ANSI_WHITE, ANSI_YELLOW, AnsiColor, AnsiStyle };
18
17
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":[],"sources":["../../ts/ansi/constants.ts"],"mappings":";KAAY;cACC;cACA;cACA;cACA;cACA;cACA;cACA;cACA;KAED;cACC;cACA;cAEA;cACA"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../ts/ansi/constants.ts"],"mappings":";YAAY;qBACC;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;YAED;qBACC;qBACA;qBAEA;qBACA"}
@@ -1,5 +1,4 @@
1
1
  //#region ts/ansi/wrapAnsi.d.ts
2
- declare function wrapAnsi(text: string, codes: number[]): string;
2
+ export declare function wrapAnsi(text: string, codes: number[]): string;
3
3
  //#endregion
4
- export { wrapAnsi };
5
4
  //# sourceMappingURL=wrapAnsi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrapAnsi.d.ts","names":[],"sources":["../../ts/ansi/wrapAnsi.ts"],"mappings":";iBAAgB,SAAS,cAAc"}
1
+ {"version":3,"file":"wrapAnsi.d.ts","names":[],"sources":["../../ts/ansi/wrapAnsi.ts"],"mappings":";wBAAgB,SAAS,cAAc"}
@@ -1,6 +1,5 @@
1
1
  import { ColorLogReporterOptions } from "./types.js";
2
2
  //#region ts/createColorLogReporter.browser.d.ts
3
- declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
3
+ export declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
4
4
  //#endregion
5
- export { createColorLogReporter };
6
5
  //# sourceMappingURL=createColorLogReporter.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createColorLogReporter.browser.d.ts","names":[],"sources":["../ts/createColorLogReporter.browser.ts"],"mappings":";;iBAKgB,uBAAuB,UAAU,iDAAuB"}
1
+ {"version":3,"file":"createColorLogReporter.browser.d.ts","names":[],"sources":["../ts/createColorLogReporter.browser.ts"],"mappings":";;wBAKgB,uBAAuB,UAAU,iDAAuB"}
@@ -1,6 +1,5 @@
1
1
  import { ColorLogReporterOptions } from "./types.js";
2
2
  //#region ts/createColorLogReporter.d.ts
3
- declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
3
+ export declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
4
4
  //#endregion
5
- export { createColorLogReporter };
6
5
  //# sourceMappingURL=createColorLogReporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createColorLogReporter.d.ts","names":[],"sources":["../ts/createColorLogReporter.ts"],"mappings":";;iBAKgB,uBAAuB,UAAU,iDAAuB"}
1
+ {"version":3,"file":"createColorLogReporter.d.ts","names":[],"sources":["../ts/createColorLogReporter.ts"],"mappings":";;wBAKgB,uBAAuB,UAAU,iDAAuB"}
@@ -1,6 +1,5 @@
1
1
  import { ColorMap } from "color-map";
2
2
  //#region ts/css/colors.d.ts
3
- declare const rainbow: ColorMap;
3
+ export declare const rainbow: ColorMap;
4
4
  //#endregion
5
- export { rainbow };
6
5
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","names":[],"sources":["../../ts/css/colors.ts"],"mappings":";;cAEa,SAAS"}
1
+ {"version":3,"file":"colors.d.ts","names":[],"sources":["../../ts/css/colors.ts"],"mappings":";;qBAEa,SAAS"}
@@ -1,7 +1,6 @@
1
1
  import { CssFormatterOptions } from "../types.js";
2
2
  import { LogEntry } from "standard-log";
3
3
  //#region ts/css/cssFormatter.d.ts
4
- declare function createCssFormatter(options?: CssFormatterOptions): (entry: LogEntry) => any[];
4
+ export declare function createCssFormatter(options?: CssFormatterOptions): (entry: LogEntry) => any[];
5
5
  //#endregion
6
- export { createCssFormatter };
7
6
  //# sourceMappingURL=cssFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cssFormatter.d.ts","names":[],"sources":["../../ts/css/cssFormatter.ts"],"mappings":";;;iBAMgB,mBAAmB,UAAU,uBAAmB,OAe3B"}
1
+ {"version":3,"file":"cssFormatter.d.ts","names":[],"sources":["../../ts/css/cssFormatter.ts"],"mappings":";;;wBAMgB,mBAAmB,UAAU,uBAAmB,OAe3B"}
@@ -5,7 +5,7 @@
5
5
  * Using the same definition for simplicity
6
6
  * @see https://github.com/chalk/supports-color/blob/main/index.d.ts#L19
7
7
  */
8
- declare enum ColorLevels {
8
+ export declare enum ColorLevels {
9
9
  DISABLED = 0,
10
10
  /**
11
11
  * Basic 16 colors (4-bits)
@@ -20,7 +20,7 @@ declare enum ColorLevels {
20
20
  */
21
21
  TRUE = 3
22
22
  }
23
- declare namespace supportColor {
23
+ export declare namespace supportColor {
24
24
  type Result = {
25
25
  stdout: ColorLevels;
26
26
  stderr: ColorLevels;
@@ -34,7 +34,6 @@ declare namespace supportColor {
34
34
  * So you only need to check one case.
35
35
  * The result value is made the same so that it can be used in all platforms.
36
36
  */
37
- declare function supportColor(): supportColor.Result;
37
+ export declare function supportColor(): supportColor.Result;
38
38
  //#endregion
39
- export { ColorLevels, supportColor };
40
39
  //# sourceMappingURL=supportColor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supportColor.d.ts","names":[],"sources":["../ts/supportColor.ts"],"mappings":";;;;;;;aAQY;EACX;;;;EAIA;;;;EAIA;;;;EAIA;;kBAGgB;OACJ;IAAW,QAAQ;IAAa,QAAQ;;;;;;;;;;;iBAarC,gBAAgB,aAAa"}
1
+ {"version":3,"file":"supportColor.d.ts","names":[],"sources":["../ts/supportColor.ts"],"mappings":";;;;;;;oBAQY;EACX;;;;EAIA;;;;EAIA;;;;EAIA;;yBAGgB;OACJ;IAAW,QAAQ;IAAa,QAAQ;;;;;;;;;;;wBAarC,gBAAgB,aAAa"}
package/cjs/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ConsoleLogReporterOptions, TimestampFormat } from "standard-log";
2
2
  //#region ts/types.d.ts
3
- type CssFormatterOptions = {
3
+ export type CssFormatterOptions = {
4
4
  /**
5
5
  * How many colors available.
6
6
  * Recommend at least 10.
@@ -22,7 +22,7 @@ type CssFormatterOptions = {
22
22
  */
23
23
  style?: string;
24
24
  };
25
- type ColorLogReporterOptions = ConsoleLogReporterOptions & {
25
+ export type ColorLogReporterOptions = ConsoleLogReporterOptions & {
26
26
  /**
27
27
  * CSS formatter options.
28
28
  * This can be used to specify the CSS formatter options in the browser,
@@ -31,5 +31,4 @@ type ColorLogReporterOptions = ConsoleLogReporterOptions & {
31
31
  cssFormatterOptions?: CssFormatterOptions;
32
32
  };
33
33
  //#endregion
34
- export { ColorLogReporterOptions, CssFormatterOptions };
35
34
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../ts/types.ts"],"mappings":";;KAEY;;;;;;EAMX;;;;;;;;;EASA,YAAY;;;;;EAKZ;;KAGW,0BAA0B;;;;;;EAMrC,sBAAsB"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../ts/types.ts"],"mappings":";;YAEY;;;;;;EAMX;;;;;;;;;EASA,YAAY;;;;;EAKZ;;YAGW,0BAA0B;;;;;;EAMrC,sBAAsB"}
@@ -233,37 +233,53 @@ function consoleFormatter({ args }) {
233
233
  return args;
234
234
  }
235
235
  //#endregion
236
- //#region ../../node_modules/.pnpm/unpartial@1.0.7/node_modules/unpartial/esm/index.js
237
- function unpartial$1(s1, s2, s3) {
236
+ //#region ../../node_modules/.pnpm/type-plus@8.0.0-beta.12_typescript@7.0.2/node_modules/type-plus/esm/object/record.js
237
+ function record(value) {
238
+ const r = Object.create(null);
239
+ return value ? Object.assign(r, value) : r;
240
+ }
241
+ //#endregion
242
+ //#region ../log/esm/platform.browser.js
243
+ const polyfill = record();
244
+ //#endregion
245
+ //#region ../../node_modules/.pnpm/unpartial@1.0.8/node_modules/unpartial/esm/index.js
246
+ function required(source1, source2, source3) {
247
+ return merge([
248
+ source1,
249
+ source2,
250
+ source3
251
+ ], (p, e) => {
252
+ return {
253
+ ...p,
254
+ ...e
255
+ };
256
+ });
257
+ }
258
+ function merge(entries, reducer) {
259
+ if (entries[0] === void 0 || entries[0] === null) return entries[0];
260
+ return entries.filter((x) => !!x).reduce(reducer, {});
261
+ }
262
+ function unpartial(s1, s2, s3) {
238
263
  if (s1 === void 0 || s1 === null) return s1;
239
264
  return [
240
265
  s1,
241
266
  s2,
242
267
  s3
243
- ].filter(notNil$1).reduce((p, s) => ({
268
+ ].filter(notNil).reduce((p, s) => ({
244
269
  ...p,
245
- ...trimNilProps$1(s)
270
+ ...trimNilProps(s)
246
271
  }), {});
247
272
  }
248
- function trimNilProps$1(value) {
273
+ function trimNilProps(value) {
249
274
  return Object.keys(value).reduce((p, k) => {
250
- if (notNil$1(value[k])) p[k] = value[k];
275
+ if (notNil(value[k])) p[k] = value[k];
251
276
  return p;
252
277
  }, {});
253
278
  }
254
- function notNil$1(value) {
279
+ function notNil(value) {
255
280
  return value !== null && value !== void 0;
256
281
  }
257
282
  //#endregion
258
- //#region ../../node_modules/.pnpm/type-plus@8.0.0-beta.10_typescript@7.0.2/node_modules/type-plus/esm/object/record.js
259
- function record(value) {
260
- const r = Object.create(null);
261
- return value ? Object.assign(r, value) : r;
262
- }
263
- //#endregion
264
- //#region ../log/esm/platform.browser.js
265
- const polyfill = record();
266
- //#endregion
267
283
  //#region ../log/esm/console.js
268
284
  function toConsoleMethod(level) {
269
285
  switch (true) {
@@ -296,7 +312,7 @@ function buildFn(name) {
296
312
  };
297
313
  }
298
314
  function createConsoleLogReporter(options) {
299
- const { id, formatter, filter } = unpartial$1({
315
+ const { id, formatter, filter } = unpartial({
300
316
  id: "console",
301
317
  formatter: consoleFormatter
302
318
  }, options);
@@ -543,44 +559,6 @@ function truecolorIDFormatter(id) {
543
559
  return basicIDFormatter(id);
544
560
  }
545
561
  //#endregion
546
- //#region ../../node_modules/.pnpm/unpartial@1.0.5/node_modules/unpartial/esm/index.js
547
- function required(source1, source2, source3) {
548
- return merge([
549
- source1,
550
- source2,
551
- source3
552
- ], (p, e) => {
553
- return {
554
- ...p,
555
- ...e
556
- };
557
- });
558
- }
559
- function merge(entries, reducer) {
560
- if (entries[0] === void 0 || entries[0] === null) return entries[0];
561
- return entries.filter((x) => !!x).reduce(reducer, {});
562
- }
563
- function unpartial(s1, s2, s3) {
564
- if (s1 === void 0 || s1 === null) return s1;
565
- return [
566
- s1,
567
- s2,
568
- s3
569
- ].filter(notNil).reduce((p, s) => ({
570
- ...p,
571
- ...trimNilProps(s)
572
- }), {});
573
- }
574
- function trimNilProps(value) {
575
- return Object.keys(value).reduce((p, k) => {
576
- if (notNil(value[k])) p[k] = value[k];
577
- return p;
578
- }, {});
579
- }
580
- function notNil(value) {
581
- return value !== null && value !== void 0;
582
- }
583
- //#endregion
584
562
  //#region ../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColors.js
585
563
  function createColors(from, to, shades, alpha = [from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1, to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1]) {
586
564
  const start = [...from];
@@ -1 +1 @@
1
- {"version":3,"file":"standard-log-color.esm.js","names":["ms","unpartial","notNil","trimNilProps","unpartial","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.7/node_modules/unpartial/esm/index.js","../../../node_modules/.pnpm/type-plus@8.0.0-beta.10_typescript@7.0.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/unpartial@1.0.5/node_modules/unpartial/esm/index.js","../../../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","//#region ts/index.ts\nfunction required(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => {\n\t\treturn {\n\t\t\t...p,\n\t\t\t...e\n\t\t};\n\t});\n}\nfunction requiredDeep(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n\tif (entries[0] === void 0 || entries[0] === null) return entries[0];\n\treturn entries.filter((x) => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n\tif (typeof source1 !== \"object\" || source1 === null) return source2 !== void 0 ? source2 : source1;\n\tif (Array.isArray(source1)) {\n\t\tif (Array.isArray(source2)) return source2;\n\t\tif (source2 === void 0) return [...source1];\n\t\treturn [...source1, source2];\n\t}\n\treturn getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n\t\tp[k] = deepmerge(source1[k], source2 && source2[k]);\n\t\treturn p;\n\t}, {});\n}\nfunction getAllKeys(subject, internal = false) {\n\tif (typeof subject !== \"object\") return [];\n\tconst propertyNames = Object.getOwnPropertyNames(subject);\n\tconst keys = internal ? propertyNames.filter((n) => n !== \"constructor\") : propertyNames;\n\tconst proto = Object.getPrototypeOf(subject);\n\treturn proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nfunction unpartial(s1, s2, s3) {\n\tif (s1 === void 0 || s1 === null) return s1;\n\treturn [\n\t\ts1,\n\t\ts2,\n\t\ts3\n\t].filter(notNil).reduce((p, s) => ({\n\t\t...p,\n\t\t...trimNilProps(s)\n\t}), {});\n}\nfunction trimNilProps(value) {\n\treturn Object.keys(value).reduce((p, k) => {\n\t\tif (notNil(value[k])) p[k] = value[k];\n\t\treturn p;\n\t}, {});\n}\nfunction notNil(value) {\n\treturn value !== null && value !== void 0;\n}\nfunction unpartialRecursively(arg1, arg2, arg3) {\n\treturn requiredDeep(arg1, arg2, arg3);\n}\n//#endregion\nexport { required, requiredDeep, unpartial, unpartialRecursively };\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 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 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,15],"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/type-plus@8.0.0-beta.12_typescript@7.0.2/node_modules/type-plus/esm/object/record.js","../../log/esm/platform.browser.js","../../../node_modules/.pnpm/unpartial@1.0.8/node_modules/unpartial/esm/index.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 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","//#region ts/index.ts\nfunction required(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => {\n\t\treturn {\n\t\t\t...p,\n\t\t\t...e\n\t\t};\n\t});\n}\nfunction requiredDeep(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n\tif (entries[0] === void 0 || entries[0] === null) return entries[0];\n\treturn entries.filter((x) => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n\tif (typeof source1 !== \"object\" || source1 === null) return source2 !== void 0 ? source2 : source1;\n\tif (Array.isArray(source1)) {\n\t\tif (Array.isArray(source2)) return source2;\n\t\tif (source2 === void 0) return [...source1];\n\t\treturn [...source1, source2];\n\t}\n\treturn getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n\t\tp[k] = deepmerge(source1[k], source2 && source2[k]);\n\t\treturn p;\n\t}, {});\n}\nfunction getAllKeys(subject, internal = false) {\n\tif (typeof subject !== \"object\") return [];\n\tconst propertyNames = Object.getOwnPropertyNames(subject);\n\tconst keys = internal ? propertyNames.filter((n) => n !== \"constructor\") : propertyNames;\n\tconst proto = Object.getPrototypeOf(subject);\n\treturn proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nfunction unpartial(s1, s2, s3) {\n\tif (s1 === void 0 || s1 === null) return s1;\n\treturn [\n\t\ts1,\n\t\ts2,\n\t\ts3\n\t].filter(notNil).reduce((p, s) => ({\n\t\t...p,\n\t\t...trimNilProps(s)\n\t}), {});\n}\nfunction trimNilProps(value) {\n\treturn Object.keys(value).reduce((p, k) => {\n\t\tif (notNil(value[k])) p[k] = value[k];\n\t\treturn p;\n\t}, {});\n}\nfunction notNil(value) {\n\treturn value !== null && value !== void 0;\n}\nfunction unpartialRecursively(arg1, arg2, arg3) {\n\treturn requiredDeep(arg1, arg2, arg3);\n}\n//#endregion\nexport { required, requiredDeep, unpartial, unpartialRecursively };\n\n//# sourceMappingURL=index.js.map","import { logLevels } from \"./log_levels.js\";\nimport { consoleFormatter } from \"./formatter.js\";\nimport { polyfill } from \"./platform.js\";\nimport { unpartial } from \"unpartial\";\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,5,7,12,13,14],"mappings":"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"}
@@ -235,37 +235,53 @@ var StandardLogColor = (function(exports) {
235
235
  return args;
236
236
  }
237
237
  //#endregion
238
- //#region ../../node_modules/.pnpm/unpartial@1.0.7/node_modules/unpartial/esm/index.js
239
- function unpartial$1(s1, s2, s3) {
238
+ //#region ../../node_modules/.pnpm/type-plus@8.0.0-beta.12_typescript@7.0.2/node_modules/type-plus/esm/object/record.js
239
+ function record(value) {
240
+ const r = Object.create(null);
241
+ return value ? Object.assign(r, value) : r;
242
+ }
243
+ //#endregion
244
+ //#region ../log/esm/platform.browser.js
245
+ const polyfill = record();
246
+ //#endregion
247
+ //#region ../../node_modules/.pnpm/unpartial@1.0.8/node_modules/unpartial/esm/index.js
248
+ function required(source1, source2, source3) {
249
+ return merge([
250
+ source1,
251
+ source2,
252
+ source3
253
+ ], (p, e) => {
254
+ return {
255
+ ...p,
256
+ ...e
257
+ };
258
+ });
259
+ }
260
+ function merge(entries, reducer) {
261
+ if (entries[0] === void 0 || entries[0] === null) return entries[0];
262
+ return entries.filter((x) => !!x).reduce(reducer, {});
263
+ }
264
+ function unpartial(s1, s2, s3) {
240
265
  if (s1 === void 0 || s1 === null) return s1;
241
266
  return [
242
267
  s1,
243
268
  s2,
244
269
  s3
245
- ].filter(notNil$1).reduce((p, s) => ({
270
+ ].filter(notNil).reduce((p, s) => ({
246
271
  ...p,
247
- ...trimNilProps$1(s)
272
+ ...trimNilProps(s)
248
273
  }), {});
249
274
  }
250
- function trimNilProps$1(value) {
275
+ function trimNilProps(value) {
251
276
  return Object.keys(value).reduce((p, k) => {
252
- if (notNil$1(value[k])) p[k] = value[k];
277
+ if (notNil(value[k])) p[k] = value[k];
253
278
  return p;
254
279
  }, {});
255
280
  }
256
- function notNil$1(value) {
281
+ function notNil(value) {
257
282
  return value !== null && value !== void 0;
258
283
  }
259
284
  //#endregion
260
- //#region ../../node_modules/.pnpm/type-plus@8.0.0-beta.10_typescript@7.0.2/node_modules/type-plus/esm/object/record.js
261
- function record(value) {
262
- const r = Object.create(null);
263
- return value ? Object.assign(r, value) : r;
264
- }
265
- //#endregion
266
- //#region ../log/esm/platform.browser.js
267
- const polyfill = record();
268
- //#endregion
269
285
  //#region ../log/esm/console.js
270
286
  function toConsoleMethod(level) {
271
287
  switch (true) {
@@ -298,7 +314,7 @@ var StandardLogColor = (function(exports) {
298
314
  };
299
315
  }
300
316
  function createConsoleLogReporter(options) {
301
- const { id, formatter, filter } = unpartial$1({
317
+ const { id, formatter, filter } = unpartial({
302
318
  id: "console",
303
319
  formatter: consoleFormatter
304
320
  }, options);
@@ -545,44 +561,6 @@ var StandardLogColor = (function(exports) {
545
561
  return basicIDFormatter(id);
546
562
  }
547
563
  //#endregion
548
- //#region ../../node_modules/.pnpm/unpartial@1.0.5/node_modules/unpartial/esm/index.js
549
- function required(source1, source2, source3) {
550
- return merge([
551
- source1,
552
- source2,
553
- source3
554
- ], (p, e) => {
555
- return {
556
- ...p,
557
- ...e
558
- };
559
- });
560
- }
561
- function merge(entries, reducer) {
562
- if (entries[0] === void 0 || entries[0] === null) return entries[0];
563
- return entries.filter((x) => !!x).reduce(reducer, {});
564
- }
565
- function unpartial(s1, s2, s3) {
566
- if (s1 === void 0 || s1 === null) return s1;
567
- return [
568
- s1,
569
- s2,
570
- s3
571
- ].filter(notNil).reduce((p, s) => ({
572
- ...p,
573
- ...trimNilProps(s)
574
- }), {});
575
- }
576
- function trimNilProps(value) {
577
- return Object.keys(value).reduce((p, k) => {
578
- if (notNil(value[k])) p[k] = value[k];
579
- return p;
580
- }, {});
581
- }
582
- function notNil(value) {
583
- return value !== null && value !== void 0;
584
- }
585
- //#endregion
586
564
  //#region ../../node_modules/.pnpm/color-map@2.0.6/node_modules/color-map/esm/createColors.js
587
565
  function createColors(from, to, shades, alpha = [from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1, to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1]) {
588
566
  const start = [...from];
@@ -1 +1 @@
1
- {"version":3,"file":"standard-log-color.iife.js","names":["ms","unpartial","notNil","trimNilProps","unpartial","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.7/node_modules/unpartial/esm/index.js","../../../node_modules/.pnpm/type-plus@8.0.0-beta.10_typescript@7.0.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/unpartial@1.0.5/node_modules/unpartial/esm/index.js","../../../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","//#region ts/index.ts\nfunction required(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => {\n\t\treturn {\n\t\t\t...p,\n\t\t\t...e\n\t\t};\n\t});\n}\nfunction requiredDeep(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n\tif (entries[0] === void 0 || entries[0] === null) return entries[0];\n\treturn entries.filter((x) => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n\tif (typeof source1 !== \"object\" || source1 === null) return source2 !== void 0 ? source2 : source1;\n\tif (Array.isArray(source1)) {\n\t\tif (Array.isArray(source2)) return source2;\n\t\tif (source2 === void 0) return [...source1];\n\t\treturn [...source1, source2];\n\t}\n\treturn getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n\t\tp[k] = deepmerge(source1[k], source2 && source2[k]);\n\t\treturn p;\n\t}, {});\n}\nfunction getAllKeys(subject, internal = false) {\n\tif (typeof subject !== \"object\") return [];\n\tconst propertyNames = Object.getOwnPropertyNames(subject);\n\tconst keys = internal ? propertyNames.filter((n) => n !== \"constructor\") : propertyNames;\n\tconst proto = Object.getPrototypeOf(subject);\n\treturn proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nfunction unpartial(s1, s2, s3) {\n\tif (s1 === void 0 || s1 === null) return s1;\n\treturn [\n\t\ts1,\n\t\ts2,\n\t\ts3\n\t].filter(notNil).reduce((p, s) => ({\n\t\t...p,\n\t\t...trimNilProps(s)\n\t}), {});\n}\nfunction trimNilProps(value) {\n\treturn Object.keys(value).reduce((p, k) => {\n\t\tif (notNil(value[k])) p[k] = value[k];\n\t\treturn p;\n\t}, {});\n}\nfunction notNil(value) {\n\treturn value !== null && value !== void 0;\n}\nfunction unpartialRecursively(arg1, arg2, arg3) {\n\treturn requiredDeep(arg1, arg2, arg3);\n}\n//#endregion\nexport { required, requiredDeep, unpartial, unpartialRecursively };\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 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 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,15],"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/type-plus@8.0.0-beta.12_typescript@7.0.2/node_modules/type-plus/esm/object/record.js","../../log/esm/platform.browser.js","../../../node_modules/.pnpm/unpartial@1.0.8/node_modules/unpartial/esm/index.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 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","//#region ts/index.ts\nfunction required(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => {\n\t\treturn {\n\t\t\t...p,\n\t\t\t...e\n\t\t};\n\t});\n}\nfunction requiredDeep(source1, source2, source3) {\n\treturn merge([\n\t\tsource1,\n\t\tsource2,\n\t\tsource3\n\t], (p, e) => deepmerge(p, e));\n}\nfunction merge(entries, reducer) {\n\tif (entries[0] === void 0 || entries[0] === null) return entries[0];\n\treturn entries.filter((x) => !!x).reduce(reducer, {});\n}\nfunction deepmerge(source1, source2) {\n\tif (typeof source1 !== \"object\" || source1 === null) return source2 !== void 0 ? source2 : source1;\n\tif (Array.isArray(source1)) {\n\t\tif (Array.isArray(source2)) return source2;\n\t\tif (source2 === void 0) return [...source1];\n\t\treturn [...source1, source2];\n\t}\n\treturn getAllKeys(source1).concat(getAllKeys(source2)).reduce((p, k) => {\n\t\tp[k] = deepmerge(source1[k], source2 && source2[k]);\n\t\treturn p;\n\t}, {});\n}\nfunction getAllKeys(subject, internal = false) {\n\tif (typeof subject !== \"object\") return [];\n\tconst propertyNames = Object.getOwnPropertyNames(subject);\n\tconst keys = internal ? propertyNames.filter((n) => n !== \"constructor\") : propertyNames;\n\tconst proto = Object.getPrototypeOf(subject);\n\treturn proto !== Object.prototype ? keys.concat(getAllKeys(proto, true)) : keys;\n}\nfunction unpartial(s1, s2, s3) {\n\tif (s1 === void 0 || s1 === null) return s1;\n\treturn [\n\t\ts1,\n\t\ts2,\n\t\ts3\n\t].filter(notNil).reduce((p, s) => ({\n\t\t...p,\n\t\t...trimNilProps(s)\n\t}), {});\n}\nfunction trimNilProps(value) {\n\treturn Object.keys(value).reduce((p, k) => {\n\t\tif (notNil(value[k])) p[k] = value[k];\n\t\treturn p;\n\t}, {});\n}\nfunction notNil(value) {\n\treturn value !== null && value !== void 0;\n}\nfunction unpartialRecursively(arg1, arg2, arg3) {\n\treturn requiredDeep(arg1, arg2, arg3);\n}\n//#endregion\nexport { required, requiredDeep, unpartial, unpartialRecursively };\n\n//# sourceMappingURL=index.js.map","import { logLevels } from \"./log_levels.js\";\nimport { consoleFormatter } from \"./formatter.js\";\nimport { polyfill } from \"./platform.js\";\nimport { unpartial } from \"unpartial\";\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,5,7,12,13,14],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { LogEntry, TimestampFormat } from "standard-log";
2
2
  //#region ts/ansi/ansiFormatter.d.ts
3
- type AnsiFormatterOptions = {
3
+ export type AnsiFormatterOptions = {
4
4
  timestamp: TimestampFormat;
5
5
  };
6
- declare function createAnsiFormatter(options?: AnsiFormatterOptions): (entry: LogEntry) => any[];
6
+ export declare function createAnsiFormatter(options?: AnsiFormatterOptions): (entry: LogEntry) => any[];
7
7
  //#endregion
8
- export { AnsiFormatterOptions, createAnsiFormatter };
9
8
  //# sourceMappingURL=ansiFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ansiFormatter.d.ts","names":[],"sources":["../../ts/ansi/ansiFormatter.ts"],"mappings":";;KAkBY;EACX,WAAW;;iBAGI,oBAAoB,UAAS,wBAA4C,OAGnD"}
1
+ {"version":3,"file":"ansiFormatter.d.ts","names":[],"sources":["../../ts/ansi/ansiFormatter.ts"],"mappings":";;YAkBY;EACX,WAAW;;wBAGI,oBAAoB,UAAS,wBAA4C,OAGnD"}
@@ -1,18 +1,17 @@
1
1
  //#region ts/ansi/constants.d.ts
2
- type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
3
- declare const ANSI_BLACK = 0;
4
- declare const ANSI_RED = 1;
5
- declare const ANSI_GREEN = 2;
6
- declare const ANSI_YELLOW = 3;
7
- declare const ANSI_BLUE = 4;
8
- declare const ANSI_MAGENTA = 5;
9
- declare const ANSI_CYAN = 6;
10
- declare const ANSI_WHITE = 7;
11
- type AnsiStyle = 1 | 4;
12
- declare const ANSI_BRIGHT = 1;
13
- declare const ANSI_UNDERSCORE = 4;
14
- declare const ANSI_FOREGROUND = 30;
15
- declare const ANSI_BACKGROUND = 40;
2
+ export type AnsiColor = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
3
+ export declare const ANSI_BLACK = 0;
4
+ export declare const ANSI_RED = 1;
5
+ export declare const ANSI_GREEN = 2;
6
+ export declare const ANSI_YELLOW = 3;
7
+ export declare const ANSI_BLUE = 4;
8
+ export declare const ANSI_MAGENTA = 5;
9
+ export declare const ANSI_CYAN = 6;
10
+ export declare const ANSI_WHITE = 7;
11
+ export type AnsiStyle = 1 | 4;
12
+ export declare const ANSI_BRIGHT = 1;
13
+ export declare const ANSI_UNDERSCORE = 4;
14
+ export declare const ANSI_FOREGROUND = 30;
15
+ export declare const ANSI_BACKGROUND = 40;
16
16
  //#endregion
17
- export { ANSI_BACKGROUND, ANSI_BLACK, ANSI_BLUE, ANSI_BRIGHT, ANSI_CYAN, ANSI_FOREGROUND, ANSI_GREEN, ANSI_MAGENTA, ANSI_RED, ANSI_UNDERSCORE, ANSI_WHITE, ANSI_YELLOW, AnsiColor, AnsiStyle };
18
17
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":[],"sources":["../../ts/ansi/constants.ts"],"mappings":";KAAY;cACC;cACA;cACA;cACA;cACA;cACA;cACA;cACA;KAED;cACC;cACA;cAEA;cACA"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../ts/ansi/constants.ts"],"mappings":";YAAY;qBACC;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;YAED;qBACC;qBACA;qBAEA;qBACA"}
@@ -1,5 +1,4 @@
1
1
  //#region ts/ansi/wrapAnsi.d.ts
2
- declare function wrapAnsi(text: string, codes: number[]): string;
2
+ export declare function wrapAnsi(text: string, codes: number[]): string;
3
3
  //#endregion
4
- export { wrapAnsi };
5
4
  //# sourceMappingURL=wrapAnsi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrapAnsi.d.ts","names":[],"sources":["../../ts/ansi/wrapAnsi.ts"],"mappings":";iBAAgB,SAAS,cAAc"}
1
+ {"version":3,"file":"wrapAnsi.d.ts","names":[],"sources":["../../ts/ansi/wrapAnsi.ts"],"mappings":";wBAAgB,SAAS,cAAc"}
@@ -1,6 +1,5 @@
1
1
  import { ColorLogReporterOptions } from "./types.js";
2
2
  //#region ts/createColorLogReporter.browser.d.ts
3
- declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
3
+ export declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
4
4
  //#endregion
5
- export { createColorLogReporter };
6
5
  //# sourceMappingURL=createColorLogReporter.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createColorLogReporter.browser.d.ts","names":[],"sources":["../ts/createColorLogReporter.browser.ts"],"mappings":";;iBAKgB,uBAAuB,UAAU,iDAAuB"}
1
+ {"version":3,"file":"createColorLogReporter.browser.d.ts","names":[],"sources":["../ts/createColorLogReporter.browser.ts"],"mappings":";;wBAKgB,uBAAuB,UAAU,iDAAuB"}
@@ -1,6 +1,5 @@
1
1
  import { ColorLogReporterOptions } from "./types.js";
2
2
  //#region ts/createColorLogReporter.d.ts
3
- declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
3
+ export declare function createColorLogReporter(options?: ColorLogReporterOptions): import("standard-log").ConsoleLogReporter;
4
4
  //#endregion
5
- export { createColorLogReporter };
6
5
  //# sourceMappingURL=createColorLogReporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createColorLogReporter.d.ts","names":[],"sources":["../ts/createColorLogReporter.ts"],"mappings":";;iBAKgB,uBAAuB,UAAU,iDAAuB"}
1
+ {"version":3,"file":"createColorLogReporter.d.ts","names":[],"sources":["../ts/createColorLogReporter.ts"],"mappings":";;wBAKgB,uBAAuB,UAAU,iDAAuB"}
@@ -1,6 +1,5 @@
1
1
  import { ColorMap } from "color-map";
2
2
  //#region ts/css/colors.d.ts
3
- declare const rainbow: ColorMap;
3
+ export declare const rainbow: ColorMap;
4
4
  //#endregion
5
- export { rainbow };
6
5
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","names":[],"sources":["../../ts/css/colors.ts"],"mappings":";;cAEa,SAAS"}
1
+ {"version":3,"file":"colors.d.ts","names":[],"sources":["../../ts/css/colors.ts"],"mappings":";;qBAEa,SAAS"}
@@ -1,7 +1,6 @@
1
1
  import { CssFormatterOptions } from "../types.js";
2
2
  import { LogEntry } from "standard-log";
3
3
  //#region ts/css/cssFormatter.d.ts
4
- declare function createCssFormatter(options?: CssFormatterOptions): (entry: LogEntry) => any[];
4
+ export declare function createCssFormatter(options?: CssFormatterOptions): (entry: LogEntry) => any[];
5
5
  //#endregion
6
- export { createCssFormatter };
7
6
  //# sourceMappingURL=cssFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cssFormatter.d.ts","names":[],"sources":["../../ts/css/cssFormatter.ts"],"mappings":";;;iBAMgB,mBAAmB,UAAU,uBAAmB,OAe3B"}
1
+ {"version":3,"file":"cssFormatter.d.ts","names":[],"sources":["../../ts/css/cssFormatter.ts"],"mappings":";;;wBAMgB,mBAAmB,UAAU,uBAAmB,OAe3B"}
@@ -5,7 +5,7 @@
5
5
  * Using the same definition for simplicity
6
6
  * @see https://github.com/chalk/supports-color/blob/main/index.d.ts#L19
7
7
  */
8
- declare enum ColorLevels {
8
+ export declare enum ColorLevels {
9
9
  DISABLED = 0,
10
10
  /**
11
11
  * Basic 16 colors (4-bits)
@@ -20,7 +20,7 @@ declare enum ColorLevels {
20
20
  */
21
21
  TRUE = 3
22
22
  }
23
- declare namespace supportColor {
23
+ export declare namespace supportColor {
24
24
  type Result = {
25
25
  stdout: ColorLevels;
26
26
  stderr: ColorLevels;
@@ -34,7 +34,6 @@ declare namespace supportColor {
34
34
  * So you only need to check one case.
35
35
  * The result value is made the same so that it can be used in all platforms.
36
36
  */
37
- declare function supportColor(): supportColor.Result;
37
+ export declare function supportColor(): supportColor.Result;
38
38
  //#endregion
39
- export { ColorLevels, supportColor };
40
39
  //# sourceMappingURL=supportColor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supportColor.d.ts","names":[],"sources":["../ts/supportColor.ts"],"mappings":";;;;;;;aAQY;EACX;;;;EAIA;;;;EAIA;;;;EAIA;;kBAGgB;OACJ;IAAW,QAAQ;IAAa,QAAQ;;;;;;;;;;;iBAarC,gBAAgB,aAAa"}
1
+ {"version":3,"file":"supportColor.d.ts","names":[],"sources":["../ts/supportColor.ts"],"mappings":";;;;;;;oBAQY;EACX;;;;EAIA;;;;EAIA;;;;EAIA;;yBAGgB;OACJ;IAAW,QAAQ;IAAa,QAAQ;;;;;;;;;;;wBAarC,gBAAgB,aAAa"}
package/esm/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ConsoleLogReporterOptions, TimestampFormat } from "standard-log";
2
2
  //#region ts/types.d.ts
3
- type CssFormatterOptions = {
3
+ export type CssFormatterOptions = {
4
4
  /**
5
5
  * How many colors available.
6
6
  * Recommend at least 10.
@@ -22,7 +22,7 @@ type CssFormatterOptions = {
22
22
  */
23
23
  style?: string;
24
24
  };
25
- type ColorLogReporterOptions = ConsoleLogReporterOptions & {
25
+ export type ColorLogReporterOptions = ConsoleLogReporterOptions & {
26
26
  /**
27
27
  * CSS formatter options.
28
28
  * This can be used to specify the CSS formatter options in the browser,
@@ -31,5 +31,4 @@ type ColorLogReporterOptions = ConsoleLogReporterOptions & {
31
31
  cssFormatterOptions?: CssFormatterOptions;
32
32
  };
33
33
  //#endregion
34
- export { ColorLogReporterOptions, CssFormatterOptions };
35
34
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../ts/types.ts"],"mappings":";;KAEY;;;;;;EAMX;;;;;;;;;EASA,YAAY;;;;;EAKZ;;KAGW,0BAA0B;;;;;;EAMrC,sBAAsB"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../ts/types.ts"],"mappings":";;YAEY;;;;;;EAMX;;;;;;;;;EASA,YAAY;;;;;EAKZ;;YAGW,0BAA0B;;;;;;EAMrC,sBAAsB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "standard-log-color",
3
- "version": "13.2.0",
3
+ "version": "13.3.1",
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": {
@@ -56,18 +56,18 @@
56
56
  "dependencies": {
57
57
  "color-map": "^2.0.6",
58
58
  "supports-color": "^8.1.1",
59
- "unpartial": "^1.0.4"
59
+ "unpartial": "^1.0.8"
60
60
  },
61
61
  "devDependencies": {
62
- "@repobuddy/vitest": "^2.1.1",
62
+ "@repobuddy/vitest": "^2.3.0",
63
63
  "@types/node": "^24.0.0",
64
64
  "@types/supports-color": "^8.1.3",
65
65
  "assertron": "^11.6.0",
66
66
  "depcheck": "^1.4.3",
67
67
  "rimraf": "^6.0.0",
68
68
  "satisfier": "^5.4.4",
69
- "standard-log": "13.2.0",
70
- "tsdown": "^0.22.14",
69
+ "standard-log": "13.3.1",
70
+ "tsdown": "^0.23.0",
71
71
  "typescript": "^7.0.2",
72
72
  "vitest": "^4.1.0"
73
73
  },