@creative-introvert/tons-of-tests 2.1.0 → 3.0.0-rc.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 +143 -37
- package/dist/cjs/Classify.js +1 -2
- package/dist/cjs/Classify.js.map +1 -1
- package/dist/cjs/RepositoryError.js +24 -33
- package/dist/cjs/RepositoryError.js.map +1 -1
- package/dist/cjs/Show.js +18 -0
- package/dist/cjs/Show.js.map +1 -1
- package/dist/cjs/Test.js +37 -2
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Test.repository.js +8 -17
- package/dist/cjs/Test.repository.js.map +1 -1
- package/dist/cjs/TestRun.js +20 -0
- package/dist/cjs/TestRun.js.map +1 -0
- package/dist/cjs/TestValueError.js +23 -0
- package/dist/cjs/TestValueError.js.map +1 -0
- package/dist/cjs/index.js +0 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Classify.js +1 -9
- package/dist/cjs/internal/Classify.js.map +1 -1
- package/dist/cjs/internal/Test.js +236 -93
- package/dist/cjs/internal/Test.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.js +262 -357
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/cjs/internal/Test.serialization.js +128 -0
- package/dist/cjs/internal/Test.serialization.js.map +1 -0
- package/dist/cjs/internal/common.js.map +1 -1
- package/dist/cjs/internal/stats.js +29 -1
- package/dist/cjs/internal/stats.js.map +1 -1
- package/dist/cjs/internal/summarize.js +143 -29
- package/dist/cjs/internal/summarize.js.map +1 -1
- package/dist/cjs/internal/test-repository-fixtures.js +31 -0
- package/dist/cjs/internal/test-repository-fixtures.js.map +1 -0
- package/dist/cjs/internal/test-repository-migrations.js +68 -0
- package/dist/cjs/internal/test-repository-migrations.js.map +1 -0
- package/dist/cjs/internal/test-result-stats.js +89 -0
- package/dist/cjs/internal/test-result-stats.js.map +1 -0
- package/dist/dts/Classify.d.ts +0 -1
- package/dist/dts/Classify.d.ts.map +1 -1
- package/dist/dts/RepositoryError.d.ts +19 -20
- package/dist/dts/RepositoryError.d.ts.map +1 -1
- package/dist/dts/Show.d.ts +5 -5
- package/dist/dts/Show.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +120 -14
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Test.repository.d.ts +94 -8
- package/dist/dts/Test.repository.d.ts.map +1 -1
- package/dist/dts/TestRun.d.ts +18 -0
- package/dist/dts/TestRun.d.ts.map +1 -0
- package/dist/dts/TestValueError.d.ts +17 -0
- package/dist/dts/TestValueError.d.ts.map +1 -0
- package/dist/dts/index.d.ts +0 -1
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/Classify.d.ts +0 -1
- package/dist/dts/internal/Classify.d.ts.map +1 -1
- package/dist/dts/internal/Test.d.ts +52 -30
- package/dist/dts/internal/Test.d.ts.map +1 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts +66 -12
- package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -1
- package/dist/dts/internal/Test.serialization.d.ts +34 -0
- package/dist/dts/internal/Test.serialization.d.ts.map +1 -0
- package/dist/dts/internal/common.d.ts +1 -1
- package/dist/dts/internal/common.d.ts.map +1 -1
- package/dist/dts/internal/stats.d.ts +15 -1
- package/dist/dts/internal/stats.d.ts.map +1 -1
- package/dist/dts/internal/summarize.d.ts +39 -7
- package/dist/dts/internal/summarize.d.ts.map +1 -1
- package/dist/dts/internal/test-repository-fixtures.d.ts +22 -0
- package/dist/dts/internal/test-repository-fixtures.d.ts.map +1 -0
- package/dist/dts/internal/test-repository-migrations.d.ts +11 -0
- package/dist/dts/internal/test-repository-migrations.d.ts.map +1 -0
- package/dist/dts/internal/test-result-stats.d.ts +7 -0
- package/dist/dts/internal/test-result-stats.d.ts.map +1 -0
- package/dist/esm/Classify.js +0 -1
- package/dist/esm/Classify.js.map +1 -1
- package/dist/esm/RepositoryError.js +14 -29
- package/dist/esm/RepositoryError.js.map +1 -1
- package/dist/esm/Show.js +2 -2
- package/dist/esm/Show.js.map +1 -1
- package/dist/esm/Test.js +34 -1
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Test.repository.js +7 -16
- package/dist/esm/Test.repository.js.map +1 -1
- package/dist/esm/TestRun.js +13 -0
- package/dist/esm/TestRun.js.map +1 -0
- package/dist/esm/TestValueError.js +16 -0
- package/dist/esm/TestValueError.js.map +1 -0
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Classify.js +0 -7
- package/dist/esm/internal/Classify.js.map +1 -1
- package/dist/esm/internal/Test.js +232 -92
- package/dist/esm/internal/Test.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.js +261 -354
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/esm/internal/Test.serialization.js +119 -0
- package/dist/esm/internal/Test.serialization.js.map +1 -0
- package/dist/esm/internal/common.js.map +1 -1
- package/dist/esm/internal/stats.js +27 -0
- package/dist/esm/internal/stats.js.map +1 -1
- package/dist/esm/internal/summarize.js +143 -28
- package/dist/esm/internal/summarize.js.map +1 -1
- package/dist/esm/internal/test-repository-fixtures.js +25 -0
- package/dist/esm/internal/test-repository-fixtures.js.map +1 -0
- package/dist/esm/internal/test-repository-migrations.js +62 -0
- package/dist/esm/internal/test-repository-migrations.js.map +1 -0
- package/dist/esm/internal/test-result-stats.js +83 -0
- package/dist/esm/internal/test-result-stats.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/Test.repository.types.js +0 -14
- package/dist/cjs/Test.repository.types.js.map +0 -1
- package/dist/cjs/internal/lib/Schema.js +0 -14
- package/dist/cjs/internal/lib/Schema.js.map +0 -1
- package/dist/dts/Test.repository.types.d.ts +0 -62
- package/dist/dts/Test.repository.types.d.ts.map +0 -1
- package/dist/dts/internal/lib/Schema.d.ts +0 -4
- package/dist/dts/internal/lib/Schema.d.ts.map +0 -1
- package/dist/esm/Test.repository.types.js +0 -7
- package/dist/esm/Test.repository.types.js.map +0 -1
- package/dist/esm/internal/lib/Schema.js +0 -7
- package/dist/esm/internal/lib/Schema.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
declare const TestRun_base: Schema.Class<TestRun, Schema.Struct<{
|
|
3
|
+
readonly id: Schema.Int;
|
|
4
|
+
readonly name: Schema.String;
|
|
5
|
+
readonly variant: Schema.String;
|
|
6
|
+
readonly state: Schema.Literals<readonly ["Running", "Complete", "Failed"]>;
|
|
7
|
+
}>, {
|
|
8
|
+
readonly brand: unique symbol;
|
|
9
|
+
}>;
|
|
10
|
+
/**
|
|
11
|
+
* One saved execution of a suite variant. Results remain available after its
|
|
12
|
+
* program changes or is removed. `Complete` and `Failed` runs cannot be changed.
|
|
13
|
+
* Committing a complete run changes only its variant's baseline pointer.
|
|
14
|
+
*/
|
|
15
|
+
export declare class TestRun extends TestRun_base {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=TestRun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestRun.d.ts","sourceRoot":"","sources":["../../src/TestRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;;;;;;;oBAST,OAAO,MAAM;;AAPlC;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,YAQ3B;CAAG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
declare const TestValueError_base: Schema.Class<TestValueError, Schema.TaggedStruct<"TestValueError", {
|
|
3
|
+
readonly suite: Schema.String;
|
|
4
|
+
readonly caseNumber: Schema.Int;
|
|
5
|
+
readonly key: Schema.optionalKey<Schema.String>;
|
|
6
|
+
readonly field: Schema.Literals<readonly ["testCase.input", "testCase.expected", "evaluation.result", "evaluation.expected"]>;
|
|
7
|
+
readonly operation: Schema.Literals<readonly ["encode", "decode", "roundTrip"]>;
|
|
8
|
+
readonly cause: Schema.instanceOf<Schema.SchemaError, unknown>;
|
|
9
|
+
}>, import("effect/Cause").YieldableError & {
|
|
10
|
+
readonly brand: unique symbol;
|
|
11
|
+
}>;
|
|
12
|
+
/** A suite value could not be converted without losing information. */
|
|
13
|
+
export declare class TestValueError extends TestValueError_base {
|
|
14
|
+
get message(): string;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=TestValueError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestValueError.d.ts","sourceRoot":"","sources":["../../src/TestValueError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;;;;;;;;;oBAKT,OAAO,MAAM;;AAHlC,uEAAuE;AACvE,qBAAa,cAAe,SAAQ,mBAelC;IACE,IAAa,OAAO,WAGnB;CACJ"}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * as Classify from './Classify.js';
|
|
2
2
|
export * as DisplayConfig from './DisplayConfig.js';
|
|
3
3
|
export * as Error from './RepositoryError.js';
|
|
4
|
-
export { pack } from './internal/pack.js';
|
|
5
4
|
export * as Show from './Show.js';
|
|
6
5
|
export * as Test from './Test.js';
|
|
7
6
|
export * as TestRepository from './Test.repository.js';
|
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,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,
|
|
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,sBAAsB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC"}
|
|
@@ -7,7 +7,6 @@ export declare const values: {
|
|
|
7
7
|
readonly FN: 'FN';
|
|
8
8
|
};
|
|
9
9
|
export declare const LabelSchema: Schema.Literals<readonly ["TP", "TN", "FP", "FN"]>;
|
|
10
|
-
export declare const defaultIsEqual: <A, B>(a: A, b: B) => boolean;
|
|
11
10
|
export declare const defaultIsNil: <I>(x: I) => boolean;
|
|
12
11
|
export declare const makeClassify: <O, T>({ isEqual, isOutputNil, isExpectedNil, }: {
|
|
13
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../../src/internal/Classify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../../src/internal/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAC,QAAQ,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,MAAM;aACf,EAAE,EAAE,IAAI;aACR,EAAE,EAAE,IAAI;aACR,EAAE,EAAE,IAAI;aACR,EAAE,EAAE,IAAI;CACF,CAAC;AAEX,eAAO,MAAM,WAAW,oDAA4C,CAAC;AAErE,eAAO,MAAM,YAAY,GAAI,CAAC,KAAK,CAAC,KAAG,OAAwC,CAAC;AAEhF,eAAO,MAAM,YAAY,GACpB,CAAC,EAAE,CAAC,4CAIF;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,CAkBjB,CAAC;AAEN,eAAO,MAAM,SAAS,MAAO;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,KAAG,MAGvD,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,KAAG,MAGpD,CAAC;AAEF,eAAO,MAAM,GAAG,OAAQ,MAAM,EAAE,KAAG,MACqC,CAAC;AAEzE,eAAO,MAAM,GAAG,OAAQ,MAAM,EAAE,KAAG,MACqC,CAAC;AAEzE,eAAO,MAAM,IAAI,OAAQ,MAAM,EAAE,KAAG,MAAM,GAAG,SAM5C,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAczD,CAAC"}
|
|
@@ -1,51 +1,73 @@
|
|
|
1
1
|
import { Effect, Option, Schema, Stream } from 'effect';
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
ordering: number;
|
|
11
|
-
resultOrdering: number;
|
|
12
|
-
label: import("../Classify.js").Label;
|
|
13
|
-
input: I;
|
|
14
|
-
result: O;
|
|
15
|
-
expected: T;
|
|
16
|
-
tags: readonly string[];
|
|
17
|
-
timeMillis: number;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
2
|
+
import { Stats } from '../Classify.js';
|
|
3
|
+
import type { Diff, Evaluate, InferTestSuite, Program, SelectedProgram, TestCase, TestResult, TestResultComparison, TestRunResults, TestSuite, TestSuiteError, TestSuitePrograms, TestSuiteServices } from '../Test.js';
|
|
4
|
+
import { TestVariantNotFound, TestVariantRequired } from '../Test.js';
|
|
5
|
+
import { TestRepository, type TestResultSchemas, type TestRun } from '../Test.repository.js';
|
|
6
|
+
import type { TestValueError } from '../TestValueError.js';
|
|
7
|
+
import { makeResultCodec } from './Test.serialization.js';
|
|
8
|
+
/** Hash already encoded JSON. Object key order does not affect identity. */
|
|
9
|
+
export declare const makeSha256: (input: Schema.Json) => string;
|
|
20
10
|
export declare const resultKey: ({ hashTestCase, key, }: Pick<TestResult, 'hashTestCase' | 'key'>) => string;
|
|
21
|
-
export declare const TestResultSchema: Schema.Codec<TestResult>;
|
|
22
11
|
export declare const test: <I, O, T, E, R, A, B>(args_0: {
|
|
23
12
|
testCase: TestCase<I, T> & {
|
|
24
13
|
ordering: number;
|
|
25
14
|
};
|
|
15
|
+
hashTestCase: string;
|
|
26
16
|
program: Program<I, O, E, R>;
|
|
27
17
|
evaluate: Evaluate<O, T, A, B>;
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
encodeResult: ReturnType<typeof makeResultCodec<I, A, B>>['encode'];
|
|
19
|
+
}) => Effect.Effect<[{
|
|
30
20
|
hashTestCase: string;
|
|
31
|
-
key: string;
|
|
32
21
|
ordering: number;
|
|
33
22
|
resultOrdering: number;
|
|
34
|
-
label: import("../Classify.js").Label;
|
|
35
23
|
input: I;
|
|
24
|
+
tags: string[];
|
|
25
|
+
timeMillis: number;
|
|
26
|
+
id: string;
|
|
27
|
+
key: string;
|
|
36
28
|
result: A;
|
|
37
29
|
expected: B;
|
|
38
|
-
|
|
30
|
+
label: import("../Classify.js").Label;
|
|
31
|
+
}, ...{
|
|
32
|
+
hashTestCase: string;
|
|
33
|
+
ordering: number;
|
|
34
|
+
resultOrdering: number;
|
|
35
|
+
input: I;
|
|
36
|
+
tags: string[];
|
|
39
37
|
timeMillis: number;
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
id: string;
|
|
39
|
+
key: string;
|
|
40
|
+
result: A;
|
|
41
|
+
expected: B;
|
|
42
|
+
label: import("../Classify.js").Label;
|
|
43
|
+
}[]], E | TestValueError, R>;
|
|
44
|
+
export declare function selectVariant<S extends {
|
|
45
|
+
name: string;
|
|
46
|
+
} & TestSuitePrograms<never, unknown, unknown, unknown>>(suite: S, variant?: string): Effect.Effect<{
|
|
47
|
+
name: string;
|
|
48
|
+
program: SelectedProgram<S>;
|
|
49
|
+
}, TestVariantRequired | TestVariantNotFound>;
|
|
50
|
+
export declare function all<I, O, T, A = O, B = T, S = never>(suite: TestSuite<I, O, T, unknown, unknown, A, B> & InferTestSuite<S>, options?: {
|
|
51
|
+
variant?: string | undefined;
|
|
42
52
|
concurrency?: number | undefined;
|
|
43
|
-
})
|
|
53
|
+
}): Stream.Stream<TestResult<I, A, B>, TestSuiteError<S> | TestValueError | TestVariantRequired | TestVariantNotFound, TestSuiteServices<S>>;
|
|
44
54
|
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
55
|
export declare const filterResults: <I, O, T>(testRun: TestRunResults<I, O, T>, predicate: (result: TestResult<I, O, T>) => boolean) => TestRunResults<I, O, T>;
|
|
46
56
|
export declare const diff: ({ testRun: { stats }, previousTestRun, }: {
|
|
47
|
-
testRun: TestRunResults
|
|
48
|
-
previousTestRun: Option.Option<TestRunResults
|
|
57
|
+
testRun: Pick<TestRunResults, 'stats'>;
|
|
58
|
+
previousTestRun: Option.Option<Pick<TestRunResults, 'stats'>>;
|
|
49
59
|
}) => Diff;
|
|
50
|
-
export {}
|
|
60
|
+
export declare const compareRuns: <I, A, B>({ from, to, schemas, }: {
|
|
61
|
+
from: TestRun;
|
|
62
|
+
to: TestRun;
|
|
63
|
+
schemas: TestResultSchemas<I, A, B>;
|
|
64
|
+
}) => Stream.Stream<TestResultComparison<I, A, B>, import("../RepositoryError.js").RepositoryError, TestRepository>;
|
|
65
|
+
export declare const summarizeRun: <I, A, B>(args_0: {
|
|
66
|
+
run: TestRun;
|
|
67
|
+
schemas: TestResultSchemas<I, A, B>;
|
|
68
|
+
predicate?: (result: TestResult<I, A, B>) => boolean;
|
|
69
|
+
}) => Effect.Effect<{
|
|
70
|
+
run: TestRun;
|
|
71
|
+
stats: Stats;
|
|
72
|
+
}, import("../RepositoryError.js").RepositoryError, TestRepository>;
|
|
51
73
|
//# sourceMappingURL=Test.d.ts.map
|
|
@@ -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":"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"}
|
|
@@ -1,13 +1,67 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { Effect, Option, Schema, Stream } from 'effect';
|
|
2
|
+
import { SqlClient } from 'effect/sql';
|
|
3
|
+
import type { TestResult } from '../Test.js';
|
|
4
|
+
import type { TestResultSchemas } from '../Test.repository.js';
|
|
5
|
+
import { TestRun } from '../TestRun.js';
|
|
6
|
+
import { TestRunNotCreated, TestRunIncomplete, TestRunNotFound } from '../RepositoryError.js';
|
|
7
|
+
export { tables } from './test-repository-migrations.js';
|
|
8
|
+
export declare const TestResultStorage: Schema.Struct<{
|
|
9
|
+
readonly id: Schema.String;
|
|
10
|
+
readonly hashTestCase: Schema.String;
|
|
11
|
+
readonly key: Schema.String;
|
|
12
|
+
readonly input: Schema.fromJsonString<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
|
|
13
|
+
readonly result: Schema.fromJsonString<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
|
|
14
|
+
readonly expected: Schema.fromJsonString<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
|
|
15
|
+
readonly label: Schema.Literals<readonly ["TP", "TN", "FP", "FN"]>;
|
|
16
|
+
}>;
|
|
17
|
+
export declare const makeTestRepository: Effect.Effect<{
|
|
18
|
+
commitTestRun: (id: number) => Effect.Effect<undefined, Schema.SchemaError | import("effect/sql/SqlError").SqlError | TestRunIncomplete | TestRunNotFound, never>;
|
|
19
|
+
getTestRun: (id: number) => Effect.Effect<Option.Option<TestRun>, Schema.SchemaError | import("effect/sql/SqlError").SqlError, never>;
|
|
20
|
+
getLatestTestRun: (args_0: {
|
|
21
|
+
name: string;
|
|
22
|
+
variant: string;
|
|
23
|
+
}) => Effect.Effect<Option.Option<TestRun>, Schema.SchemaError | import("effect/sql/SqlError").SqlError, never>;
|
|
24
|
+
getBaselineTestRun: (args_0: {
|
|
25
|
+
name: string;
|
|
26
|
+
variant: string;
|
|
27
|
+
}) => Effect.Effect<Option.Option<TestRun>, Schema.SchemaError | import("effect/sql/SqlError").SqlError, never>;
|
|
28
|
+
listTestRuns: (args_0: {
|
|
29
|
+
name: string;
|
|
30
|
+
variant?: string;
|
|
31
|
+
before?: number;
|
|
32
|
+
limit: number;
|
|
33
|
+
}) => Effect.Effect<(TestRun & {
|
|
34
|
+
isBaseline: boolean;
|
|
35
|
+
})[], Schema.SchemaError | import("effect/sql/SqlError").SqlError, never>;
|
|
36
|
+
listVariantBaselines: (name: string) => Effect.Effect<{
|
|
37
|
+
variant: string;
|
|
38
|
+
baseline: Option.Option<TestRun>;
|
|
39
|
+
}[], Schema.SchemaError | import("effect/sql/SqlError").SqlError, never>;
|
|
40
|
+
getTestResultsStream: <I = unknown, O = unknown, T = unknown>(run: TestRun, schemas: TestResultSchemas<I, O, T>, matching?: ReadonlyArray<Pick<TestResult, 'hashTestCase' | 'key'>>) => Stream.Stream<{
|
|
41
|
+
input: I;
|
|
42
|
+
result: O;
|
|
43
|
+
expected: T;
|
|
44
|
+
id: string;
|
|
45
|
+
hashTestCase: string;
|
|
46
|
+
key: string;
|
|
47
|
+
ordering: number;
|
|
48
|
+
resultOrdering: number;
|
|
49
|
+
label: import("../Classify.ts").Label;
|
|
50
|
+
tags: readonly string[];
|
|
51
|
+
timeMillis: number;
|
|
52
|
+
}, Schema.SchemaError | import("effect/sql/SqlError").SqlError | import("../TestValueError.ts").TestValueError, never>;
|
|
53
|
+
withTestRun: <A, E = never, R = never>(input: {
|
|
54
|
+
name: string;
|
|
55
|
+
variant: string;
|
|
56
|
+
}, execute: (run: TestRun) => Effect.Effect<A, E, R>) => Effect.Effect<{
|
|
57
|
+
run: TestRun;
|
|
58
|
+
value: A;
|
|
59
|
+
}, E | Schema.SchemaError | import("effect/sql/SqlError").SqlError | TestRunNotCreated | TestRunNotFound, R>;
|
|
60
|
+
withStats: <A, E, R>(use: (collector: {
|
|
61
|
+
add: (results: ReadonlyArray<Pick<TestResult, 'hashTestCase' | 'label' | 'timeMillis'>>) => Effect.Effect<void, import("../RepositoryError.js").RepositoryError>;
|
|
62
|
+
stats: Effect.Effect<import("../Classify.ts").Stats, import("../RepositoryError.js").RepositoryError>;
|
|
63
|
+
}) => Effect.Effect<A, E, R>) => Effect.Effect<A, E | Schema.SchemaError | import("effect/sql/SqlError").SqlError, Exclude<R, SqlClient.SqlClient>>;
|
|
64
|
+
insertTestResult: <I, O, T>(result: TestResult<I, O, T>, run: TestRun, schemas: TestResultSchemas<I, O, T>) => Effect.Effect<void, Schema.SchemaError | import("effect/sql/SqlError").SqlError | TestRunNotFound | import("../TestValueError.ts").TestValueError, never>;
|
|
65
|
+
insertTestResults: <I, O, T>(results: readonly TestResult<I, O, T>[], run: TestRun, schemas: TestResultSchemas<I, O, T>) => Effect.Effect<void, Schema.SchemaError | import("effect/sql/SqlError").SqlError | TestRunNotFound | import("../TestValueError.ts").TestValueError, never>;
|
|
66
|
+
}, import("effect/sql/Migrator").MigrationError | import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
13
67
|
//# 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,
|
|
1
|
+
{"version":3,"file":"Test.repository.sqlite.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.repository.sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAER,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAEvD,eAAO,MAAM,iBAAiB;;;;;;;;EAQ5B,CAAC;AAoCH,eAAO,MAAM,kBAAkB;;;;cAmKjB,MAAM;iBACH,MAAM;;;cAiBT,MAAM;iBACH,MAAM;;;cAoGT,MAAM;kBACF,MAAM;iBACP,MAAM;eACR,MAAM;;;;;;;;2BAxMa,CAAC,YAAY,CAAC,YAAY,CAAC,iBAChD,OAAO,WACH,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aACxB,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,KAAK,CAAC,CAAC;;;;;;;;;;;;;kBA6IjD,CAAC,EAAE,CAAC,UAAU,CAAC,iBACzB;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,WAC7B,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;wBA1NE,CAAC,EAAE,CAAC,EAAE,CAAC;8GA8UhE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Effect, Schema } from 'effect';
|
|
2
|
+
import type { TestResult } from '../Test.js';
|
|
3
|
+
import type { TestResultSchemas } from '../Test.repository.js';
|
|
4
|
+
import { TestValueError } from '../TestValueError.js';
|
|
5
|
+
/** Stable JSON object order, including records; array order remains significant. */
|
|
6
|
+
export declare const stringifyJson: (value: Schema.Json) => string;
|
|
7
|
+
type ValueContext = Pick<TestValueError, 'suite' | 'caseNumber' | 'key' | 'field'>;
|
|
8
|
+
export declare const makeValueCodec: <T>(schema: Schema.Codec<T, unknown>) => {
|
|
9
|
+
encode: (value: T, context: ValueContext) => Effect.Effect<Schema.Json, TestValueError, never>;
|
|
10
|
+
decode: (text: unknown, context: ValueContext) => Effect.Effect<T, TestValueError, never>;
|
|
11
|
+
};
|
|
12
|
+
/** Reuse the same conversions for result IDs, storage, and reports. */
|
|
13
|
+
export declare const makeResultCodec: <I, O, T>(schemas: TestResultSchemas<I, O, T>, suite: string) => {
|
|
14
|
+
encode: <A extends Pick<TestResult<I, O, T>, 'input' | 'result' | 'expected' | 'key' | 'ordering'>>(value: A) => Effect.Effect<Omit<A, "expected" | "input" | "result"> & {
|
|
15
|
+
input: Schema.Json;
|
|
16
|
+
result: Schema.Json;
|
|
17
|
+
expected: Schema.Json;
|
|
18
|
+
}, TestValueError, never>;
|
|
19
|
+
decode: (value: TestResult<string, string, string>) => Effect.Effect<{
|
|
20
|
+
input: I;
|
|
21
|
+
result: O;
|
|
22
|
+
expected: T;
|
|
23
|
+
id: string;
|
|
24
|
+
hashTestCase: string;
|
|
25
|
+
key: string;
|
|
26
|
+
ordering: number;
|
|
27
|
+
resultOrdering: number;
|
|
28
|
+
label: import("../Classify.ts").Label;
|
|
29
|
+
tags: readonly string[];
|
|
30
|
+
timeMillis: number;
|
|
31
|
+
}, TestValueError, never>;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=Test.serialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Test.serialization.d.ts","sourceRoot":"","sources":["../../../src/internal/Test.serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AAEnD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEpD,oFAAoF;AACpF,eAAO,MAAM,aAAa,UAAW,MAAM,CAAC,IAAI,KAAG,MAYlD,CAAC;AAEF,KAAK,YAAY,GAAG,IAAI,CACpB,cAAc,EACd,OAAO,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,CAC3C,CAAC;AAMF,eAAO,MAAM,cAAc,GAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;;mBA0DxC,OAAO,WAAW,YAAY;CAYvD,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAC1B,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAC5B,MAAM;aAMT,CAAC,SAAS,IAAI,CACV,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACnB,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,CACvD;;;;;;;;;;;;;;;;;;CAsDR,CAAC"}
|
|
@@ -5,7 +5,7 @@ export declare const showHeader: (cfg: DisplayConfig, columnWidths: number[], co
|
|
|
5
5
|
label: string;
|
|
6
6
|
}[]) => string;
|
|
7
7
|
export declare const showTitle: (cfg: DisplayConfig, columnWidths: number[], title: string) => string;
|
|
8
|
-
export declare const showRow: (cfg: DisplayConfig, row: [string, string
|
|
8
|
+
export declare const showRow: (cfg: DisplayConfig, row: ReadonlyArray<readonly [string, ReadonlyArray<string>]>, columnWidths: number[], height: number) => string;
|
|
9
9
|
export declare const colorPositive: (n: number) => colors.StyleFunction;
|
|
10
10
|
export declare const colorNegative: (n: number) => colors.StyleFunction;
|
|
11
11
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/internal/common.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,QACd,aAAa,gBACJ,MAAM,EAAE,YACZ,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,KACrE,MAsCF,CAAC;AAEF,eAAO,MAAM,UAAU,QACd,aAAa,gBACJ,MAAM,EAAE,WACb;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,EAAE,KAC3B,MASF,CAAC;AAEF,eAAO,MAAM,SAAS,QACb,aAAa,gBACJ,MAAM,EAAE,SACf,MAAM,KACd,MAYF,CAAC;AAEF,eAAO,MAAM,OAAO,QACX,aAAa,OACb,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/internal/common.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,QACd,aAAa,gBACJ,MAAM,EAAE,YACZ,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,KACrE,MAsCF,CAAC;AAEF,eAAO,MAAM,UAAU,QACd,aAAa,gBACJ,MAAM,EAAE,WACb;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,EAAE,KAC3B,MASF,CAAC;AAEF,eAAO,MAAM,SAAS,QACb,aAAa,gBACJ,MAAM,EAAE,SACf,MAAM,KACd,MAYF,CAAC;AAEF,eAAO,MAAM,OAAO,QACX,aAAa,OACb,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,gBAC9C,MAAM,EAAE,UACd,MAAM,WAejB,CAAC;AAEF,eAAO,MAAM,aAAa,MAAO,MAAM,yBACqB,CAAC;AAE7D,eAAO,MAAM,aAAa,MAAO,MAAM,yBACqB,CAAC"}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
+
import { Option } from 'effect';
|
|
2
|
+
import type { Stats } from '../Classify.js';
|
|
1
3
|
import type { DisplayConfig } from '../DisplayConfig.js';
|
|
2
4
|
import type { StatsColumnNames } from '../Show.js';
|
|
3
5
|
import type { TestRunResults } from '../Test.js';
|
|
6
|
+
import type { TestRun } from '../Test.repository.js';
|
|
4
7
|
export declare const showStats: <I, O, T>({ testRun, displayConfig, selectColumns, }: {
|
|
5
|
-
testRun: Pick<TestRunResults<I, O, T>, 'stats'
|
|
8
|
+
testRun: Pick<TestRunResults<I, O, T>, 'stats'>;
|
|
6
9
|
displayConfig?: Partial<DisplayConfig>;
|
|
7
10
|
selectColumns?: StatsColumnNames[];
|
|
8
11
|
}) => string;
|
|
12
|
+
/** Missing baselines have no metrics; completed empty runs have zero counts. */
|
|
13
|
+
export declare const showRunSummaries: ({ summaries, displayConfig, }: {
|
|
14
|
+
summaries: ReadonlyArray<{
|
|
15
|
+
name: string;
|
|
16
|
+
variant: string;
|
|
17
|
+
run: Option.Option<TestRun>;
|
|
18
|
+
stats: Option.Option<Stats>;
|
|
19
|
+
retired: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
displayConfig?: Partial<DisplayConfig> | undefined;
|
|
22
|
+
}) => string;
|
|
9
23
|
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/internal/stats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/internal/stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAE9B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAC1C,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;AAC/C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AA8GnD,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,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACtC,KAAG,MAgCH,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,kCAG1B;IACC,SAAS,EAAE,aAAa,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACtD,KAAG,MA6DH,CAAC"}
|
|
@@ -1,11 +1,43 @@
|
|
|
1
|
-
import { Array as A, Option } from 'effect';
|
|
1
|
+
import { Array as A, Effect, FileSystem, Option, Schema, Stream } from 'effect';
|
|
2
2
|
import type { DisplayConfig } from '../DisplayConfig.js';
|
|
3
|
-
import type { SummarizeColumnNames } from '../Show.js';
|
|
4
|
-
import type { TestRunResults } from '../Test.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import type { SummarizeColumnNames, SummarizeContext } from '../Show.js';
|
|
4
|
+
import type { TestResultComparison, TestRunResults } from '../Test.js';
|
|
5
|
+
import type { TestResultSchemas, TestRun } from '../Test.repository.js';
|
|
6
|
+
/** Format schema-encoded values; conversion failures stay in the error channel. */
|
|
7
|
+
export declare const showSummary: <I, O, T>(args_0: {
|
|
8
|
+
testRun: TestRunResults<I, O, T>;
|
|
9
|
+
schemas: TestResultSchemas<I, O, T>;
|
|
10
|
+
previousTestRun?: Option.Option<TestRunResults<I, O, T>>;
|
|
8
11
|
displayConfig?: Partial<DisplayConfig> | undefined;
|
|
9
12
|
selectColumns?: A.NonEmptyArray<SummarizeColumnNames>;
|
|
10
|
-
}) => string
|
|
13
|
+
}) => Effect.Effect<string, import("../TestValueError.ts").TestValueError, never>;
|
|
14
|
+
/**
|
|
15
|
+
* Format rows once into a temporary file, then read them back with final column widths.
|
|
16
|
+
* Use inside Effect.scoped; the returned chunks remain readable until that scope closes.
|
|
17
|
+
* Each chunk ends in a newline. Conversion failures fail report preparation.
|
|
18
|
+
*/
|
|
19
|
+
export declare const prepareSummary: <I, O, T, E, R>(results: Stream.Stream<Pick<SummarizeContext<I, O, T>, "previousTestResult" | "testResult">, E, R>, args_1: {
|
|
20
|
+
schemas: TestResultSchemas<I, O, T>;
|
|
21
|
+
suite: string;
|
|
22
|
+
displayConfig?: Partial<DisplayConfig> | undefined;
|
|
23
|
+
hasPrevious?: boolean;
|
|
24
|
+
selectColumns?: A.NonEmptyArray<SummarizeColumnNames>;
|
|
25
|
+
}) => Effect.Effect<{
|
|
26
|
+
count: number;
|
|
27
|
+
chunks: Stream.Stream<string, import("effect/PlatformError").PlatformError | Schema.SchemaError, never>;
|
|
28
|
+
}, E | import("effect/PlatformError").PlatformError | import("../TestValueError.ts").TestValueError, R | FileSystem.FileSystem | import("effect/Scope").Scope>;
|
|
29
|
+
/**
|
|
30
|
+
* Show added and removed results with `-` where the other side is missing.
|
|
31
|
+
* Each side uses its own suite name when reporting a codec failure.
|
|
32
|
+
* Prepare and consume the chunks inside `Effect.scoped` so temporary files stay available.
|
|
33
|
+
*/
|
|
34
|
+
export declare const prepareComparison: <I, A, B, E, R>(comparisons: Stream.Stream<TestResultComparison<I, A, B>, E, R>, args_1: {
|
|
35
|
+
from: Option.Option<TestRun>;
|
|
36
|
+
to: TestRun;
|
|
37
|
+
schemas: TestResultSchemas<I, A, B>;
|
|
38
|
+
displayConfig?: Partial<DisplayConfig> | undefined;
|
|
39
|
+
}) => Effect.Effect<{
|
|
40
|
+
chunks: Stream.Stream<string, import("effect/PlatformError").PlatformError | Schema.SchemaError, never>;
|
|
41
|
+
count: number;
|
|
42
|
+
}, E | import("effect/PlatformError").PlatformError | import("../TestValueError.ts").TestValueError, R | FileSystem.FileSystem | import("effect/Scope").Scope>;
|
|
11
43
|
//# sourceMappingURL=summarize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../src/internal/summarize.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../src/internal/summarize.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,IAAI,CAAC,EACV,MAAM,EACN,UAAU,EACV,MAAM,EAEN,MAAM,EACN,MAAM,EACT,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAER,oBAAoB,EACpB,gBAAgB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,oBAAoB,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAC,iBAAiB,EAAE,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAmLtE,mFAAmF;AACnF,eAAO,MAAM,WAAW,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC;aAOlD,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACvB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;sBACjB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxC,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS;oBAClC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC;iFAwDvD,CAAC;AAUH;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;aAavD,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;WAC5B,MAAM;oBACG,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS;kBACpC,OAAO;oBACL,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC;;;;8JAkC3D,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;UAQ7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QACxB,OAAO;aACF,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnB,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS;;;;8JA2FxD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Effect, Schema } from 'effect';
|
|
2
|
+
import { SqlClient } from 'effect/sql';
|
|
3
|
+
import { TestRun } from '../TestRun.js';
|
|
4
|
+
export declare const getAllTestRuns: Effect.Effect<readonly TestRun[], Schema.SchemaError | import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
5
|
+
export declare const getAllTestResults: Effect.Effect<readonly {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly hashTestCase: string;
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly input: Schema.Json;
|
|
10
|
+
readonly result: Schema.Json;
|
|
11
|
+
readonly expected: Schema.Json;
|
|
12
|
+
readonly label: "FN" | "FP" | "TN" | "TP";
|
|
13
|
+
}[], Schema.SchemaError | import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
14
|
+
export declare const getAllTestRunResults: Effect.Effect<readonly {
|
|
15
|
+
readonly testRun: number;
|
|
16
|
+
readonly testResult: string;
|
|
17
|
+
readonly ordering: number;
|
|
18
|
+
readonly resultOrdering: number;
|
|
19
|
+
readonly timeMillis: number;
|
|
20
|
+
readonly tags: readonly string[];
|
|
21
|
+
}[], Schema.SchemaError | import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
22
|
+
//# sourceMappingURL=test-repository-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-repository-fixtures.d.ts","sourceRoot":"","sources":["../../../src/internal/test-repository-fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAItC,eAAO,MAAM,cAAc,qHAKzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;sFAK5B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;sFAc/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SqliteMigrator } from '@effect/sql-sqlite-node';
|
|
2
|
+
import { Effect } from 'effect';
|
|
3
|
+
import { SqlClient } from 'effect/sql';
|
|
4
|
+
export declare const tables: {
|
|
5
|
+
readonly testResults: 'test-results';
|
|
6
|
+
readonly testRuns: 'test-runs';
|
|
7
|
+
readonly testBaselines: 'test-baselines';
|
|
8
|
+
readonly testRunResults: 'test-run-results';
|
|
9
|
+
};
|
|
10
|
+
export declare const migrate: Effect.Effect<readonly (readonly [id: number, name: string])[], SqliteMigrator.MigrationError | import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
11
|
+
//# sourceMappingURL=test-repository-migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-repository-migrations.d.ts","sourceRoot":"","sources":["../../../src/internal/test-repository-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,MAAM;aACf,WAAW,EAAE,cAAc;aAC3B,QAAQ,EAAE,WAAW;aACrB,aAAa,EAAE,gBAAgB;aAC/B,cAAc,EAAE,kBAAkB;CAC5B,CAAC;AAEX,eAAO,MAAM,OAAO,8JAqDlB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Effect, Schema } from 'effect';
|
|
2
|
+
import { SqlClient } from 'effect/sql';
|
|
3
|
+
import type { TestRepositoryShape } from '../Test.repository.js';
|
|
4
|
+
type Collector = Parameters<Parameters<TestRepositoryShape['withStats']>[0]>[0];
|
|
5
|
+
export declare const withStats: <A, E, R>(use: (collector: Collector) => Effect.Effect<A, E, R>) => Effect.Effect<A, E | Schema.SchemaError | import("effect/sql/SqlError").SqlError, R | SqlClient.SqlClient>;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=test-result-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-result-stats.d.ts","sourceRoot":"","sources":["../../../src/internal/test-result-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAe,MAAM,EAAC,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAGrC,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAmB/D,KAAK,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,SAAS,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC,mBACxC,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,+GAiFvD,CAAC"}
|
package/dist/esm/Classify.js
CHANGED
|
@@ -2,7 +2,6 @@ import { Option, Schema } from 'effect';
|
|
|
2
2
|
import * as internal from './internal/Classify.js';
|
|
3
3
|
export const LabelSchema = internal.LabelSchema;
|
|
4
4
|
export const values = internal.values;
|
|
5
|
-
export const defaultIsEqual = internal.defaultIsEqual;
|
|
6
5
|
export const defaultIsNil = internal.defaultIsNil;
|
|
7
6
|
export const makeClassify = internal.makeClassify;
|
|
8
7
|
/** Counts selected results; timing statistics count each selected case once. */
|
package/dist/esm/Classify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.js","names":["Option","Schema","internal","LabelSchema","values","
|
|
1
|
+
{"version":3,"file":"Classify.js","names":["Option","Schema","internal","LabelSchema","values","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,YAAY,GAAGH,QAAQ,CAACG,YAAY;AACjD,OAAO,MAAMC,YAAY,GAAGJ,QAAQ,CAACI,YAAY;AAIjD;AACA,OAAM,MAAOC,KAAM,sBAAQN,MAAM,CAACO,KAAK,CAAQ,OAAO,CAAC,CAAC;EACpDC,EAAE,EAAER,MAAM,CAACS,MAAM;EACjBC,EAAE,EAAEV,MAAM,CAACS,MAAM;EACjBE,EAAE,EAAEX,MAAM,CAACS,MAAM;EACjBG,EAAE,EAAEZ,MAAM,CAACS,MAAM;EACjB;EACAI,KAAK,EAAEb,MAAM,CAACS,MAAM;EACpB;EACAK,SAAS,EAAEd,MAAM,CAACe,GAAG;EACrBC,SAAS,EAAEhB,MAAM,CAACS,MAAM;EACxBQ,MAAM,EAAEjB,MAAM,CAACS,MAAM;EACrBS,OAAO,eAAElB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACS,MAAM,CAAC;EACrCU,OAAO,eAAEnB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACS,MAAM,CAAC;EACrCW,UAAU,eAAEpB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACS,MAAM,CAAC;EACxCY,QAAQ,eAAErB,MAAM,CAACD,MAAM,CAACC,MAAM,CAACS,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,EAAEnB,MAAM,CAACwB,IAAI,EAAE;MACtBJ,OAAO,EAAEpB,MAAM,CAACwB,IAAI,EAAE;MACtBH,UAAU,EAAErB,MAAM,CAACwB,IAAI,EAAE;MACzBF,QAAQ,EAAEtB,MAAM,CAACwB,IAAI;KACxB,CAAC;EACN","ignoreList":[]}
|
|
@@ -1,34 +1,19 @@
|
|
|
1
|
-
import { ResultLengthMismatch, SqlError } from 'effect/sql/SqlError';
|
|
2
1
|
import { Schema } from 'effect';
|
|
3
|
-
|
|
4
|
-
export class RepositoryQueryError extends /*#__PURE__*/Schema.TaggedError()('RepositoryQueryError', {
|
|
5
|
-
operation: Schema.String,
|
|
6
|
-
cause: /*#__PURE__*/Schema.instanceOf(SqlError)
|
|
7
|
-
}) {
|
|
8
|
-
static fromSql = operation => cause => new RepositoryQueryError({
|
|
9
|
-
operation,
|
|
10
|
-
cause
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
export class RepositoryWriteError extends /*#__PURE__*/Schema.TaggedError()('RepositoryWriteError', {
|
|
14
|
-
operation: Schema.String,
|
|
15
|
-
cause: SqlCause
|
|
16
|
-
}) {
|
|
17
|
-
static from = operation => cause => new RepositoryWriteError({
|
|
18
|
-
operation,
|
|
19
|
-
cause
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
export class RepositoryDecodeError extends /*#__PURE__*/Schema.TaggedError()('RepositoryDecodeError', {
|
|
23
|
-
operation: Schema.String,
|
|
24
|
-
cause: /*#__PURE__*/Schema.instanceOf(Schema.SchemaError)
|
|
25
|
-
}) {
|
|
26
|
-
static from = operation => cause => new RepositoryDecodeError({
|
|
27
|
-
operation,
|
|
28
|
-
cause
|
|
29
|
-
});
|
|
30
|
-
}
|
|
2
|
+
export { TestValueError } from './TestValueError.js';
|
|
31
3
|
export class TestRunNotCreated extends /*#__PURE__*/Schema.TaggedError()('TestRunNotCreated', {
|
|
32
4
|
testSuiteName: Schema.String
|
|
33
5
|
}) {}
|
|
6
|
+
/** A complete saved run is required for this operation. */
|
|
7
|
+
export class TestRunIncomplete extends /*#__PURE__*/Schema.TaggedError()('TestRunIncomplete', {
|
|
8
|
+
testSuiteName: Schema.String,
|
|
9
|
+
testRunId: Schema.Int,
|
|
10
|
+
variant: Schema.String
|
|
11
|
+
}) {}
|
|
12
|
+
export class TestRunNotFound extends /*#__PURE__*/Schema.TaggedError()('TestRunNotFound', {
|
|
13
|
+
testRunId: Schema.Int
|
|
14
|
+
}) {}
|
|
15
|
+
export class TestBaselineNotFound extends /*#__PURE__*/Schema.TaggedError()('TestBaselineNotFound', {
|
|
16
|
+
testSuiteName: Schema.String,
|
|
17
|
+
variant: Schema.String
|
|
18
|
+
}) {}
|
|
34
19
|
//# sourceMappingURL=RepositoryError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryError.js","names":["
|
|
1
|
+
{"version":3,"file":"RepositoryError.js","names":["Schema","TestValueError","TestRunNotCreated","TaggedError","testSuiteName","String","TestRunIncomplete","testRunId","Int","variant","TestRunNotFound","TestBaselineNotFound"],"sources":["../../src/RepositoryError.ts"],"sourcesContent":[null],"mappings":"AACA,SAAQA,MAAM,QAAO,QAAQ;AAG7B,SAAQC,cAAc,QAAO,qBAAqB;AAElD,OAAM,MAAOC,iBAAkB,sBAAQF,MAAM,CAACG,WAAW,EAGtD,CAAC,mBAAmB,EAAE;EAACC,aAAa,EAAEJ,MAAM,CAACK;AAAM,CAAC,CAAC;AAExD;AACA,OAAM,MAAOC,iBAAkB,sBAAQN,MAAM,CAACG,WAAW,EAGtD,CAAC,mBAAmB,EAAE;EACrBC,aAAa,EAAEJ,MAAM,CAACK,MAAM;EAC5BE,SAAS,EAAEP,MAAM,CAACQ,GAAG;EACrBC,OAAO,EAAET,MAAM,CAACK;CACnB,CAAC;AAEF,OAAM,MAAOK,eAAgB,sBAAQV,MAAM,CAACG,WAAW,EAGpD,CAAC,iBAAiB,EAAE;EAACI,SAAS,EAAEP,MAAM,CAACQ;AAAG,CAAC,CAAC;AAE/C,OAAM,MAAOG,oBAAqB,sBAAQX,MAAM,CAACG,WAAW,EAGzD,CAAC,sBAAsB,EAAE;EACxBC,aAAa,EAAEJ,MAAM,CAACK,MAAM;EAC5BI,OAAO,EAAET,MAAM,CAACK;CACnB,CAAC","ignoreList":[]}
|
package/dist/esm/Show.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { showDiff as diff } from './internal/diff.js';
|
|
2
|
-
export { showStats as stats } from './internal/stats.js';
|
|
3
|
-
export { showSummary as summarize } from './internal/summarize.js';
|
|
2
|
+
export { showStats as stats, showRunSummaries as runSummaries } from './internal/stats.js';
|
|
3
|
+
export { showSummary as summarize, prepareSummary, prepareComparison } from './internal/summarize.js';
|
|
4
4
|
//# sourceMappingURL=Show.js.map
|
package/dist/esm/Show.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Show.js","names":["showDiff","diff","showStats","stats","showSummary","summarize"],"sources":["../../src/Show.ts"],"sourcesContent":[null],"mappings":"AAKA,SAAQA,QAAQ,IAAIC,IAAI,QAAO,oBAAoB;AACnD,
|
|
1
|
+
{"version":3,"file":"Show.js","names":["showDiff","diff","showStats","stats","showRunSummaries","runSummaries","showSummary","summarize","prepareSummary","prepareComparison"],"sources":["../../src/Show.ts"],"sourcesContent":[null],"mappings":"AAKA,SAAQA,QAAQ,IAAIC,IAAI,QAAO,oBAAoB;AACnD,SACIC,SAAS,IAAIC,KAAK,EAClBC,gBAAgB,IAAIC,YAAY,QAC7B,qBAAqB;AAC5B,SACIC,WAAW,IAAIC,SAAS,EACxBC,cAAc,EACdC,iBAAiB,QACd,yBAAyB","ignoreList":[]}
|