pipework 0.288.0 → 0.290.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/CHANGELOG.md +11 -0
- package/README.md +2 -0
- package/REFERENCE.md +6 -0
- package/dist/cli/commands/test.d.ts.map +1 -1
- package/dist/cli/commands/test.js +13 -0
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/core/config/discover.d.ts +2 -1
- package/dist/core/config/discover.d.ts.map +1 -1
- package/dist/core/config/discover.js +2 -2
- package/dist/core/config/discover.js.map +1 -1
- package/dist/core/config/import-config.d.ts +2 -1
- package/dist/core/config/import-config.d.ts.map +1 -1
- package/dist/core/config/import-config.js +3 -7
- package/dist/core/config/import-config.js.map +1 -1
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +3 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/data/db/expressions.d.ts +23 -0
- package/dist/data/db/expressions.d.ts.map +1 -1
- package/dist/data/db/expressions.js +27 -1
- package/dist/data/db/expressions.js.map +1 -1
- package/dist/data/db/filter.d.ts +3 -1
- package/dist/data/db/filter.d.ts.map +1 -1
- package/dist/data/db/filter.js +3 -1
- package/dist/data/db/filter.js.map +1 -1
- package/dist/data/db/namespace.d.ts +2 -0
- package/dist/data/db/namespace.d.ts.map +1 -1
- package/dist/data/query/sql/expressions/conditions.d.ts +2 -0
- package/dist/data/query/sql/expressions/conditions.d.ts.map +1 -1
- package/dist/data/query/sql/expressions/conditions.js +13 -0
- package/dist/data/query/sql/expressions/conditions.js.map +1 -1
- package/dist/data/query/sql/expressions/index.d.ts +1 -0
- package/dist/data/query/sql/expressions/index.d.ts.map +1 -1
- package/dist/data/query/sql/expressions/index.js +1 -0
- package/dist/data/query/sql/expressions/index.js.map +1 -1
- package/dist/data/query/sql/expressions/row.d.ts +19 -0
- package/dist/data/query/sql/expressions/row.d.ts.map +1 -0
- package/dist/data/query/sql/expressions/row.js +50 -0
- package/dist/data/query/sql/expressions/row.js.map +1 -0
- package/dist/test/auto-setup.js +4 -1
- package/dist/test/auto-setup.js.map +1 -1
- package/dist/test/discover-fork.d.ts +6 -1
- package/dist/test/discover-fork.d.ts.map +1 -1
- package/dist/test/discover-fork.js +6 -2
- package/dist/test/discover-fork.js.map +1 -1
- package/dist/test/shared-registry-guard.d.ts +2 -0
- package/dist/test/shared-registry-guard.d.ts.map +1 -0
- package/dist/test/shared-registry-guard.js +35 -0
- package/dist/test/shared-registry-guard.js.map +1 -0
- package/dist/test/shared-registry.d.ts +16 -0
- package/dist/test/shared-registry.d.ts.map +1 -0
- package/dist/test/shared-registry.js +63 -0
- package/dist/test/shared-registry.js.map +1 -0
- package/dist/test/vitest-workspace.d.ts.map +1 -1
- package/dist/test/vitest-workspace.js +63 -13
- package/dist/test/vitest-workspace.js.map +1 -1
- package/package.json +6 -2
- package/src/cli/commands/test.ts +15 -0
- package/src/core/config/discover.ts +3 -3
- package/src/core/config/import-config.ts +9 -2
- package/src/core/config/schema.ts +3 -1
- package/src/data/db/expressions.ts +29 -1
- package/src/data/db/filter.ts +3 -1
- package/src/data/query/sql/expressions/conditions.ts +8 -0
- package/src/data/query/sql/expressions/index.ts +1 -0
- package/src/data/query/sql/expressions/row.ts +63 -0
- package/src/test/auto-setup.ts +4 -1
- package/src/test/discover-fork.ts +7 -2
- package/src/test/shared-registry-guard.ts +41 -0
- package/src/test/shared-registry.ts +71 -0
- package/src/test/vitest-workspace.ts +66 -13
package/dist/data/db/filter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { and, arrayContained, arrayContains, arrayOverlaps, asc, between, desc, exists, ilike, inArray, is, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from '../query/index.js';
|
|
2
2
|
import { countAgg, countDistinctAgg, sumAgg, sumDistinctAgg, avgAgg, avgDistinctAgg, maxAgg, minAgg, boolAnd, boolOr, arrayAgg, stringAgg, jsonbAgg, jsonbObjectAgg, jsonbBuildObject } from './aggregates.js';
|
|
3
|
-
import { increment, decrement, add, subtract, coalesce, now, scalar, cast, collate, interval, clockTimestamp, strpos, textContains, startsWith, left, right, length, concat, arrayReplace, arrayHas, splitPart, lower, upper, trim, replace, substring, reverse, lpad, rpad, regexpReplace, regexpMatch, stringToArray, cardinality, arrayAt, arrayPosition, arraySlice, arrayToString, arrayAppend, arrayOf, arrayRemove, dateTrunc, rowNumber, rank, denseRank, over, identifier, withRecursive, caseWhen, walCurrentLsn, walReplayLsn, replicaFresh } from './expressions.js';
|
|
3
|
+
import { increment, decrement, add, subtract, coalesce, now, scalar, cast, collate, interval, clockTimestamp, strpos, textContains, startsWith, left, right, length, concat, arrayReplace, arrayHas, splitPart, lower, upper, trim, replace, substring, reverse, lpad, rpad, regexpReplace, regexpMatch, stringToArray, cardinality, arrayAt, arrayPosition, arraySlice, arrayToString, arrayAppend, arrayOf, row, rowEquals, arrayRemove, dateTrunc, rowNumber, rank, denseRank, over, identifier, withRecursive, caseWhen, walCurrentLsn, walReplayLsn, replicaFresh } from './expressions.js';
|
|
4
4
|
import { ago, castUuid, castJsonb, castTimestamp, castBoolean, castNumeric, castInteger, castText, nextSequence } from './composed.js';
|
|
5
5
|
import { json as jsonbExtract, pathText as jsonbExtractText, contains as jsonbContains, merge as jsonbMerge, concat as jsonbConcat, remove as jsonbRemove } from '../jsonb/query.js';
|
|
6
6
|
import { arrayAny, arrayAll, jsonbElements } from './array-elements.js';
|
|
@@ -93,6 +93,8 @@ export declare const filter: {
|
|
|
93
93
|
readonly arrayToString: typeof arrayToString;
|
|
94
94
|
readonly arrayAppend: typeof arrayAppend;
|
|
95
95
|
readonly arrayOf: typeof arrayOf;
|
|
96
|
+
readonly row: typeof row;
|
|
97
|
+
readonly rowEquals: typeof rowEquals;
|
|
96
98
|
readonly arrayRemove: typeof arrayRemove;
|
|
97
99
|
readonly dateTrunc: typeof dateTrunc;
|
|
98
100
|
readonly rowNumber: typeof rowNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/data/db/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAM,MAAM,EACjF,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAe,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAC9F,UAAU,EAAE,OAAO,EAAE,EAAE,EACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE9M,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/data/db/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAM,MAAM,EACjF,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAe,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAC9F,UAAU,EAAE,OAAO,EAAE,EAAE,EACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE9M,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAChkB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACtI,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,QAAQ,IAAI,gBAAgB,EAAE,QAAQ,IAAI,aAAa,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpL,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEhD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFT,CAAA"}
|
package/dist/data/db/filter.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { and, arrayContained, arrayContains, arrayOverlaps, asc, between, desc, eq, exists, gt, gte, ilike, inArray, is, isNotNull, isNull, like, lt, lte, ne, not, notBetween, notExists, notIlike, notInArray, notLike, or, } from '../query/index.js';
|
|
2
2
|
import { countAgg, countDistinctAgg, sumAgg, sumDistinctAgg, avgAgg, avgDistinctAgg, maxAgg, minAgg, boolAnd, boolOr, arrayAgg, stringAgg, jsonbAgg, jsonbObjectAgg, jsonbBuildObject } from './aggregates.js';
|
|
3
3
|
import { except, exceptAll, intersect, intersectAll, union, unionAll } from '../query/pg-core/index.js';
|
|
4
|
-
import { increment, decrement, add, subtract, coalesce, now, scalar, cast, collate, interval, clockTimestamp, strpos, textContains, startsWith, left, right, length, concat, arrayReplace, arrayHas, splitPart, lower, upper, trim, replace, substring, reverse, lpad, rpad, regexpReplace, regexpMatch, stringToArray, cardinality, arrayAt, arrayPosition, arraySlice, arrayToString, arrayAppend, arrayOf, arrayRemove, dateTrunc, rowNumber, rank, denseRank, over, identifier, withRecursive, caseWhen, walCurrentLsn, walReplayLsn, replicaFresh } from './expressions.js';
|
|
4
|
+
import { increment, decrement, add, subtract, coalesce, now, scalar, cast, collate, interval, clockTimestamp, strpos, textContains, startsWith, left, right, length, concat, arrayReplace, arrayHas, splitPart, lower, upper, trim, replace, substring, reverse, lpad, rpad, regexpReplace, regexpMatch, stringToArray, cardinality, arrayAt, arrayPosition, arraySlice, arrayToString, arrayAppend, arrayOf, row, rowEquals, arrayRemove, dateTrunc, rowNumber, rank, denseRank, over, identifier, withRecursive, caseWhen, walCurrentLsn, walReplayLsn, replicaFresh } from './expressions.js';
|
|
5
5
|
import { ago, castUuid, castJsonb, castTimestamp, castBoolean, castNumeric, castInteger, castText, nextSequence } from './composed.js';
|
|
6
6
|
import { json as jsonbExtract, pathText as jsonbExtractText, contains as jsonbContains, merge as jsonbMerge, concat as jsonbConcat, remove as jsonbRemove } from '../jsonb/query.js';
|
|
7
7
|
import { arrayAny, arrayAll, jsonbElements } from './array-elements.js';
|
|
@@ -52,6 +52,8 @@ export const filter = {
|
|
|
52
52
|
arrayToString,
|
|
53
53
|
arrayAppend,
|
|
54
54
|
arrayOf,
|
|
55
|
+
row,
|
|
56
|
+
rowEquals,
|
|
55
57
|
arrayRemove,
|
|
56
58
|
dateTrunc,
|
|
57
59
|
rowNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/data/db/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAC1F,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAC9F,UAAU,EAAE,OAAO,EAAE,EAAE,GACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9M,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACvG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/data/db/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,8 @@ export declare const pipe: typeof getDb & {
|
|
|
113
113
|
readonly arrayToString: typeof import("./expressions.js").arrayToString;
|
|
114
114
|
readonly arrayAppend: typeof import("./expressions.js").arrayAppend;
|
|
115
115
|
readonly arrayOf: typeof import("./expressions.js").arrayOf;
|
|
116
|
+
readonly row: typeof import("./expressions.js").row;
|
|
117
|
+
readonly rowEquals: typeof import("./expressions.js").rowEquals;
|
|
116
118
|
readonly arrayRemove: typeof import("./expressions.js").arrayRemove;
|
|
117
119
|
readonly dateTrunc: typeof import("./expressions.js").dateTrunc;
|
|
118
120
|
readonly rowNumber: typeof import("./expressions.js").rowNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/data/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGnM,OAAO,EAAS,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGzE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE3E,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,mJAAmJ;AACnJ,eAAO,MAAM,IAAI;IACf,iQAAiQ;;IAGjQ,6QAA6Q;;IAG7Q,6EAA6E
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/data/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGnM,OAAO,EAAS,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGzE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE3E,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,mJAAmJ;AACnJ,eAAO,MAAM,IAAI;IACf,iQAAiQ;;IAGjQ,6QAA6Q;;IAG7Q,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7E,2oBAA2oB;;IAG3oB,+RAA+R;;;;;;;;;;;;;IAkB/R,oDAAoD;;IAEpD,mDAAmD;;IAGnD,6EAA6E;;IAG7E,gFAAgF;;IAGhF,qHAAqH;;IAGrH,kHAAkH;;IAGlH,oMAAoM;;IAGpM,2GAA2G;;IAG3G,0GAA0G;;IAG1G,uVAAuV;;IAGvV,uNAAuN;;IAGvN,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;IAE9E,qMAAqM;;IAErM,6DAA6D;;IAE7D,+LAA+L;;IAG/L,2GAA2G;;IAE3G,kNAAkN;;IAElN,gHAAgH;;IAEhH,kQAAkQ;;CAElQ,CAAA"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type AnyColumn, Column, type GetColumnData } from '../../column.js';
|
|
2
2
|
import type { AcceptReadonly } from '../../../db/readonly.js';
|
|
3
|
+
import { Row } from './row.js';
|
|
3
4
|
import { Placeholder, SQL, type SQLChunk, type SQLWrapper } from '../sql.js';
|
|
4
5
|
export declare function bindIfParam(value: unknown, column: SQLWrapper): SQLChunk;
|
|
5
6
|
export interface BinaryOperator {
|
|
7
|
+
(left: Row, right: Row): SQL;
|
|
6
8
|
<TColumn extends Column>(left: TColumn, right: GetColumnData<TColumn, 'raw'> | SQLWrapper): SQL;
|
|
7
9
|
<T>(left: SQL.Aliased<T>, right: T | SQLWrapper): SQL;
|
|
8
10
|
<T extends SQLWrapper>(left: Exclude<T, SQL.Aliased | Column>, right: unknown): SQL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAIN,WAAW,EACX,GAAG,EAEH,KAAK,QAAQ,EACb,KAAK,UAAU,EAGf,MAAM,WAAW,CAAC;AAEnB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,QAAQ,CAaxE;AAED,MAAM,WAAW,cAAc;IAC9B,CAAC,OAAO,SAAS,MAAM,EACtB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,UAAU,GAC/C,GAAG,CAAC;IACP,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC;IACtD,CAAC,CAAC,SAAS,UAAU,EACpB,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,EACtC,KAAK,EAAE,OAAO,GACZ,GAAG,CAAC;CACP;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/conditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Column } from '../../column.js';
|
|
2
2
|
import { is } from '../../entity.js';
|
|
3
3
|
import { Table } from '../../table.js';
|
|
4
|
+
import { isRow, Row, rowCompare } from './row.js';
|
|
4
5
|
import { isDriverValueEncoder, isSQLWrapper, Param, Placeholder, SQL, sql, StringChunk, View, } from '../sql.js';
|
|
5
6
|
export function bindIfParam(value, column) {
|
|
6
7
|
if (isDriverValueEncoder(column)
|
|
@@ -33,6 +34,8 @@ export function bindIfParam(value, column) {
|
|
|
33
34
|
* @see isNull for a way to test equality to NULL.
|
|
34
35
|
*/
|
|
35
36
|
export const eq = (left, right) => {
|
|
37
|
+
if (isRow(left) || isRow(right))
|
|
38
|
+
return rowCompare(left, '=', right);
|
|
36
39
|
return sql `${left} = ${bindIfParam(right, left)}`;
|
|
37
40
|
};
|
|
38
41
|
/**
|
|
@@ -54,6 +57,8 @@ export const eq = (left, right) => {
|
|
|
54
57
|
* @see isNotNull for a way to test whether a value is not null.
|
|
55
58
|
*/
|
|
56
59
|
export const ne = (left, right) => {
|
|
60
|
+
if (isRow(left) || isRow(right))
|
|
61
|
+
return rowCompare(left, '<>', right);
|
|
57
62
|
return sql `${left} <> ${bindIfParam(right, left)}`;
|
|
58
63
|
};
|
|
59
64
|
export function and(...unfilteredConditions) {
|
|
@@ -113,6 +118,8 @@ export function not(condition) {
|
|
|
113
118
|
* @see gte for greater-than-or-equal
|
|
114
119
|
*/
|
|
115
120
|
export const gt = (left, right) => {
|
|
121
|
+
if (isRow(left) || isRow(right))
|
|
122
|
+
return rowCompare(left, '>', right);
|
|
116
123
|
return sql `${left} > ${bindIfParam(right, left)}`;
|
|
117
124
|
};
|
|
118
125
|
/**
|
|
@@ -132,6 +139,8 @@ export const gt = (left, right) => {
|
|
|
132
139
|
* @see gt for a strictly greater-than condition
|
|
133
140
|
*/
|
|
134
141
|
export const gte = (left, right) => {
|
|
142
|
+
if (isRow(left) || isRow(right))
|
|
143
|
+
return rowCompare(left, '>=', right);
|
|
135
144
|
return sql `${left} >= ${bindIfParam(right, left)}`;
|
|
136
145
|
};
|
|
137
146
|
/**
|
|
@@ -149,6 +158,8 @@ export const gte = (left, right) => {
|
|
|
149
158
|
* @see lte for less-than-or-equal
|
|
150
159
|
*/
|
|
151
160
|
export const lt = (left, right) => {
|
|
161
|
+
if (isRow(left) || isRow(right))
|
|
162
|
+
return rowCompare(left, '<', right);
|
|
152
163
|
return sql `${left} < ${bindIfParam(right, left)}`;
|
|
153
164
|
};
|
|
154
165
|
/**
|
|
@@ -166,6 +177,8 @@ export const lt = (left, right) => {
|
|
|
166
177
|
* @see lt for a strictly less-than condition
|
|
167
178
|
*/
|
|
168
179
|
export const lte = (left, right) => {
|
|
180
|
+
if (isRow(left) || isRow(right))
|
|
181
|
+
return rowCompare(left, '<=', right);
|
|
169
182
|
return sql `${left} <= ${bindIfParam(right, left)}`;
|
|
170
183
|
};
|
|
171
184
|
export function inArray(column, values) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAsB,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACL,WAAW,EACX,GAAG,EACH,GAAG,EAGH,WAAW,EACX,IAAI,GACJ,MAAM,WAAW,CAAC;AAEnB,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,MAAkB;IAC7D,IACC,oBAAoB,CAAC,MAAM,CAAC;WACzB,CAAC,YAAY,CAAC,KAAK,CAAC;WACpB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;WACjB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;WACvB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;WAClB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;WACjB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAClB,CAAC;QACF,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAiB,CAAC;AAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/conditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Column } from '../../column.js';
|
|
2
|
+
import { type SQL, type SQLWrapper } from '../sql.js';
|
|
3
|
+
/** One element of a row: a column, a SQL expression (a `pipe.rows` column is one), or a bound JS value. */
|
|
4
|
+
export type RowElement = Column | SQLWrapper | string | number | bigint | boolean | Date | null;
|
|
5
|
+
/**
|
|
6
|
+
* A row constructor `(e1, e2, ...)` built by `filter.row`. Compare it with another row through
|
|
7
|
+
* `eq` / `ne` / `gt` / `gte` / `lt` / `lte`; on its own it renders with its values bound uncast.
|
|
8
|
+
*/
|
|
9
|
+
export declare class Row implements SQLWrapper {
|
|
10
|
+
readonly elements: readonly RowElement[];
|
|
11
|
+
constructor(elements: readonly RowElement[]);
|
|
12
|
+
/** The row as `(e1, e2, ...)`. A value is cast to the type of `peers[i]` when that is a column. */
|
|
13
|
+
render(peers?: readonly RowElement[]): SQL;
|
|
14
|
+
getSQL(): SQL;
|
|
15
|
+
}
|
|
16
|
+
export declare function isRow(value: unknown): value is Row;
|
|
17
|
+
/** Renders `left <op> right` for two rows, binding each value with the type of the column facing it. */
|
|
18
|
+
export declare function rowCompare(left: unknown, op: string, right: unknown): SQL;
|
|
19
|
+
//# sourceMappingURL=row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAA4B,KAAK,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhF,2GAA2G;AAC3G,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhG;;;GAGG;AACH,qBAAa,GAAI,YAAW,UAAU;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;gBAE7B,QAAQ,EAAE,SAAS,UAAU,EAAE;IAW3C,mGAAmG;IACnG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,GAAG,GAAG;IAY1C,MAAM,IAAI,GAAG;CAGb;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAElD;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAczE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Column } from '../../column.js';
|
|
2
|
+
import { is } from '../../entity.js';
|
|
3
|
+
import { isSQLWrapper, Param, sql } from '../sql.js';
|
|
4
|
+
/**
|
|
5
|
+
* A row constructor `(e1, e2, ...)` built by `filter.row`. Compare it with another row through
|
|
6
|
+
* `eq` / `ne` / `gt` / `gte` / `lt` / `lte`; on its own it renders with its values bound uncast.
|
|
7
|
+
*/
|
|
8
|
+
export class Row {
|
|
9
|
+
elements;
|
|
10
|
+
constructor(elements) {
|
|
11
|
+
if (elements.length < 2) {
|
|
12
|
+
throw new Error(`[pipework] row: a row needs at least two elements, got ${elements.length}.\n\n`
|
|
13
|
+
+ ' A one-element row is just its element.\n'
|
|
14
|
+
+ ' Fix: pass two or more elements to row(), or compare the element directly.\n');
|
|
15
|
+
}
|
|
16
|
+
this.elements = elements;
|
|
17
|
+
}
|
|
18
|
+
/** The row as `(e1, e2, ...)`. A value is cast to the type of `peers[i]` when that is a column. */
|
|
19
|
+
render(peers) {
|
|
20
|
+
const parts = this.elements.map((e, i) => {
|
|
21
|
+
if (is(e, Column) || isSQLWrapper(e))
|
|
22
|
+
return sql `${e}`;
|
|
23
|
+
const peer = peers?.[i];
|
|
24
|
+
if (peer !== undefined && is(peer, Column)) {
|
|
25
|
+
return sql `${new Param(e, peer)}::${sql.raw(peer.getSQLType())}`;
|
|
26
|
+
}
|
|
27
|
+
return sql `${new Param(e)}`;
|
|
28
|
+
});
|
|
29
|
+
return sql `(${sql.join(parts, sql `, `)})`;
|
|
30
|
+
}
|
|
31
|
+
getSQL() {
|
|
32
|
+
return this.render();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function isRow(value) {
|
|
36
|
+
return value instanceof Row;
|
|
37
|
+
}
|
|
38
|
+
/** Renders `left <op> right` for two rows, binding each value with the type of the column facing it. */
|
|
39
|
+
export function rowCompare(left, op, right) {
|
|
40
|
+
if (!isRow(left) || !isRow(right)) {
|
|
41
|
+
throw new Error(`[pipework] row: a row can only be compared with another row (${isRow(left) ? 'right' : 'left'} side is not one).\n\n`
|
|
42
|
+
+ ' Fix: build both sides with row(...), for example eq(row(t.a, t.b), row(k.a, k.b)).\n');
|
|
43
|
+
}
|
|
44
|
+
if (left.elements.length !== right.elements.length) {
|
|
45
|
+
throw new Error(`[pipework] row: the rows differ in length (${left.elements.length} and ${right.elements.length}).\n\n`
|
|
46
|
+
+ ' Fix: give both sides the same number of elements.\n');
|
|
47
|
+
}
|
|
48
|
+
return sql `${left.render(right.elements)} ${sql.raw(op)} ${right.render(left.elements)}`;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../../../src/data/query/sql/expressions/row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAA6B,MAAM,WAAW,CAAC;AAKhF;;;GAGG;AACH,MAAM,OAAO,GAAG;IACN,QAAQ,CAAwB;IAEzC,YAAY,QAA+B;QAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACd,0DAA0D,QAAQ,CAAC,MAAM,OAAO;kBAC7E,4CAA4C;kBAC5C,+EAA+E,CAClF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,mGAAmG;IACnG,MAAM,CAAC,KAA6B;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAA,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC5C,OAAO,GAAG,CAAA,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,GAAG,CAAA,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAA,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAA,IAAI,CAAC,GAAG,CAAC;IAC3C,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;CACD;AAED,MAAM,UAAU,KAAK,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,GAAG,CAAC;AAC7B,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,UAAU,CAAC,IAAa,EAAE,EAAU,EAAE,KAAc;IACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACd,gEAAgE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,wBAAwB;cACnH,wFAAwF,CAC3F,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACd,8CAA8C,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,QAAQ;cACpG,uDAAuD,CAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1F,CAAC"}
|
package/dist/test/auto-setup.js
CHANGED
|
@@ -8,7 +8,10 @@ import { logSlowPhases, SETUP_HOOK_TIMEOUT_MS } from './progress.js';
|
|
|
8
8
|
import { TEARDOWN_HOOK_TIMEOUT_MS } from '../trace/runtime/pending-writes.js';
|
|
9
9
|
loadEnvFiles();
|
|
10
10
|
let _testContext = null;
|
|
11
|
-
|
|
11
|
+
// Loaded through this file's own `import()`, which vitest routes through its module runner
|
|
12
|
+
// (setup files always run there), not through Node: the config's app modules must be the
|
|
13
|
+
// instances the test files import (#1006).
|
|
14
|
+
const instance = await discoverForTestFork(url => import(/* @vite-ignore */ url));
|
|
12
15
|
_setTestState(instance);
|
|
13
16
|
const dbNames = instance.config.databaseNames();
|
|
14
17
|
if (dbNames.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-setup.js","sourceRoot":"","sources":["../../src/test/auto-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,YAAY,EAAE,CAAA;AAEd,IAAI,YAAY,GAAuB,IAAI,CAAA;AAE3C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"auto-setup.js","sourceRoot":"","sources":["../../src/test/auto-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,YAAY,EAAE,CAAA;AAEd,IAAI,YAAY,GAAuB,IAAI,CAAA;AAE3C,2FAA2F;AAC3F,yFAAyF;AACzF,2CAA2C;AAC3C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAqC,CAAC,CAAA;AAErH,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEvB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAA;AAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACzB,CAAC;IAAC,UAAsC,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAA;AAC9D,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC,EAAE,qBAAqB,CAAC,CAAA;AAEzB,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,EAAE,wBAAwB,CAAC,CAAA;AAE5B,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5B,YAAY,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACvD,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC9C,YAAY,GAAG,IAAI,CAAA;QACnB,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,EAAE,wBAAwB,CAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Manifold } from '../core/pipework.js';
|
|
2
|
+
import type { ConfigLoader } from '../core/config/import-config.js';
|
|
2
3
|
/**
|
|
3
4
|
* Load this test fork's manifold and consume `PIPEWORK_CONFIG`.
|
|
4
5
|
*
|
|
@@ -7,6 +8,10 @@ import type { Manifold } from '../core/pipework.js';
|
|
|
7
8
|
* migrate`, a CLI under test — inherits it and migrates the wrong package
|
|
8
9
|
* against the wrong manifold. Discovery failing leaves it set: the variable is
|
|
9
10
|
* part of the diagnosis.
|
|
11
|
+
*
|
|
12
|
+
* `load` is the test runner's own `import()` (#1006): the config's module graph is then
|
|
13
|
+
* evaluated by the same module runner as the test files' imports, so an app module
|
|
14
|
+
* (and its `pipe.define(...)`) runs once whether or not pipework is inlined.
|
|
10
15
|
*/
|
|
11
|
-
export declare function discoverForTestFork(): Promise<Manifold>;
|
|
16
|
+
export declare function discoverForTestFork(load?: ConfigLoader): Promise<Manifold>;
|
|
12
17
|
//# sourceMappingURL=discover-fork.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-fork.d.ts","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"discover-fork.d.ts","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIhF"}
|
|
@@ -7,9 +7,13 @@ import { discoverInstance } from '../core/config/discover.js';
|
|
|
7
7
|
* migrate`, a CLI under test — inherits it and migrates the wrong package
|
|
8
8
|
* against the wrong manifold. Discovery failing leaves it set: the variable is
|
|
9
9
|
* part of the diagnosis.
|
|
10
|
+
*
|
|
11
|
+
* `load` is the test runner's own `import()` (#1006): the config's module graph is then
|
|
12
|
+
* evaluated by the same module runner as the test files' imports, so an app module
|
|
13
|
+
* (and its `pipe.define(...)`) runs once whether or not pipework is inlined.
|
|
10
14
|
*/
|
|
11
|
-
export async function discoverForTestFork() {
|
|
12
|
-
const instance = await discoverInstance();
|
|
15
|
+
export async function discoverForTestFork(load) {
|
|
16
|
+
const instance = await discoverInstance(undefined, load);
|
|
13
17
|
delete process.env['PIPEWORK_CONFIG'];
|
|
14
18
|
return instance;
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-fork.js","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"discover-fork.js","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAG7D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAmB;IAC3D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACrC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry-guard.d.ts","sourceRoot":"","sources":["../../src/test/shared-registry-guard.ts"],"names":[],"mappings":"AAkBA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAcxD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
import { REGISTRY_CALLS } from './shared-registry.js';
|
|
3
|
+
// Setup file for projects that share one module registry per worker (`isolate: false`,
|
|
4
|
+
// non-vm pool). It replaces the `vi` calls that change the registry with a throw naming
|
|
5
|
+
// the test file and the fix. The workspace already routes a file whose own text calls
|
|
6
|
+
// them to an isolated sibling project; this catches a call it could not see, such as one
|
|
7
|
+
// reached through a helper (#1001). Idempotent: setup files re-run for every test file.
|
|
8
|
+
// Listed after the project's own setup files, so a mock a setup file registers on
|
|
9
|
+
// purpose still goes through.
|
|
10
|
+
const GUARDED = Symbol.for('pipework.sharedRegistryGuard');
|
|
11
|
+
function currentFile() {
|
|
12
|
+
const worker = globalThis.__vitest_worker__;
|
|
13
|
+
return worker?.filepath ?? 'the running test file';
|
|
14
|
+
}
|
|
15
|
+
export function refuse(call, file) {
|
|
16
|
+
return new Error(`[pipework] vi.${call}() is refused in a shared-registry test project (called from ${file}).\n\n` +
|
|
17
|
+
' This project runs with isolate: false: every file in a worker shares one module\n' +
|
|
18
|
+
' registry, and pipework itself is not re-evaluated by vi.resetModules() or vi.mock().\n' +
|
|
19
|
+
' A reset re-runs the app\'s pipe.define(...) calls against the same registry, so the\n' +
|
|
20
|
+
' next file in the worker fails with "Duplicate domain definition", and a mock binds\n' +
|
|
21
|
+
' the importers of the file after it.\n' +
|
|
22
|
+
' The workspace routes a file to an isolated sibling project when its own text calls\n' +
|
|
23
|
+
' vi.resetModules, vi.mock, vi.doMock, vi.unmock or vi.doUnmock. This call was not found in\n' +
|
|
24
|
+
` the text of ${file}, so it was not routed.\n` +
|
|
25
|
+
' Fix: call it directly in the test file that needs it (not through a helper), or set\n' +
|
|
26
|
+
' `isolate: true` on this project or profile in pipework.config.ts.\n');
|
|
27
|
+
}
|
|
28
|
+
const target = vi;
|
|
29
|
+
if (target[GUARDED] !== true) {
|
|
30
|
+
for (const call of REGISTRY_CALLS) {
|
|
31
|
+
target[call] = () => { throw refuse(call, currentFile()); };
|
|
32
|
+
}
|
|
33
|
+
target[GUARDED] = true;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=shared-registry-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry-guard.js","sourceRoot":"","sources":["../../src/test/shared-registry-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,uFAAuF;AACvF,wFAAwF;AACxF,sFAAsF;AACtF,yFAAyF;AACzF,wFAAwF;AACxF,kFAAkF;AAClF,8BAA8B;AAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;AAE1D,SAAS,WAAW;IAClB,MAAM,MAAM,GAAI,UAA4D,CAAC,iBAAiB,CAAA;IAC9F,OAAO,MAAM,EAAE,QAAQ,IAAI,uBAAuB,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,IAAI,KAAK,CACd,iBAAiB,IAAI,gEAAgE,IAAI,QAAQ;QACjG,qFAAqF;QACrF,0FAA0F;QAC1F,yFAAyF;QACzF,wFAAwF;QACxF,yCAAyC;QACzC,wFAAwF;QACxF,+FAA+F;QAC/F,iBAAiB,IAAI,2BAA2B;QAChD,yFAAyF;QACzF,uEAAuE,CACxE,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAG,EAA6C,CAAA;AAC5D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAU,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;AACxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** The `vi` calls that change a worker's module registry or the next file's importers. */
|
|
2
|
+
export declare const REGISTRY_CALLS: readonly ["resetModules", "mock", "doMock", "unmock", "doUnmock"];
|
|
3
|
+
export declare function callsRegistryApi(text: string): boolean;
|
|
4
|
+
/** Name of the isolated sibling that takes the registry-changing files of `project`. */
|
|
5
|
+
export declare function isolatedSiblingName(project: string): string;
|
|
6
|
+
/** Glob-escape a literal path, so `[id].test.ts` matches only itself. */
|
|
7
|
+
export declare function escapeGlob(path: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* The files `include` selects under `base`, minus `exclude`, as sorted `/`-separated
|
|
10
|
+
* paths relative to `base`. Vitest globs the same way, so this is the file set the
|
|
11
|
+
* project would run. A base that does not exist selects nothing.
|
|
12
|
+
*/
|
|
13
|
+
export declare function listProjectFiles(base: string, include: readonly string[], exclude: readonly string[]): string[];
|
|
14
|
+
/** The files of the project whose own text calls a registry-changing `vi` API. */
|
|
15
|
+
export declare function findRegistryFiles(base: string, include: readonly string[], exclude: readonly string[]): string[];
|
|
16
|
+
//# sourceMappingURL=shared-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry.d.ts","sourceRoot":"","sources":["../../src/test/shared-registry.ts"],"names":[],"mappings":"AAWA,0FAA0F;AAC1F,eAAO,MAAM,cAAc,mEAAoE,CAAA;AAS/F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAkB/G;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQhH"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { readFileSync, globSync } from 'node:fs';
|
|
2
|
+
import { matchesGlob, resolve, sep } from 'node:path';
|
|
3
|
+
// A project with `isolate: false` (and a non-vm pool) keeps one module registry per
|
|
4
|
+
// worker. A test file that resets or mocks modules changes that registry for itself
|
|
5
|
+
// and for every file after it: `vi.resetModules()` re-evaluates the app's modules but
|
|
6
|
+
// not pipework (Node's own cache), so each `pipe.define(...)` runs twice against the
|
|
7
|
+
// one registry and the file after it fails at load (#1001). Such files are routed to an
|
|
8
|
+
// isolated sibling project from their own text; the guard setup file refuses the same
|
|
9
|
+
// calls in shared-registry projects for anything the text scan misses.
|
|
10
|
+
/** The `vi` calls that change a worker's module registry or the next file's importers. */
|
|
11
|
+
export const REGISTRY_CALLS = ['resetModules', 'mock', 'doMock', 'unmock', 'doUnmock'];
|
|
12
|
+
// `vi.mock(`, `vi.mock<T>(`, `vitest.doMock (` and `vi?.resetModules(`. Decided from the
|
|
13
|
+
// file's own text, comments and strings included: a miss is caught by the guard, a
|
|
14
|
+
// false hit only costs one isolated worker.
|
|
15
|
+
const REGISTRY_CALL_PATTERN = new RegExp(`\\b(?:vi|vitest)\\s*\\??\\.\\s*(?:${REGISTRY_CALLS.join('|')})\\s*(?:<[^>]*>)?\\s*\\(`);
|
|
16
|
+
export function callsRegistryApi(text) {
|
|
17
|
+
return REGISTRY_CALL_PATTERN.test(text);
|
|
18
|
+
}
|
|
19
|
+
/** Name of the isolated sibling that takes the registry-changing files of `project`. */
|
|
20
|
+
export function isolatedSiblingName(project) {
|
|
21
|
+
return `${project}:registry-isolated`;
|
|
22
|
+
}
|
|
23
|
+
/** Glob-escape a literal path, so `[id].test.ts` matches only itself. */
|
|
24
|
+
export function escapeGlob(path) {
|
|
25
|
+
return path.replace(/[\\*?[\]{}()!|+@]/g, '\\$&');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The files `include` selects under `base`, minus `exclude`, as sorted `/`-separated
|
|
29
|
+
* paths relative to `base`. Vitest globs the same way, so this is the file set the
|
|
30
|
+
* project would run. A base that does not exist selects nothing.
|
|
31
|
+
*/
|
|
32
|
+
export function listProjectFiles(base, include, exclude) {
|
|
33
|
+
let found;
|
|
34
|
+
try {
|
|
35
|
+
found = globSync([...include], {
|
|
36
|
+
cwd: base,
|
|
37
|
+
// Prune the two trees nothing is ever tested in, without walking them.
|
|
38
|
+
exclude: (path) => {
|
|
39
|
+
const name = path.split(/[\\/]/).pop();
|
|
40
|
+
return name === 'node_modules' || name === '.git';
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
const files = found
|
|
48
|
+
.map(file => file.split(sep).join('/'))
|
|
49
|
+
.filter(file => !exclude.some(pattern => matchesGlob(file, pattern)));
|
|
50
|
+
return [...new Set(files)].sort();
|
|
51
|
+
}
|
|
52
|
+
/** The files of the project whose own text calls a registry-changing `vi` API. */
|
|
53
|
+
export function findRegistryFiles(base, include, exclude) {
|
|
54
|
+
return listProjectFiles(base, include, exclude).filter(file => {
|
|
55
|
+
try {
|
|
56
|
+
return callsRegistryApi(readFileSync(resolve(base, file), 'utf8'));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=shared-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry.js","sourceRoot":"","sources":["../../src/test/shared-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAErD,oFAAoF;AACpF,oFAAoF;AACpF,sFAAsF;AACtF,qFAAqF;AACrF,wFAAwF;AACxF,sFAAsF;AACtF,uEAAuE;AAEvE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAE/F,yFAAyF;AACzF,mFAAmF;AACnF,4CAA4C;AAC5C,MAAM,qBAAqB,GAAG,IAAI,MAAM,CACtC,qCAAqC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CACxF,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,GAAG,OAAO,oBAAoB,CAAA;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAA0B,EAAE,OAA0B;IACnG,IAAI,KAAe,CAAA;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE;YAC7B,GAAG,EAAE,IAAI;YACT,uEAAuE;YACvE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAA;gBACtC,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,CAAA;YACnD,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACnC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAA0B,EAAE,OAA0B;IACpG,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5D,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-workspace.d.ts","sourceRoot":"","sources":["../../src/test/vitest-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAA2D,MAAM,0BAA0B,CAAA;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"vitest-workspace.d.ts","sourceRoot":"","sources":["../../src/test/vitest-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAA2D,MAAM,0BAA0B,CAAA;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAW9D,eAAO,MAAM,oBAAoB,QAAS,CAAA;AA2B1C;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA2C/E;AAuFD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,cAAc,EAAE,EACjC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,mBAAmB,EAAE,CA0BvB"}
|