@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.
Files changed (181) hide show
  1. package/out/chunk-TBA526RR.js +16475 -0
  2. package/out/chunk-TBA526RR.js.map +7 -0
  3. package/out/chunk-ULOTOBTC.js +1 -0
  4. package/out/internal.js +1 -1
  5. package/out/react.js.map +2 -2
  6. package/out/shared/src/arrays.d.ts +6 -0
  7. package/out/shared/src/arrays.d.ts.map +1 -0
  8. package/out/shared/src/arrays.js +20 -0
  9. package/out/shared/src/arrays.js.map +1 -0
  10. package/out/shared/src/iterables.d.ts +1 -0
  11. package/out/shared/src/iterables.d.ts.map +1 -1
  12. package/out/shared/src/iterables.js +33 -0
  13. package/out/shared/src/iterables.js.map +1 -1
  14. package/out/solid.js +16 -1
  15. package/out/solid.js.map +3 -3
  16. package/out/zero/src/advanced.d.ts +2 -0
  17. package/out/zero/src/advanced.d.ts.map +1 -0
  18. package/out/{zero-internal → zero-advanced}/src/mod.d.ts +2 -1
  19. package/out/{zero-internal → zero-advanced}/src/mod.d.ts.map +1 -1
  20. package/out/zero-cache/src/config/config-query.d.ts +1 -0
  21. package/out/zero-cache/src/config/config-query.d.ts.map +1 -1
  22. package/out/zero-cache/src/config/config-query.js +3 -0
  23. package/out/zero-cache/src/config/config-query.js.map +1 -1
  24. package/out/zero-cache/src/config/zero-config.d.ts +114 -114
  25. package/out/zero-cache/src/db/statements.d.ts +1 -1
  26. package/out/zero-cache/src/server/life-cycle.d.ts +19 -4
  27. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  28. package/out/zero-cache/src/server/life-cycle.js +105 -54
  29. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  30. package/out/zero-cache/src/server/logging.js +2 -2
  31. package/out/zero-cache/src/server/logging.js.map +1 -1
  32. package/out/zero-cache/src/server/main.js +9 -9
  33. package/out/zero-cache/src/server/main.js.map +1 -1
  34. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +3 -9
  35. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  36. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +12 -32
  37. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  38. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  39. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +4 -4
  40. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  41. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  42. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +2 -1
  43. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  44. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
  45. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +4 -3
  46. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
  47. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +2 -1
  48. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
  49. package/out/zero-cache/src/services/dispatcher/connect-params.js +4 -4
  50. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
  51. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +3 -8
  52. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  53. package/out/zero-cache/src/services/dispatcher/dispatcher.js +8 -24
  54. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  55. package/out/zero-cache/src/services/http-service.d.ts +16 -0
  56. package/out/zero-cache/src/services/http-service.d.ts.map +1 -0
  57. package/out/zero-cache/src/services/http-service.js +39 -0
  58. package/out/zero-cache/src/services/http-service.js.map +1 -0
  59. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  60. package/out/zero-cache/src/services/replicator/incremental-sync.js +2 -2
  61. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  62. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  63. package/out/zero-cache/src/services/view-syncer/cvr.js +6 -8
  64. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  65. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +6 -0
  67. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  68. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +15 -15
  69. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/view-syncer/snapshotter.js +6 -6
  71. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  72. package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -2
  73. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  74. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  75. package/out/zero-cache/src/types/lite.js +5 -0
  76. package/out/zero-cache/src/types/lite.js.map +1 -1
  77. package/out/zero-cache/src/types/processes.d.ts +1 -0
  78. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  79. package/out/zero-cache/src/types/processes.js +3 -2
  80. package/out/zero-cache/src/types/processes.js.map +1 -1
  81. package/out/zero-cache/src/workers/replicator.d.ts +2 -2
  82. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  83. package/out/zero-cache/src/workers/replicator.js +5 -1
  84. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  85. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  86. package/out/zero-cache/src/workers/syncer.js +3 -1
  87. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  88. package/out/zero-client/src/client/context.d.ts +2 -1
  89. package/out/zero-client/src/client/context.d.ts.map +1 -1
  90. package/out/zero-client/src/client/context.js +53 -39
  91. package/out/zero-client/src/client/context.js.map +1 -1
  92. package/out/zero-client/src/client/options.d.ts +37 -0
  93. package/out/zero-client/src/client/options.d.ts.map +1 -1
  94. package/out/zero-client/src/client/zero.d.ts +1 -1
  95. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  96. package/out/zero-client/src/client/zero.js +28 -10
  97. package/out/zero-client/src/client/zero.js.map +1 -1
  98. package/out/zero-client/src/mod.d.ts +1 -0
  99. package/out/zero-client/src/mod.d.ts.map +1 -1
  100. package/out/zero-client/src/mod.js +1 -0
  101. package/out/zero-client/src/mod.js.map +1 -1
  102. package/out/zero-protocol/src/ast.d.ts +18 -10
  103. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  104. package/out/zero-protocol/src/ast.js +80 -12
  105. package/out/zero-protocol/src/ast.js.map +1 -1
  106. package/out/zero-protocol/src/change-desired-queries.d.ts +6 -6
  107. package/out/zero-protocol/src/connect.d.ts +11 -13
  108. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  109. package/out/zero-protocol/src/connect.js +6 -16
  110. package/out/zero-protocol/src/connect.js.map +1 -1
  111. package/out/zero-protocol/src/data.d.ts +2 -2
  112. package/out/zero-protocol/src/data.d.ts.map +1 -1
  113. package/out/zero-protocol/src/data.js +2 -1
  114. package/out/zero-protocol/src/data.js.map +1 -1
  115. package/out/zero-protocol/src/down.d.ts +7 -7
  116. package/out/zero-protocol/src/poke.d.ts +14 -14
  117. package/out/zero-protocol/src/push.d.ts +21 -21
  118. package/out/zero-protocol/src/queries-patch.d.ts +9 -9
  119. package/out/zero-protocol/src/row-patch.d.ts +2 -2
  120. package/out/zero-protocol/src/up.d.ts +9 -9
  121. package/out/zero-react/src/use-query.d.ts.map +1 -1
  122. package/out/zero-solid/src/create-zero.d.ts +3 -0
  123. package/out/zero-solid/src/create-zero.d.ts.map +1 -0
  124. package/out/zero-solid/src/mod.d.ts +1 -0
  125. package/out/zero-solid/src/mod.d.ts.map +1 -1
  126. package/out/zero-solid/src/solid-view.d.ts +1 -1
  127. package/out/zero-solid/src/use-query.d.ts +1 -1
  128. package/out/zero.js +24 -16033
  129. package/out/zero.js.map +4 -4
  130. package/out/zql/src/zql/builder/builder.d.ts.map +1 -1
  131. package/out/zql/src/zql/builder/builder.js +49 -8
  132. package/out/zql/src/zql/builder/builder.js.map +1 -1
  133. package/out/zql/src/zql/builder/filter.d.ts +2 -2
  134. package/out/zql/src/zql/builder/filter.d.ts.map +1 -1
  135. package/out/zql/src/zql/builder/filter.js.map +1 -1
  136. package/out/zql/src/zql/builder/like.js +1 -1
  137. package/out/zql/src/zql/builder/like.js.map +1 -1
  138. package/out/zql/src/zql/ivm/fan-in.d.ts +31 -0
  139. package/out/zql/src/zql/ivm/fan-in.d.ts.map +1 -0
  140. package/out/zql/src/zql/ivm/fan-in.js +61 -0
  141. package/out/zql/src/zql/ivm/fan-in.js.map +1 -0
  142. package/out/zql/src/zql/ivm/fan-out.d.ts +19 -0
  143. package/out/zql/src/zql/ivm/fan-out.d.ts.map +1 -0
  144. package/out/zql/src/zql/ivm/fan-out.js +54 -0
  145. package/out/zql/src/zql/ivm/fan-out.js.map +1 -0
  146. package/out/zql/src/zql/ivm/filter.d.ts +1 -2
  147. package/out/zql/src/zql/ivm/filter.d.ts.map +1 -1
  148. package/out/zql/src/zql/ivm/filter.js +8 -5
  149. package/out/zql/src/zql/ivm/filter.js.map +1 -1
  150. package/out/zql/src/zql/ivm/memory-source.d.ts +22 -4
  151. package/out/zql/src/zql/ivm/memory-source.d.ts.map +1 -1
  152. package/out/zql/src/zql/ivm/memory-source.js +48 -1
  153. package/out/zql/src/zql/ivm/memory-source.js.map +1 -1
  154. package/out/zql/src/zql/ivm/schema.d.ts +1 -1
  155. package/out/zql/src/zql/ivm/schema.d.ts.map +1 -1
  156. package/out/zql/src/zql/ivm/source.d.ts +1 -1
  157. package/out/zql/src/zql/ivm/source.d.ts.map +1 -1
  158. package/out/zql/src/zql/ivm/take.d.ts.map +1 -1
  159. package/out/zql/src/zql/ivm/take.js.map +1 -1
  160. package/out/zql/src/zql/query/expression.d.ts +25 -0
  161. package/out/zql/src/zql/query/expression.d.ts.map +1 -0
  162. package/out/zql/src/zql/query/expression.js +115 -0
  163. package/out/zql/src/zql/query/expression.js.map +1 -0
  164. package/out/zql/src/zql/query/query-impl.d.ts +7 -3
  165. package/out/zql/src/zql/query/query-impl.d.ts.map +1 -1
  166. package/out/zql/src/zql/query/query-impl.js +19 -16
  167. package/out/zql/src/zql/query/query-impl.js.map +1 -1
  168. package/out/zql/src/zql/query/query-internal.d.ts +1 -1
  169. package/out/zql/src/zql/query/query.d.ts +15 -4
  170. package/out/zql/src/zql/query/query.d.ts.map +1 -1
  171. package/out/zqlite/src/db.d.ts +1 -1
  172. package/out/zqlite/src/db.js +1 -1
  173. package/out/zqlite/src/table-source.d.ts +2 -2
  174. package/out/zqlite/src/table-source.d.ts.map +1 -1
  175. package/out/zqlite/src/table-source.js +48 -26
  176. package/out/zqlite/src/table-source.js.map +1 -1
  177. package/package.json +5 -5
  178. package/out/chunk-NKGIR6IA.js +0 -1
  179. package/out/zero/src/internal.d.ts +0 -2
  180. package/out/zero/src/internal.d.ts.map +0 -1
  181. /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":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
@@ -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.object({
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: v.readonlyArray(conditionSchema).optional(),
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: v.record(v.union(v.string(), v.number(), v.boolean(), v.null(), v.undefined())),
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: ast.where ? sortedWhere(ast.where) : undefined,
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
- return [...where].sort(cmpCondition);
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
- return (compareUTF8MaybeNull(a.field, b.field) ||
100
- compareUTF8MaybeNull(a.op, b.op) ||
101
- // Comparing the same field with the same op more than once doesn't make logical
102
- // sense, but is technically possible. Assume the values are of the same type and
103
- // sort by their String forms.
104
- compareUTF8MaybeNull(String(a.value), String(b.value)));
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":"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"}
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<readonly {
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, string | number | boolean | null | undefined>;
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<readonly {
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, string | number | boolean | null | undefined>;
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<readonly {
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, string | number | boolean | null | undefined>;
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<readonly {
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, string | number | boolean | null | undefined>;
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?: string | undefined): string;
88
- /**
89
- * The initConnectionMessage is purposely returned as a string
90
- * since it is passed directly into the WebSocket message handler
91
- * which does JSON.parse and Valita.parse on the message.
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":"AACA,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,EAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,UAQ/B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAClB,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,CAOrE"}
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
- const protocols = [btoa(JSON.stringify(initConnectionMessage))];
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
- const ret = decodeURIComponent(secProtocol)
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,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,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,qBAA4C,EAC5C,SAA8B;IAE9B,gFAAgF;IAChF,MAAM,SAAS,GAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB;IAEnB,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC;SACxC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
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<null>, v.Type<boolean>, v.Type<number>, v.Type<string>, v.Type<undefined>]>;
3
- export declare const rowSchema: v.Type<Record<string, string | number | boolean | null | undefined>>;
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":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,eAAO,MAAM,WAAW,iGAMvB,CAAC;AAEF,eAAO,MAAM,SAAS,sEAAwB,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
+ {"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(v.null(), v.boolean(), v.number(), v.string(), v.undefined());
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,CAChC,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,EAAE,CACd,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC"}
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?: readonly {
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
- }[] | undefined;
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, string | number | boolean | null | undefined>;
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?: readonly {
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
- }[] | undefined;
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, string | number | boolean | null | undefined>;
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, string | number | boolean | null | undefined>;
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?: readonly {
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
- }[] | undefined;
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, string | number | boolean | null | undefined>;
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?: readonly {
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
- }[] | undefined;
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, string | number | boolean | null | undefined>;
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, string | number | boolean | null | undefined>;
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?: readonly {
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
- }[] | undefined;
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, string | number | boolean | null | undefined>;
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?: readonly {
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
- }[] | undefined;
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, string | number | boolean | null | undefined>;
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, string | number | boolean | null | undefined>;
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;