@creative-introvert/tons-of-tests 0.8.0 → 0.9.0
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.
- package/README.md +43 -62
- package/dist/cjs/Classify.js +20 -25
- package/dist/cjs/Classify.js.map +1 -1
- package/dist/cjs/DisplayConfig.js +20 -25
- package/dist/cjs/DisplayConfig.js.map +1 -1
- package/dist/cjs/Error.js +2 -27
- package/dist/cjs/Error.js.map +1 -1
- package/dist/cjs/Show.js +1 -1
- package/dist/cjs/Show.js.map +1 -1
- package/dist/cjs/Test.js +20 -25
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Test.repository.js +20 -25
- package/dist/cjs/Test.repository.js.map +1 -1
- package/dist/cjs/index.js +29 -34
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Classify.js +28 -49
- package/dist/cjs/internal/Classify.js.map +1 -1
- package/dist/cjs/internal/Test.js +29 -52
- package/dist/cjs/internal/Test.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.js +126 -85
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.spec.js +59 -52
- package/dist/cjs/internal/Test.repository.sqlite.spec.js.map +1 -1
- package/dist/cjs/internal/common.js +8 -8
- package/dist/cjs/internal/common.js.map +1 -1
- package/dist/cjs/internal/diff.js +2 -2
- package/dist/cjs/internal/diff.js.map +1 -1
- package/dist/cjs/internal/format-diff.js +8 -7
- package/dist/cjs/internal/format-diff.js.map +1 -1
- package/dist/cjs/internal/format-diff.spec.js +26 -31
- package/dist/cjs/internal/format-diff.spec.js.map +1 -1
- package/dist/cjs/internal/lib/Schema.js +2 -27
- package/dist/cjs/internal/lib/Schema.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/clone.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js +2 -2
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/date-reviver.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js +30 -35
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js +17 -16
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/dates.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/lcs.js +6 -7
- package/dist/cjs/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js +3 -3
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/texts.js +6 -8
- package/dist/cjs/internal/lib/jsondiffpatch/filters/texts.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js +4 -4
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/base.js +6 -8
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/base.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js +4 -4
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js +6 -8
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/index.js +2 -2
- package/dist/cjs/internal/lib/jsondiffpatch/index.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/pipe.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/processor.js +1 -2
- package/dist/cjs/internal/lib/jsondiffpatch/processor.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js +3 -3
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -1
- package/dist/cjs/internal/pack.js +37 -36
- package/dist/cjs/internal/pack.js.map +1 -1
- package/dist/cjs/internal/stats.js +10 -35
- package/dist/cjs/internal/stats.js.map +1 -1
- package/dist/cjs/internal/summarize.js +34 -43
- package/dist/cjs/internal/summarize.js.map +1 -1
- package/dist/cjs/pack.js +21 -26
- package/dist/cjs/pack.js.map +1 -1
- package/dist/dts/Classify.d.ts +15 -3
- package/dist/dts/Classify.d.ts.map +1 -1
- package/dist/dts/Show.d.ts +3 -3
- package/dist/dts/Show.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +6 -6
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Test.repository.d.ts +9 -6
- package/dist/dts/Test.repository.d.ts.map +1 -1
- package/dist/dts/index.d.ts +4 -4
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/Classify.d.ts +25 -16
- package/dist/dts/internal/Classify.d.ts.map +1 -1
- package/dist/dts/internal/Test.d.ts +8 -8
- package/dist/dts/internal/Test.d.ts.map +1 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts +5 -5
- package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -1
- package/dist/dts/internal/common.d.ts +1 -1
- package/dist/dts/internal/common.d.ts.map +1 -1
- package/dist/dts/internal/diff.d.ts +1 -1
- package/dist/dts/internal/diff.d.ts.map +1 -1
- package/dist/dts/internal/format-diff.d.ts.map +1 -1
- package/dist/dts/internal/lib/Schema.d.ts +2 -2
- package/dist/dts/internal/lib/Schema.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/diffpatcher.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/arrays.d.ts +2 -2
- package/dist/dts/internal/lib/jsondiffpatch/filters/arrays.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/dates.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/dates.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/nested.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/texts.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/trivial.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/index.d.ts +3 -3
- package/dist/dts/internal/lib/jsondiffpatch/index.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/pipe.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts +2 -2
- package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/types.d.ts.map +1 -1
- package/dist/dts/internal/lib/jsondiffpatch/with-text-diffs.d.ts +3 -3
- package/dist/dts/internal/lib/jsondiffpatch/with-text-diffs.d.ts.map +1 -1
- package/dist/dts/internal/pack.d.ts.map +1 -1
- package/dist/dts/internal/stats.d.ts +1 -1
- package/dist/dts/internal/stats.d.ts.map +1 -1
- package/dist/dts/internal/summarize.d.ts +4 -4
- package/dist/dts/internal/summarize.d.ts.map +1 -1
- package/dist/esm/Classify.js +2 -3
- package/dist/esm/Classify.js.map +1 -1
- package/dist/esm/DisplayConfig.js +2 -3
- package/dist/esm/DisplayConfig.js.map +1 -1
- package/dist/esm/Error.js +2 -4
- package/dist/esm/Error.js.map +1 -1
- package/dist/esm/Show.js +1 -1
- package/dist/esm/Show.js.map +1 -1
- package/dist/esm/Test.js +2 -3
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Test.repository.js +2 -3
- package/dist/esm/Test.repository.js.map +1 -1
- package/dist/esm/index.js +11 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Classify.js +28 -26
- package/dist/esm/internal/Classify.js.map +1 -1
- package/dist/esm/internal/Test.js +29 -29
- package/dist/esm/internal/Test.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.js +108 -63
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.spec.js +41 -30
- package/dist/esm/internal/Test.repository.sqlite.spec.js.map +1 -1
- package/dist/esm/internal/common.js +8 -8
- package/dist/esm/internal/common.js.map +1 -1
- package/dist/esm/internal/diff.js +2 -2
- package/dist/esm/internal/diff.js.map +1 -1
- package/dist/esm/internal/format-diff.js +8 -7
- package/dist/esm/internal/format-diff.js.map +1 -1
- package/dist/esm/internal/format-diff.spec.js +8 -9
- package/dist/esm/internal/format-diff.spec.js.map +1 -1
- package/dist/esm/internal/lib/Schema.js +2 -4
- package/dist/esm/internal/lib/Schema.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/clone.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js +2 -2
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js +12 -13
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js +17 -16
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js +6 -7
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js +3 -3
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js +6 -8
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js +4 -4
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js +6 -8
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js +4 -4
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js +6 -8
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/index.js +2 -2
- package/dist/esm/internal/lib/jsondiffpatch/index.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/processor.js +1 -2
- package/dist/esm/internal/lib/jsondiffpatch/processor.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js +3 -3
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -1
- package/dist/esm/internal/pack.js +19 -14
- package/dist/esm/internal/pack.js.map +1 -1
- package/dist/esm/internal/stats.js +10 -12
- package/dist/esm/internal/stats.js.map +1 -1
- package/dist/esm/internal/summarize.js +34 -20
- package/dist/esm/internal/summarize.js.map +1 -1
- package/dist/esm/pack.js +3 -4
- package/dist/esm/pack.js.map +1 -1
- package/package.json +7 -8
- package/dist/cjs/prelude.js +0 -101
- package/dist/cjs/prelude.js.map +0 -1
- package/dist/dts/prelude.d.ts +0 -24
- package/dist/dts/prelude.d.ts.map +0 -1
- package/dist/esm/prelude.js +0 -78
- package/dist/esm/prelude.js.map +0 -1
|
@@ -4,42 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.showSummary = void 0;
|
|
7
|
-
var _ansiColors = /*#__PURE__*/_interopRequireDefault(
|
|
8
|
-
var
|
|
9
|
-
var _formatDiff = /*#__PURE__*/require("./format-diff.js");
|
|
7
|
+
var _ansiColors = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("ansi-colors"));
|
|
8
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
10
9
|
var _common = /*#__PURE__*/require("./common.js");
|
|
11
10
|
var _DisplayConfig = /*#__PURE__*/require("./DisplayConfig.js");
|
|
11
|
+
var _formatDiff = /*#__PURE__*/require("./format-diff.js");
|
|
12
12
|
var _index = /*#__PURE__*/require("./lib/jsondiffpatch/index.js");
|
|
13
|
-
function _getRequireWildcardCache(e) {
|
|
14
|
-
if ("function" != typeof WeakMap) return null;
|
|
15
|
-
var r = new WeakMap(),
|
|
16
|
-
t = new WeakMap();
|
|
17
|
-
return (_getRequireWildcardCache = function (e) {
|
|
18
|
-
return e ? t : r;
|
|
19
|
-
})(e);
|
|
20
|
-
}
|
|
21
|
-
function _interopRequireWildcard(e, r) {
|
|
22
|
-
if (!r && e && e.__esModule) return e;
|
|
23
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
24
|
-
default: e
|
|
25
|
-
};
|
|
26
|
-
var t = _getRequireWildcardCache(r);
|
|
27
|
-
if (t && t.has(e)) return t.get(e);
|
|
28
|
-
var n = {
|
|
29
|
-
__proto__: null
|
|
30
|
-
},
|
|
31
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
32
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
33
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
34
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
35
|
-
}
|
|
36
|
-
return n.default = e, t && t.set(e, n), n;
|
|
37
|
-
}
|
|
38
13
|
function _interopRequireDefault(e) {
|
|
39
14
|
return e && e.__esModule ? e : {
|
|
40
15
|
default: e
|
|
41
16
|
};
|
|
42
17
|
}
|
|
18
|
+
// TODO: new column, "state"?
|
|
19
|
+
// "pass -> fail" [red]
|
|
20
|
+
// "fail -> pass" [green]
|
|
21
|
+
// "fail (new)" [yellow]
|
|
22
|
+
// "pass (new)" [blue]
|
|
23
|
+
// Requires passing in `isEqual`, i.e. can't just use the `defaultIsEqual`.
|
|
24
|
+
// Also solves "diff" having the same issue.
|
|
43
25
|
const columns = [{
|
|
44
26
|
name: 'index',
|
|
45
27
|
label: '#/∑',
|
|
@@ -52,8 +34,17 @@ const columns = [{
|
|
|
52
34
|
label: 'hash',
|
|
53
35
|
make: ({
|
|
54
36
|
i,
|
|
55
|
-
hashes
|
|
56
|
-
|
|
37
|
+
hashes,
|
|
38
|
+
previousTestResult
|
|
39
|
+
}) => {
|
|
40
|
+
// TODO: Highlight more:
|
|
41
|
+
// 1. red when test "changed bad"
|
|
42
|
+
// 2. green when test "changed good"
|
|
43
|
+
// 3. blue when test is new?
|
|
44
|
+
const color = _effect.Option.isNone(previousTestResult) ? _ansiColors.default.green : _ansiColors.default.white;
|
|
45
|
+
const hash = hashes[i].slice(0, 8);
|
|
46
|
+
return [color(hash)];
|
|
47
|
+
}
|
|
57
48
|
}, {
|
|
58
49
|
name: 'timeMillis',
|
|
59
50
|
label: 'ms',
|
|
@@ -80,25 +71,25 @@ const columns = [{
|
|
|
80
71
|
}) => JSON.stringify(testResult.expected, null, 2).split('\n')
|
|
81
72
|
}, {
|
|
82
73
|
name: 'label',
|
|
83
|
-
label: 'label
|
|
74
|
+
label: 'label',
|
|
84
75
|
make: ({
|
|
85
76
|
testResult,
|
|
86
77
|
previousTestResult
|
|
87
78
|
}) => {
|
|
88
|
-
const hasPrevious =
|
|
79
|
+
const hasPrevious = _effect.Option.isSome(previousTestResult);
|
|
89
80
|
const label = testResult.label;
|
|
90
81
|
const color = label === 'TP' || label === 'TN' ? hasPrevious ? _ansiColors.default.green : _ansiColors.default.blue : hasPrevious ? _ansiColors.default.red : _ansiColors.default.yellow;
|
|
91
82
|
return [color(label)];
|
|
92
83
|
}
|
|
93
84
|
}, {
|
|
94
85
|
name: 'result',
|
|
95
|
-
label: 'result
|
|
86
|
+
label: 'result',
|
|
96
87
|
make: ({
|
|
97
88
|
testResult
|
|
98
89
|
}) => JSON.stringify(testResult.result, null, 2).split('\n')
|
|
99
90
|
}, {
|
|
100
91
|
name: 'result_diff',
|
|
101
|
-
label: 'diff result
|
|
92
|
+
label: 'diff result',
|
|
102
93
|
make: ({
|
|
103
94
|
testResult
|
|
104
95
|
}) => (0, _formatDiff.formatDiff)((0, _index.diff)(testResult.expected, testResult.result))?.split('\n') || []
|
|
@@ -108,7 +99,7 @@ const columns = [{
|
|
|
108
99
|
make: ({
|
|
109
100
|
previousTestResult
|
|
110
101
|
}) => {
|
|
111
|
-
const label =
|
|
102
|
+
const label = _effect.Option.match(previousTestResult, {
|
|
112
103
|
onNone: () => '',
|
|
113
104
|
onSome: _ => _.label === 'TP' || _.label === 'TN' ? _ansiColors.default.green(_.label) : _ansiColors.default.red(_.label)
|
|
114
105
|
});
|
|
@@ -119,19 +110,19 @@ const columns = [{
|
|
|
119
110
|
label: 'result₋₁',
|
|
120
111
|
make: ({
|
|
121
112
|
previousTestResult
|
|
122
|
-
}) => previousTestResult.pipe(
|
|
113
|
+
}) => previousTestResult.pipe(_effect.Option.map(_ => JSON.stringify(_.result, null, 2)?.split('\n')), _effect.Option.getOrElse(() => []))
|
|
123
114
|
}, {
|
|
124
115
|
name: 'prev_result_diff',
|
|
125
116
|
label: 'diff result₋₁',
|
|
126
117
|
make: ({
|
|
127
118
|
testResult,
|
|
128
119
|
previousTestResult
|
|
129
|
-
}) => previousTestResult.pipe(
|
|
120
|
+
}) => previousTestResult.pipe(_effect.Option.map(_ => (0, _formatDiff.formatDiff)((0, _index.diff)(testResult.expected, _.result))?.split('\n') || []), _effect.Option.getOrElse(() => []))
|
|
130
121
|
}];
|
|
131
122
|
const showSummary = ({
|
|
132
123
|
testRun,
|
|
133
124
|
displayConfig,
|
|
134
|
-
previousTestRun =
|
|
125
|
+
previousTestRun = _effect.Option.none(),
|
|
135
126
|
selectColumns = ['index', 'hash', 'timeMillis', 'tags', 'input', 'expected', 'label', 'result_diff', 'prev_label', 'prev_result_diff']
|
|
136
127
|
}) => {
|
|
137
128
|
const cfg = {
|
|
@@ -139,13 +130,13 @@ const showSummary = ({
|
|
|
139
130
|
...displayConfig
|
|
140
131
|
};
|
|
141
132
|
const hashes = testRun.testCaseHashes;
|
|
142
|
-
const _columns = columns.filter(c => selectColumns.includes(c.name)).filter(c => !c.name.startsWith('prev_') ||
|
|
133
|
+
const _columns = columns.filter(c => selectColumns.includes(c.name)).filter(c => !c.name.startsWith('prev_') || _effect.Option.isSome(previousTestRun));
|
|
143
134
|
let columnWidths = _columns.map(m => m.label.length);
|
|
144
135
|
const rows = [];
|
|
145
136
|
for (let i = 0; i < hashes.length; i++) {
|
|
146
137
|
const hash = hashes[i];
|
|
147
138
|
const testResult = testRun.testResultsByTestCaseHash[hash];
|
|
148
|
-
const previousTestResult = previousTestRun.pipe(
|
|
139
|
+
const previousTestResult = previousTestRun.pipe(_effect.Option.flatMap(_ => _effect.Record.get(_.testResultsByTestCaseHash, hash)));
|
|
149
140
|
const row = _columns.map(({
|
|
150
141
|
label,
|
|
151
142
|
make
|
|
@@ -156,10 +147,10 @@ const showSummary = ({
|
|
|
156
147
|
previousTestResult
|
|
157
148
|
})]);
|
|
158
149
|
columnWidths = columnWidths.map((w, i) => Math.max(w, ...row[i][1].map(s => _ansiColors.default.unstyle(s).length)));
|
|
159
|
-
const maxHeight = row.reduce((n, [
|
|
160
|
-
row.forEach(([
|
|
150
|
+
const maxHeight = row.reduce((n, [_key, values]) => Math.max(n, values.length), 1);
|
|
151
|
+
row.forEach(([_key, values], _i) => {
|
|
161
152
|
if (values.length < maxHeight) {
|
|
162
|
-
values.push(...Array(maxHeight - values.length)
|
|
153
|
+
values.push(..._effect.Array.makeBy(maxHeight - values.length, () => ''));
|
|
163
154
|
}
|
|
164
155
|
});
|
|
165
156
|
rows.push(row);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","hashes","length","previousTestResult","color","Option","isNone","green","white","hash","slice","testResult","timeMillis","toFixed","tags","JSON","stringify","input","split","expected","hasPrevious","isSome","blue","red","yellow","result","formatDiff","diff","match","onNone","onSome","_","pipe","map","getOrElse","showSummary","testRun","displayConfig","previousTestRun","none","selectColumns","cfg","makeDefault","testCaseHashes","_columns","filter","c","includes","startsWith","columnWidths","m","rows","testResultsByTestCaseHash","flatMap","Record","get","row","w","Math","max","s","unstyle","maxHeight","reduce","n","_key","values","forEach","_i","push","Array","makeBy","header","showHeader","showTitle","bold","showBorder","height","showRow","exports"],"sources":["../../../src/internal/summarize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/pack.js
CHANGED
|
@@ -1,33 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var path = /*#__PURE__*/_interopRequireWildcard(
|
|
3
|
+
var path = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("node:path"));
|
|
4
4
|
var _nodeUrl = /*#__PURE__*/require("node:url");
|
|
5
5
|
var _pack = /*#__PURE__*/require("./internal/pack.js");
|
|
6
|
-
function
|
|
7
|
-
if ("function"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
function _interopRequireWildcard(e, t) {
|
|
7
|
+
if ("function" == typeof WeakMap) var r = new WeakMap(),
|
|
8
|
+
n = new WeakMap();
|
|
9
|
+
return (_interopRequireWildcard = function (e, t) {
|
|
10
|
+
if (!t && e && e.__esModule) return e;
|
|
11
|
+
var o,
|
|
12
|
+
i,
|
|
13
|
+
f = {
|
|
14
|
+
__proto__: null,
|
|
15
|
+
default: e
|
|
16
|
+
};
|
|
17
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return f;
|
|
18
|
+
if (o = t ? n : r) {
|
|
19
|
+
if (o.has(e)) return o.get(e);
|
|
20
|
+
o.set(e, f);
|
|
21
|
+
}
|
|
22
|
+
for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
|
|
23
|
+
return f;
|
|
24
|
+
})(e, t);
|
|
13
25
|
}
|
|
14
|
-
|
|
15
|
-
if (!r && e && e.__esModule) return e;
|
|
16
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
17
|
-
default: e
|
|
18
|
-
};
|
|
19
|
-
var t = _getRequireWildcardCache(r);
|
|
20
|
-
if (t && t.has(e)) return t.get(e);
|
|
21
|
-
var n = {
|
|
22
|
-
__proto__: null
|
|
23
|
-
},
|
|
24
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
25
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
26
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
27
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
28
|
-
}
|
|
29
|
-
return n.default = e, t && t.set(e, n), n;
|
|
30
|
-
}
|
|
31
|
-
const workspacePath = /*#__PURE__*/path.join( /*#__PURE__*/path.dirname( /*#__PURE__*/(0, _nodeUrl.fileURLToPath)(import.meta.url)), '..');
|
|
26
|
+
const workspacePath = /*#__PURE__*/path.join(/*#__PURE__*/path.dirname(/*#__PURE__*/(0, _nodeUrl.fileURLToPath)(import.meta.url)), '..');
|
|
32
27
|
void (0, _pack.pack)(workspacePath);
|
|
33
28
|
//# sourceMappingURL=pack.js.map
|
package/dist/cjs/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","names":["path","_interopRequireWildcard","require","_nodeUrl","_pack","
|
|
1
|
+
{"version":3,"file":"pack.js","names":["path","_interopRequireWildcard","require","_nodeUrl","_pack","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","workspacePath","join","dirname","fileURLToPath","import","meta","url","pack"],"sources":["../../src/pack.ts"],"sourcesContent":[null],"mappings":";;AAAA,IAAAA,IAAA,gBAAAC,uBAAA,cAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAD,OAAA;AAEA,IAAAE,KAAA,gBAAAF,OAAA;AAAwC,SAAAD,wBAAAI,CAAA,EAAAC,CAAA;EAAA,yBAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA;IAAA,KAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA;IAAA,IAAAM,CAAA;MAAAC,CAAA;MAAAC,CAAA;QAAAC,SAAA;QAAAC,OAAA,EAAAV;MAAA;IAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA;IAAA,IAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA;MAAA,IAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA;MAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA;IAAA;IAAA,WAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA;IAAA,OAAAO,CAAA;EAAA,GAAAR,CAAA,EAAAC,CAAA;AAAA;AAExC,MAAMkB,aAAa,gBAAGxB,IAAI,CAACyB,IAAI,cAC3BzB,IAAI,CAAC0B,OAAO,cAAC,IAAAvB,QAAA,CAAAwB,aAAa,EAACC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,EAC5C,IAAI,CACP;AAED,KAAK,IAAA1B,KAAA,CAAA2B,IAAI,EAACP,aAAa,CAAC","ignoreList":[]}
|
package/dist/dts/Classify.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { Option } from 'effect';
|
|
2
|
-
export type Label =
|
|
2
|
+
export type Label =
|
|
3
|
+
/** True Positive. Non-nill output, as expected. */
|
|
4
|
+
'TP'
|
|
5
|
+
/** True Negative. Nill output, as expected. */
|
|
6
|
+
| 'TN'
|
|
7
|
+
/** False Positive. Non-nill output, not expected. */
|
|
8
|
+
| 'FP'
|
|
9
|
+
/** False Negative. Nill output, not expected. */
|
|
10
|
+
| 'FN';
|
|
3
11
|
export declare const values: {
|
|
4
12
|
readonly TN: "TN";
|
|
5
13
|
readonly TP: "TP";
|
|
@@ -8,7 +16,11 @@ export declare const values: {
|
|
|
8
16
|
};
|
|
9
17
|
export declare const defaultIsEqual: <A, B>(a: A, b: B) => boolean;
|
|
10
18
|
export declare const defaultIsNil: <I>(x: I) => boolean;
|
|
11
|
-
export declare const makeClassify: <O, T>(isEqual
|
|
19
|
+
export declare const makeClassify: <O, T>({ isEqual, isOutputNil, isExpectedNil, }: {
|
|
20
|
+
isEqual: (output: O, expected: T) => boolean;
|
|
21
|
+
isOutputNil?: (output: O) => boolean;
|
|
22
|
+
isExpectedNil?: (expected: T) => boolean;
|
|
23
|
+
}) => Classify<O, T>;
|
|
12
24
|
export type Classify<O, T> = (output: O, expected: T) => Label;
|
|
13
25
|
export type Stats = Record<Label, number> & {
|
|
14
26
|
total: number;
|
|
@@ -19,5 +31,5 @@ export type Stats = Record<Label, number> & {
|
|
|
19
31
|
timeMedian: Option.Option<number>;
|
|
20
32
|
timeMean: Option.Option<number>;
|
|
21
33
|
};
|
|
22
|
-
export declare const LabelSchema: import("
|
|
34
|
+
export declare const LabelSchema: import("effect/Schema").Schema<Label, Label, never>;
|
|
23
35
|
//# sourceMappingURL=Classify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../src/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAInC,MAAM,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../src/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAInC,MAAM,MAAM,KAAK;AACb,mDAAmD;AACjD,IAAI;AACN,+CAA+C;GAC7C,IAAI;AACN,qDAAqD;GACnD,IAAI;AACN,iDAAiD;GAC/C,IAAI,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;CAAkB,CAAC;AACtC,eAAO,MAAM,cAAc,+BAA0B,CAAC;AACtD,eAAO,MAAM,YAAY,sBAAwB,CAAC;AAClD,eAAO,MAAM,YAAY;;eAeuW,CAAC;iBAA+C,CAAC;oBAfhY,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC;AAE/D,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,WAAW,qDAAuB,CAAC"}
|
package/dist/dts/Show.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { Option } from 'effect';
|
|
1
2
|
import type { Stats } from './Classify.js';
|
|
2
3
|
import type { Diff, TestResult } from './Test.js';
|
|
3
|
-
import type * as P from './prelude.js';
|
|
4
|
-
export { showSummary as summarize } from './internal/summarize.js';
|
|
5
4
|
export { showDiff as diff } from './internal/diff.js';
|
|
6
5
|
export { showStats as stats } from './internal/stats.js';
|
|
6
|
+
export { showSummary as summarize } from './internal/summarize.js';
|
|
7
7
|
export type DiffContext = {
|
|
8
8
|
diff: Diff;
|
|
9
9
|
};
|
|
@@ -26,7 +26,7 @@ export type SummarizeContext = {
|
|
|
26
26
|
i: number;
|
|
27
27
|
hashes: string[];
|
|
28
28
|
testResult: TestResult;
|
|
29
|
-
previousTestResult:
|
|
29
|
+
previousTestResult: Option.Option<TestResult>;
|
|
30
30
|
};
|
|
31
31
|
export type SummarizeColumnNames = 'index' | 'hash' | 'timeMillis' | 'input' | 'tags' | 'label' | 'expected' | 'result' | 'result_diff' | 'prev_label' | 'prev_result' | 'prev_result_diff';
|
|
32
32
|
export type SummarizeColumn = {
|
package/dist/dts/Show.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../src/Show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../src/Show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAC,QAAQ,IAAI,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,SAAS,IAAI,KAAK,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,WAAW,IAAI,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,QAAQ,CAAC;AAEf,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACtB,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,CAAC;AAEnB,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC1B,OAAO,GACP,MAAM,GACN,YAAY,GACZ,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,aAAa,GACb,kBAAkB,CAAC;AAEzB,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,MAAM,EAAE,CAAC;CAC7C,CAAC"}
|
package/dist/dts/Test.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { Effect, Option } from 'effect';
|
|
1
2
|
import type { Classify, Label, Stats } from './Classify.js';
|
|
2
|
-
import type * as P from './prelude.js';
|
|
3
3
|
import type { TestRun } from './Test.repository.js';
|
|
4
4
|
export type TestSuite<I = unknown, O = unknown, T = unknown> = {
|
|
5
5
|
testCases: TestCase<I, T>[];
|
|
@@ -12,7 +12,7 @@ export type TestCase<I, T> = {
|
|
|
12
12
|
expected: T;
|
|
13
13
|
tags?: string[];
|
|
14
14
|
};
|
|
15
|
-
export type Program<I, O> = (input: I) =>
|
|
15
|
+
export type Program<I, O> = (input: I) => Effect.Effect<O>;
|
|
16
16
|
export type TestResult<I = unknown, O = unknown, T = unknown> = {
|
|
17
17
|
id: string;
|
|
18
18
|
hashTestCase: string;
|
|
@@ -35,14 +35,14 @@ export type Diff = Record<Label, number> & {
|
|
|
35
35
|
};
|
|
36
36
|
export type TestResultPredicate<I, O, T> = (args: {
|
|
37
37
|
testResult: TestResult<I, O, T>;
|
|
38
|
-
previousTestResult:
|
|
38
|
+
previousTestResult: Option.Option<TestResult<I, O, T>>;
|
|
39
39
|
}) => boolean;
|
|
40
40
|
export declare const all: <I, O, T>({ testCases, program, classify, }: TestSuite<I, O, T>, { concurrency }?: {
|
|
41
41
|
concurrency?: number | undefined;
|
|
42
|
-
}) =>
|
|
42
|
+
}) => import("effect/Stream").Stream<TestResult<I, O, T>, never, never>;
|
|
43
43
|
export declare const diff: ({ testRun: { stats }, previousTestRun, }: {
|
|
44
44
|
testRun: TestRunResults;
|
|
45
|
-
previousTestRun:
|
|
45
|
+
previousTestRun: Option.Option<TestRunResults>;
|
|
46
46
|
}) => Diff;
|
|
47
|
-
export declare const runCollectRecord: (testRun: TestRun) => <I, O, T, E, R>(testResults$:
|
|
47
|
+
export declare const runCollectRecord: (testRun: TestRun) => <I, O, T, E, R>(testResults$: import("effect/Stream").Stream<TestResult<I, O, T>, E, R>) => Effect.Effect<TestRunResults<I, O, T>, E, R>;
|
|
48
48
|
//# sourceMappingURL=Test.d.ts.map
|
package/dist/dts/Test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../src/Test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../src/Test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IAC3D,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI;IACzB,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IAC5D,EAAE,EAAE,MAAM,CAAC;IAEX,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,OAAO,GAAG;IAC1E,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC9C,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC1D,KAAK,OAAO,CAAC;AAEd,eAAO,MAAM,GAAG;eAG0zC,CAAC;uEAH5yC,CAAC;AAChC,eAAO,MAAM,IAAI;;;UAAgB,CAAC;AAClC,eAAO,MAAM,gBAAgB,yBAC4vE,CAAC,EAAC,CAAE,EAAC,CAAE,EAAC,CAAE,EAAC,CAAE,EAAE,uEAA+D,iDAD9yE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { ResultLengthMismatch, SqlError } from '@effect/sql/SqlError';
|
|
1
2
|
import type { Effect, Option, Stream } from 'effect';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ParseError } from '@effect/schema/ParseResult';
|
|
3
|
+
import type { ParseError } from 'effect/ParseResult';
|
|
4
4
|
import type { Label } from './Classify.js';
|
|
5
5
|
import type { TestResult } from './Test.js';
|
|
6
6
|
export type TestResultRead = {
|
|
@@ -32,6 +32,9 @@ export type TestRepository = {
|
|
|
32
32
|
*/
|
|
33
33
|
keep?: number;
|
|
34
34
|
}) => Effect.Effect<void, SqlError | ParseError>;
|
|
35
|
+
clearUncommitedTestResults: ({ name, }: {
|
|
36
|
+
name: string;
|
|
37
|
+
}) => Effect.Effect<void, SqlError | ParseError>;
|
|
35
38
|
getTestResultsStream: (testRun: TestRun) => Stream.Stream<TestResult, SqlError | ParseError>;
|
|
36
39
|
hasResults: (testRun: TestRun) => Effect.Effect<boolean, SqlError | ParseError>;
|
|
37
40
|
getAllTestResults: Effect.Effect<readonly TestResult[], SqlError | ParseError>;
|
|
@@ -43,11 +46,11 @@ export type TestRepository = {
|
|
|
43
46
|
commitCurrentTestRun: (input: {
|
|
44
47
|
name: string;
|
|
45
48
|
hash: string;
|
|
46
|
-
}) => Effect.Effect<void, SqlError>;
|
|
49
|
+
}) => Effect.Effect<void, SqlError | ParseError>;
|
|
47
50
|
insertTestResult: (input: Omit<TestResult, 'createdAt'>, name: string) => Effect.Effect<void, ResultLengthMismatch | SqlError | ParseError>;
|
|
48
51
|
};
|
|
49
52
|
export declare const TestRepository: import("effect/Context").Tag<TestRepository, TestRepository>;
|
|
50
|
-
export declare const LiveLayer: import("effect/Layer").Layer<TestRepository, SqlError, import("@effect/sql/
|
|
51
|
-
export declare const makeSqliteLiveLayer: (dbPath: string) => import("effect/Layer").Layer<import("@effect/sql/
|
|
52
|
-
export declare const SqliteTestLayer: import("effect/Layer").Layer<import("@effect/sql/
|
|
53
|
+
export declare const LiveLayer: import("effect/Layer").Layer<TestRepository, SqlError, import("@effect/sql/SqlClient").SqlClient>;
|
|
54
|
+
export declare const makeSqliteLiveLayer: (dbPath: string) => import("effect/Layer").Layer<import("@effect/sql/SqlClient").SqlClient | import("@effect/sql-sqlite-node/SqliteClient").SqliteClient, import("effect/ConfigError").ConfigError, never>;
|
|
55
|
+
export declare const SqliteTestLayer: import("effect/Layer").Layer<import("@effect/sql/SqlClient").SqlClient | import("@effect/sql-sqlite-node/SqliteClient").SqliteClient, import("effect/ConfigError").ConfigError, never>;
|
|
53
56
|
//# sourceMappingURL=Test.repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.repository.d.ts","sourceRoot":"","sources":["../../src/Test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"Test.repository.d.ts","sourceRoot":"","sources":["../../src/Test.repository.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * as Test from './Test.js';
|
|
2
|
-
export * as TestRepository from './Test.repository.js';
|
|
3
|
-
export * as Show from './Show.js';
|
|
4
1
|
export * as Classify from './Classify.js';
|
|
5
|
-
export * as Error from './Error.js';
|
|
6
2
|
export * as DisplayConfig from './DisplayConfig.js';
|
|
3
|
+
export * as Error from './Error.js';
|
|
7
4
|
export { pack } from './internal/pack.js';
|
|
5
|
+
export * as Show from './Show.js';
|
|
6
|
+
export * as Test from './Test.js';
|
|
7
|
+
export * as TestRepository from './Test.repository.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,26 +1,35 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { Option, Schema } from 'effect';
|
|
2
|
+
import type { Stats as _Stats, Classify as TClassify, Label as TLabel } from '../Classify.js';
|
|
3
3
|
export declare const values: {
|
|
4
4
|
readonly TN: "TN";
|
|
5
5
|
readonly TP: "TP";
|
|
6
6
|
readonly FP: "FP";
|
|
7
7
|
readonly FN: "FN";
|
|
8
8
|
};
|
|
9
|
-
export declare const LabelSchema:
|
|
9
|
+
export declare const LabelSchema: Schema.Schema<TLabel>;
|
|
10
10
|
export declare const defaultIsEqual: <A, B>(a: A, b: B) => boolean;
|
|
11
11
|
export declare const defaultIsNil: <I>(x: I) => boolean;
|
|
12
|
-
export declare const makeClassify: <O, T>(isEqual
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
12
|
+
export declare const makeClassify: <O, T>({ isEqual, isOutputNil, isExpectedNil, }: {
|
|
13
|
+
/**
|
|
14
|
+
* Ideally, `isEqual` should remain the same over the lifetime of a test suite.
|
|
15
|
+
* As previous test results are not re-evaluated (at this time) using an updated
|
|
16
|
+
* `isEqual`, they might be confusing.
|
|
17
|
+
*/
|
|
18
|
+
isEqual: (output: O, expected: T) => boolean;
|
|
19
|
+
isOutputNil?: (output: O) => boolean;
|
|
20
|
+
isExpectedNil?: (expected: T) => boolean;
|
|
21
|
+
}) => TClassify<O, T>;
|
|
22
|
+
export declare const StatsSchema: Schema.Struct<{
|
|
23
|
+
TP: typeof Schema.Number;
|
|
24
|
+
TN: typeof Schema.Number;
|
|
25
|
+
FP: typeof Schema.Number;
|
|
26
|
+
FN: typeof Schema.Number;
|
|
27
|
+
precision: typeof Schema.Number;
|
|
28
|
+
recall: typeof Schema.Number;
|
|
29
|
+
timeMean: Schema.Option<typeof Schema.Number>;
|
|
30
|
+
timeMedian: Schema.Option<typeof Schema.Number>;
|
|
31
|
+
timeMin: Schema.Option<typeof Schema.Number>;
|
|
32
|
+
timeMax: Schema.Option<typeof Schema.Number>;
|
|
24
33
|
}>;
|
|
25
34
|
export declare const Stats: {
|
|
26
35
|
empty: () => _Stats;
|
|
@@ -30,5 +39,5 @@ export declare const recall: (m: _Stats) => number;
|
|
|
30
39
|
export declare const min: (xs: number[]) => number;
|
|
31
40
|
export declare const max: (xs: number[]) => number;
|
|
32
41
|
export declare const mean: (xs: number[]) => number | undefined;
|
|
33
|
-
export declare const median: (xs: number[]) =>
|
|
42
|
+
export declare const median: (xs: number[]) => Option.Option<number>;
|
|
34
43
|
//# sourceMappingURL=Classify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../../src/internal/Classify.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../../src/internal/Classify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACR,KAAK,IAAI,MAAM,EACf,QAAQ,IAAI,SAAS,EACrB,KAAK,IAAI,MAAM,EAClB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAK7C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,OAQ7C,CAAC;AAEN,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,OAAwC,CAAC;AAEhF,eAAO,MAAM,YAAY,GACpB,CAAC,EAAE,CAAC,EAAE,0CAIJ;IACC;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,OAAO,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C,KAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAmBjB,CAAC;AAEN,eAAO,MAAM,WAAW;;;;;;;;;;;EAWtB,CAAC;AAEH,eAAO,MAAM,KAAK;iBACH,MAAM;CAapB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAGrC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,KAAG,MAGlC,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,IAAI,MAAM,EAAE,KAAG,MACqC,CAAC;AAEzE,eAAO,MAAM,GAAG,GAAI,IAAI,MAAM,EAAE,KAAG,MACqC,CAAC;AAEzE,eAAO,MAAM,IAAI,GAAI,IAAI,MAAM,EAAE,KAAG,MAAM,GAAG,SAM5C,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAczD,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect, Option, Schema, Stream } from 'effect';
|
|
2
2
|
import type { Classify } from '../Classify.js';
|
|
3
|
-
import type { Program, TestCase,
|
|
3
|
+
import type { Diff, Program, TestCase, TestResult, TestRunResults, TestSuite } from '../Test.js';
|
|
4
4
|
import type { TestRun } from '../Test.repository.js';
|
|
5
5
|
export declare const makeSha256: <I>(input: I) => string;
|
|
6
6
|
declare const TestResult: {
|
|
7
|
-
make: <I, O, T>(args: Omit<TestResult<I, O, T>,
|
|
7
|
+
make: <I, O, T>(args: Omit<TestResult<I, O, T>, "id" | "hashTestCase">) => {
|
|
8
8
|
id: string;
|
|
9
9
|
hashTestCase: string;
|
|
10
10
|
input: I;
|
|
@@ -16,7 +16,7 @@ declare const TestResult: {
|
|
|
16
16
|
timeMillis: number;
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
|
-
export declare const TestResultSchema:
|
|
19
|
+
export declare const TestResultSchema: Schema.Schema<TestResult>;
|
|
20
20
|
declare const TestRunResults: {
|
|
21
21
|
emptyFromTestRun: <I, O, T>(args: TestRun) => TestRunResults<I, O, T>;
|
|
22
22
|
};
|
|
@@ -26,14 +26,14 @@ export declare const test: <I, O, T>({ testCase: { input, expected, tags, orderi
|
|
|
26
26
|
};
|
|
27
27
|
program: Program<I, O>;
|
|
28
28
|
classify: Classify<O, T>;
|
|
29
|
-
}) =>
|
|
29
|
+
}) => Effect.Effect<TestResult<I, O, T>>;
|
|
30
30
|
export declare const all: <I, O, T>({ testCases, program, classify, }: TestSuite<I, O, T>, { concurrency }?: {
|
|
31
31
|
concurrency?: number | undefined;
|
|
32
|
-
}) =>
|
|
33
|
-
export declare const runCollectRecord: (testRun: TestRun) => <I, O, T, E, R>(testResults$:
|
|
32
|
+
}) => Stream.Stream<TestResult<I, O, T>, never, never>;
|
|
33
|
+
export declare const runCollectRecord: (testRun: TestRun) => <I, O, T, E, R>(testResults$: Stream.Stream<TestResult<I, O, T>, E, R>) => Effect.Effect<TestRunResults<I, O, T>, E, R>;
|
|
34
34
|
export declare const diff: ({ testRun: { stats }, previousTestRun, }: {
|
|
35
35
|
testRun: TestRunResults;
|
|
36
|
-
previousTestRun:
|
|
36
|
+
previousTestRun: Option.Option<TestRunResults>;
|
|
37
37
|
}) => Diff;
|
|
38
38
|
export {};
|
|
39
39
|
//# sourceMappingURL=Test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,MAAM,EACN,MAAM,EAEN,MAAM,EACN,MAAM,EACT,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAYnD,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAExC,CAAC;AAEF,QAAA,MAAM,UAAU;WACL,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,cAAc,CAAC;;;;;;;;;;;CAezE,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAUrD,CAAC;AAEH,QAAA,MAAM,cAAc;uBACG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,OAAO,KAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAMtE,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,uEAI3B;IACC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC5B,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAgBpC,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACvB,mCAIG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,kBAAe;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAoB,qDAwBnE,CAAC;AAEN,eAAO,MAAM,gBAAgB,GACxB,SAAS,OAAO,MAChB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,cAAc,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAqCzC,CAAC;AAEV,eAAO,MAAM,IAAI,GAAI,0CAGlB;IACC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CAClD,KAAG,IAaC,CAAC"}
|