@creative-introvert/tons-of-tests 2.0.0 → 2.1.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 +157 -134
- package/dist/cjs/Classify.js +5 -0
- package/dist/cjs/Classify.js.map +1 -1
- package/dist/cjs/Test.js +5 -1
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Test.repository.types.js.map +1 -1
- package/dist/cjs/internal/Test.js +107 -54
- package/dist/cjs/internal/Test.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.js +77 -20
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/cjs/internal/stats.js +8 -2
- package/dist/cjs/internal/stats.js.map +1 -1
- package/dist/cjs/internal/summarize.js +18 -13
- package/dist/cjs/internal/summarize.js.map +1 -1
- package/dist/dts/Classify.d.ts +4 -0
- 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 +46 -8
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Test.repository.d.ts +3 -3
- package/dist/dts/Test.repository.d.ts.map +1 -1
- package/dist/dts/Test.repository.types.d.ts +6 -0
- package/dist/dts/Test.repository.types.d.ts.map +1 -1
- package/dist/dts/internal/Test.d.ts +15 -10
- package/dist/dts/internal/Test.d.ts.map +1 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts +2 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -1
- package/dist/dts/internal/stats.d.ts.map +1 -1
- package/dist/dts/internal/summarize.d.ts.map +1 -1
- package/dist/esm/Classify.js +5 -0
- package/dist/esm/Classify.js.map +1 -1
- package/dist/esm/Test.js +4 -0
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Test.repository.types.js.map +1 -1
- package/dist/esm/internal/Test.js +104 -53
- package/dist/esm/internal/Test.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.js +77 -20
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/esm/internal/stats.js +8 -2
- package/dist/esm/internal/stats.js.map +1 -1
- package/dist/esm/internal/summarize.js +18 -13
- package/dist/esm/internal/summarize.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,14 +23,13 @@ const columns = [{
|
|
|
23
23
|
label: '#/∑',
|
|
24
24
|
make: ({
|
|
25
25
|
i,
|
|
26
|
-
|
|
27
|
-
}) => [_ansiColors.default.dim(`${i + 1}/${
|
|
26
|
+
resultKeys
|
|
27
|
+
}) => [_ansiColors.default.dim(`${i + 1}/${resultKeys.length}`)]
|
|
28
28
|
}, {
|
|
29
29
|
name: 'hash',
|
|
30
30
|
label: 'hash',
|
|
31
31
|
make: ({
|
|
32
|
-
|
|
33
|
-
hashes,
|
|
32
|
+
testResult,
|
|
34
33
|
previousTestResult
|
|
35
34
|
}) => {
|
|
36
35
|
// TODO: Highlight more:
|
|
@@ -38,9 +37,15 @@ const columns = [{
|
|
|
38
37
|
// 2. green when test "changed good"
|
|
39
38
|
// 3. blue when test is new?
|
|
40
39
|
const color = _effect.Option.isNone(previousTestResult) ? _ansiColors.default.green : _ansiColors.default.white;
|
|
41
|
-
const hash =
|
|
40
|
+
const hash = testResult.hashTestCase.slice(0, 8);
|
|
42
41
|
return [color(hash)];
|
|
43
42
|
}
|
|
43
|
+
}, {
|
|
44
|
+
name: 'key',
|
|
45
|
+
label: 'key',
|
|
46
|
+
make: ({
|
|
47
|
+
testResult
|
|
48
|
+
}) => [testResult.key]
|
|
44
49
|
}, {
|
|
45
50
|
name: 'timeMillis',
|
|
46
51
|
label: 'ms',
|
|
@@ -52,7 +57,7 @@ const columns = [{
|
|
|
52
57
|
label: 'tags',
|
|
53
58
|
make: ({
|
|
54
59
|
testResult
|
|
55
|
-
}) => testResult.tags
|
|
60
|
+
}) => [...testResult.tags]
|
|
56
61
|
}, {
|
|
57
62
|
name: 'input',
|
|
58
63
|
label: 'input',
|
|
@@ -119,26 +124,26 @@ const showSummary = ({
|
|
|
119
124
|
testRun,
|
|
120
125
|
displayConfig,
|
|
121
126
|
previousTestRun = _effect.Option.none(),
|
|
122
|
-
selectColumns = ['index', 'hash', 'timeMillis', 'tags', 'input', 'expected', 'label', 'result_diff', 'prev_label', 'prev_result_diff']
|
|
127
|
+
selectColumns = ['index', 'hash', 'key', 'timeMillis', 'tags', 'input', 'expected', 'label', 'result_diff', 'prev_label', 'prev_result_diff']
|
|
123
128
|
}) => {
|
|
124
129
|
const cfg = {
|
|
125
130
|
...(0, _DisplayConfig.makeDefault)(),
|
|
126
131
|
...displayConfig
|
|
127
132
|
};
|
|
128
|
-
const
|
|
133
|
+
const resultKeys = testRun.testResultKeys;
|
|
129
134
|
const _columns = columns.filter(c => selectColumns.includes(c.name)).filter(c => !c.name.startsWith('prev_') || _effect.Option.isSome(previousTestRun));
|
|
130
135
|
let columnWidths = _columns.map(m => m.label.length);
|
|
131
136
|
const rows = [];
|
|
132
|
-
for (let i = 0; i <
|
|
133
|
-
const
|
|
134
|
-
const testResult = testRun.
|
|
135
|
-
const previousTestResult = previousTestRun.pipe(_effect.Option.flatMap(_ => _effect.Record.get(_.
|
|
137
|
+
for (let i = 0; i < resultKeys.length; i++) {
|
|
138
|
+
const key = resultKeys[i];
|
|
139
|
+
const testResult = testRun.testResultsByKey[key];
|
|
140
|
+
const previousTestResult = previousTestRun.pipe(_effect.Option.flatMap(_ => _effect.Record.get(_.testResultsByKey, key)));
|
|
136
141
|
const row = _columns.map(({
|
|
137
142
|
label,
|
|
138
143
|
make
|
|
139
144
|
}) => [label, make({
|
|
140
145
|
i,
|
|
141
|
-
|
|
146
|
+
resultKeys,
|
|
142
147
|
testResult,
|
|
143
148
|
previousTestResult
|
|
144
149
|
})]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","
|
|
1
|
+
{"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","resultKeys","colors","dim","length","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","showSummary","testRun","displayConfig","previousTestRun","none","selectColumns","cfg","makeDefault","testResultKeys","_columns","filter","c","includes","startsWith","columnWidths","m","rows","testResultsByKey","flatMap","Record","get","row","w","Math","max","s","unstyle","maxHeight","reduce","n","_key","values","forEach","_i","push","A","makeBy","header","showHeader","showTitle","bold","showBorder","height","showRow","exports"],"sources":["../../../src/internal/summarize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Classify.d.ts
CHANGED
|
@@ -17,7 +17,10 @@ declare const Stats_base: Schema.Class<Stats, Schema.Struct<{
|
|
|
17
17
|
readonly TN: Schema.Finite;
|
|
18
18
|
readonly FP: Schema.Finite;
|
|
19
19
|
readonly FN: Schema.Finite;
|
|
20
|
+
/** Number of evaluation results. */
|
|
20
21
|
readonly total: Schema.Finite;
|
|
22
|
+
/** Number of distinct original test cases represented by those results. */
|
|
23
|
+
readonly testCases: Schema.Int;
|
|
21
24
|
readonly precision: Schema.Finite;
|
|
22
25
|
readonly recall: Schema.Finite;
|
|
23
26
|
readonly timeMin: Schema.Option<Schema.Finite>;
|
|
@@ -25,6 +28,7 @@ declare const Stats_base: Schema.Class<Stats, Schema.Struct<{
|
|
|
25
28
|
readonly timeMedian: Schema.Option<Schema.Finite>;
|
|
26
29
|
readonly timeMean: Schema.Option<Schema.Finite>;
|
|
27
30
|
}>, {}>;
|
|
31
|
+
/** Counts selected results; timing statistics count each selected case once. */
|
|
28
32
|
export declare class Stats extends Stats_base {
|
|
29
33
|
static empty(): Stats;
|
|
30
34
|
}
|
|
@@ -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,cAAc,gCAA0B,CAAC;AACtD,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
|
|
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,cAAc,gCAA0B,CAAC;AACtD,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"}
|
package/dist/dts/Show.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type DiffColumn = {
|
|
|
16
16
|
export type StatsContext = {
|
|
17
17
|
stats: Stats;
|
|
18
18
|
};
|
|
19
|
-
export type StatsColumnNames = 'total' | 'TP' | 'TN' | 'FP' | 'FN' | 'precision' | 'recall' | 'timeMin' | 'timeMax' | 'timeMean' | 'timeMedian';
|
|
19
|
+
export type StatsColumnNames = 'total' | 'testCases' | 'TP' | 'TN' | 'FP' | 'FN' | 'precision' | 'recall' | 'timeMin' | 'timeMax' | 'timeMean' | 'timeMedian';
|
|
20
20
|
export type StatsColumn = {
|
|
21
21
|
name: StatsColumnNames;
|
|
22
22
|
label: string;
|
|
@@ -24,11 +24,11 @@ export type StatsColumn = {
|
|
|
24
24
|
};
|
|
25
25
|
export type SummarizeContext = {
|
|
26
26
|
i: number;
|
|
27
|
-
|
|
27
|
+
resultKeys: string[];
|
|
28
28
|
testResult: TestResult;
|
|
29
29
|
previousTestResult: Option.Option<TestResult>;
|
|
30
30
|
};
|
|
31
|
-
export type SummarizeColumnNames = 'index' | 'hash' | 'timeMillis' | 'input' | 'tags' | 'label' | 'expected' | 'result' | 'result_diff' | 'prev_label' | 'prev_result' | 'prev_result_diff';
|
|
31
|
+
export type SummarizeColumnNames = 'index' | 'hash' | 'key' | 'timeMillis' | 'input' | 'tags' | 'label' | 'expected' | 'result' | 'result_diff' | 'prev_label' | 'prev_result' | 'prev_result_diff';
|
|
32
32
|
export type SummarizeColumn = {
|
|
33
33
|
name: SummarizeColumnNames;
|
|
34
34
|
label: string;
|
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,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,
|
|
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,WAAW,GACX,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,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,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,KAAK,GACL,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,16 +1,40 @@
|
|
|
1
|
-
import { Effect, Option, type Stream } from 'effect';
|
|
2
|
-
import type {
|
|
1
|
+
import { type Array, Effect, Option, type Stream } from 'effect';
|
|
2
|
+
import type { Label, Stats } from './Classify.js';
|
|
3
3
|
import * as internal from './internal/Test.js';
|
|
4
4
|
import type { TestRun, TestResultSchemas } from './Test.repository.js';
|
|
5
5
|
export type TestSuiteSchemas<I, O, T> = TestResultSchemas<I, O, T>;
|
|
6
6
|
export type TestCases<I, T, E = never, R = never> = ReadonlyArray<TestCase<I, T>> | Stream.Stream<TestCase<I, T>, E, R>;
|
|
7
|
-
export type
|
|
7
|
+
export type EvaluationResult<A, B> = {
|
|
8
|
+
/** Non-empty and unique within the case. Keep it stable across runs. */
|
|
9
|
+
readonly key: string;
|
|
10
|
+
readonly result: A;
|
|
11
|
+
readonly expected: B;
|
|
12
|
+
readonly label: Label;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Returns the results to track for one completed output. Keep this function pure.
|
|
16
|
+
* Return at least one result, in display order. Each key must be non-empty and
|
|
17
|
+
* unique within the case.
|
|
18
|
+
*/
|
|
19
|
+
export type Evaluate<O, T, A = O, B = T> = (output: O, expected: T) => Array.NonEmptyReadonlyArray<EvaluationResult<A, B>>;
|
|
20
|
+
/**
|
|
21
|
+
* Runs `program` once per case, then evaluates its output. `O` and `T` describe
|
|
22
|
+
* the whole output and expected value; `A` and `B` describe the evaluated values.
|
|
23
|
+
* Without `evaluate`, the default comparison returns one result with key `result`.
|
|
24
|
+
*/
|
|
25
|
+
export type TestSuite<I = unknown, O = unknown, T = unknown, E = never, R = never, A = O, B = T> = {
|
|
26
|
+
name: string;
|
|
27
|
+
/** Decode cached input and the result/expected values returned by `evaluate`. */
|
|
28
|
+
schemas?: TestSuiteSchemas<I, A, B>;
|
|
29
|
+
} & ({
|
|
8
30
|
testCases: TestCases<I, T, E, R>;
|
|
9
31
|
program: Program<I, O, E, R>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
32
|
+
evaluate: Evaluate<O, T, A, B>;
|
|
33
|
+
} | {
|
|
34
|
+
testCases: TestCases<I, T & NoInfer<B>, E, R>;
|
|
35
|
+
program: Program<I, O & NoInfer<A>, E, R>;
|
|
36
|
+
evaluate?: undefined;
|
|
37
|
+
});
|
|
14
38
|
export type TestCase<I, T> = {
|
|
15
39
|
input: I;
|
|
16
40
|
expected: T;
|
|
@@ -19,17 +43,27 @@ export type TestCase<I, T> = {
|
|
|
19
43
|
export type Program<I, O, E = never, R = never> = (input: I) => Effect.Effect<O, E, R>;
|
|
20
44
|
export type TestResult<I = unknown, O = unknown, T = unknown> = {
|
|
21
45
|
id: string;
|
|
46
|
+
/** Hash of the original input and expected value, shared by all case results. */
|
|
22
47
|
hashTestCase: string;
|
|
48
|
+
key: string;
|
|
49
|
+
/** Zero-based position of the case in the suite. */
|
|
23
50
|
ordering: number;
|
|
51
|
+
/** Zero-based position of the result in the case's evaluation array. */
|
|
52
|
+
resultOrdering: number;
|
|
24
53
|
label: Label;
|
|
25
54
|
input: I;
|
|
26
55
|
result: O;
|
|
27
56
|
expected: T;
|
|
28
57
|
tags: readonly string[];
|
|
58
|
+
/** Program duration for the case, shared by all its results. */
|
|
29
59
|
timeMillis: number;
|
|
30
60
|
};
|
|
31
61
|
export type TestRunResults<I = unknown, O = unknown, T = unknown> = TestRun & {
|
|
32
|
-
|
|
62
|
+
/** Indexed by `resultKey`, which combines the case hash and evaluation key. */
|
|
63
|
+
testResultsByKey: Record<string, TestResult<I, O, T>>;
|
|
64
|
+
/** Keys into `testResultsByKey`, in display order. */
|
|
65
|
+
testResultKeys: string[];
|
|
66
|
+
/** Distinct case hashes, in display order. */
|
|
33
67
|
testCaseHashes: string[];
|
|
34
68
|
stats: Stats;
|
|
35
69
|
};
|
|
@@ -44,5 +78,9 @@ export type TestResultPredicate<I, O, T> = (args: {
|
|
|
44
78
|
export declare const all: typeof internal.all;
|
|
45
79
|
export declare const diff: typeof internal.diff;
|
|
46
80
|
export declare const makeSha256: typeof internal.makeSha256;
|
|
81
|
+
/** Builds the lookup key for one evaluation within its original test case. */
|
|
82
|
+
export declare const resultKey: typeof internal.resultKey;
|
|
47
83
|
export declare const runCollectRecord: typeof internal.runCollectRecord;
|
|
84
|
+
/** Keeps matching results and recalculates counts and case timing statistics. */
|
|
85
|
+
export declare const filterResults: typeof internal.filterResults;
|
|
48
86
|
//# 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,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,MAAM,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../src/Test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ export { TestRun } from './Test.repository.types.js';
|
|
|
5
5
|
export type { TestRepositoryShape, TestResultRead, TestResultSchemas, TestRunResults, } from './Test.repository.types.js';
|
|
6
6
|
declare const TestRepository_base: Context.ServiceClass<TestRepository, "TestRepository", TestRepositoryShape>;
|
|
7
7
|
export declare class TestRepository extends TestRepository_base {
|
|
8
|
-
static get Live(): Layer.Layer<TestRepository, import("effect/sql/SqlError").SqlError, import("effect/sql/SqlClient").SqlClient>;
|
|
9
|
-
static layer(dbPath: string): Layer.Layer<TestRepository, import("effect/sql/SqlError").SqlError, never>;
|
|
10
|
-
static get TestLayer(): Layer.Layer<import("effect/sql/SqlClient").SqlClient | Sqlite.SqliteClient.SqliteClient | TestRepository, import("effect/sql/SqlError").SqlError, never>;
|
|
8
|
+
static get Live(): Layer.Layer<TestRepository, import("./RepositoryError.ts").RepositoryDecodeError | import("effect/sql/SqlError").SqlError, import("effect/sql/SqlClient").SqlClient>;
|
|
9
|
+
static layer(dbPath: string): Layer.Layer<TestRepository, import("./RepositoryError.ts").RepositoryDecodeError | import("effect/sql/SqlError").SqlError, never>;
|
|
10
|
+
static get TestLayer(): Layer.Layer<import("effect/sql/SqlClient").SqlClient | Sqlite.SqliteClient.SqliteClient | TestRepository, import("./RepositoryError.ts").RepositoryDecodeError | import("effect/sql/SqlError").SqlError, never>;
|
|
11
11
|
}
|
|
12
12
|
//# 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,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACnD,YAAY,EACR,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACjB,MAAM,4BAA4B,CAAC;;AAUpC,qBAAa,cAAe,SAAQ,mBAGf;IAIjB,MAAM,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"Test.repository.d.ts","sourceRoot":"","sources":["../../src/Test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACnD,YAAY,EACR,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACjB,MAAM,4BAA4B,CAAC;;AAUpC,qBAAa,cAAe,SAAQ,mBAGf;IAIjB,MAAM,KAAK,IAAI,yKAEd;IACD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,qIAK1B;IAED,MAAM,KAAK,SAAS,oNAEnB;CACJ"}
|
|
@@ -5,7 +5,9 @@ import type { TestResult } from './Test.js';
|
|
|
5
5
|
export type TestResultRead = {
|
|
6
6
|
id: string;
|
|
7
7
|
hashTestCase: string;
|
|
8
|
+
key: string;
|
|
8
9
|
ordering: number;
|
|
10
|
+
resultOrdering: number;
|
|
9
11
|
label: Label;
|
|
10
12
|
input: string;
|
|
11
13
|
result: string;
|
|
@@ -23,7 +25,11 @@ export declare class TestRun extends TestRun_base {
|
|
|
23
25
|
export type TestRunResults = {
|
|
24
26
|
testRun: number;
|
|
25
27
|
testResult: string;
|
|
28
|
+
ordering: number;
|
|
29
|
+
resultOrdering: number;
|
|
30
|
+
timeMillis: number;
|
|
26
31
|
};
|
|
32
|
+
/** Decode stored input and evaluated values, including values from prior runs. */
|
|
27
33
|
export type TestResultSchemas<I = unknown, O = unknown, T = unknown> = {
|
|
28
34
|
input: Schema.Codec<I>;
|
|
29
35
|
result: Schema.Codec<O>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.repository.types.d.ts","sourceRoot":"","sources":["../../src/Test.repository.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Test.repository.types.d.ts","sourceRoot":"","sources":["../../src/Test.repository.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Effect, Option, Schema, Stream } from 'effect';
|
|
2
|
-
import type {
|
|
3
|
-
import type { Diff, Program, TestCase, TestResult, TestRunResults, TestSuite } from '../Test.js';
|
|
2
|
+
import type { Diff, Evaluate, Program, TestCase, TestResult, TestRunResults, TestSuite } from '../Test.js';
|
|
4
3
|
import type { TestRun } from '../Test.repository.js';
|
|
5
4
|
export declare const makeSha256: <I>(input: I) => string;
|
|
6
5
|
declare const TestResult: {
|
|
7
|
-
make: <I, O, T>(args: Omit<TestResult<I, O, T>, 'id'
|
|
6
|
+
make: <I, O, T>(args: Omit<TestResult<I, O, T>, 'id'>) => {
|
|
8
7
|
id: string;
|
|
9
8
|
hashTestCase: string;
|
|
9
|
+
key: string;
|
|
10
10
|
ordering: number;
|
|
11
|
+
resultOrdering: number;
|
|
11
12
|
label: import("../Classify.js").Label;
|
|
12
13
|
input: I;
|
|
13
14
|
result: O;
|
|
@@ -16,28 +17,32 @@ declare const TestResult: {
|
|
|
16
17
|
timeMillis: number;
|
|
17
18
|
};
|
|
18
19
|
};
|
|
20
|
+
export declare const resultKey: ({ hashTestCase, key, }: Pick<TestResult, 'hashTestCase' | 'key'>) => string;
|
|
19
21
|
export declare const TestResultSchema: Schema.Codec<TestResult>;
|
|
20
|
-
export declare const test: <I, O, T, E, R>(args_0: {
|
|
22
|
+
export declare const test: <I, O, T, E, R, A, B>(args_0: {
|
|
21
23
|
testCase: TestCase<I, T> & {
|
|
22
24
|
ordering: number;
|
|
23
25
|
};
|
|
24
26
|
program: Program<I, O, E, R>;
|
|
25
|
-
|
|
27
|
+
evaluate: Evaluate<O, T, A, B>;
|
|
26
28
|
}) => Effect.Effect<{
|
|
27
29
|
id: string;
|
|
28
30
|
hashTestCase: string;
|
|
31
|
+
key: string;
|
|
29
32
|
ordering: number;
|
|
33
|
+
resultOrdering: number;
|
|
30
34
|
label: import("../Classify.js").Label;
|
|
31
35
|
input: I;
|
|
32
|
-
result:
|
|
33
|
-
expected:
|
|
36
|
+
result: A;
|
|
37
|
+
expected: B;
|
|
34
38
|
tags: readonly string[];
|
|
35
39
|
timeMillis: number;
|
|
36
|
-
}, E, R>;
|
|
37
|
-
export declare const all: <I, O, T, E, R
|
|
40
|
+
}[], E, R>;
|
|
41
|
+
export declare const all: <I, O, T, E, R, A = O, B = T>(suite: TestSuite<I, O, T, E, R, A, B>, { concurrency }?: {
|
|
38
42
|
concurrency?: number | undefined;
|
|
39
|
-
}) => Stream.Stream<TestResult<I,
|
|
43
|
+
}) => Stream.Stream<TestResult<I, A, B>, E, R>;
|
|
40
44
|
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>;
|
|
45
|
+
export declare const filterResults: <I, O, T>(testRun: TestRunResults<I, O, T>, predicate: (result: TestResult<I, O, T>) => boolean) => TestRunResults<I, O, T>;
|
|
41
46
|
export declare const diff: ({ testRun: { stats }, previousTestRun, }: {
|
|
42
47
|
testRun: TestRunResults;
|
|
43
48
|
previousTestRun: Option.Option<TestRunResults>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAQ,MAAM,EAAQ,MAAM,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAQ,MAAM,EAAQ,MAAM,EAAC,MAAM,QAAQ,CAAC;AAGzE,OAAO,KAAK,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAUnD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,CAAC,KAAG,MAGxC,CAAC;AAEF,QAAA,MAAM,UAAU;WACL,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;;;;;;;;;;;;;CAmBxD,CAAC;AAEF,eAAO,MAAM,SAAS,2BAGnB,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,KAAK,CAAC,KAAG,MACP,CAAC;AAWxC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAYpD,CAAC;AAEH,eAAO,MAAM,IAAI,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;cAKtD,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC;aACpC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;cAClB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;UAkChC,CAAC;AAEH,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SACpC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oBACtB;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,KAClD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAyCzC,CAAC;AAgFF,eAAO,MAAM,gBAAgB,YACf,OAAO,MAChB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBACI,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,CAIzC,CAAC;AAEV,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WACxB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aACrB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,KACpD,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAOxB,CAAC;AAEF,eAAO,MAAM,IAAI,6CAGd;IACC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CAClD,KAAG,IAaC,CAAC"}
|
|
@@ -3,10 +3,11 @@ import { Effect } from 'effect';
|
|
|
3
3
|
import { TestRepository } from '../Test.repository.js';
|
|
4
4
|
import { type TestRepositoryShape } from '../Test.repository.types.js';
|
|
5
5
|
export { TestRepository };
|
|
6
|
+
import { RepositoryDecodeError } from '../RepositoryError.js';
|
|
6
7
|
export declare const tables: {
|
|
7
8
|
readonly testResults: 'test-results';
|
|
8
9
|
readonly testRuns: 'test-runs';
|
|
9
10
|
readonly testRunResults: 'test-run-results';
|
|
10
11
|
};
|
|
11
|
-
export declare const makeTestRepository: Effect.Effect<TestRepositoryShape, import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
12
|
+
export declare const makeTestRepository: Effect.Effect<TestRepositoryShape, RepositoryDecodeError | import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
12
13
|
//# sourceMappingURL=Test.repository.sqlite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.repository.sqlite.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.repository.sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAGH,MAAM,EAKT,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEH,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"Test.repository.sqlite.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.repository.sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAGH,MAAM,EAKT,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEH,KAAK,mBAAmB,EAG3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,cAAc,EAAC,CAAC;AACxB,OAAO,EACH,qBAAqB,EAIxB,MAAM,uBAAuB,CAAC;AAI/B,eAAO,MAAM,MAAM;aACf,WAAW,EAAE,cAAc;aAC3B,QAAQ,EAAE,WAAW;aACrB,cAAc,EAAE,kBAAkB;CAC5B,CAAC;AA+CX,eAAO,MAAM,kBAAkB,yHA0mB7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/internal/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAc,gBAAgB,EAAe,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/internal/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAc,gBAAgB,EAAe,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AA8G/C,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,8CAe9B;IACC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACtC,KAAG,MAgCH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../src/internal/summarize.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,IAAI,CAAC,EAAE,MAAM,EAAS,MAAM,QAAQ,CAAC;AAElD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAER,oBAAoB,EAEvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../src/internal/summarize.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,IAAI,CAAC,EAAE,MAAM,EAAS,MAAM,QAAQ,CAAC;AAElD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAER,oBAAoB,EAEvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAyI/C,eAAO,MAAM,WAAW,gEAiBrB;IACC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;CACzD,WAgEA,CAAC"}
|
package/dist/esm/Classify.js
CHANGED
|
@@ -5,12 +5,16 @@ export const values = internal.values;
|
|
|
5
5
|
export const defaultIsEqual = internal.defaultIsEqual;
|
|
6
6
|
export const defaultIsNil = internal.defaultIsNil;
|
|
7
7
|
export const makeClassify = internal.makeClassify;
|
|
8
|
+
/** Counts selected results; timing statistics count each selected case once. */
|
|
8
9
|
export class Stats extends /*#__PURE__*/Schema.Class('Stats')({
|
|
9
10
|
TP: Schema.Finite,
|
|
10
11
|
TN: Schema.Finite,
|
|
11
12
|
FP: Schema.Finite,
|
|
12
13
|
FN: Schema.Finite,
|
|
14
|
+
/** Number of evaluation results. */
|
|
13
15
|
total: Schema.Finite,
|
|
16
|
+
/** Number of distinct original test cases represented by those results. */
|
|
17
|
+
testCases: Schema.Int,
|
|
14
18
|
precision: Schema.Finite,
|
|
15
19
|
recall: Schema.Finite,
|
|
16
20
|
timeMin: /*#__PURE__*/Schema.Option(Schema.Finite),
|
|
@@ -25,6 +29,7 @@ export class Stats extends /*#__PURE__*/Schema.Class('Stats')({
|
|
|
25
29
|
FP: 0,
|
|
26
30
|
FN: 0,
|
|
27
31
|
total: 0,
|
|
32
|
+
testCases: 0,
|
|
28
33
|
precision: 0,
|
|
29
34
|
recall: 0,
|
|
30
35
|
timeMin: Option.none(),
|
package/dist/esm/Classify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.js","names":["Option","Schema","internal","LabelSchema","values","defaultIsEqual","defaultIsNil","makeClassify","Stats","Class","TP","Finite","TN","FP","FN","total","precision","recall","timeMin","timeMax","timeMedian","timeMean","empty","none"],"sources":["../../src/Classify.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAQA,MAAM,EAAEC,MAAM,QAAO,QAAQ;AAErC,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD,OAAO,MAAMC,WAAW,GAAGD,QAAQ,CAACC,WAAW;AAG/C,OAAO,MAAMC,MAAM,GAAGF,QAAQ,CAACE,MAAM;AACrC,OAAO,MAAMC,cAAc,GAAGH,QAAQ,CAACG,cAAc;AACrD,OAAO,MAAMC,YAAY,GAAGJ,QAAQ,CAACI,YAAY;AACjD,OAAO,MAAMC,YAAY,GAAGL,QAAQ,CAACK,YAAY;AAIjD,OAAM,MAAOC,KAAM,sBAAQP,MAAM,CAACQ,KAAK,CAAQ,OAAO,CAAC,CAAC;EACpDC,EAAE,EAAET,MAAM,CAACU,MAAM;EACjBC,EAAE,EAAEX,MAAM,CAACU,MAAM;EACjBE,EAAE,EAAEZ,MAAM,CAACU,MAAM;EACjBG,EAAE,EAAEb,MAAM,CAACU,MAAM;
|
|
1
|
+
{"version":3,"file":"Classify.js","names":["Option","Schema","internal","LabelSchema","values","defaultIsEqual","defaultIsNil","makeClassify","Stats","Class","TP","Finite","TN","FP","FN","total","testCases","Int","precision","recall","timeMin","timeMax","timeMedian","timeMean","empty","none"],"sources":["../../src/Classify.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAQA,MAAM,EAAEC,MAAM,QAAO,QAAQ;AAErC,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD,OAAO,MAAMC,WAAW,GAAGD,QAAQ,CAACC,WAAW;AAG/C,OAAO,MAAMC,MAAM,GAAGF,QAAQ,CAACE,MAAM;AACrC,OAAO,MAAMC,cAAc,GAAGH,QAAQ,CAACG,cAAc;AACrD,OAAO,MAAMC,YAAY,GAAGJ,QAAQ,CAACI,YAAY;AACjD,OAAO,MAAMC,YAAY,GAAGL,QAAQ,CAACK,YAAY;AAIjD;AACA,OAAM,MAAOC,KAAM,sBAAQP,MAAM,CAACQ,KAAK,CAAQ,OAAO,CAAC,CAAC;EACpDC,EAAE,EAAET,MAAM,CAACU,MAAM;EACjBC,EAAE,EAAEX,MAAM,CAACU,MAAM;EACjBE,EAAE,EAAEZ,MAAM,CAACU,MAAM;EACjBG,EAAE,EAAEb,MAAM,CAACU,MAAM;EACjB;EACAI,KAAK,EAAEd,MAAM,CAACU,MAAM;EACpB;EACAK,SAAS,EAAEf,MAAM,CAACgB,GAAG;EACrBC,SAAS,EAAEjB,MAAM,CAACU,MAAM;EACxBQ,MAAM,EAAElB,MAAM,CAACU,MAAM;EACrBS,OAAO,eAAEnB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACU,MAAM,CAAC;EACrCU,OAAO,eAAEpB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACU,MAAM,CAAC;EACrCW,UAAU,eAAErB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACU,MAAM,CAAC;EACxCY,QAAQ,eAAEtB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACU,MAAM;CACxC,CAAC;EACE,OAAOa,KAAKA,CAAA;IACR,OAAO,IAAIhB,KAAK,CAAC;MACbE,EAAE,EAAE,CAAC;MACLE,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,KAAK,EAAE,CAAC;MACRC,SAAS,EAAE,CAAC;MACZE,SAAS,EAAE,CAAC;MACZC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAEpB,MAAM,CAACyB,IAAI,EAAE;MACtBJ,OAAO,EAAErB,MAAM,CAACyB,IAAI,EAAE;MACtBH,UAAU,EAAEtB,MAAM,CAACyB,IAAI,EAAE;MACzBF,QAAQ,EAAEvB,MAAM,CAACyB,IAAI;KACxB,CAAC;EACN","ignoreList":[]}
|
package/dist/esm/Test.js
CHANGED
|
@@ -2,5 +2,9 @@ import * as internal from './internal/Test.js';
|
|
|
2
2
|
export const all = internal.all;
|
|
3
3
|
export const diff = internal.diff;
|
|
4
4
|
export const makeSha256 = internal.makeSha256;
|
|
5
|
+
/** Builds the lookup key for one evaluation within its original test case. */
|
|
6
|
+
export const resultKey = internal.resultKey;
|
|
5
7
|
export const runCollectRecord = internal.runCollectRecord;
|
|
8
|
+
/** Keeps matching results and recalculates counts and case timing statistics. */
|
|
9
|
+
export const filterResults = internal.filterResults;
|
|
6
10
|
//# sourceMappingURL=Test.js.map
|
package/dist/esm/Test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.js","names":["internal","all","diff","makeSha256","runCollectRecord"],"sources":["../../src/Test.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO,KAAKA,QAAQ,MAAM,oBAAoB;
|
|
1
|
+
{"version":3,"file":"Test.js","names":["internal","all","diff","makeSha256","resultKey","runCollectRecord","filterResults"],"sources":["../../src/Test.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO,KAAKA,QAAQ,MAAM,oBAAoB;AAyG9C,OAAO,MAAMC,GAAG,GAAGD,QAAQ,CAACC,GAAG;AAC/B,OAAO,MAAMC,IAAI,GAAGF,QAAQ,CAACE,IAAI;AACjC,OAAO,MAAMC,UAAU,GAAGH,QAAQ,CAACG,UAAU;AAC7C;AACA,OAAO,MAAMC,SAAS,GAAGJ,QAAQ,CAACI,SAAS;AAC3C,OAAO,MAAMC,gBAAgB,GAAGL,QAAQ,CAACK,gBAAgB;AACzD;AACA,OAAO,MAAMC,aAAa,GAAGN,QAAQ,CAACM,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.repository.types.js","names":["Schema","TestRun","Class","id","Int","name","String","hash","NullOr"],"sources":["../../src/Test.repository.types.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAkCA,MAAM,QAAoB,QAAQ;
|
|
1
|
+
{"version":3,"file":"Test.repository.types.js","names":["Schema","TestRun","Class","id","Int","name","String","hash","NullOr"],"sources":["../../src/Test.repository.types.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAkCA,MAAM,QAAoB,QAAQ;AAoBpE,OAAM,MAAOC,OAAQ,sBAAQD,MAAM,CAACE,KAAK,CAAU,SAAS,CAAC,CAAC;EAC1DC,EAAE,EAAEH,MAAM,CAACI,GAAG;EACdC,IAAI,EAAEL,MAAM,CAACM,MAAM;EACnBC,IAAI,eAAEP,MAAM,CAACQ,MAAM,CAACR,MAAM,CAACM,MAAM;CACpC,CAAC","ignoreList":[]}
|