@rocicorp/zero 0.3.2024102800 → 0.5.2024103100
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/out/chunk-TBA526RR.js +16475 -0
- package/out/chunk-TBA526RR.js.map +7 -0
- package/out/chunk-ULOTOBTC.js +1 -0
- package/out/internal.js +1 -1
- package/out/react.js.map +2 -2
- package/out/shared/src/arrays.d.ts +6 -0
- package/out/shared/src/arrays.d.ts.map +1 -0
- package/out/shared/src/arrays.js +20 -0
- package/out/shared/src/arrays.js.map +1 -0
- package/out/shared/src/iterables.d.ts +1 -0
- package/out/shared/src/iterables.d.ts.map +1 -1
- package/out/shared/src/iterables.js +33 -0
- package/out/shared/src/iterables.js.map +1 -1
- package/out/solid.js +16 -1
- package/out/solid.js.map +3 -3
- package/out/zero/src/advanced.d.ts +2 -0
- package/out/zero/src/advanced.d.ts.map +1 -0
- package/out/{zero-internal → zero-advanced}/src/mod.d.ts +2 -1
- package/out/{zero-internal → zero-advanced}/src/mod.d.ts.map +1 -1
- package/out/zero-cache/src/config/config-query.d.ts +1 -0
- package/out/zero-cache/src/config/config-query.d.ts.map +1 -1
- package/out/zero-cache/src/config/config-query.js +3 -0
- package/out/zero-cache/src/config/config-query.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +114 -114
- package/out/zero-cache/src/db/statements.d.ts +1 -1
- package/out/zero-cache/src/server/life-cycle.d.ts +19 -4
- package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
- package/out/zero-cache/src/server/life-cycle.js +105 -54
- package/out/zero-cache/src/server/life-cycle.js.map +1 -1
- package/out/zero-cache/src/server/logging.js +2 -2
- package/out/zero-cache/src/server/logging.js.map +1 -1
- package/out/zero-cache/src/server/main.js +9 -9
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +3 -9
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +12 -32
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +4 -4
- package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +2 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +4 -3
- package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +2 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/connect-params.js +4 -4
- package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +3 -8
- package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/dispatcher.js +8 -24
- package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
- package/out/zero-cache/src/services/http-service.d.ts +16 -0
- package/out/zero-cache/src/services/http-service.d.ts.map +1 -0
- package/out/zero-cache/src/services/http-service.js +39 -0
- package/out/zero-cache/src/services/http-service.js.map +1 -0
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +2 -2
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +6 -8
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +6 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +15 -15
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +6 -6
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -2
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/lite.d.ts.map +1 -1
- package/out/zero-cache/src/types/lite.js +5 -0
- package/out/zero-cache/src/types/lite.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +1 -0
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +3 -2
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts +2 -2
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +5 -1
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +3 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +2 -1
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/context.js +53 -39
- package/out/zero-client/src/client/context.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +37 -0
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +1 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.js +28 -10
- package/out/zero-client/src/client/zero.js.map +1 -1
- package/out/zero-client/src/mod.d.ts +1 -0
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero-client/src/mod.js +1 -0
- package/out/zero-client/src/mod.js.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +18 -10
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +80 -12
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/change-desired-queries.d.ts +6 -6
- package/out/zero-protocol/src/connect.d.ts +11 -13
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.js +6 -16
- package/out/zero-protocol/src/connect.js.map +1 -1
- package/out/zero-protocol/src/data.d.ts +2 -2
- package/out/zero-protocol/src/data.d.ts.map +1 -1
- package/out/zero-protocol/src/data.js +2 -1
- package/out/zero-protocol/src/data.js.map +1 -1
- package/out/zero-protocol/src/down.d.ts +7 -7
- package/out/zero-protocol/src/poke.d.ts +14 -14
- package/out/zero-protocol/src/push.d.ts +21 -21
- package/out/zero-protocol/src/queries-patch.d.ts +9 -9
- package/out/zero-protocol/src/row-patch.d.ts +2 -2
- package/out/zero-protocol/src/up.d.ts +9 -9
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/create-zero.d.ts +3 -0
- package/out/zero-solid/src/create-zero.d.ts.map +1 -0
- package/out/zero-solid/src/mod.d.ts +1 -0
- package/out/zero-solid/src/mod.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +1 -1
- package/out/zero-solid/src/use-query.d.ts +1 -1
- package/out/zero.js +24 -16033
- package/out/zero.js.map +4 -4
- package/out/zql/src/zql/builder/builder.d.ts.map +1 -1
- package/out/zql/src/zql/builder/builder.js +49 -8
- package/out/zql/src/zql/builder/builder.js.map +1 -1
- package/out/zql/src/zql/builder/filter.d.ts +2 -2
- package/out/zql/src/zql/builder/filter.d.ts.map +1 -1
- package/out/zql/src/zql/builder/filter.js.map +1 -1
- package/out/zql/src/zql/builder/like.js +1 -1
- package/out/zql/src/zql/builder/like.js.map +1 -1
- package/out/zql/src/zql/ivm/fan-in.d.ts +31 -0
- package/out/zql/src/zql/ivm/fan-in.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/fan-in.js +61 -0
- package/out/zql/src/zql/ivm/fan-in.js.map +1 -0
- package/out/zql/src/zql/ivm/fan-out.d.ts +19 -0
- package/out/zql/src/zql/ivm/fan-out.d.ts.map +1 -0
- package/out/zql/src/zql/ivm/fan-out.js +54 -0
- package/out/zql/src/zql/ivm/fan-out.js.map +1 -0
- package/out/zql/src/zql/ivm/filter.d.ts +1 -2
- package/out/zql/src/zql/ivm/filter.d.ts.map +1 -1
- package/out/zql/src/zql/ivm/filter.js +8 -5
- package/out/zql/src/zql/ivm/filter.js.map +1 -1
- package/out/zql/src/zql/ivm/memory-source.d.ts +22 -4
- package/out/zql/src/zql/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/zql/ivm/memory-source.js +48 -1
- package/out/zql/src/zql/ivm/memory-source.js.map +1 -1
- package/out/zql/src/zql/ivm/schema.d.ts +1 -1
- package/out/zql/src/zql/ivm/schema.d.ts.map +1 -1
- package/out/zql/src/zql/ivm/source.d.ts +1 -1
- package/out/zql/src/zql/ivm/source.d.ts.map +1 -1
- package/out/zql/src/zql/ivm/take.d.ts.map +1 -1
- package/out/zql/src/zql/ivm/take.js.map +1 -1
- package/out/zql/src/zql/query/expression.d.ts +25 -0
- package/out/zql/src/zql/query/expression.d.ts.map +1 -0
- package/out/zql/src/zql/query/expression.js +115 -0
- package/out/zql/src/zql/query/expression.js.map +1 -0
- package/out/zql/src/zql/query/query-impl.d.ts +7 -3
- package/out/zql/src/zql/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/zql/query/query-impl.js +19 -16
- package/out/zql/src/zql/query/query-impl.js.map +1 -1
- package/out/zql/src/zql/query/query-internal.d.ts +1 -1
- package/out/zql/src/zql/query/query.d.ts +15 -4
- package/out/zql/src/zql/query/query.d.ts.map +1 -1
- package/out/zqlite/src/db.d.ts +1 -1
- package/out/zqlite/src/db.js +1 -1
- package/out/zqlite/src/table-source.d.ts +2 -2
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +48 -26
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +5 -5
- package/out/chunk-NKGIR6IA.js +0 -1
- package/out/zero/src/internal.d.ts +0 -2
- package/out/zero/src/internal.d.ts.map +0 -1
- /package/out/{chunk-NKGIR6IA.js.map → chunk-ULOTOBTC.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,OAAO,EAAY,KAAK,GAAG,EAAC,MAAM,WAAW,CAAC;AAE9C,eAAO,MAAM,cAAc,gBAAa,CAAC;AAMzC,eAAO,MAAM,cAAc,wDAAyC,CAAC;AAErE,eAAO,MAAM,eAAe,8EAK3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,0CAA2C,CAAC;AAE1E,eAAO,MAAM,cAAc,qEAK1B,CAAC;AAEF,eAAO,MAAM,aAAa,yFAKzB,CAAC;AAEF,eAAO,MAAM,WAAW,+CAAgD,CAAC;AAEzE,eAAO,MAAM,oBAAoB,sQAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;aAehC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;yDAI3B,CAAC;AAkBF,eAAO,MAAM,oCAAoC;;;;;;;cAO/C,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAG5D,CAAC;AAEL,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;aAcpB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,QAAQ,GAAG,SAAS,SAAS,EAAE,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAClE,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IASvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IASpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IAOvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,cAAc,CAAC;IAEnB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AACxC,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAC;IAMf,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAkCpD"}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
import { compareUTF8 } from 'compare-utf8';
|
|
9
9
|
import { must } from '../../shared/src/must.js';
|
|
10
10
|
import * as v from '../../shared/src/valita.js';
|
|
11
|
+
import { defined } from '../../shared/src/arrays.js';
|
|
12
|
+
import { rowSchema } from './data.js';
|
|
11
13
|
export const selectorSchema = v.string();
|
|
12
14
|
const orderingElementSchema = v.readonly(v.tuple([selectorSchema, v.union(v.literal('asc'), v.literal('desc'))]));
|
|
13
15
|
export const orderingSchema = v.readonlyArray(orderingElementSchema);
|
|
@@ -27,14 +29,22 @@ export const simpleConditionSchema = v.object({
|
|
|
27
29
|
field: v.string(),
|
|
28
30
|
})),
|
|
29
31
|
});
|
|
30
|
-
export const conditionSchema = simpleConditionSchema;
|
|
32
|
+
export const conditionSchema = v.union(simpleConditionSchema, v.lazy(() => conjunctionSchema), v.lazy(() => disjunctionSchema));
|
|
33
|
+
const conjunctionSchema = v.readonlyObject({
|
|
34
|
+
type: v.literal('and'),
|
|
35
|
+
conditions: v.readonlyArray(conditionSchema),
|
|
36
|
+
});
|
|
37
|
+
const disjunctionSchema = v.readonlyObject({
|
|
38
|
+
type: v.literal('or'),
|
|
39
|
+
conditions: v.readonlyArray(conditionSchema),
|
|
40
|
+
});
|
|
31
41
|
// Split out so that its inferred type can be checked against
|
|
32
42
|
// Omit<CorrelatedSubQuery, 'correlation'> in ast-type-test.ts.
|
|
33
43
|
// The mutually-recursive reference of the 'other' field to astSchema
|
|
34
44
|
// is the only thing added in v.lazy. The v.lazy is necessary due to the
|
|
35
45
|
// mutually-recursive types, but v.lazy prevents inference of the resulting
|
|
36
46
|
// type.
|
|
37
|
-
export const correlatedSubquerySchemaOmitSubquery = v.
|
|
47
|
+
export const correlatedSubquerySchemaOmitSubquery = v.readonlyObject({
|
|
38
48
|
correlation: v.object({
|
|
39
49
|
parentField: v.string(),
|
|
40
50
|
childField: v.string(),
|
|
@@ -49,13 +59,13 @@ export const astSchema = v.object({
|
|
|
49
59
|
schema: v.string().optional(),
|
|
50
60
|
table: v.string(),
|
|
51
61
|
alias: v.string().optional(),
|
|
52
|
-
where:
|
|
62
|
+
where: conditionSchema.optional(),
|
|
53
63
|
related: v.readonlyArray(correlatedSubquerySchema).optional(),
|
|
54
64
|
limit: v.number().optional(),
|
|
55
65
|
orderBy: orderingSchema.optional(),
|
|
56
66
|
start: v
|
|
57
67
|
.object({
|
|
58
|
-
row:
|
|
68
|
+
row: rowSchema,
|
|
59
69
|
exclusive: v.boolean(),
|
|
60
70
|
})
|
|
61
71
|
.optional(),
|
|
@@ -66,11 +76,12 @@ export function normalizeAST(ast) {
|
|
|
66
76
|
if (cached) {
|
|
67
77
|
return cached;
|
|
68
78
|
}
|
|
79
|
+
const where = flattened(ast.where);
|
|
69
80
|
const normalized = {
|
|
70
81
|
schema: ast.schema,
|
|
71
82
|
table: ast.table,
|
|
72
83
|
alias: ast.alias,
|
|
73
|
-
where:
|
|
84
|
+
where: where ? sortedWhere(where) : undefined,
|
|
74
85
|
related: ast.related
|
|
75
86
|
? sortedRelated(ast.related.map(r => ({
|
|
76
87
|
correlation: {
|
|
@@ -90,22 +101,79 @@ export function normalizeAST(ast) {
|
|
|
90
101
|
return normalized;
|
|
91
102
|
}
|
|
92
103
|
function sortedWhere(where) {
|
|
93
|
-
|
|
104
|
+
if (where.type === 'simple') {
|
|
105
|
+
return where;
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
type: where.type,
|
|
109
|
+
conditions: where.conditions.map(w => sortedWhere(w)).sort(cmpCondition),
|
|
110
|
+
};
|
|
94
111
|
}
|
|
95
112
|
function sortedRelated(related) {
|
|
96
113
|
return related.sort(cmpRelated);
|
|
97
114
|
}
|
|
98
115
|
function cmpCondition(a, b) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
116
|
+
if (a.type === 'simple') {
|
|
117
|
+
if (b.type !== 'simple') {
|
|
118
|
+
return -1; // Order SimpleConditions first to simplify logic for invalidation filtering.
|
|
119
|
+
}
|
|
120
|
+
return (compareUTF8MaybeNull(a.field, b.field) ||
|
|
121
|
+
compareUTF8MaybeNull(a.op, b.op) ||
|
|
122
|
+
// Comparing the same field with the same op more than once doesn't make logical
|
|
123
|
+
// sense, but is technically possible. Assume the values are of the same type and
|
|
124
|
+
// sort by their String forms.
|
|
125
|
+
compareUTF8MaybeNull(String(a.value), String(b.value)));
|
|
126
|
+
}
|
|
127
|
+
if (b.type === 'simple') {
|
|
128
|
+
return 1; // Order SimpleConditions first to simplify logic for invalidation filtering.
|
|
129
|
+
}
|
|
130
|
+
const val = compareUTF8MaybeNull(a.type, b.type);
|
|
131
|
+
if (val !== 0) {
|
|
132
|
+
return val;
|
|
133
|
+
}
|
|
134
|
+
for (let l = 0, r = 0; l < a.conditions.length && r < b.conditions.length; l++, r++) {
|
|
135
|
+
const val = cmpCondition(a.conditions[l], b.conditions[r]);
|
|
136
|
+
if (val !== 0) {
|
|
137
|
+
return val;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// prefixes first
|
|
141
|
+
return a.conditions.length - b.conditions.length;
|
|
105
142
|
}
|
|
106
143
|
function cmpRelated(a, b) {
|
|
107
144
|
return compareUTF8(must(a.subquery.alias), must(b.subquery.alias));
|
|
108
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Returns a flattened version of the Conditions in which nested Conjunctions with
|
|
148
|
+
* the same operation ('AND' or 'OR') are flattened to the same level. e.g.
|
|
149
|
+
*
|
|
150
|
+
* ```
|
|
151
|
+
* ((a AND b) AND (c AND (d OR (e OR f)))) -> (a AND b AND c AND (d OR e OR f))
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
* Also flattens singleton Conjunctions regardless of operator, and removes
|
|
155
|
+
* empty Conjunctions.
|
|
156
|
+
*/
|
|
157
|
+
function flattened(cond) {
|
|
158
|
+
if (cond === undefined) {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
if (cond.type === 'simple') {
|
|
162
|
+
return cond;
|
|
163
|
+
}
|
|
164
|
+
const conditions = defined(cond.conditions.flatMap(c => c.type === cond.type ? c.conditions.map(c => flattened(c)) : flattened(c)));
|
|
165
|
+
switch (conditions.length) {
|
|
166
|
+
case 0:
|
|
167
|
+
return undefined;
|
|
168
|
+
case 1:
|
|
169
|
+
return conditions[0];
|
|
170
|
+
default:
|
|
171
|
+
return {
|
|
172
|
+
type: cond.type,
|
|
173
|
+
conditions,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
109
177
|
function compareUTF8MaybeNull(a, b) {
|
|
110
178
|
if (a !== null && b !== null) {
|
|
111
179
|
return compareUTF8(a, b);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ declare const changeDesiredQueriesBodySchema: v.ObjectType<{
|
|
|
7
7
|
schema: v.Optional<string>;
|
|
8
8
|
table: v.Type<string>;
|
|
9
9
|
alias: v.Optional<string>;
|
|
10
|
-
where: v.Optional<
|
|
10
|
+
where: v.Optional<{
|
|
11
11
|
type: "simple";
|
|
12
12
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
13
13
|
field: string;
|
|
@@ -16,12 +16,12 @@ declare const changeDesiredQueriesBodySchema: v.ObjectType<{
|
|
|
16
16
|
anchor: "authData" | "preMutationRow";
|
|
17
17
|
field: string;
|
|
18
18
|
};
|
|
19
|
-
}
|
|
19
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction>;
|
|
20
20
|
related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
|
|
21
21
|
limit: v.Optional<number>;
|
|
22
22
|
orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
|
|
23
23
|
start: v.Optional<{
|
|
24
|
-
row: Record<string,
|
|
24
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
25
25
|
exclusive: boolean;
|
|
26
26
|
}>;
|
|
27
27
|
}, undefined>;
|
|
@@ -40,7 +40,7 @@ export declare const changeDesiredQueriesMessageSchema: v.TupleType<[v.Type<"cha
|
|
|
40
40
|
schema: v.Optional<string>;
|
|
41
41
|
table: v.Type<string>;
|
|
42
42
|
alias: v.Optional<string>;
|
|
43
|
-
where: v.Optional<
|
|
43
|
+
where: v.Optional<{
|
|
44
44
|
type: "simple";
|
|
45
45
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
46
46
|
field: string;
|
|
@@ -49,12 +49,12 @@ export declare const changeDesiredQueriesMessageSchema: v.TupleType<[v.Type<"cha
|
|
|
49
49
|
anchor: "authData" | "preMutationRow";
|
|
50
50
|
field: string;
|
|
51
51
|
};
|
|
52
|
-
}
|
|
52
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction>;
|
|
53
53
|
related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
|
|
54
54
|
limit: v.Optional<number>;
|
|
55
55
|
orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
|
|
56
56
|
start: v.Optional<{
|
|
57
|
-
row: Record<string,
|
|
57
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
58
58
|
exclusive: boolean;
|
|
59
59
|
}>;
|
|
60
60
|
}, undefined>;
|
|
@@ -22,7 +22,7 @@ declare const initConnectionBodySchema: v.ObjectType<{
|
|
|
22
22
|
schema: v.Optional<string>;
|
|
23
23
|
table: v.Type<string>;
|
|
24
24
|
alias: v.Optional<string>;
|
|
25
|
-
where: v.Optional<
|
|
25
|
+
where: v.Optional<{
|
|
26
26
|
type: "simple";
|
|
27
27
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
28
28
|
field: string;
|
|
@@ -31,12 +31,12 @@ declare const initConnectionBodySchema: v.ObjectType<{
|
|
|
31
31
|
anchor: "authData" | "preMutationRow";
|
|
32
32
|
field: string;
|
|
33
33
|
};
|
|
34
|
-
}
|
|
34
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction>;
|
|
35
35
|
related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
|
|
36
36
|
limit: v.Optional<number>;
|
|
37
37
|
orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
|
|
38
38
|
start: v.Optional<{
|
|
39
|
-
row: Record<string,
|
|
39
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
40
40
|
exclusive: boolean;
|
|
41
41
|
}>;
|
|
42
42
|
}, undefined>;
|
|
@@ -55,7 +55,7 @@ export declare const initConnectionMessageSchema: v.TupleType<[v.Type<"initConne
|
|
|
55
55
|
schema: v.Optional<string>;
|
|
56
56
|
table: v.Type<string>;
|
|
57
57
|
alias: v.Optional<string>;
|
|
58
|
-
where: v.Optional<
|
|
58
|
+
where: v.Optional<{
|
|
59
59
|
type: "simple";
|
|
60
60
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
61
61
|
field: string;
|
|
@@ -64,12 +64,12 @@ export declare const initConnectionMessageSchema: v.TupleType<[v.Type<"initConne
|
|
|
64
64
|
anchor: "authData" | "preMutationRow";
|
|
65
65
|
field: string;
|
|
66
66
|
};
|
|
67
|
-
}
|
|
67
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction>;
|
|
68
68
|
related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
|
|
69
69
|
limit: v.Optional<number>;
|
|
70
70
|
orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
|
|
71
71
|
start: v.Optional<{
|
|
72
|
-
row: Record<string,
|
|
72
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
73
73
|
exclusive: boolean;
|
|
74
74
|
}>;
|
|
75
75
|
}, undefined>;
|
|
@@ -84,12 +84,10 @@ export type ConnectedBody = v.Infer<typeof connectedBodySchema>;
|
|
|
84
84
|
export type ConnectedMessage = v.Infer<typeof connectedMessageSchema>;
|
|
85
85
|
export type InitConnectionBody = v.Infer<typeof initConnectionBodySchema>;
|
|
86
86
|
export type InitConnectionMessage = v.Infer<typeof initConnectionMessageSchema>;
|
|
87
|
-
export declare function encodeSecProtocols(initConnectionMessage: InitConnectionMessage, authToken
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
*/
|
|
93
|
-
export declare function decodeSecProtocols(secProtocol: string): [initConnectionMessage: string, maybeAuthToken: string | undefined];
|
|
87
|
+
export declare function encodeSecProtocols(initConnectionMessage: InitConnectionMessage | undefined, authToken: string | undefined): string;
|
|
88
|
+
export declare function decodeSecProtocols(secProtocol: string): {
|
|
89
|
+
initConnectionMessage: InitConnectionMessage | undefined;
|
|
90
|
+
authToken: string | undefined;
|
|
91
|
+
};
|
|
94
92
|
export {};
|
|
95
93
|
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB;;;aAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;eAGjC,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE5B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAGtC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,EACxD,SAAS,EAAE,MAAM,GAAG,SAAS,UAQ9B;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IACvD,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAEA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { assert } from '../../shared/src/asserts.js';
|
|
2
1
|
import * as v from '../../shared/src/valita.js';
|
|
3
2
|
import { queriesPatchSchema } from './queries-patch.js';
|
|
4
3
|
/**
|
|
@@ -24,23 +23,14 @@ export const initConnectionMessageSchema = v.tuple([
|
|
|
24
23
|
initConnectionBodySchema,
|
|
25
24
|
]);
|
|
26
25
|
export function encodeSecProtocols(initConnectionMessage, authToken) {
|
|
26
|
+
const protocols = {
|
|
27
|
+
initConnectionMessage,
|
|
28
|
+
authToken,
|
|
29
|
+
};
|
|
27
30
|
// base64 encoding the JSON before URI encoding it results in a smaller payload.
|
|
28
|
-
|
|
29
|
-
if (authToken !== undefined) {
|
|
30
|
-
protocols.push(authToken);
|
|
31
|
-
}
|
|
32
|
-
return encodeURIComponent(protocols.join(','));
|
|
31
|
+
return encodeURIComponent(btoa(JSON.stringify(protocols)));
|
|
33
32
|
}
|
|
34
|
-
/**
|
|
35
|
-
* The initConnectionMessage is purposely returned as a string
|
|
36
|
-
* since it is passed directly into the WebSocket message handler
|
|
37
|
-
* which does JSON.parse and Valita.parse on the message.
|
|
38
|
-
*/
|
|
39
33
|
export function decodeSecProtocols(secProtocol) {
|
|
40
|
-
|
|
41
|
-
.split(',')
|
|
42
|
-
.map((s, i) => (i === 0 ? atob(s) : s));
|
|
43
|
-
assert(ret.length === 1 || ret.length === 2);
|
|
44
|
-
return ret.length === 1 ? [ret[0], undefined] : [ret[0], ret[1]];
|
|
34
|
+
return JSON.parse(atob(decodeURIComponent(secProtocol)));
|
|
45
35
|
}
|
|
46
36
|
//# sourceMappingURL=connect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,mBAAmB,EAAE,kBAAkB;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,wBAAwB;CACzB,CAAC,CAAC;AAQH,MAAM,UAAU,kBAAkB,CAChC,qBAAwD,EACxD,SAA6B;IAE7B,MAAM,SAAS,GAAG;QAChB,qBAAqB;QACrB,SAAS;KACV,CAAC;IACF,gFAAgF;IAChF,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAIpD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as v from '../../shared/src/valita.js';
|
|
2
|
-
export declare const valueSchema: v.UnionType<[v.Type<
|
|
3
|
-
export declare const rowSchema: v.Type<Record<string,
|
|
2
|
+
export declare const valueSchema: v.UnionType<[v.Type<import("../../shared/src/json.js").ReadonlyJSONValue>, v.Type<undefined>]>;
|
|
3
|
+
export declare const rowSchema: v.Type<Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>>;
|
|
4
4
|
/**
|
|
5
5
|
* The data types that Zero can represent are limited by two things:
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,eAAO,MAAM,WAAW,gGAAqC,CAAC;AAE9D,eAAO,MAAM,SAAS,0FAAwB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { jsonSchema } from '../../shared/src/json-schema.js';
|
|
1
2
|
import * as v from '../../shared/src/valita.js';
|
|
2
|
-
export const valueSchema = v.union(
|
|
3
|
+
export const valueSchema = v.union(jsonSchema, v.undefined());
|
|
3
4
|
export const rowSchema = v.record(valueSchema);
|
|
4
5
|
//# sourceMappingURL=data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../zero-protocol/src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../zero-protocol/src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -31,7 +31,7 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
31
31
|
ast: {
|
|
32
32
|
schema?: string | undefined;
|
|
33
33
|
alias?: string | undefined;
|
|
34
|
-
where?:
|
|
34
|
+
where?: {
|
|
35
35
|
type: "simple";
|
|
36
36
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
37
37
|
field: string;
|
|
@@ -40,12 +40,12 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
40
40
|
anchor: "authData" | "preMutationRow";
|
|
41
41
|
field: string;
|
|
42
42
|
};
|
|
43
|
-
}
|
|
43
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction | undefined;
|
|
44
44
|
related?: readonly import("./ast.js").CorrelatedSubQuery[] | undefined;
|
|
45
45
|
limit?: number | undefined;
|
|
46
46
|
orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
|
|
47
47
|
start?: {
|
|
48
|
-
row: Record<string,
|
|
48
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
49
49
|
exclusive: boolean;
|
|
50
50
|
} | undefined;
|
|
51
51
|
table: string;
|
|
@@ -62,7 +62,7 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
62
62
|
ast: {
|
|
63
63
|
schema?: string | undefined;
|
|
64
64
|
alias?: string | undefined;
|
|
65
|
-
where?:
|
|
65
|
+
where?: {
|
|
66
66
|
type: "simple";
|
|
67
67
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
68
68
|
field: string;
|
|
@@ -71,12 +71,12 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
71
71
|
anchor: "authData" | "preMutationRow";
|
|
72
72
|
field: string;
|
|
73
73
|
};
|
|
74
|
-
}
|
|
74
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction | undefined;
|
|
75
75
|
related?: readonly import("./ast.js").CorrelatedSubQuery[] | undefined;
|
|
76
76
|
limit?: number | undefined;
|
|
77
77
|
orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
|
|
78
78
|
start?: {
|
|
79
|
-
row: Record<string,
|
|
79
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
80
80
|
exclusive: boolean;
|
|
81
81
|
} | undefined;
|
|
82
82
|
table: string;
|
|
@@ -90,7 +90,7 @@ export declare const downstreamSchema: v.UnionType<[v.TupleType<[v.Type<"connect
|
|
|
90
90
|
rowsPatch: v.Optional<({
|
|
91
91
|
op: "put";
|
|
92
92
|
tableName: string;
|
|
93
|
-
value: Record<string,
|
|
93
|
+
value: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
94
94
|
} | {
|
|
95
95
|
merge?: import("../../shared/src/json.js").ReadonlyJSONObject | undefined;
|
|
96
96
|
constrain?: string[] | undefined;
|
|
@@ -51,7 +51,7 @@ export declare const pokePartBodySchema: v.ObjectType<{
|
|
|
51
51
|
ast: {
|
|
52
52
|
schema?: string | undefined;
|
|
53
53
|
alias?: string | undefined;
|
|
54
|
-
where?:
|
|
54
|
+
where?: {
|
|
55
55
|
type: "simple";
|
|
56
56
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
57
57
|
field: string;
|
|
@@ -60,12 +60,12 @@ export declare const pokePartBodySchema: v.ObjectType<{
|
|
|
60
60
|
anchor: "authData" | "preMutationRow";
|
|
61
61
|
field: string;
|
|
62
62
|
};
|
|
63
|
-
}
|
|
63
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction | undefined;
|
|
64
64
|
related?: readonly import("./ast.js").CorrelatedSubQuery[] | undefined;
|
|
65
65
|
limit?: number | undefined;
|
|
66
66
|
orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
|
|
67
67
|
start?: {
|
|
68
|
-
row: Record<string,
|
|
68
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
69
69
|
exclusive: boolean;
|
|
70
70
|
} | undefined;
|
|
71
71
|
table: string;
|
|
@@ -82,7 +82,7 @@ export declare const pokePartBodySchema: v.ObjectType<{
|
|
|
82
82
|
ast: {
|
|
83
83
|
schema?: string | undefined;
|
|
84
84
|
alias?: string | undefined;
|
|
85
|
-
where?:
|
|
85
|
+
where?: {
|
|
86
86
|
type: "simple";
|
|
87
87
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
88
88
|
field: string;
|
|
@@ -91,12 +91,12 @@ export declare const pokePartBodySchema: v.ObjectType<{
|
|
|
91
91
|
anchor: "authData" | "preMutationRow";
|
|
92
92
|
field: string;
|
|
93
93
|
};
|
|
94
|
-
}
|
|
94
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction | undefined;
|
|
95
95
|
related?: readonly import("./ast.js").CorrelatedSubQuery[] | undefined;
|
|
96
96
|
limit?: number | undefined;
|
|
97
97
|
orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
|
|
98
98
|
start?: {
|
|
99
|
-
row: Record<string,
|
|
99
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
100
100
|
exclusive: boolean;
|
|
101
101
|
} | undefined;
|
|
102
102
|
table: string;
|
|
@@ -110,7 +110,7 @@ export declare const pokePartBodySchema: v.ObjectType<{
|
|
|
110
110
|
rowsPatch: v.Optional<({
|
|
111
111
|
op: "put";
|
|
112
112
|
tableName: string;
|
|
113
|
-
value: Record<string,
|
|
113
|
+
value: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
114
114
|
} | {
|
|
115
115
|
merge?: import("../../shared/src/json.js").ReadonlyJSONObject | undefined;
|
|
116
116
|
constrain?: string[] | undefined;
|
|
@@ -157,7 +157,7 @@ export declare const pokePartMessageSchema: v.TupleType<[v.Type<"pokePart">, v.O
|
|
|
157
157
|
ast: {
|
|
158
158
|
schema?: string | undefined;
|
|
159
159
|
alias?: string | undefined;
|
|
160
|
-
where?:
|
|
160
|
+
where?: {
|
|
161
161
|
type: "simple";
|
|
162
162
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
163
163
|
field: string;
|
|
@@ -166,12 +166,12 @@ export declare const pokePartMessageSchema: v.TupleType<[v.Type<"pokePart">, v.O
|
|
|
166
166
|
anchor: "authData" | "preMutationRow";
|
|
167
167
|
field: string;
|
|
168
168
|
};
|
|
169
|
-
}
|
|
169
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction | undefined;
|
|
170
170
|
related?: readonly import("./ast.js").CorrelatedSubQuery[] | undefined;
|
|
171
171
|
limit?: number | undefined;
|
|
172
172
|
orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
|
|
173
173
|
start?: {
|
|
174
|
-
row: Record<string,
|
|
174
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
175
175
|
exclusive: boolean;
|
|
176
176
|
} | undefined;
|
|
177
177
|
table: string;
|
|
@@ -188,7 +188,7 @@ export declare const pokePartMessageSchema: v.TupleType<[v.Type<"pokePart">, v.O
|
|
|
188
188
|
ast: {
|
|
189
189
|
schema?: string | undefined;
|
|
190
190
|
alias?: string | undefined;
|
|
191
|
-
where?:
|
|
191
|
+
where?: {
|
|
192
192
|
type: "simple";
|
|
193
193
|
op: "=" | "!=" | "<" | ">" | "<=" | ">=" | "LIKE" | "NOT LIKE" | "ILIKE" | "NOT ILIKE" | "IN" | "NOT IN";
|
|
194
194
|
field: string;
|
|
@@ -197,12 +197,12 @@ export declare const pokePartMessageSchema: v.TupleType<[v.Type<"pokePart">, v.O
|
|
|
197
197
|
anchor: "authData" | "preMutationRow";
|
|
198
198
|
field: string;
|
|
199
199
|
};
|
|
200
|
-
}
|
|
200
|
+
} | import("./ast.js").Conjunction | import("./ast.js").Disjunction | undefined;
|
|
201
201
|
related?: readonly import("./ast.js").CorrelatedSubQuery[] | undefined;
|
|
202
202
|
limit?: number | undefined;
|
|
203
203
|
orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
|
|
204
204
|
start?: {
|
|
205
|
-
row: Record<string,
|
|
205
|
+
row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
206
206
|
exclusive: boolean;
|
|
207
207
|
} | undefined;
|
|
208
208
|
table: string;
|
|
@@ -216,7 +216,7 @@ export declare const pokePartMessageSchema: v.TupleType<[v.Type<"pokePart">, v.O
|
|
|
216
216
|
rowsPatch: v.Optional<({
|
|
217
217
|
op: "put";
|
|
218
218
|
tableName: string;
|
|
219
|
-
value: Record<string,
|
|
219
|
+
value: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
|
|
220
220
|
} | {
|
|
221
221
|
merge?: import("../../shared/src/json.js").ReadonlyJSONObject | undefined;
|
|
222
222
|
constrain?: string[] | undefined;
|