@creative-introvert/tons-of-tests 3.0.0-rc.2 → 3.0.0-rc.3

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 (80) hide show
  1. package/dist/cjs/Classify.js +17 -9
  2. package/dist/cjs/Classify.js.map +1 -1
  3. package/dist/cjs/DisplayConfig.js.map +1 -1
  4. package/dist/cjs/Test.js.map +1 -1
  5. package/dist/cjs/Test.repository.js.map +1 -1
  6. package/dist/cjs/TestValueError.js +1 -1
  7. package/dist/cjs/TestValueError.js.map +1 -1
  8. package/dist/cjs/internal/Classify.js +14 -6
  9. package/dist/cjs/internal/Classify.js.map +1 -1
  10. package/dist/cjs/internal/DisplayConfig.js +57 -1
  11. package/dist/cjs/internal/DisplayConfig.js.map +1 -1
  12. package/dist/cjs/internal/Test.js +8 -22
  13. package/dist/cjs/internal/Test.js.map +1 -1
  14. package/dist/cjs/internal/Test.serialization.js +8 -0
  15. package/dist/cjs/internal/Test.serialization.js.map +1 -1
  16. package/dist/cjs/internal/common.js +9 -8
  17. package/dist/cjs/internal/common.js.map +1 -1
  18. package/dist/cjs/internal/diff.js +28 -56
  19. package/dist/cjs/internal/diff.js.map +1 -1
  20. package/dist/cjs/internal/stats.js +23 -28
  21. package/dist/cjs/internal/stats.js.map +1 -1
  22. package/dist/cjs/internal/summarize.js +18 -11
  23. package/dist/cjs/internal/summarize.js.map +1 -1
  24. package/dist/cjs/internal/test-result-stats.js +7 -19
  25. package/dist/cjs/internal/test-result-stats.js.map +1 -1
  26. package/dist/dts/Classify.d.ts +12 -5
  27. package/dist/dts/Classify.d.ts.map +1 -1
  28. package/dist/dts/DisplayConfig.d.ts +13 -0
  29. package/dist/dts/DisplayConfig.d.ts.map +1 -1
  30. package/dist/dts/Show.d.ts +4 -2
  31. package/dist/dts/Show.d.ts.map +1 -1
  32. package/dist/dts/Test.d.ts +6 -1
  33. package/dist/dts/Test.d.ts.map +1 -1
  34. package/dist/dts/Test.repository.d.ts +4 -1
  35. package/dist/dts/Test.repository.d.ts.map +1 -1
  36. package/dist/dts/TestValueError.d.ts +1 -1
  37. package/dist/dts/TestValueError.d.ts.map +1 -1
  38. package/dist/dts/internal/Classify.d.ts +7 -11
  39. package/dist/dts/internal/Classify.d.ts.map +1 -1
  40. package/dist/dts/internal/DisplayConfig.d.ts +7 -0
  41. package/dist/dts/internal/DisplayConfig.d.ts.map +1 -1
  42. package/dist/dts/internal/Test.d.ts.map +1 -1
  43. package/dist/dts/internal/Test.repository.sqlite.d.ts +1 -1
  44. package/dist/dts/internal/Test.serialization.d.ts +2 -1
  45. package/dist/dts/internal/Test.serialization.d.ts.map +1 -1
  46. package/dist/dts/internal/common.d.ts +1 -3
  47. package/dist/dts/internal/common.d.ts.map +1 -1
  48. package/dist/dts/internal/diff.d.ts +1 -1
  49. package/dist/dts/internal/diff.d.ts.map +1 -1
  50. package/dist/dts/internal/stats.d.ts +4 -2
  51. package/dist/dts/internal/stats.d.ts.map +1 -1
  52. package/dist/dts/internal/summarize.d.ts.map +1 -1
  53. package/dist/dts/internal/test-repository-fixtures.d.ts +1 -1
  54. package/dist/dts/internal/test-result-stats.d.ts.map +1 -1
  55. package/dist/esm/Classify.js +16 -8
  56. package/dist/esm/Classify.js.map +1 -1
  57. package/dist/esm/DisplayConfig.js.map +1 -1
  58. package/dist/esm/Test.js.map +1 -1
  59. package/dist/esm/Test.repository.js.map +1 -1
  60. package/dist/esm/TestValueError.js +1 -1
  61. package/dist/esm/TestValueError.js.map +1 -1
  62. package/dist/esm/internal/Classify.js +12 -5
  63. package/dist/esm/internal/Classify.js.map +1 -1
  64. package/dist/esm/internal/DisplayConfig.js +50 -0
  65. package/dist/esm/internal/DisplayConfig.js.map +1 -1
  66. package/dist/esm/internal/Test.js +9 -23
  67. package/dist/esm/internal/Test.js.map +1 -1
  68. package/dist/esm/internal/Test.serialization.js +8 -0
  69. package/dist/esm/internal/Test.serialization.js.map +1 -1
  70. package/dist/esm/internal/common.js +8 -6
  71. package/dist/esm/internal/common.js.map +1 -1
  72. package/dist/esm/internal/diff.js +30 -58
  73. package/dist/esm/internal/diff.js.map +1 -1
  74. package/dist/esm/internal/stats.js +25 -30
  75. package/dist/esm/internal/stats.js.map +1 -1
  76. package/dist/esm/internal/summarize.js +19 -12
  77. package/dist/esm/internal/summarize.js.map +1 -1
  78. package/dist/esm/internal/test-result-stats.js +8 -20
  79. package/dist/esm/internal/test-result-stats.js.map +1 -1
  80. package/package.json +1 -1
@@ -5,78 +5,50 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.showDiff = void 0;
7
7
  var _ansiColors = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("ansi-colors"));
8
+ var _Classify = /*#__PURE__*/require("./Classify.js");
8
9
  var _common = /*#__PURE__*/require("./common.js");
9
10
  var _DisplayConfig = /*#__PURE__*/require("./DisplayConfig.js");
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const columns = [{
12
- name: 'TP',
13
- label: 'TP',
14
- make: ({
15
- diff
16
- }) => [(0, _common.colorPositive)(diff.TP)(diff.TP.toString())]
17
- }, {
18
- name: 'TN',
19
- label: 'TN',
20
- make: ({
21
- diff
22
- }) => [(0, _common.colorPositive)(diff.TN)(diff.TN.toString())]
23
- }, {
24
- name: 'FP',
25
- label: 'FP',
26
- make: ({
27
- diff
28
- }) => [(0, _common.colorNegative)(diff.FP)(diff.FP.toString())]
29
- }, {
30
- name: 'FN',
31
- label: 'FN',
32
- make: ({
33
- diff
34
- }) => [(0, _common.colorNegative)(diff.FN)(diff.FN.toString())]
35
- }, {
36
- name: 'precision',
37
- label: 'precision',
38
- make: ({
39
- diff
40
- }) => [(0, _common.colorPositive)(diff.precision)(diff.precision.toFixed(2))]
41
- }, {
42
- name: 'recall',
43
- label: 'recall',
44
- make: ({
45
- diff
46
- }) => [(0, _common.colorPositive)(diff.recall)(diff.recall.toFixed(2))]
47
- }];
48
12
  const showDiff = ({
49
13
  diff,
50
14
  displayConfig,
51
- selectColumns = ['TP', 'TN', 'FP', 'FN', 'precision', 'recall']
15
+ selectColumns
52
16
  }) => {
53
17
  const cfg = {
54
18
  ...(0, _DisplayConfig.makeDefault)(),
55
19
  ...displayConfig
56
20
  };
57
- const _columns = columns.filter(c => selectColumns.includes(c.name));
58
- const _display = {
59
- precision: diff.precision.toFixed(2),
60
- recall: diff.recall.toFixed(2)
61
- };
62
- const row = _columns.map(({
21
+ const selected = selectColumns ?? [...(0, _DisplayConfig.countLabels)([diff.counts]).map(label => `count:${label}`), 'precision', 'recall'];
22
+ const metrics = selected.filter(name => name === 'precision' || name === 'recall');
23
+ const columns = selected.map(name => {
24
+ if (name === 'precision' || name === 'recall') {
25
+ return {
26
+ name,
27
+ label: name,
28
+ make: ({
29
+ diff
30
+ }) => [(0, _common.colorPositive)(diff[name])(diff[name].toFixed(2))]
31
+ };
32
+ }
33
+ const label = name.slice(6);
34
+ return {
35
+ name,
36
+ label: (0, _DisplayConfig.countHeader)(label, metrics),
37
+ make: ({
38
+ diff
39
+ }) => [(0, _DisplayConfig.showCountDiff)(cfg, label, (0, _Classify.count)(diff.counts, label))]
40
+ };
41
+ });
42
+ if (columns.length === 0) return '';
43
+ const row = columns.map(({
63
44
  label,
64
45
  make
65
46
  }) => [label, make({
66
47
  diff
67
48
  })]);
68
- const columnWidths = _columns.map((m, i) => Math.max(m.label.length, ...row[i][1].map(s => _ansiColors.default.unstyle(s).length)));
69
- const header = (0, _common.showHeader)(cfg, columnWidths, _columns);
70
- let s = '';
71
- s += (0, _common.showTitle)(cfg, columnWidths, _ansiColors.default.bold('DIFF'));
72
- s += header;
73
- s += (0, _common.showBorder)(cfg, columnWidths, 'middle');
74
- const height = row[0][1].length;
75
- s += (0, _common.showRow)(cfg, row, columnWidths, height);
76
- s += (0, _common.showBorder)(cfg, columnWidths, 'middle');
77
- s += header;
78
- s += (0, _common.showBorder)(cfg, columnWidths, 'bottom');
79
- return s;
49
+ const widths = columns.map((column, i) => Math.max(column.label.length, _ansiColors.default.unstyle(row[i][1][0]).length));
50
+ const header = (0, _common.showHeader)(cfg, widths, columns);
51
+ return (0, _common.showTitle)(cfg, widths, _ansiColors.default.bold('DIFF')) + header + (0, _common.showBorder)(cfg, widths, 'middle') + (0, _common.showRow)(cfg, row, widths, 1) + (0, _common.showBorder)(cfg, widths, 'middle') + header + (0, _common.showBorder)(cfg, widths, 'bottom');
80
52
  };
81
53
  exports.showDiff = showDiff;
82
54
  //# sourceMappingURL=diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","names":["_ansiColors","_interopRequireDefault","require","_common","_DisplayConfig","e","__esModule","default","columns","name","label","make","diff","colorPositive","TP","toString","TN","colorNegative","FP","FN","precision","toFixed","recall","showDiff","displayConfig","selectColumns","cfg","makeDefault","_columns","filter","c","includes","_display","row","map","columnWidths","m","i","Math","max","length","s","colors","unstyle","header","showHeader","showTitle","bold","showBorder","height","showRow","exports"],"sources":["../../../src/internal/diff.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"diff.js","names":["_ansiColors","_interopRequireDefault","require","_Classify","_common","_DisplayConfig","e","__esModule","default","showDiff","diff","displayConfig","selectColumns","cfg","makeDefault","selected","countLabels","counts","map","label","metrics","filter","name","columns","make","colorPositive","toFixed","slice","countHeader","showCountDiff","count","length","row","widths","column","i","Math","max","colors","unstyle","header","showHeader","showTitle","bold","showBorder","showRow","exports"],"sources":["../../../src/internal/diff.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.showStats = exports.showRunSummaries = void 0;
7
7
  var _ansiColors = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("ansi-colors"));
8
8
  var _effect = /*#__PURE__*/require("effect");
9
9
  var _common = /*#__PURE__*/require("./common.js");
10
+ var _Classify = /*#__PURE__*/require("./Classify.js");
10
11
  var _DisplayConfig = /*#__PURE__*/require("./DisplayConfig.js");
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
13
  const columns = [{
@@ -21,30 +22,6 @@ const columns = [{
21
22
  make: ({
22
23
  stats
23
24
  }) => [stats.total.toString()]
24
- }, {
25
- name: 'TP',
26
- label: 'TP',
27
- make: ({
28
- stats
29
- }) => [(0, _common.colorPositive)(stats.TP)(stats.TP.toString())]
30
- }, {
31
- name: 'TN',
32
- label: 'TN',
33
- make: ({
34
- stats
35
- }) => [(0, _common.colorPositive)(stats.TN)(stats.TN.toString())]
36
- }, {
37
- name: 'FP',
38
- label: 'FP',
39
- make: ({
40
- stats
41
- }) => [(0, _common.colorNegative)(stats.FP)(stats.FP.toString())]
42
- }, {
43
- name: 'FN',
44
- label: 'FN',
45
- make: ({
46
- stats
47
- }) => [(0, _common.colorNegative)(stats.FN)(stats.FN.toString())]
48
25
  }, {
49
26
  name: 'precision',
50
27
  label: 'precision',
@@ -96,14 +73,30 @@ const columns = [{
96
73
  }];
97
74
  const showStats = ({
98
75
  testRun,
76
+ previousStats,
99
77
  displayConfig,
100
- selectColumns = ['testCases', 'total', 'TP', 'TN', 'FP', 'FN', 'precision', 'recall', 'timeMean', 'timeMedian']
78
+ selectColumns
101
79
  }) => {
102
80
  const cfg = {
103
81
  ...(0, _DisplayConfig.makeDefault)(),
104
82
  ...displayConfig
105
83
  };
106
- const _columns = columns.filter(c => selectColumns.includes(c.name));
84
+ const selected = selectColumns ?? ['testCases', 'total', ...(0, _DisplayConfig.countLabels)([testRun.stats.counts, ...(previousStats === undefined ? [] : [previousStats.counts])]).map(label => `count:${label}`), 'precision', 'recall', 'timeMean', 'timeMedian'];
85
+ const metricHeaders = columns.filter(column => selected.includes(column.name)).map(column => column.label);
86
+ const _columns = selected.flatMap(name => {
87
+ if (name.startsWith('count:')) {
88
+ const label = name.slice(6);
89
+ return [{
90
+ name,
91
+ label: (0, _DisplayConfig.countHeader)(label, metricHeaders),
92
+ make: ({
93
+ stats
94
+ }) => [(0, _DisplayConfig.showCount)(cfg, label, (0, _Classify.count)(stats.counts, label))]
95
+ }];
96
+ }
97
+ return columns.filter(column => column.name === name);
98
+ });
99
+ if (_columns.length === 0) return '';
107
100
  const row = _columns.map(({
108
101
  label,
109
102
  make
@@ -133,13 +126,15 @@ const showRunSummaries = ({
133
126
  ...(0, _DisplayConfig.makeDefault)(),
134
127
  ...displayConfig
135
128
  };
136
- const labels = ['suite', 'variant', 'run', 'source', 'status', 'cases', 'results', 'precision', 'recall', 'mean time'];
129
+ const categories = (0, _DisplayConfig.countLabels)(summaries.flatMap(summary => _effect.Option.isSome(summary.stats) ? [summary.stats.value.counts] : []));
130
+ const metricHeaders = ['suite', 'variant', 'run', 'source', 'status', 'cases', 'results', 'precision', 'recall', 'mean time'];
131
+ const labels = ['suite', 'variant', 'run', 'source', 'status', 'cases', 'results', ...categories.map(label => (0, _DisplayConfig.countHeader)(label, metricHeaders)), 'precision', 'recall', 'mean time'];
137
132
  const rows = summaries.map(summary => {
138
133
  const stats = _effect.Option.getOrUndefined(summary.stats);
139
134
  const fields = [summary.name, summary.variant, _effect.Option.match(summary.run, {
140
135
  onNone: () => '-',
141
136
  onSome: run => run.store === 'snapshot' ? `run:${run.id}` : '-'
142
- }), summary.source, [...(summary.retired ? ['retired'] : []), ...(_effect.Option.isNone(summary.run) ? ['no baseline'] : [])].join(', '), stats === undefined ? '-' : String(stats.testCases), stats === undefined ? '-' : String(stats.total), stats === undefined ? '-' : stats.precision.toFixed(2), stats === undefined ? '-' : stats.recall.toFixed(2), stats === undefined ? '-' : _effect.Option.match(stats.timeMean, {
137
+ }), summary.source, [...(summary.retired ? ['retired'] : []), ...(_effect.Option.isNone(summary.run) ? ['no baseline'] : [])].join(', '), stats === undefined ? '-' : String(stats.testCases), stats === undefined ? '-' : String(stats.total), ...categories.map(label => stats === undefined ? '-' : (0, _DisplayConfig.showCount)(cfg, label, (0, _Classify.count)(stats.counts, label))), stats === undefined ? '-' : stats.precision.toFixed(2), stats === undefined ? '-' : stats.recall.toFixed(2), stats === undefined ? '-' : _effect.Option.match(stats.timeMean, {
143
138
  onNone: () => '-',
144
139
  onSome: time => `${time.toFixed(2)}ms`
145
140
  })];
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_common","_DisplayConfig","e","__esModule","default","columns","name","label","make","stats","testCases","toString","total","colorPositive","TP","TN","colorNegative","FP","FN","precision","toFixed","recall","timeMin","pipe","Option","match","onSome","n","onNone","timeMax","timeMean","timeMedian","showStats","testRun","displayConfig","selectColumns","cfg","makeDefault","_columns","filter","c","includes","row","map","columnWidths","m","i","Math","max","length","s","colors","unstyle","header","showHeader","showTitle","bold","showBorder","height","showRow","exports","showRunSummaries","summaries","labels","rows","summary","getOrUndefined","fields","variant","run","store","id","source","retired","isNone","join","undefined","String","time","field","index","widths","reduce","width"],"sources":["../../../src/internal/stats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"stats.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_common","_Classify","_DisplayConfig","e","__esModule","default","columns","name","label","make","stats","testCases","toString","total","precision","toFixed","recall","timeMin","pipe","Option","match","onSome","n","onNone","timeMax","timeMean","timeMedian","showStats","testRun","previousStats","displayConfig","selectColumns","cfg","makeDefault","selected","countLabels","counts","undefined","map","metricHeaders","filter","column","includes","_columns","flatMap","startsWith","slice","countHeader","showCount","count","length","row","columnWidths","m","i","Math","max","s","colors","unstyle","header","showHeader","showTitle","bold","showBorder","height","showRow","exports","showRunSummaries","summaries","categories","summary","isSome","value","labels","rows","getOrUndefined","fields","variant","run","store","id","source","retired","isNone","join","String","time","field","index","widths","reduce","width"],"sources":["../../../src/internal/stats.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,gBAAAC,sBAAA,cAAAC,OAAA;AACA,IAAAC,OAAA,gBAAAD,OAAA;AAOA,IAAAE,OAAA,gBAAAF,OAAA;AACA,IAAAG,SAAA,gBAAAH,OAAA;AACA,IAAAI,cAAA,gBAAAJ,OAAA;AAK4B,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5B,MAAMG,OAAO,GAAkB,CAC3B;EACIC,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAACA,KAAK,CAACC,SAAS,CAACC,QAAQ,EAAE;CAC/D,EACD;EACIL,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAACA,KAAK,CAACG,KAAK,CAACD,QAAQ,EAAE;CAC3D,EACD;EACIL,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAACA,KAAK,CAACI,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC;CAC/D,EACD;EACIR,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAACA,KAAK,CAACM,MAAM,CAACD,OAAO,CAAC,CAAC,CAAC;CAC5D,EACD;EACIR,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAC7BA,KAAK,CAACO,OAAO,CAACC,IAAI,CACdC,cAAM,CAACC,KAAK,CAAC;IACTC,MAAM,EAAEC,CAAC,IAAI,GAAGA,CAAC,CAACP,OAAO,CAAC,CAAC,CAAC,IAAI;IAChCQ,MAAM,EAAEA,CAAA,KAAM;GACjB,CAAC,CACL;CAER,EACD;EACIhB,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAC7BA,KAAK,CAACc,OAAO,CAACN,IAAI,CACdC,cAAM,CAACC,KAAK,CAAC;IACTC,MAAM,EAAEC,CAAC,IAAI,GAAGA,CAAC,CAACP,OAAO,CAAC,CAAC,CAAC,IAAI;IAChCQ,MAAM,EAAEA,CAAA,KAAM;GACjB,CAAC,CACL;CAER,EACD;EACIhB,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAC7BA,KAAK,CAACe,QAAQ,CAACP,IAAI,CACfC,cAAM,CAACC,KAAK,CAAC;IACTC,MAAM,EAAEC,CAAC,IAAI,GAAGA,CAAC,CAACP,OAAO,CAAC,CAAC,CAAC,IAAI;IAChCQ,MAAM,EAAEA,CAAA,KAAM;GACjB,CAAC,CACL;CAER,EACD;EACIhB,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAEA,CAAC;IAACC;EAAK,CAAe,KAAK,CAC7BA,KAAK,CAACgB,UAAU,CAACR,IAAI,CACjBC,cAAM,CAACC,KAAK,CAAC;IACTC,MAAM,EAAEC,CAAC,IAAI,GAAGA,CAAC,CAACP,OAAO,CAAC,CAAC,CAAC,IAAI;IAChCQ,MAAM,EAAEA,CAAA,KAAM;GACjB,CAAC,CACL;CAER,CACJ;AAEM,MAAMI,SAAS,GAAGA,CAAU;EAC/BC,OAAO;EACPC,aAAa;EACbC,aAAa;EACbC;AAAa,CAOhB,KAAY;EACT,MAAMC,GAAG,GAAG;IAAC,GAAG,IAAAC,0BAAW,GAAE;IAAE,GAAGH;EAAa,CAAC;EAEhD,MAAMI,QAAQ,GAAuBH,aAAa,IAAI,CAClD,WAAW,EACX,OAAO,EACP,GAAG,IAAAI,0BAAW,EAAC,CACXP,OAAO,CAAClB,KAAK,CAAC0B,MAAM,EACpB,IAAIP,aAAa,KAAKQ,SAAS,GAAG,EAAE,GAAG,CAACR,aAAa,CAACO,MAAM,CAAC,CAAC,CACjE,CAAC,CAACE,GAAG,CAAE9B,KAAK,IAAuB,SAASA,KAAK,EAAE,CAAC,EACrD,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,CACf;EACD,MAAM+B,aAAa,GAAGjC,OAAO,CACxBkC,MAAM,CAACC,MAAM,IAAIP,QAAQ,CAACQ,QAAQ,CAACD,MAAM,CAAClC,IAAI,CAAC,CAAC,CAChD+B,GAAG,CAACG,MAAM,IAAIA,MAAM,CAACjC,KAAK,CAAC;EAChC,MAAMmC,QAAQ,GAAGT,QAAQ,CAACU,OAAO,CAAErC,IAAI,IAAmB;IACtD,IAAIA,IAAI,CAACsC,UAAU,CAAC,QAAQ,CAAC,EAAE;MAC3B,MAAMrC,KAAK,GAAGD,IAAI,CAACuC,KAAK,CAAC,CAAC,CAAC;MAC3B,OAAO,CACH;QACIvC,IAAI;QACJC,KAAK,EAAE,IAAAuC,0BAAW,EAACvC,KAAK,EAAE+B,aAAa,CAAC;QACxC9B,IAAI,EAAEA,CAAC;UAACC;QAAK,CAAC,KAAK,CACf,IAAAsC,wBAAS,EAAChB,GAAG,EAAExB,KAAK,EAAE,IAAAyC,eAAK,EAACvC,KAAK,CAAC0B,MAAM,EAAE5B,KAAK,CAAC,CAAC;OAExD,CACJ;IACL;IACA,OAAOF,OAAO,CAACkC,MAAM,CAACC,MAAM,IAAIA,MAAM,CAAClC,IAAI,KAAKA,IAAI,CAAC;EACzD,CAAC,CAAC;EACF,IAAIoC,QAAQ,CAACO,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEpC,MAAMC,GAAG,GAAyBR,QAAQ,CAACL,GAAG,CAAC,CAAC;IAAC9B,KAAK;IAAEC;EAAI,CAAC,KAAK,CAC9DD,KAAK,EACLC,IAAI,CAAC;IAACC,KAAK,EAAEkB,OAAO,CAAClB;EAAK,CAAC,CAAC,CAC/B,CAAC;EAEF,MAAM0C,YAAY,GAAGT,QAAQ,CAACL,GAAG,CAAC,CAACe,CAAC,EAAEC,CAAC,KACnCC,IAAI,CAACC,GAAG,CACJH,CAAC,CAAC7C,KAAK,CAAC0C,MAAM,EACd,GAAGC,GAAG,CAACG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAChB,GAAG,CAACmB,CAAC,IAAIC,mBAAM,CAACC,OAAO,CAACF,CAAC,CAAC,CAACP,MAAM,CAAC,CAClD,CACJ;EAED,MAAMU,MAAM,GAAG,IAAAC,kBAAU,EAAC7B,GAAG,EAAEoB,YAAY,EAAET,QAAQ,CAAC;EACtD,IAAIc,CAAC,GAAG,EAAE;EACVA,CAAC,IAAI,IAAAK,iBAAS,EAAC9B,GAAG,EAAEoB,YAAY,EAAEM,mBAAM,CAACK,IAAI,CAAC,OAAO,CAAC,CAAC;EACvDN,CAAC,IAAIG,MAAM;EACXH,CAAC,IAAI,IAAAO,kBAAU,EAAChC,GAAG,EAAEoB,YAAY,EAAE,QAAQ,CAAC;EAE5C,MAAMa,MAAM,GAAGd,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACD,MAAM;EAC/BO,CAAC,IAAI,IAAAS,eAAO,EAAClC,GAAG,EAAEmB,GAAG,EAAEC,YAAY,EAAEa,MAAM,CAAC;EAE5CR,CAAC,IAAI,IAAAO,kBAAU,EAAChC,GAAG,EAAEoB,YAAY,EAAE,QAAQ,CAAC;EAE5CK,CAAC,IAAIG,MAAM;EACXH,CAAC,IAAI,IAAAO,kBAAU,EAAChC,GAAG,EAAEoB,YAAY,EAAE,QAAQ,CAAC;EAE5C,OAAOK,CAAC;AACZ,CAAC;AAED;AAAAU,OAAA,CAAAxC,SAAA,GAAAA,SAAA;AACO,MAAMyC,gBAAgB,GAAGA,CAAC;EAC7BC,SAAS;EACTvC;AAAa,CAWhB,KAAY;EACT,MAAME,GAAG,GAAG;IAAC,GAAG,IAAAC,0BAAW,GAAE;IAAE,GAAGH;EAAa,CAAC;EAChD,MAAMwC,UAAU,GAAG,IAAAnC,0BAAW,EAC1BkC,SAAS,CAACzB,OAAO,CAAC2B,OAAO,IACrBpD,cAAM,CAACqD,MAAM,CAACD,OAAO,CAAC7D,KAAK,CAAC,GAAG,CAAC6D,OAAO,CAAC7D,KAAK,CAAC+D,KAAK,CAACrC,MAAM,CAAC,GAAG,EAAE,CACnE,CACJ;EACD,MAAMG,aAAa,GAAG,CAClB,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,CACd;EACD,MAAMmC,MAAM,GAAG,CACX,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,GAAGJ,UAAU,CAAChC,GAAG,CAAC9B,KAAK,IAAI,IAAAuC,0BAAW,EAACvC,KAAK,EAAE+B,aAAa,CAAC,CAAC,EAC7D,WAAW,EACX,QAAQ,EACR,WAAW,CACd;EACD,MAAMoC,IAAI,GAAGN,SAAS,CAAC/B,GAAG,CAACiC,OAAO,IAAG;IACjC,MAAM7D,KAAK,GAAGS,cAAM,CAACyD,cAAc,CAACL,OAAO,CAAC7D,KAAK,CAAC;IAClD,MAAMmE,MAAM,GAAG,CACXN,OAAO,CAAChE,IAAI,EACZgE,OAAO,CAACO,OAAO,EACf3D,cAAM,CAACC,KAAK,CAACmD,OAAO,CAACQ,GAAG,EAAE;MACtBxD,MAAM,EAAEA,CAAA,KAAM,GAAG;MACjBF,MAAM,EAAE0D,GAAG,IACPA,GAAG,CAACC,KAAK,KAAK,UAAU,GAAG,OAAOD,GAAG,CAACE,EAAE,EAAE,GAAG;KACpD,CAAC,EACFV,OAAO,CAACW,MAAM,EACd,CACI,IAAIX,OAAO,CAACY,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EACvC,IAAIhE,cAAM,CAACiE,MAAM,CAACb,OAAO,CAACQ,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CACzD,CAACM,IAAI,CAAC,IAAI,CAAC,EACZ3E,KAAK,KAAK2B,SAAS,GAAG,GAAG,GAAGiD,MAAM,CAAC5E,KAAK,CAACC,SAAS,CAAC,EACnDD,KAAK,KAAK2B,SAAS,GAAG,GAAG,GAAGiD,MAAM,CAAC5E,KAAK,CAACG,KAAK,CAAC,EAC/C,GAAGyD,UAAU,CAAChC,GAAG,CAAC9B,KAAK,IACnBE,KAAK,KAAK2B,SAAS,GACb,GAAG,GACH,IAAAW,wBAAS,EAAChB,GAAG,EAAExB,KAAK,EAAE,IAAAyC,eAAK,EAACvC,KAAK,CAAC0B,MAAM,EAAE5B,KAAK,CAAC,CAAC,CAC1D,EACDE,KAAK,KAAK2B,SAAS,GAAG,GAAG,GAAG3B,KAAK,CAACI,SAAS,CAACC,OAAO,CAAC,CAAC,CAAC,EACtDL,KAAK,KAAK2B,SAAS,GAAG,GAAG,GAAG3B,KAAK,CAACM,MAAM,CAACD,OAAO,CAAC,CAAC,CAAC,EACnDL,KAAK,KAAK2B,SAAS,GACb,GAAG,GACHlB,cAAM,CAACC,KAAK,CAACV,KAAK,CAACe,QAAQ,EAAE;MACzBF,MAAM,EAAEA,CAAA,KAAM,GAAG;MACjBF,MAAM,EAAEkE,IAAI,IAAI,GAAGA,IAAI,CAACxE,OAAO,CAAC,CAAC,CAAC;KACrC,CAAC,CACX;IACD,OAAO8D,MAAM,CAACvC,GAAG,CAAC,CAACkD,KAAK,EAAEC,KAAK,KAAyB,CACpDf,MAAM,CAACe,KAAK,CAAC,EACb,CAACD,KAAK,CAAC,CACV,CAAC;EACN,CAAC,CAAC;EACF,MAAME,MAAM,GAAGhB,MAAM,CAACpC,GAAG,CAAC,CAAC9B,KAAK,EAAEiF,KAAK,KACnCd,IAAI,CAACgB,MAAM,CACP,CAACC,KAAK,EAAEzC,GAAG,KACPI,IAAI,CAACC,GAAG,CAACoC,KAAK,EAAElC,mBAAM,CAACC,OAAO,CAACR,GAAG,CAACsC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACvC,MAAM,CAAC,EAC5D1C,KAAK,CAAC0C,MAAM,CACf,CACJ;EACD,MAAMU,MAAM,GAAG,IAAAC,kBAAU,EACrB7B,GAAG,EACH0D,MAAM,EACNhB,MAAM,CAACpC,GAAG,CAAC9B,KAAK,KAAK;IAACA;EAAK,CAAC,CAAC,CAAC,CACjC;EACD,OACI,IAAAsD,iBAAS,EAAC9B,GAAG,EAAE0D,MAAM,EAAEhC,mBAAM,CAACK,IAAI,CAAC,gBAAgB,CAAC,CAAC,GACrDH,MAAM,GACN,IAAAI,kBAAU,EAAChC,GAAG,EAAE0D,MAAM,EAAE,QAAQ,CAAC,GACjCf,IAAI,CAACrC,GAAG,CAACa,GAAG,IAAI,IAAAe,eAAO,EAAClC,GAAG,EAAEmB,GAAG,EAAEuC,MAAM,EAAE,CAAC,CAAC,CAAC,CAACL,IAAI,CAAC,EAAE,CAAC,GACtD,IAAArB,kBAAU,EAAChC,GAAG,EAAE0D,MAAM,EAAE,QAAQ,CAAC;AAEzC,CAAC;AAACvB,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -69,13 +69,9 @@ const columns = [{
69
69
  label: 'label',
70
70
  make: ({
71
71
  testResult,
72
- previousTestResult
73
- }) => {
74
- const hasPrevious = _effect.Option.isSome(previousTestResult);
75
- const label = testResult.label;
76
- const color = label === 'TP' || label === 'TN' ? hasPrevious ? _ansiColors.default.green : _ansiColors.default.blue : hasPrevious ? _ansiColors.default.red : _ansiColors.default.yellow;
77
- return [color(label)];
78
- }
72
+ previousTestResult,
73
+ displayConfig
74
+ }) => [(0, _DisplayConfig.showLabel)(displayConfig, testResult.label, _effect.Option.isNone(previousTestResult))]
79
75
  }, {
80
76
  name: 'result',
81
77
  label: 'result',
@@ -92,11 +88,12 @@ const columns = [{
92
88
  name: 'prev_label',
93
89
  label: 'label₋₁',
94
90
  make: ({
95
- previousTestResult
91
+ previousTestResult,
92
+ displayConfig
96
93
  }) => {
97
94
  const label = _effect.Option.match(previousTestResult, {
98
95
  onNone: () => '',
99
- onSome: _ => _.label === 'TP' || _.label === 'TN' ? _ansiColors.default.green(_.label) : _ansiColors.default.red(_.label)
96
+ onSome: result => (0, _DisplayConfig.showLabel)(displayConfig, result.label)
100
97
  });
101
98
  return [label];
102
99
  }
@@ -155,6 +152,7 @@ const showSummary = exports.showSummary = /*#__PURE__*/_effect.Effect.fnUntraced
155
152
  const row = makeRow(_columns, {
156
153
  i,
157
154
  resultCount: resultKeys.length,
155
+ displayConfig: cfg,
158
156
  testResult,
159
157
  previousTestResult
160
158
  });
@@ -192,6 +190,10 @@ const prepareSummary = exports.prepareSummary = /*#__PURE__*/_effect.Effect.fnUn
192
190
  selectColumns = defaultColumns
193
191
  }) {
194
192
  const codec = (0, _TestSerialization.makeResultCodec)(schemas, suite);
193
+ const cfg = {
194
+ ...(0, _DisplayConfig.makeDefault)(),
195
+ ...displayConfig
196
+ };
195
197
  const selected = columns.filter(column => selectColumns.includes(column.name)).filter(column => !column.name.startsWith('prev_') || hasPrevious);
196
198
  const rows = results.pipe(_effect.Stream.zipWithIndex, _effect.Stream.mapEffect(_effect.Effect.fnUntraced(function* ([context, i]) {
197
199
  const testResult = yield* codec.encode(context.testResult);
@@ -200,7 +202,8 @@ const prepareSummary = exports.prepareSummary = /*#__PURE__*/_effect.Effect.fnUn
200
202
  testResult,
201
203
  previousTestResult,
202
204
  i,
203
- resultCount: 0
205
+ resultCount: 0,
206
+ displayConfig: cfg
204
207
  });
205
208
  })));
206
209
  return yield* prepareTable(rows, {
@@ -221,6 +224,10 @@ const prepareComparison = exports.prepareComparison = /*#__PURE__*/_effect.Effec
221
224
  schemas,
222
225
  displayConfig
223
226
  }) {
227
+ const cfg = {
228
+ ...(0, _DisplayConfig.makeDefault)(),
229
+ ...displayConfig
230
+ };
224
231
  const fromCodec = _effect.Option.map(from, run => (0, _TestSerialization.makeResultCodec)(schemas, run.name));
225
232
  const toCodec = (0, _TestSerialization.makeResultCodec)(schemas, to.name);
226
233
  const labels = ['#/∑', 'change', 'key', 'input', 'from label', 'from expected', 'from result', 'to label', 'to expected', 'to result'];
@@ -228,7 +235,7 @@ const prepareComparison = exports.prepareComparison = /*#__PURE__*/_effect.Effec
228
235
  const before = comparison._tag === 'OnlyTo' ? undefined : yield* _effect.Option.getOrThrow(fromCodec).encode(comparison.from);
229
236
  const after = comparison._tag === 'OnlyFrom' ? undefined : yield* toCodec.encode(comparison.to);
230
237
  const result = comparison._tag === 'OnlyFrom' ? comparison.from : comparison.to;
231
- const fields = ['', comparison._tag === 'OnlyFrom' ? 'removed' : comparison._tag === 'OnlyTo' ? 'added' : comparison.changed ? 'changed' : 'unchanged', result.key, JSON.stringify(after === undefined ? before?.input : after.input, null, 2), before?.label ?? '-', before === undefined ? '-' : JSON.stringify(before.expected, null, 2), before === undefined ? '-' : JSON.stringify(before.result, null, 2), after?.label ?? '-', after === undefined ? '-' : JSON.stringify(after.expected, null, 2), after === undefined ? '-' : JSON.stringify(after.result, null, 2)];
238
+ const fields = ['', comparison._tag === 'OnlyFrom' ? 'removed' : comparison._tag === 'OnlyTo' ? 'added' : comparison.changed ? 'changed' : 'unchanged', result.key, JSON.stringify(after === undefined ? before?.input : after.input, null, 2), before === undefined ? '-' : (0, _DisplayConfig.showLabel)(cfg, before.label), before === undefined ? '-' : JSON.stringify(before.expected, null, 2), before === undefined ? '-' : JSON.stringify(before.result, null, 2), after === undefined ? '-' : (0, _DisplayConfig.showLabel)(cfg, after.label), after === undefined ? '-' : JSON.stringify(after.expected, null, 2), after === undefined ? '-' : JSON.stringify(after.result, null, 2)];
232
239
  return fields.map((value, index) => [labels[index], value.split('\n')]);
233
240
  })));
234
241
  const identity = run => `${run.name} / ${run.variant} / ${run.store === 'snapshot' ? `run:${run.id}` : 'cached attempt'}`;
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_TestSerialization","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","resultCount","colors","dim","testResult","previousTestResult","color","Option","isNone","green","white","hash","hashTestCase","slice","key","timeMillis","toFixed","tags","JSON","stringify","input","split","expected","hasPrevious","isSome","blue","red","yellow","result","formatDiff","diff","match","onNone","onSome","_","pipe","map","getOrElse","defaultColumns","makeRow","selected","context","row","height","reduce","values","Math","max","length","push","A","makeBy","measureRow","widths","width","index","value","unstyle","showSummary","exports","Effect","fnUntraced","testRun","schemas","displayConfig","previousTestRun","none","selectColumns","codec","makeResultCodec","cfg","makeDefault","resultKeys","testResultKeys","_columns","filter","c","includes","startsWith","columnWidths","m","rows","encode","testResultsByKey","previous","flatMap","Record","get","some","header","showHeader","s","showTitle","bold","showBorder","showRow","decodeRow","Schema","decodeUnknownEffect","fromJsonString","Array","Tuple","String","prepareSummary","results","suite","column","Stream","zipWithIndex","mapEffect","prepareTable","title","indexColumn","findIndex","prepareComparison","comparisons","from","to","fromCodec","run","toCodec","labels","comparison","before","_tag","undefined","getOrThrow","after","fields","changed","identity","variant","store","id","table","chunks","concat","formattedRows","fs","FileSystem","path","makeTempFileScoped","prefix","suffix","count","padded","encodeText","sink","start","end","stream","decodeText","splitLines","line","numbered"],"sources":["../../../src/internal/summarize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_TestSerialization","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","resultCount","colors","dim","testResult","previousTestResult","color","Option","isNone","green","white","hash","hashTestCase","slice","key","timeMillis","toFixed","tags","JSON","stringify","input","split","expected","displayConfig","showLabel","result","formatDiff","diff","match","onNone","onSome","pipe","map","_","getOrElse","defaultColumns","makeRow","selected","context","row","height","reduce","values","Math","max","length","push","A","makeBy","measureRow","widths","width","index","value","unstyle","showSummary","exports","Effect","fnUntraced","testRun","schemas","previousTestRun","none","selectColumns","codec","makeResultCodec","cfg","makeDefault","resultKeys","testResultKeys","_columns","filter","c","includes","startsWith","isSome","columnWidths","m","rows","encode","testResultsByKey","previous","flatMap","Record","get","some","header","showHeader","s","showTitle","bold","showBorder","showRow","decodeRow","Schema","decodeUnknownEffect","fromJsonString","Array","Tuple","String","prepareSummary","results","suite","hasPrevious","column","Stream","zipWithIndex","mapEffect","prepareTable","title","indexColumn","findIndex","prepareComparison","comparisons","from","to","fromCodec","run","toCodec","labels","comparison","before","_tag","undefined","getOrThrow","after","fields","changed","identity","variant","store","id","table","chunks","concat","formattedRows","fs","FileSystem","path","makeTempFileScoped","prefix","suffix","count","padded","encodeText","sink","start","end","stream","decodeText","splitLines","line","numbered"],"sources":["../../../src/internal/summarize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -27,13 +27,7 @@ const withStats = exports.withStats = /*#__PURE__*/_effect.Effect.fnUntraced(fun
27
27
  }] = yield* decodeName(yield* sql`SELECT 'tots_stats_' || lower(hex(randomblob(16))) AS name;`);
28
28
  return yield* _effect.Effect.acquireUseRelease(sql`CREATE TEMP TABLE ${sql(name)} (hashTestCase TEXT PRIMARY KEY, timeMillis REAL NOT NULL);`, () => _effect.Effect.gen(function* () {
29
29
  yield* sql`CREATE INDEX ${sql(`${name}_time`)} ON ${sql(name)} (timeMillis);`;
30
- const counts = yield* _effect.Ref.make({
31
- TP: 0,
32
- TN: 0,
33
- FP: 0,
34
- FN: 0,
35
- total: 0
36
- });
30
+ const counts = new Map(Object.entries(_Classify.Stats.empty().counts));
37
31
  const add = _effect.Effect.fnUntraced(function* (results) {
38
32
  for (let offset = 0; offset < results.length; offset += 50) {
39
33
  const batch = results.slice(offset, offset + 50);
@@ -47,20 +41,13 @@ const withStats = exports.withStats = /*#__PURE__*/_effect.Effect.fnUntraced(fun
47
41
  })))}
48
42
  ON CONFLICT(hashTestCase) DO NOTHING;
49
43
  `;
50
- yield* _effect.Ref.update(counts, previous => {
51
- const next = {
52
- ...previous
53
- };
54
- for (const result of batch) {
55
- next[result.label]++;
56
- next.total++;
57
- }
58
- return next;
59
- });
44
+ for (const result of batch) {
45
+ counts.set(result.label, (counts.get(result.label) ?? 0) + 1);
46
+ }
60
47
  }
61
48
  });
62
49
  const stats = _effect.Effect.gen(function* () {
63
- const totals = yield* _effect.Ref.get(counts);
50
+ const totals = Object.fromEntries(counts);
64
51
  const [times] = yield* decodeTimes(yield* sql`
65
52
  SELECT COUNT(*) AS count, AVG(timeMillis) AS mean,
66
53
  MIN(timeMillis) AS min, MAX(timeMillis) AS max FROM ${sql(name)};
@@ -70,7 +57,8 @@ const withStats = exports.withStats = /*#__PURE__*/_effect.Effect.fnUntraced(fun
70
57
  LIMIT ${2 - times.count % 2} OFFSET ${Math.floor((times.count - 1) / 2)};
71
58
  `);
72
59
  return new _Classify.Stats({
73
- ...totals,
60
+ counts: totals,
61
+ total: Object.values(totals).reduce((sum, n) => sum + n, 0),
74
62
  testCases: times.count,
75
63
  precision: (0, _Classify2.precision)(totals),
76
64
  recall: (0, _Classify2.recall)(totals),
@@ -1 +1 @@
1
- {"version":3,"file":"test-result-stats.js","names":["_effect","require","_sql","_Classify","_Classify2","decodeName","Schema","decodeUnknownEffect","Tuple","Struct","name","String","decodeTimes","count","Int","mean","NullOr","Finite","min","max","decodeMedian","Array","timeMillis","withStats","exports","Effect","fnUntraced","use","sql","SqlClient","acquireUseRelease","gen","counts","Ref","make","TP","TN","FP","FN","total","add","results","offset","length","batch","slice","insert","map","hashTestCase","update","previous","next","result","label","stats","totals","get","times","middle","Math","floor","Stats","testCases","precision","recall","timeMin","Option","fromNullishOr","timeMax","timeMean","timeMedian","none","some","reduce","sum","row","pipe","asVoid"],"sources":["../../../src/internal/test-result-stats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"test-result-stats.js","names":["_effect","require","_sql","_Classify","_Classify2","decodeName","Schema","decodeUnknownEffect","Tuple","Struct","name","String","decodeTimes","count","Int","mean","NullOr","Finite","min","max","decodeMedian","Array","timeMillis","withStats","exports","Effect","fnUntraced","use","sql","SqlClient","acquireUseRelease","gen","counts","Map","Object","entries","Stats","empty","add","results","offset","length","batch","slice","insert","map","hashTestCase","result","set","label","get","stats","totals","fromEntries","times","middle","Math","floor","total","values","reduce","sum","n","testCases","precision","recall","timeMin","Option","fromNullishOr","timeMax","timeMean","timeMedian","none","some","row","pipe","asVoid"],"sources":["../../../src/internal/test-result-stats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,13 @@
1
1
  import { Schema } from 'effect';
2
2
  import * as internal from './internal/Classify.js';
3
- export declare const LabelSchema: Schema.Literals<readonly ["TP", "TN", "FP", "FN"]>;
3
+ /** These labels alone determine precision and recall. */
4
+ export declare const ConfusionLabelSchema: Schema.Literals<readonly ["TP", "TN", "FP", "FN"]>;
5
+ export type ConfusionLabel = typeof ConfusionLabelSchema.Type;
6
+ /**
7
+ * Names keep their exact spelling and case. They must be non-empty, have no
8
+ * leading or trailing whitespace, and contain no commas or ASCII control characters.
9
+ */
10
+ export declare const LabelSchema: Schema.String;
4
11
  export type Label = typeof LabelSchema.Type;
5
12
  export declare const values: {
6
13
  readonly TN: 'TN';
@@ -12,15 +19,15 @@ export declare const defaultIsNil: typeof internal.defaultIsNil;
12
19
  export declare const makeClassify: typeof internal.makeClassify;
13
20
  export type Classify<O, T> = (output: O, expected: T) => Label;
14
21
  declare const Stats_base: Schema.Class<Stats, Schema.Struct<{
15
- readonly TP: Schema.Finite;
16
- readonly TN: Schema.Finite;
17
- readonly FP: Schema.Finite;
18
- readonly FN: Schema.Finite;
22
+ /** Counts by exact label, for example `stats.counts['failure-timeout']`. */
23
+ readonly counts: Schema.$Record<Schema.String, Schema.Int>;
19
24
  /** Number of evaluation results. */
20
25
  readonly total: Schema.Finite;
21
26
  /** Number of distinct original test cases represented by those results. */
22
27
  readonly testCases: Schema.Int;
28
+ /** TP / (TP + FP), or zero when the denominator is zero. */
23
29
  readonly precision: Schema.Finite;
30
+ /** TP / (TP + FN), or zero when the denominator is zero. */
24
31
  readonly recall: Schema.Finite;
25
32
  readonly timeMin: Schema.Option<Schema.Finite>;
26
33
  readonly timeMax: Schema.Option<Schema.Finite>;
@@ -1 +1 @@
1
- {"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../src/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,WAAW,oDAAuB,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;CAAkB,CAAC;AACtC,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAClD,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC;;;;;;IAQ3D,oCAAoC;;IAEpC,2EAA2E;;;;;;;;;AAR/E,gFAAgF;AAChF,qBAAa,KAAM,SAAQ,UAezB;IACE,MAAM,CAAC,KAAK,IAAI,KAAK,CAepB;CACJ"}
1
+ {"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../src/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,oDAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,eAAuB,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;CAAkB,CAAC;AACtC,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAClD,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC;;IAI3D,4EAA4E;;IAE5E,oCAAoC;;IAEpC,2EAA2E;;IAE3E,4DAA4D;;IAE5D,4DAA4D;;;;;;;AAVhE,gFAAgF;AAChF,qBAAa,KAAM,SAAQ,UAezB;IACE,MAAM,CAAC,KAAK,IAAI,KAAK,CAYpB;CACJ"}
@@ -1,7 +1,20 @@
1
1
  import * as internal from './internal/DisplayConfig.js';
2
+ export type LabelColor = 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'none';
3
+ export type LabelDisplay = {
4
+ readonly color?: LabelColor;
5
+ /** Positive means more is better; negative means fewer is better. Custom labels default to neutral. */
6
+ readonly valence?: 'positive' | 'negative' | 'neutral';
7
+ };
2
8
  export type DisplayConfig = {
3
9
  /** @default true */
4
10
  colorize: boolean;
11
+ /**
12
+ * Presentation only. Current settings also apply to cached and committed runs.
13
+ * TP/TN default to positive, FP/FN to negative, and custom labels to neutral.
14
+ * Without a color, positive labels are green, negative labels red, and neutral
15
+ * labels uncolored. Built-in labels keep their usual styling without overrides.
16
+ */
17
+ labels: Readonly<Record<string, LabelDisplay>>;
5
18
  /** @default 2 */
6
19
  columnPadding: number;
7
20
  corner: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayConfig.d.ts","sourceRoot":"","sources":["../../src/DisplayConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IACxB,oBAAoB;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,WAAW,6BAAuB,CAAC"}
1
+ {"version":3,"file":"DisplayConfig.d.ts","sourceRoot":"","sources":["../../src/DisplayConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAC;AAExD,MAAM,MAAM,UAAU,GAChB,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEb,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,oBAAoB;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/C,iBAAiB;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,WAAW,6BAAuB,CAAC"}
@@ -7,7 +7,8 @@ export { showSummary as summarize, prepareSummary, prepareComparison, } from './
7
7
  export type DiffContext = {
8
8
  diff: Diff;
9
9
  };
10
- export type DiffColumnNames = 'TP' | 'TN' | 'FP' | 'FN' | 'precision' | 'recall';
10
+ /** Select a label with `count:<label>`; precision and recall use only TP/FP/FN. */
11
+ export type DiffColumnNames = `count:${string}` | 'precision' | 'recall';
11
12
  export type DiffColumn = {
12
13
  name: DiffColumnNames;
13
14
  label: string;
@@ -16,7 +17,8 @@ export type DiffColumn = {
16
17
  export type StatsContext = {
17
18
  stats: Stats;
18
19
  };
19
- export type StatsColumnNames = 'total' | 'testCases' | 'TP' | 'TN' | 'FP' | 'FN' | 'precision' | 'recall' | 'timeMin' | 'timeMax' | 'timeMean' | 'timeMedian';
20
+ /** Use `count:<label>` for counts, including unused labels as zero. Metric names select metrics. */
21
+ export type StatsColumnNames = 'total' | 'testCases' | `count:${string}` | 'precision' | 'recall' | 'timeMin' | 'timeMax' | 'timeMean' | 'timeMedian';
20
22
  export type StatsColumn = {
21
23
  name: StatsColumnNames;
22
24
  label: string;