@creative-introvert/tons-of-tests 0.8.0 → 0.9.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.
- 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
|
@@ -5,39 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.values = exports.recall = exports.precision = exports.min = exports.median = exports.mean = exports.max = exports.makeClassify = exports.defaultIsNil = exports.defaultIsEqual = exports.StatsSchema = exports.Stats = exports.LabelSchema = void 0;
|
|
7
7
|
var _nodeUtil = /*#__PURE__*/require("node:util");
|
|
8
|
-
var
|
|
9
|
-
function _getRequireWildcardCache(e) {
|
|
10
|
-
if ("function" != typeof WeakMap) return null;
|
|
11
|
-
var r = new WeakMap(),
|
|
12
|
-
t = new WeakMap();
|
|
13
|
-
return (_getRequireWildcardCache = function (e) {
|
|
14
|
-
return e ? t : r;
|
|
15
|
-
})(e);
|
|
16
|
-
}
|
|
17
|
-
function _interopRequireWildcard(e, r) {
|
|
18
|
-
if (!r && e && e.__esModule) return e;
|
|
19
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
20
|
-
default: e
|
|
21
|
-
};
|
|
22
|
-
var t = _getRequireWildcardCache(r);
|
|
23
|
-
if (t && t.has(e)) return t.get(e);
|
|
24
|
-
var n = {
|
|
25
|
-
__proto__: null
|
|
26
|
-
},
|
|
27
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
28
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
29
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
30
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
31
|
-
}
|
|
32
|
-
return n.default = e, t && t.set(e, n), n;
|
|
33
|
-
}
|
|
8
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
34
9
|
const values = exports.values = {
|
|
35
10
|
TN: 'TN',
|
|
36
11
|
TP: 'TP',
|
|
37
12
|
FP: 'FP',
|
|
38
13
|
FN: 'FN'
|
|
39
14
|
};
|
|
40
|
-
const LabelSchema = exports.LabelSchema = /*#__PURE__*/
|
|
15
|
+
const LabelSchema = exports.LabelSchema = /*#__PURE__*/_effect.Schema.Literal('TP', 'TN', 'FP', 'FN');
|
|
41
16
|
const defaultIsEqual = (a, b) =>
|
|
42
17
|
// FIXME: Expensive, but don't know how else to cheaply remove
|
|
43
18
|
// `undefined`, which is a common source of false results.
|
|
@@ -47,7 +22,11 @@ const defaultIsEqual = (a, b) =>
|
|
|
47
22
|
exports.defaultIsEqual = defaultIsEqual;
|
|
48
23
|
const defaultIsNil = x => x === null || x === undefined;
|
|
49
24
|
exports.defaultIsNil = defaultIsNil;
|
|
50
|
-
const makeClassify = (
|
|
25
|
+
const makeClassify = ({
|
|
26
|
+
isEqual,
|
|
27
|
+
isOutputNil = defaultIsNil,
|
|
28
|
+
isExpectedNil = defaultIsNil
|
|
29
|
+
}) => (output, expected) => {
|
|
51
30
|
const eq = isEqual(output, expected);
|
|
52
31
|
const oNil = isOutputNil(output);
|
|
53
32
|
const eNil = isExpectedNil(expected);
|
|
@@ -63,17 +42,17 @@ const makeClassify = (isEqual, isOutputNil = defaultIsNil, isExpectedNil = defau
|
|
|
63
42
|
return values.FN;
|
|
64
43
|
};
|
|
65
44
|
exports.makeClassify = makeClassify;
|
|
66
|
-
const StatsSchema = exports.StatsSchema = /*#__PURE__*/
|
|
67
|
-
TP:
|
|
68
|
-
TN:
|
|
69
|
-
FP:
|
|
70
|
-
FN:
|
|
71
|
-
precision:
|
|
72
|
-
recall:
|
|
73
|
-
timeMean: /*#__PURE__*/
|
|
74
|
-
timeMedian: /*#__PURE__*/
|
|
75
|
-
timeMin: /*#__PURE__*/
|
|
76
|
-
timeMax: /*#__PURE__*/
|
|
45
|
+
const StatsSchema = exports.StatsSchema = /*#__PURE__*/_effect.Schema.Struct({
|
|
46
|
+
TP: _effect.Schema.Number,
|
|
47
|
+
TN: _effect.Schema.Number,
|
|
48
|
+
FP: _effect.Schema.Number,
|
|
49
|
+
FN: _effect.Schema.Number,
|
|
50
|
+
precision: _effect.Schema.Number,
|
|
51
|
+
recall: _effect.Schema.Number,
|
|
52
|
+
timeMean: /*#__PURE__*/_effect.Schema.Number.pipe(_effect.Schema.Option),
|
|
53
|
+
timeMedian: /*#__PURE__*/_effect.Schema.Number.pipe(_effect.Schema.Option),
|
|
54
|
+
timeMin: /*#__PURE__*/_effect.Schema.Number.pipe(_effect.Schema.Option),
|
|
55
|
+
timeMax: /*#__PURE__*/_effect.Schema.Number.pipe(_effect.Schema.Option)
|
|
77
56
|
});
|
|
78
57
|
const Stats = exports.Stats = {
|
|
79
58
|
empty: () => ({
|
|
@@ -83,26 +62,26 @@ const Stats = exports.Stats = {
|
|
|
83
62
|
FN: 0,
|
|
84
63
|
precision: 0,
|
|
85
64
|
recall: 0,
|
|
86
|
-
timeMean:
|
|
87
|
-
timeMedian:
|
|
88
|
-
timeMin:
|
|
89
|
-
timeMax:
|
|
65
|
+
timeMean: _effect.Option.none(),
|
|
66
|
+
timeMedian: _effect.Option.none(),
|
|
67
|
+
timeMin: _effect.Option.none(),
|
|
68
|
+
timeMax: _effect.Option.none(),
|
|
90
69
|
total: 0
|
|
91
70
|
})
|
|
92
71
|
};
|
|
93
72
|
const precision = m => {
|
|
94
73
|
const r = m.TP / (m.TP + m.FP);
|
|
95
|
-
return isNaN(r) ? 0 : r;
|
|
74
|
+
return Number.isNaN(r) ? 0 : r;
|
|
96
75
|
};
|
|
97
76
|
exports.precision = precision;
|
|
98
77
|
const recall = m => {
|
|
99
78
|
const r = m.TP / (m.TP + m.FN);
|
|
100
|
-
return isNaN(r) ? 0 : r;
|
|
79
|
+
return Number.isNaN(r) ? 0 : r;
|
|
101
80
|
};
|
|
102
81
|
exports.recall = recall;
|
|
103
|
-
const min = xs => xs.reduce((min, x) => x < min ? x : min,
|
|
82
|
+
const min = xs => xs.reduce((min, x) => x < min ? x : min, Number.POSITIVE_INFINITY);
|
|
104
83
|
exports.min = min;
|
|
105
|
-
const max = xs => xs.reduce((max, x) => x > max ? x : max,
|
|
84
|
+
const max = xs => xs.reduce((max, x) => x > max ? x : max, Number.NEGATIVE_INFINITY);
|
|
106
85
|
exports.max = max;
|
|
107
86
|
const mean = xs => {
|
|
108
87
|
if (xs.length === 0) {
|
|
@@ -113,12 +92,12 @@ const mean = xs => {
|
|
|
113
92
|
exports.mean = mean;
|
|
114
93
|
const median = xs => {
|
|
115
94
|
if (xs.length === 0) {
|
|
116
|
-
return
|
|
95
|
+
return _effect.Option.none();
|
|
117
96
|
}
|
|
118
97
|
const sorted = xs.slice().sort((a, b) => a - b);
|
|
119
98
|
const index = Math.floor(sorted.length / 2);
|
|
120
99
|
const r = sorted.length % 2 === 0 ? (sorted[index - 1] + sorted[index]) / 2 : sorted[index];
|
|
121
|
-
return
|
|
100
|
+
return _effect.Option.fromNullable(r);
|
|
122
101
|
};
|
|
123
102
|
exports.median = median;
|
|
124
103
|
//# sourceMappingURL=Classify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.js","names":["_nodeUtil","require","
|
|
1
|
+
{"version":3,"file":"Classify.js","names":["_nodeUtil","require","_effect","values","exports","TN","TP","FP","FN","LabelSchema","Schema","Literal","defaultIsEqual","a","b","isDeepStrictEqual","JSON","parse","stringify","defaultIsNil","x","undefined","makeClassify","isEqual","isOutputNil","isExpectedNil","output","expected","eq","oNil","eNil","StatsSchema","Struct","Number","precision","recall","timeMean","pipe","Option","timeMedian","timeMin","timeMax","Stats","empty","none","total","m","r","isNaN","min","xs","reduce","POSITIVE_INFINITY","max","NEGATIVE_INFINITY","mean","length","median","sorted","slice","sort","index","Math","floor","fromNullable"],"sources":["../../../src/internal/Classify.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,33 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.test = exports.runCollectRecord = exports.makeSha256 = exports.diff = exports.all = exports.TestResultSchema = void 0;
|
|
7
7
|
var _nodeCrypto = /*#__PURE__*/require("node:crypto");
|
|
8
8
|
var _nodePerf_hooks = /*#__PURE__*/require("node:perf_hooks");
|
|
9
|
-
var
|
|
9
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
10
10
|
var _Classify = /*#__PURE__*/require("./Classify.js");
|
|
11
|
-
function _getRequireWildcardCache(e) {
|
|
12
|
-
if ("function" != typeof WeakMap) return null;
|
|
13
|
-
var r = new WeakMap(),
|
|
14
|
-
t = new WeakMap();
|
|
15
|
-
return (_getRequireWildcardCache = function (e) {
|
|
16
|
-
return e ? t : r;
|
|
17
|
-
})(e);
|
|
18
|
-
}
|
|
19
|
-
function _interopRequireWildcard(e, r) {
|
|
20
|
-
if (!r && e && e.__esModule) return e;
|
|
21
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
22
|
-
default: e
|
|
23
|
-
};
|
|
24
|
-
var t = _getRequireWildcardCache(r);
|
|
25
|
-
if (t && t.has(e)) return t.get(e);
|
|
26
|
-
var n = {
|
|
27
|
-
__proto__: null
|
|
28
|
-
},
|
|
29
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
30
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
31
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
32
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
33
|
-
}
|
|
34
|
-
return n.default = e, t && t.set(e, n), n;
|
|
35
|
-
}
|
|
36
11
|
const makeSha256 = input => {
|
|
37
12
|
return (0, _nodeCrypto.createHash)('sha256').update(JSON.stringify(input)).digest('hex');
|
|
38
13
|
};
|
|
@@ -65,16 +40,16 @@ const TestResult = {
|
|
|
65
40
|
};
|
|
66
41
|
}
|
|
67
42
|
};
|
|
68
|
-
const TestResultSchema = exports.TestResultSchema = /*#__PURE__*/
|
|
69
|
-
id:
|
|
70
|
-
hashTestCase:
|
|
71
|
-
ordering:
|
|
72
|
-
input:
|
|
73
|
-
result:
|
|
74
|
-
expected:
|
|
43
|
+
const TestResultSchema = exports.TestResultSchema = /*#__PURE__*/_effect.Schema.Struct({
|
|
44
|
+
id: _effect.Schema.String,
|
|
45
|
+
hashTestCase: _effect.Schema.String,
|
|
46
|
+
ordering: _effect.Schema.Int,
|
|
47
|
+
input: _effect.Schema.Unknown,
|
|
48
|
+
result: _effect.Schema.Unknown,
|
|
49
|
+
expected: _effect.Schema.Unknown,
|
|
75
50
|
label: _Classify.LabelSchema,
|
|
76
|
-
tags: /*#__PURE__*/
|
|
77
|
-
timeMillis:
|
|
51
|
+
tags: /*#__PURE__*/_effect.Schema.Array(_effect.Schema.String),
|
|
52
|
+
timeMillis: _effect.Schema.Number
|
|
78
53
|
});
|
|
79
54
|
const TestRunResults = {
|
|
80
55
|
emptyFromTestRun: args => ({
|
|
@@ -95,7 +70,7 @@ const test = ({
|
|
|
95
70
|
classify
|
|
96
71
|
}) => {
|
|
97
72
|
const t0 = _nodePerf_hooks.performance.now();
|
|
98
|
-
return program(input).pipe(
|
|
73
|
+
return program(input).pipe(_effect.Effect.map(result => {
|
|
99
74
|
const t1 = _nodePerf_hooks.performance.now();
|
|
100
75
|
return TestResult.make({
|
|
101
76
|
ordering,
|
|
@@ -112,52 +87,54 @@ exports.test = test;
|
|
|
112
87
|
const all = ({
|
|
113
88
|
testCases,
|
|
114
89
|
program,
|
|
115
|
-
classify = (0, _Classify.makeClassify)(
|
|
90
|
+
classify = (0, _Classify.makeClassify)({
|
|
91
|
+
isEqual: _Classify.defaultIsEqual
|
|
92
|
+
})
|
|
116
93
|
}, {
|
|
117
94
|
concurrency
|
|
118
95
|
} = {
|
|
119
96
|
concurrency: 1
|
|
120
|
-
}) =>
|
|
121
|
-
// Keeping the index as the
|
|
122
|
-
|
|
97
|
+
}) => (0, _effect.pipe)(
|
|
98
|
+
// Keeping the index as the inherent ordering.
|
|
99
|
+
_effect.Array.map(testCases, ({
|
|
123
100
|
..._
|
|
124
101
|
}, ordering) => ({
|
|
125
102
|
..._,
|
|
126
103
|
ordering
|
|
127
|
-
})),
|
|
104
|
+
})), _effect.Stream.fromIterable, _effect.Stream.mapEffect(testCase => test({
|
|
128
105
|
testCase,
|
|
129
106
|
program,
|
|
130
107
|
classify
|
|
131
108
|
}), {
|
|
132
109
|
concurrency,
|
|
133
110
|
unordered: false
|
|
134
|
-
}),
|
|
135
|
-
const i = testResult.ordering;
|
|
111
|
+
}), _effect.Stream.tap(testResult => {
|
|
112
|
+
const i = testResult.ordering + 1;
|
|
136
113
|
const total = testCases.length;
|
|
137
114
|
const n = Math.floor(i % Math.max(total * 0.05, 10));
|
|
138
|
-
if (i ===
|
|
115
|
+
if (i === 1 || n === 0 || i === total) {
|
|
139
116
|
const s = `PROGRESS: ${i}/${total}\r`;
|
|
140
117
|
if (process.env.NODE_ENV === 'development') {
|
|
141
118
|
process.stdout.write(s);
|
|
142
119
|
} else {
|
|
143
|
-
return
|
|
120
|
+
return _effect.Console.log(s);
|
|
144
121
|
}
|
|
145
122
|
}
|
|
146
|
-
return
|
|
123
|
+
return _effect.Effect.void;
|
|
147
124
|
}));
|
|
148
125
|
exports.all = all;
|
|
149
|
-
const runCollectRecord = testRun => testResults$ => testResults$.pipe(
|
|
126
|
+
const runCollectRecord = testRun => testResults$ => testResults$.pipe(_effect.Stream.runFold(TestRunResults.emptyFromTestRun(testRun), (run, result) => {
|
|
150
127
|
run.testResultsByTestCaseHash[result.hashTestCase] = result;
|
|
151
128
|
run.testCaseHashes.push(result.hashTestCase);
|
|
152
129
|
run.stats[result.label]++;
|
|
153
130
|
return run;
|
|
154
|
-
}),
|
|
131
|
+
}), _effect.Effect.map(run => {
|
|
155
132
|
run.stats.precision = (0, _Classify.precision)(run.stats);
|
|
156
133
|
run.stats.recall = (0, _Classify.recall)(run.stats);
|
|
157
134
|
const times = run.testCaseHashes.map(hash => run.testResultsByTestCaseHash[hash].timeMillis);
|
|
158
|
-
run.stats.timeMean =
|
|
159
|
-
run.stats.timeMax =
|
|
160
|
-
run.stats.timeMin =
|
|
135
|
+
run.stats.timeMean = _effect.Option.some(times.reduce((mean, n) => mean + n, 0) / times.length);
|
|
136
|
+
run.stats.timeMax = _effect.Option.some(times.reduce((max, n) => Math.max(max, n), 0));
|
|
137
|
+
run.stats.timeMin = _effect.Option.some(times.reduce((min, n) => Math.min(min, n), Number.POSITIVE_INFINITY));
|
|
161
138
|
run.stats.timeMedian = (0, _Classify.median)(times);
|
|
162
139
|
run.stats.total = run.testCaseHashes.length;
|
|
163
140
|
return run;
|
|
@@ -168,7 +145,7 @@ const diff = ({
|
|
|
168
145
|
stats
|
|
169
146
|
},
|
|
170
147
|
previousTestRun
|
|
171
|
-
}) => previousTestRun.pipe(
|
|
148
|
+
}) => previousTestRun.pipe(_effect.Option.match({
|
|
172
149
|
onNone: () => stats,
|
|
173
150
|
onSome: ({
|
|
174
151
|
stats: previousStats
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.js","names":["_nodeCrypto","require","_nodePerf_hooks","
|
|
1
|
+
{"version":3,"file":"Test.js","names":["_nodeCrypto","require","_nodePerf_hooks","_effect","_Classify","makeSha256","input","createHash","update","JSON","stringify","digest","exports","TestResult","make","args","label","result","expected","id","hashTestCase","TestResultSchema","Schema","Struct","String","ordering","Int","Unknown","LabelSchema","tags","Array","timeMillis","Number","TestRunResults","emptyFromTestRun","testResultsByTestCaseHash","testCaseHashes","stats","Stats","empty","test","testCase","program","classify","t0","performance","now","pipe","Effect","map","t1","all","testCases","makeClassify","isEqual","defaultIsEqual","concurrency","_","Stream","fromIterable","mapEffect","unordered","tap","testResult","i","total","length","n","Math","floor","max","s","process","env","NODE_ENV","stdout","write","Console","log","void","runCollectRecord","testRun","testResults$","runFold","run","push","precision","recall","times","hash","timeMean","Option","some","reduce","mean","timeMax","timeMin","min","POSITIVE_INFINITY","timeMedian","median","diff","previousTestRun","match","onNone","onSome","previousStats","TP","TN","FP","FN"],"sources":["../../../src/internal/Test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|