@creative-introvert/tons-of-tests 1.2.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 +200 -134
- package/dist/cjs/Classify.js +18 -31
- package/dist/cjs/Classify.js.map +1 -1
- package/dist/cjs/DisplayConfig.js +2 -20
- package/dist/cjs/DisplayConfig.js.map +1 -1
- package/dist/cjs/RepositoryError.js +4 -5
- package/dist/cjs/RepositoryError.js.map +1 -1
- package/dist/cjs/Test.js +7 -21
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Test.repository.js +3 -21
- package/dist/cjs/Test.repository.js.map +1 -1
- package/dist/cjs/Test.repository.types.js.map +1 -1
- package/dist/cjs/index.js +2 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Classify.js +2 -2
- package/dist/cjs/internal/Classify.js.map +1 -1
- package/dist/cjs/internal/Test.js +123 -80
- package/dist/cjs/internal/Test.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.js +118 -79
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/cjs/internal/common.js +1 -5
- package/dist/cjs/internal/common.js.map +1 -1
- package/dist/cjs/internal/diff.js +1 -5
- package/dist/cjs/internal/diff.js.map +1 -1
- package/dist/cjs/internal/format-diff.js +2 -6
- package/dist/cjs/internal/format-diff.js.map +1 -1
- package/dist/cjs/internal/lib/Schema.js +3 -3
- package/dist/cjs/internal/lib/Schema.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js +3 -25
- package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/index.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/index.js.map +1 -1
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js +1 -5
- package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -1
- package/dist/cjs/internal/pack.js +28 -50
- package/dist/cjs/internal/pack.js.map +1 -1
- package/dist/cjs/internal/stats.js +9 -7
- package/dist/cjs/internal/stats.js.map +1 -1
- package/dist/cjs/internal/summarize.js +19 -18
- package/dist/cjs/internal/summarize.js.map +1 -1
- package/dist/cjs/package.json +1 -0
- package/dist/dts/Classify.d.ts +24 -57
- package/dist/dts/Classify.d.ts.map +1 -1
- package/dist/dts/DisplayConfig.d.ts +2 -1
- package/dist/dts/DisplayConfig.d.ts.map +1 -1
- package/dist/dts/RepositoryError.d.ts +21 -22
- package/dist/dts/RepositoryError.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 +53 -23
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Test.repository.d.ts +4 -4
- package/dist/dts/Test.repository.d.ts.map +1 -1
- package/dist/dts/Test.repository.types.d.ts +16 -20
- package/dist/dts/Test.repository.types.d.ts.map +1 -1
- package/dist/dts/internal/Classify.d.ts +1 -1
- package/dist/dts/internal/Classify.d.ts.map +1 -1
- package/dist/dts/internal/Test.d.ts +24 -12
- package/dist/dts/internal/Test.d.ts.map +1 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts +3 -2
- package/dist/dts/internal/Test.repository.sqlite.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/filters/lcs.d.ts +2 -1
- package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts.map +1 -1
- package/dist/dts/internal/pack.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 +28 -50
- package/dist/esm/Classify.js.map +1 -1
- package/dist/esm/DisplayConfig.js +2 -28
- package/dist/esm/DisplayConfig.js.map +1 -1
- package/dist/esm/RepositoryError.js +13 -24
- package/dist/esm/RepositoryError.js.map +1 -1
- package/dist/esm/Show.js +3 -26
- package/dist/esm/Show.js.map +1 -1
- package/dist/esm/Test.js +9 -12
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Test.repository.js +8 -41
- package/dist/esm/Test.repository.js.map +1 -1
- package/dist/esm/Test.repository.types.js +5 -12
- package/dist/esm/Test.repository.types.js.map +1 -1
- package/dist/esm/index.js +7 -45
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Classify.js +16 -31
- package/dist/esm/internal/Classify.js.map +1 -1
- package/dist/esm/internal/DisplayConfig.js +1 -8
- package/dist/esm/internal/DisplayConfig.js.map +1 -1
- package/dist/esm/internal/Test.js +144 -113
- package/dist/esm/internal/Test.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.js +186 -160
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/esm/internal/common.js +15 -32
- package/dist/esm/internal/common.js.map +1 -1
- package/dist/esm/internal/diff.js +18 -30
- package/dist/esm/internal/diff.js.map +1 -1
- package/dist/esm/internal/format-diff.js +9 -22
- package/dist/esm/internal/format-diff.js.map +1 -1
- package/dist/esm/internal/lib/Schema.js +4 -11
- package/dist/esm/internal/lib/Schema.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/clone.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/clone.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js +1 -8
- package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js +5 -16
- package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js +3 -14
- package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js +3 -14
- package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js +20 -51
- package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js +16 -28
- package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js +13 -27
- package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js +3 -9
- package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js +3 -9
- package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js +4 -16
- package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js +6 -21
- package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js +6 -20
- package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/index.js +15 -42
- package/dist/esm/internal/lib/jsondiffpatch/index.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/pipe.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/processor.js +1 -7
- package/dist/esm/internal/lib/jsondiffpatch/processor.js.map +1 -1
- package/dist/esm/internal/lib/jsondiffpatch/types.js +1 -6
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js +22 -49
- package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -1
- package/dist/esm/internal/pack.js +26 -55
- package/dist/esm/internal/pack.js.map +1 -1
- package/dist/esm/internal/stats.js +29 -35
- package/dist/esm/internal/stats.js.map +1 -1
- package/dist/esm/internal/summarize.js +45 -52
- package/dist/esm/internal/summarize.js.map +1 -1
- package/package.json +11 -9
- package/dist/cjs/Error.js +0 -10
- package/dist/cjs/Error.js.map +0 -1
- package/dist/cjs/internal/Classify.spec.js +0 -223
- package/dist/cjs/internal/Classify.spec.js.map +0 -1
- package/dist/cjs/internal/Test.repository.sqlite.spec.js +0 -294
- package/dist/cjs/internal/Test.repository.sqlite.spec.js.map +0 -1
- package/dist/cjs/internal/Test.spec.js +0 -260
- package/dist/cjs/internal/Test.spec.js.map +0 -1
- package/dist/cjs/internal/format-diff.spec.js +0 -103
- package/dist/cjs/internal/format-diff.spec.js.map +0 -1
- package/dist/cjs/pack.js +0 -28
- package/dist/cjs/pack.js.map +0 -1
- package/dist/dts/Error.d.ts +0 -10
- package/dist/dts/Error.d.ts.map +0 -1
- package/dist/dts/internal/Classify.spec.d.ts +0 -2
- package/dist/dts/internal/Classify.spec.d.ts.map +0 -1
- package/dist/dts/internal/Test.repository.sqlite.spec.d.ts +0 -2
- package/dist/dts/internal/Test.repository.sqlite.spec.d.ts.map +0 -1
- package/dist/dts/internal/Test.spec.d.ts +0 -2
- package/dist/dts/internal/Test.spec.d.ts.map +0 -1
- package/dist/dts/internal/format-diff.spec.d.ts +0 -2
- package/dist/dts/internal/format-diff.spec.d.ts.map +0 -1
- package/dist/dts/pack.d.ts +0 -2
- package/dist/dts/pack.d.ts.map +0 -1
- package/dist/esm/Error.js +0 -10
- package/dist/esm/Error.js.map +0 -1
- package/dist/esm/internal/Classify.spec.js +0 -223
- package/dist/esm/internal/Classify.spec.js.map +0 -1
- package/dist/esm/internal/Test.repository.sqlite.spec.js +0 -294
- package/dist/esm/internal/Test.repository.sqlite.spec.js.map +0 -1
- package/dist/esm/internal/Test.spec.js +0 -241
- package/dist/esm/internal/Test.spec.js.map +0 -1
- package/dist/esm/internal/format-diff.spec.js +0 -103
- package/dist/esm/internal/format-diff.spec.js.map +0 -1
- package/dist/esm/pack.js +0 -28
- package/dist/esm/pack.js.map +0 -1
|
@@ -1,97 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
exports.tables = exports.makeTestRepository = void 0;
|
|
13
|
-
var SqlClient = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect/sql/SqlClient"));
|
|
14
|
-
var _effect = /*#__PURE__*/require("effect");
|
|
15
|
-
var _TestRepository = /*#__PURE__*/require("../Test.repository.js");
|
|
16
|
-
var _TestRepositoryTypes = /*#__PURE__*/require("../Test.repository.types.js");
|
|
17
|
-
var _RepositoryError = /*#__PURE__*/require("../RepositoryError.js");
|
|
18
|
-
var _Classify = /*#__PURE__*/require("./Classify.js");
|
|
19
|
-
var _Schema = /*#__PURE__*/require("./lib/Schema.js");
|
|
20
|
-
function _interopRequireWildcard(e, t) {
|
|
21
|
-
if ("function" == typeof WeakMap) var r = new WeakMap(),
|
|
22
|
-
n = new WeakMap();
|
|
23
|
-
return (_interopRequireWildcard = function (e, t) {
|
|
24
|
-
if (!t && e && e.__esModule) return e;
|
|
25
|
-
var o,
|
|
26
|
-
i,
|
|
27
|
-
f = {
|
|
28
|
-
__proto__: null,
|
|
29
|
-
default: e
|
|
30
|
-
};
|
|
31
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return f;
|
|
32
|
-
if (o = t ? n : r) {
|
|
33
|
-
if (o.has(e)) return o.get(e);
|
|
34
|
-
o.set(e, f);
|
|
35
|
-
}
|
|
36
|
-
for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
|
|
37
|
-
return f;
|
|
38
|
-
})(e, t);
|
|
39
|
-
}
|
|
40
|
-
const tables = exports.tables = {
|
|
1
|
+
import * as SqlClient from 'effect/sql/SqlClient';
|
|
2
|
+
import { Array as A, Console, Effect, Option, Schema, SchemaTransformation, Stream } from 'effect';
|
|
3
|
+
import { TestRepository } from '../Test.repository.js';
|
|
4
|
+
import { TestRun } from '../Test.repository.types.js';
|
|
5
|
+
export { TestRepository };
|
|
6
|
+
import { RepositoryDecodeError, RepositoryQueryError, RepositoryWriteError, TestRunNotCreated } from '../RepositoryError.js';
|
|
7
|
+
import { LabelSchema } from './Classify.js';
|
|
8
|
+
import { split } from './lib/Schema.js';
|
|
9
|
+
export const tables = {
|
|
41
10
|
testResults: 'test-results',
|
|
42
11
|
testRuns: 'test-runs',
|
|
43
12
|
testRunResults: 'test-run-results'
|
|
44
13
|
};
|
|
45
|
-
const TestResultWriteSchema = /*#__PURE__*/
|
|
46
|
-
id:
|
|
47
|
-
hashTestCase:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
14
|
+
const TestResultWriteSchema = /*#__PURE__*/Schema.Struct({
|
|
15
|
+
id: Schema.String,
|
|
16
|
+
hashTestCase: Schema.String,
|
|
17
|
+
key: Schema.String,
|
|
18
|
+
ordering: Schema.Int,
|
|
19
|
+
resultOrdering: Schema.Int,
|
|
20
|
+
input: /*#__PURE__*/Schema.fromJsonString(Schema.Unknown),
|
|
21
|
+
result: /*#__PURE__*/Schema.fromJsonString(Schema.Unknown),
|
|
22
|
+
expected: /*#__PURE__*/Schema.fromJsonString(Schema.Unknown),
|
|
23
|
+
label: LabelSchema,
|
|
24
|
+
tags: /*#__PURE__*/split(','),
|
|
25
|
+
timeMillis: Schema.Finite
|
|
55
26
|
});
|
|
56
|
-
const TestResultsSchema = /*#__PURE__*/
|
|
57
|
-
const CountSchema = /*#__PURE__*/
|
|
58
|
-
count:
|
|
59
|
-
})).pipe(/*#__PURE__*/
|
|
27
|
+
const TestResultsSchema = /*#__PURE__*/Schema.Array(TestResultWriteSchema);
|
|
28
|
+
const CountSchema = /*#__PURE__*/Schema.Tuple([Schema.Struct({
|
|
29
|
+
count: Schema.Int
|
|
30
|
+
})]).pipe(/*#__PURE__*/Schema.decodeTo(Schema.Int, /*#__PURE__*/SchemaTransformation.transform({
|
|
60
31
|
decode: ([{
|
|
61
32
|
count
|
|
62
33
|
}]) => count,
|
|
63
34
|
encode: count => [{
|
|
64
35
|
count
|
|
65
36
|
}]
|
|
37
|
+
})));
|
|
38
|
+
const TestRunsReadSchema = /*#__PURE__*/Schema.Array(TestRun);
|
|
39
|
+
const TestRunResultsSchema = /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.Struct({
|
|
40
|
+
testRun: Schema.Int,
|
|
41
|
+
testResult: Schema.String,
|
|
42
|
+
ordering: Schema.Int,
|
|
43
|
+
resultOrdering: Schema.Int,
|
|
44
|
+
timeMillis: Schema.Finite
|
|
66
45
|
}));
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
testRun: _effect.Schema.Int,
|
|
70
|
-
testResult: _effect.Schema.String
|
|
46
|
+
const TableColumnsSchema = /*#__PURE__*/Schema.Array(/*#__PURE__*/Schema.Struct({
|
|
47
|
+
name: Schema.String
|
|
71
48
|
}));
|
|
72
|
-
const makeTestRepository =
|
|
49
|
+
export const makeTestRepository = /*#__PURE__*/Effect.gen(function* () {
|
|
73
50
|
const sql = yield* SqlClient.SqlClient;
|
|
74
51
|
yield* sql`PRAGMA auto_vacuum = FULL;`;
|
|
75
|
-
yield* sql
|
|
52
|
+
yield* sql.withTransaction(Effect.gen(function* () {
|
|
53
|
+
yield* sql`
|
|
76
54
|
CREATE TABLE IF NOT EXISTS ${sql(tables.testRuns)}(
|
|
77
55
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
78
56
|
name TEXT NOT NULL,
|
|
79
57
|
hash TEXT
|
|
80
58
|
);
|
|
81
59
|
`;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
60
|
+
yield* sql`CREATE INDEX IF NOT EXISTS idx_name_hash ON ${sql(tables.testRuns)}(name, hash)`;
|
|
61
|
+
// At most one "current" (hash IS NULL) row per suite name. Partial index
|
|
62
|
+
// so committed rows are unaffected.
|
|
63
|
+
yield* sql`
|
|
86
64
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_current_per_name
|
|
87
65
|
ON ${sql(tables.testRuns)}(name)
|
|
88
66
|
WHERE hash IS NULL;
|
|
89
67
|
`;
|
|
90
|
-
|
|
68
|
+
yield* sql`
|
|
91
69
|
CREATE TABLE IF NOT EXISTS ${sql(tables.testResults)}(
|
|
92
70
|
id TEXT PRIMARY KEY,
|
|
93
71
|
hashTestCase TEXT NOT NULL,
|
|
72
|
+
key TEXT NOT NULL DEFAULT 'result',
|
|
94
73
|
ordering INTEGER NOT NULL,
|
|
74
|
+
resultOrdering INTEGER NOT NULL DEFAULT 0,
|
|
95
75
|
input TEXT,
|
|
96
76
|
result TEXT,
|
|
97
77
|
expected TEXT,
|
|
@@ -100,139 +80,188 @@ const makeTestRepository = exports.makeTestRepository = /*#__PURE__*/_effect.Eff
|
|
|
100
80
|
timeMillis INTEGER NOT NULL
|
|
101
81
|
);
|
|
102
82
|
`;
|
|
103
|
-
|
|
83
|
+
yield* sql`
|
|
104
84
|
CREATE TABLE IF NOT EXISTS ${sql(tables.testRunResults)}(
|
|
105
85
|
testRun INTEGER NOT NULL,
|
|
106
86
|
testResult TEXT NOT NULL,
|
|
87
|
+
ordering INTEGER NOT NULL,
|
|
88
|
+
resultOrdering INTEGER NOT NULL,
|
|
89
|
+
timeMillis INTEGER NOT NULL,
|
|
107
90
|
FOREIGN KEY (testRun) REFERENCES ${sql(tables.testRuns)}(id),
|
|
108
91
|
FOREIGN KEY (testResult) REFERENCES ${sql(tables.testResults)}(id),
|
|
109
92
|
UNIQUE (testRun, testResult)
|
|
110
93
|
);
|
|
111
94
|
`;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
95
|
+
const resultColumns = yield* Schema.decodeUnknownEffect(TableColumnsSchema)(yield* sql`PRAGMA table_info(${sql(tables.testResults)});`).pipe(Effect.mapError(RepositoryDecodeError.from('migrateTestResults')));
|
|
96
|
+
if (!resultColumns.some(column => column.name === 'key')) {
|
|
97
|
+
yield* sql`
|
|
98
|
+
ALTER TABLE ${sql(tables.testResults)}
|
|
99
|
+
ADD COLUMN key TEXT NOT NULL DEFAULT 'result';
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
if (!resultColumns.some(column => column.name === 'resultOrdering')) {
|
|
103
|
+
yield* sql`
|
|
104
|
+
ALTER TABLE ${sql(tables.testResults)}
|
|
105
|
+
ADD COLUMN resultOrdering INTEGER NOT NULL DEFAULT 0;
|
|
106
|
+
`;
|
|
107
|
+
}
|
|
108
|
+
const runResultColumns = yield* Schema.decodeUnknownEffect(TableColumnsSchema)(yield* sql`PRAGMA table_info(${sql(tables.testRunResults)});`).pipe(Effect.mapError(RepositoryDecodeError.from('migrateTestRunResults')));
|
|
109
|
+
for (const column of ['ordering', 'resultOrdering', 'timeMillis']) {
|
|
110
|
+
if (runResultColumns.some(existing => existing.name === column)) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
yield* sql`
|
|
114
|
+
ALTER TABLE ${sql(tables.testRunResults)}
|
|
115
|
+
ADD COLUMN ${sql(column)} INTEGER NOT NULL DEFAULT 0;
|
|
116
|
+
`;
|
|
117
|
+
yield* sql`
|
|
118
|
+
UPDATE ${sql(tables.testRunResults)} AS runres
|
|
119
|
+
SET ${sql(column)} = (
|
|
120
|
+
SELECT ${sql(column)} FROM ${sql(tables.testResults)} res
|
|
121
|
+
WHERE res.id = runres.testResult
|
|
122
|
+
);
|
|
123
|
+
`;
|
|
124
|
+
}
|
|
125
|
+
// Lookup by the junction's `testResult` column: the existing
|
|
126
|
+
// UNIQUE(testRun, testResult) index is keyed on testRun first, so orphan
|
|
127
|
+
// cleanup (`... NOT IN (SELECT testResult ...)`) and stream joins
|
|
128
|
+
// (`res.id = runres.testResult`) would otherwise full-scan the junction.
|
|
129
|
+
yield* sql`CREATE INDEX IF NOT EXISTS idx_trr_testresult ON ${sql(tables.testRunResults)}(testResult)`;
|
|
130
|
+
yield* sql`CREATE INDEX IF NOT EXISTS idx_tr_hashtestcase ON ${sql(tables.testResults)}(hashTestCase)`;
|
|
131
|
+
}));
|
|
132
|
+
// With 11 result columns and 5 junction columns, batches of 50 rows stay below
|
|
133
|
+
// SQLite's lowest default limit of 999 bound values per statement.
|
|
120
134
|
const INSERT_BATCH_SIZE = 50;
|
|
121
|
-
const insertTestResults = (testResults, testRun) => sql.withTransaction(
|
|
135
|
+
const insertTestResults = (testResults, testRun) => sql.withTransaction(Effect.gen(function* () {
|
|
122
136
|
if (testResults.length === 0) return;
|
|
123
|
-
const encoded = yield*
|
|
137
|
+
const encoded = yield* Effect.forEach(testResults, _ => Schema.encodeEffect(TestResultWriteSchema)(_).pipe(Effect.mapError(RepositoryDecodeError.from('insertTestResults'))));
|
|
124
138
|
for (let i = 0; i < encoded.length; i += INSERT_BATCH_SIZE) {
|
|
125
139
|
const chunk = encoded.slice(i, i + INSERT_BATCH_SIZE);
|
|
126
140
|
yield* sql`
|
|
127
141
|
INSERT INTO ${sql(tables.testResults)}
|
|
128
142
|
${sql.insert(chunk)}
|
|
129
143
|
ON CONFLICT(id) DO NOTHING;
|
|
130
|
-
`.pipe(
|
|
144
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('insertTestResults')));
|
|
131
145
|
}
|
|
132
146
|
// Junction rows reference the resolved testRun.id directly,
|
|
133
147
|
// so no correlated subquery.
|
|
134
148
|
const junction = encoded.map(_ => ({
|
|
135
149
|
testRun: testRun.id,
|
|
136
|
-
testResult: _.id
|
|
150
|
+
testResult: _.id,
|
|
151
|
+
ordering: _.ordering,
|
|
152
|
+
resultOrdering: _.resultOrdering,
|
|
153
|
+
timeMillis: _.timeMillis
|
|
137
154
|
}));
|
|
138
155
|
for (let i = 0; i < junction.length; i += INSERT_BATCH_SIZE) {
|
|
139
156
|
const chunk = junction.slice(i, i + INSERT_BATCH_SIZE);
|
|
140
157
|
yield* sql`
|
|
141
158
|
INSERT INTO ${sql(tables.testRunResults)}
|
|
142
159
|
${sql.insert(chunk)}
|
|
143
|
-
ON CONFLICT(testRun, testResult) DO
|
|
144
|
-
|
|
160
|
+
ON CONFLICT(testRun, testResult) DO UPDATE SET
|
|
161
|
+
ordering = excluded.ordering,
|
|
162
|
+
resultOrdering = excluded.resultOrdering,
|
|
163
|
+
timeMillis = excluded.timeMillis;
|
|
164
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('insertTestResults')));
|
|
145
165
|
}
|
|
146
|
-
})).pipe(
|
|
166
|
+
})).pipe(Effect.catchTag('SqlError', e => Effect.fail(RepositoryWriteError.from('insertTestResults')(e))));
|
|
147
167
|
const insertTestResult = (testResult, testRun) => insertTestResults([testResult], testRun);
|
|
148
168
|
const makeTestResultSchema = schemas => {
|
|
149
|
-
const input = schemas?.input ??
|
|
150
|
-
const result = schemas?.result ??
|
|
151
|
-
const expected = schemas?.expected ??
|
|
152
|
-
return
|
|
153
|
-
id:
|
|
154
|
-
hashTestCase:
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
169
|
+
const input = schemas?.input ?? Schema.Unknown;
|
|
170
|
+
const result = schemas?.result ?? Schema.Unknown;
|
|
171
|
+
const expected = schemas?.expected ?? Schema.Unknown;
|
|
172
|
+
return Schema.Struct({
|
|
173
|
+
id: Schema.String,
|
|
174
|
+
hashTestCase: Schema.String,
|
|
175
|
+
key: Schema.String,
|
|
176
|
+
ordering: Schema.Int,
|
|
177
|
+
resultOrdering: Schema.Int,
|
|
178
|
+
input: Schema.fromJsonString(input),
|
|
179
|
+
result: Schema.fromJsonString(result),
|
|
180
|
+
expected: Schema.fromJsonString(expected),
|
|
181
|
+
label: LabelSchema,
|
|
182
|
+
tags: split(','),
|
|
183
|
+
timeMillis: Schema.Finite
|
|
162
184
|
});
|
|
163
185
|
};
|
|
164
186
|
const getTestResultsStream = (testRun, schemas) => {
|
|
165
187
|
const RowSchema = makeTestResultSchema(schemas);
|
|
166
|
-
const RowsSchema =
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
|
|
170
|
-
return _effect.Stream.unwrap(_effect.Effect.gen(function* () {
|
|
188
|
+
const RowsSchema = Schema.Array(RowSchema);
|
|
189
|
+
// The SQLite driver returns rows in one batch. Decode that batch once
|
|
190
|
+
// before exposing it as a stream.
|
|
191
|
+
return Stream.unwrap(Effect.gen(function* () {
|
|
171
192
|
const rows = yield* sql`
|
|
172
|
-
SELECT res
|
|
193
|
+
SELECT res.id, res.hashTestCase, res.key,
|
|
194
|
+
runres.ordering, runres.resultOrdering,
|
|
195
|
+
res.input, res.result, res.expected, res.label, res.tags,
|
|
196
|
+
runres.timeMillis
|
|
197
|
+
FROM ${sql(tables.testResults)} res
|
|
173
198
|
JOIN ${sql(tables.testRunResults)} runres ON res.id = runres.testResult
|
|
174
199
|
JOIN ${sql(tables.testRuns)} runs ON runs.id = runres.testRun
|
|
175
200
|
WHERE runs.id = ${testRun.id}
|
|
176
|
-
ORDER BY ordering ASC;
|
|
177
|
-
`.pipe(
|
|
178
|
-
const decoded = yield*
|
|
179
|
-
return
|
|
201
|
+
ORDER BY runres.ordering ASC, runres.resultOrdering ASC;
|
|
202
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getTestResultsStream')));
|
|
203
|
+
const decoded = yield* Schema.decodeUnknownEffect(RowsSchema)(rows).pipe(Effect.mapError(RepositoryDecodeError.from('getTestResultsStream')));
|
|
204
|
+
return Stream.fromIterable(decoded);
|
|
180
205
|
}));
|
|
181
206
|
};
|
|
182
|
-
const hasResults =
|
|
207
|
+
const hasResults = Effect.fnUntraced(function* (testRun) {
|
|
183
208
|
const b = yield* sql`
|
|
184
209
|
SELECT COUNT(*) count FROM ${sql(tables.testRunResults)}
|
|
185
210
|
WHERE testRun = ${testRun.id};
|
|
186
|
-
`.pipe(
|
|
187
|
-
const r = yield*
|
|
211
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('hasResults')));
|
|
212
|
+
const r = yield* Schema.decodeUnknownEffect(CountSchema)(b).pipe(Effect.mapError(RepositoryDecodeError.from('hasResults')));
|
|
188
213
|
return r > 0;
|
|
189
214
|
});
|
|
190
|
-
const getPreviousTestRun =
|
|
215
|
+
const getPreviousTestRun = Effect.fnUntraced(function* (name) {
|
|
191
216
|
const r = yield* sql`
|
|
192
217
|
SELECT * FROM ${sql(tables.testRuns)}
|
|
193
218
|
WHERE hash IS NOT NULL AND name = ${name}
|
|
194
219
|
ORDER BY id DESC
|
|
195
220
|
LIMIT 1;
|
|
196
|
-
`.pipe(
|
|
197
|
-
const p = yield*
|
|
198
|
-
return
|
|
221
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getPreviousTestRun')));
|
|
222
|
+
const p = yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(r).pipe(Effect.mapError(RepositoryDecodeError.from('getPreviousTestRun')));
|
|
223
|
+
return A.head(p);
|
|
199
224
|
});
|
|
200
|
-
const getAllTestRuns =
|
|
225
|
+
const getAllTestRuns = Effect.gen(function* () {
|
|
201
226
|
const results = yield* sql`
|
|
202
227
|
SELECT * from ${sql(tables.testRuns)};
|
|
203
|
-
`.pipe(
|
|
204
|
-
return yield*
|
|
228
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getAllTestRuns')));
|
|
229
|
+
return yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(results).pipe(Effect.mapError(RepositoryDecodeError.from('getAllTestRuns')));
|
|
205
230
|
});
|
|
206
|
-
const getAllTestRunResults =
|
|
231
|
+
const getAllTestRunResults = Effect.gen(function* () {
|
|
207
232
|
const results = yield* sql`
|
|
208
233
|
SELECT * from ${sql(tables.testRunResults)};
|
|
209
|
-
`.pipe(
|
|
210
|
-
return yield*
|
|
234
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getAllTestRunResults')));
|
|
235
|
+
return yield* Schema.decodeUnknownEffect(TestRunResultsSchema)(results).pipe(Effect.mapError(RepositoryDecodeError.from('getAllTestRunResults')));
|
|
211
236
|
});
|
|
212
|
-
const getAllTestResults =
|
|
237
|
+
const getAllTestResults = Effect.gen(function* () {
|
|
213
238
|
const results = yield* sql`
|
|
214
239
|
SELECT * from ${sql(tables.testResults)};
|
|
215
|
-
`.pipe(
|
|
216
|
-
return yield*
|
|
240
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getAllTestResults')));
|
|
241
|
+
return yield* Schema.decodeUnknownEffect(TestResultsSchema)(results).pipe(Effect.mapError(RepositoryDecodeError.from('getAllTestResults')));
|
|
217
242
|
});
|
|
218
|
-
const getLastTestRunHash = name
|
|
243
|
+
const getLastTestRunHash = Effect.fnUntraced(function* (name) {
|
|
244
|
+
const rows = yield* sql`
|
|
219
245
|
SELECT *
|
|
220
246
|
FROM ${sql(tables.testRuns)}
|
|
221
247
|
WHERE hash IS NOT NULL AND name = ${name}
|
|
222
248
|
ORDER BY id DESC
|
|
223
249
|
LIMIT 1;
|
|
224
|
-
`.pipe(
|
|
225
|
-
|
|
250
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getLastTestRunHash')));
|
|
251
|
+
const runs = yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(rows).pipe(Effect.mapError(RepositoryDecodeError.from('getLastTestRunHash')));
|
|
252
|
+
return A.head(runs).pipe(Option.flatMap(run => Option.fromNullishOr(run.hash)));
|
|
253
|
+
});
|
|
254
|
+
const getOrCreateCurrentTestRun = name => sql.withTransaction(Effect.gen(function* () {
|
|
226
255
|
const currentRaw = yield* sql`
|
|
227
256
|
SELECT *
|
|
228
257
|
FROM ${sql(tables.testRuns)}
|
|
229
258
|
WHERE hash IS NULL AND name = ${name}
|
|
230
259
|
ORDER BY id DESC
|
|
231
260
|
LIMIT 1;
|
|
232
|
-
`.pipe(
|
|
233
|
-
const current = yield*
|
|
234
|
-
const existing =
|
|
235
|
-
if (
|
|
261
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('getOrCreateCurrentTestRun')));
|
|
262
|
+
const current = yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(currentRaw).pipe(Effect.mapError(RepositoryDecodeError.from('getOrCreateCurrentTestRun')));
|
|
263
|
+
const existing = A.head(current);
|
|
264
|
+
if (Option.isSome(existing)) {
|
|
236
265
|
return existing.value;
|
|
237
266
|
}
|
|
238
267
|
const insertedRaw = yield* sql`
|
|
@@ -241,27 +270,24 @@ const makeTestRepository = exports.makeTestRepository = /*#__PURE__*/_effect.Eff
|
|
|
241
270
|
name
|
|
242
271
|
})}
|
|
243
272
|
RETURNING *;
|
|
244
|
-
`.pipe(
|
|
245
|
-
const inserted = yield*
|
|
246
|
-
return yield*
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
onSome: _effect.Effect.succeed
|
|
251
|
-
}));
|
|
252
|
-
})).pipe(_effect.Effect.catchTag('SqlError', e => _effect.Effect.fail(_RepositoryError.RepositoryQueryError.fromSql('getOrCreateCurrentTestRun')(e))));
|
|
273
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('getOrCreateCurrentTestRun')));
|
|
274
|
+
const inserted = yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(insertedRaw).pipe(Effect.mapError(RepositoryDecodeError.from('getOrCreateCurrentTestRun')));
|
|
275
|
+
return yield* Effect.fromOption(A.head(inserted)).pipe(Effect.mapError(() => new TestRunNotCreated({
|
|
276
|
+
testSuiteName: name
|
|
277
|
+
})));
|
|
278
|
+
})).pipe(Effect.catchTag('SqlError', e => Effect.fail(RepositoryQueryError.fromSql('getOrCreateCurrentTestRun')(e))));
|
|
253
279
|
const clearStale = ({
|
|
254
280
|
name,
|
|
255
281
|
keep = 1
|
|
256
|
-
}) => sql.withTransaction(
|
|
282
|
+
}) => sql.withTransaction(Effect.gen(function* () {
|
|
257
283
|
const raw = yield* sql`
|
|
258
284
|
SELECT *
|
|
259
285
|
FROM ${sql(tables.testRuns)}
|
|
260
286
|
WHERE hash IS NOT NULL AND name = ${name}
|
|
261
287
|
ORDER BY id DESC
|
|
262
288
|
LIMIT -1 OFFSET ${keep};
|
|
263
|
-
`.pipe(
|
|
264
|
-
const staleTestRuns = yield*
|
|
289
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('clearStale')));
|
|
290
|
+
const staleTestRuns = yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(raw).pipe(Effect.mapError(RepositoryDecodeError.from('clearStale')));
|
|
265
291
|
if (staleTestRuns.length === 0) {
|
|
266
292
|
return;
|
|
267
293
|
}
|
|
@@ -269,59 +295,59 @@ const makeTestRepository = exports.makeTestRepository = /*#__PURE__*/_effect.Eff
|
|
|
269
295
|
yield* sql`
|
|
270
296
|
DELETE FROM ${sql(tables.testRunResults)}
|
|
271
297
|
WHERE testRun IN ${sql.in(ids)};
|
|
272
|
-
`.pipe(
|
|
298
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('clearStale')));
|
|
273
299
|
yield* sql`
|
|
274
300
|
DELETE FROM ${sql(tables.testRuns)}
|
|
275
301
|
WHERE id IN ${sql.in(ids)};
|
|
276
|
-
`.pipe(
|
|
302
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('clearStale')));
|
|
277
303
|
yield* sql`
|
|
278
304
|
DELETE FROM ${sql(tables.testResults)}
|
|
279
305
|
WHERE id NOT IN (
|
|
280
306
|
SELECT DISTINCT testResult FROM ${sql(tables.testRunResults)}
|
|
281
307
|
);
|
|
282
|
-
`.pipe(
|
|
283
|
-
yield*
|
|
284
|
-
})).pipe(
|
|
308
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('clearStale')));
|
|
309
|
+
yield* Console.log('Cleared stale test runs.');
|
|
310
|
+
})).pipe(Effect.catchTag('SqlError', e => Effect.fail(RepositoryWriteError.from('clearStale')(e))));
|
|
285
311
|
const clearUncommitedTestResults = ({
|
|
286
312
|
name
|
|
287
|
-
}) => sql.withTransaction(
|
|
313
|
+
}) => sql.withTransaction(Effect.gen(function* () {
|
|
288
314
|
const currentRaw = yield* sql`
|
|
289
315
|
SELECT *
|
|
290
316
|
FROM ${sql(tables.testRuns)}
|
|
291
317
|
WHERE hash IS NULL AND name = ${name}
|
|
292
318
|
ORDER BY id DESC
|
|
293
319
|
LIMIT 1;
|
|
294
|
-
`.pipe(
|
|
295
|
-
const current = yield*
|
|
296
|
-
const currentTestRun =
|
|
297
|
-
if (
|
|
320
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('clearUncommitedTestResults')));
|
|
321
|
+
const current = yield* Schema.decodeUnknownEffect(TestRunsReadSchema)(currentRaw).pipe(Effect.mapError(RepositoryDecodeError.from('clearUncommitedTestResults')));
|
|
322
|
+
const currentTestRun = A.head(current);
|
|
323
|
+
if (Option.isNone(currentTestRun)) {
|
|
298
324
|
return;
|
|
299
325
|
}
|
|
300
326
|
yield* sql`
|
|
301
327
|
DELETE FROM ${sql(tables.testRunResults)}
|
|
302
328
|
WHERE testRun = ${currentTestRun.value.id};
|
|
303
|
-
`.pipe(
|
|
329
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('clearUncommitedTestResults')));
|
|
304
330
|
yield* sql`
|
|
305
331
|
DELETE FROM ${sql(tables.testResults)}
|
|
306
332
|
WHERE id NOT IN (
|
|
307
333
|
SELECT DISTINCT testResult FROM ${sql(tables.testRunResults)}
|
|
308
334
|
);
|
|
309
|
-
`.pipe(
|
|
310
|
-
})).pipe(
|
|
311
|
-
const commitCurrentTestRun = ({
|
|
335
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('clearUncommitedTestResults')));
|
|
336
|
+
})).pipe(Effect.catchTag('SqlError', e => Effect.fail(RepositoryWriteError.from('clearUncommitedTestResults')(e))));
|
|
337
|
+
const commitCurrentTestRun = Effect.fnUntraced(function* ({
|
|
312
338
|
name,
|
|
313
339
|
hash
|
|
314
|
-
})
|
|
315
|
-
const currentTestRunResults = yield*
|
|
340
|
+
}) {
|
|
341
|
+
const currentTestRunResults = yield* Schema.decodeUnknownEffect(CountSchema)(yield* sql`
|
|
316
342
|
SELECT COUNT(*) count FROM ${sql(tables.testRunResults)}
|
|
317
343
|
WHERE testRun = (
|
|
318
344
|
SELECT id
|
|
319
345
|
FROM ${sql(tables.testRuns)}
|
|
320
346
|
WHERE hash IS NULL AND name = ${name}
|
|
321
347
|
);
|
|
322
|
-
`.pipe(
|
|
348
|
+
`.pipe(Effect.mapError(RepositoryQueryError.fromSql('commitCurrentTestRun')))).pipe(Effect.mapError(RepositoryDecodeError.from('commitCurrentTestRun')));
|
|
323
349
|
if (currentTestRunResults === 0) {
|
|
324
|
-
yield*
|
|
350
|
+
yield* Console.log('Current run has no test results, not commiting.');
|
|
325
351
|
return;
|
|
326
352
|
}
|
|
327
353
|
yield* sql`
|
|
@@ -332,14 +358,14 @@ const makeTestRepository = exports.makeTestRepository = /*#__PURE__*/_effect.Eff
|
|
|
332
358
|
FROM ${sql(tables.testRuns)}
|
|
333
359
|
WHERE hash IS NULL AND name = ${name}
|
|
334
360
|
);
|
|
335
|
-
`.pipe(
|
|
361
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('commitCurrentTestRun')));
|
|
336
362
|
yield* sql`
|
|
337
363
|
INSERT INTO ${sql(tables.testRuns)}
|
|
338
364
|
${sql.insert({
|
|
339
365
|
name
|
|
340
366
|
})};
|
|
341
|
-
`.pipe(
|
|
342
|
-
yield*
|
|
367
|
+
`.pipe(Effect.mapError(RepositoryWriteError.from('commitCurrentTestRun')));
|
|
368
|
+
yield* Console.log('Commited test run.');
|
|
343
369
|
});
|
|
344
370
|
const service = {
|
|
345
371
|
clearStale,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.repository.sqlite.js","names":["SqlClient","_interopRequireWildcard","require","_effect","_TestRepository","_TestRepositoryTypes","_RepositoryError","_Classify","_Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","tables","exports","testResults","testRuns","testRunResults","TestResultWriteSchema","Schema","Struct","id","String","hashTestCase","ordering","Int","input","parseJson","Unknown","result","expected","label","LabelSchema","tags","split","timeMillis","Number","TestResultsSchema","Array","CountSchema","Tuple","count","pipe","transform","decode","encode","TestRunsReadSchema","TestRun","TestRunResultsSchema","testRun","testResult","makeTestRepository","Effect","gen","sql","INSERT_BATCH_SIZE","insertTestResults","withTransaction","length","encoded","forEach","_","mapError","RepositoryDecodeError","from","chunk","slice","insert","RepositoryWriteError","junction","map","catchTag","fail","insertTestResult","makeTestResultSchema","schemas","getTestResultsStream","RowSchema","RowsSchema","Stream","unwrap","rows","RepositoryQueryError","fromSql","decoded","decodeUnknown","fromIterable","hasResults","b","getPreviousTestRun","name","p","head","getAllTestRuns","results","getAllTestRunResults","getAllTestResults","getLastTestRunHash","flow","Option","flatMap","fromNullable","hash","getOrCreateCurrentTestRun","currentRaw","current","existing","isSome","value","insertedRaw","inserted","match","onNone","TestRunNotCreated","onSome","succeed","clearStale","keep","raw","staleTestRuns","ids","in","Console","log","clearUncommitedTestResults","currentTestRun","isNone","commitCurrentTestRun","currentTestRunResults","service"],"sources":["../../../src/internal/Test.repository.sqlite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Test.repository.sqlite.js","names":["SqlClient","Array","A","Console","Effect","Option","Schema","SchemaTransformation","Stream","TestRepository","TestRun","RepositoryDecodeError","RepositoryQueryError","RepositoryWriteError","TestRunNotCreated","LabelSchema","split","tables","testResults","testRuns","testRunResults","TestResultWriteSchema","Struct","id","String","hashTestCase","key","ordering","Int","resultOrdering","input","fromJsonString","Unknown","result","expected","label","tags","timeMillis","Finite","TestResultsSchema","CountSchema","Tuple","count","pipe","decodeTo","transform","decode","encode","TestRunsReadSchema","TestRunResultsSchema","testRun","testResult","TableColumnsSchema","name","makeTestRepository","gen","sql","withTransaction","resultColumns","decodeUnknownEffect","mapError","from","some","column","runResultColumns","existing","INSERT_BATCH_SIZE","insertTestResults","length","encoded","forEach","_","encodeEffect","i","chunk","slice","insert","junction","map","catchTag","e","fail","insertTestResult","makeTestResultSchema","schemas","getTestResultsStream","RowSchema","RowsSchema","unwrap","rows","fromSql","decoded","fromIterable","hasResults","fnUntraced","b","r","getPreviousTestRun","p","head","getAllTestRuns","results","getAllTestRunResults","getAllTestResults","getLastTestRunHash","runs","flatMap","run","fromNullishOr","hash","getOrCreateCurrentTestRun","currentRaw","current","isSome","value","insertedRaw","inserted","fromOption","testSuiteName","clearStale","keep","raw","staleTestRuns","ids","in","log","clearUncommitedTestResults","currentTestRun","isNone","commitCurrentTestRun","currentTestRunResults","service"],"sources":["../../../src/internal/Test.repository.sqlite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|