@rocicorp/zero 0.7.2024120200 → 0.7.2024120700

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 (238) hide show
  1. package/out/advanced.js +1 -1
  2. package/out/{chunk-C7M3BJ3Z.js → chunk-6HXO6VMP.js} +13 -12
  3. package/out/chunk-6HXO6VMP.js.map +7 -0
  4. package/out/{chunk-KL66XOAW.js → chunk-PFF4AHTF.js} +331 -241
  5. package/out/{chunk-KL66XOAW.js.map → chunk-PFF4AHTF.js.map} +4 -4
  6. package/out/otel/src/noop-span-exporter.d.ts +8 -0
  7. package/out/otel/src/noop-span-exporter.d.ts.map +1 -0
  8. package/out/otel/src/noop-span-exporter.js +14 -0
  9. package/out/otel/src/noop-span-exporter.js.map +1 -0
  10. package/out/otel/src/span.d.ts +5 -0
  11. package/out/otel/src/span.d.ts.map +1 -0
  12. package/out/otel/src/span.js +30 -0
  13. package/out/otel/src/span.js.map +1 -0
  14. package/out/otel/src/version.d.ts +2 -0
  15. package/out/otel/src/version.d.ts.map +1 -0
  16. package/out/otel/src/version.js +2 -0
  17. package/out/otel/src/version.js.map +1 -0
  18. package/out/react.js +12 -6
  19. package/out/react.js.map +2 -2
  20. package/out/shared/src/asserts.d.ts +1 -1
  21. package/out/shared/src/asserts.d.ts.map +1 -1
  22. package/out/shared/src/asserts.js +2 -1
  23. package/out/shared/src/asserts.js.map +1 -1
  24. package/out/solid.js +2 -2
  25. package/out/zero-cache/src/auth/load-schema.d.ts.map +1 -1
  26. package/out/zero-cache/src/auth/load-schema.js +4 -20
  27. package/out/zero-cache/src/auth/load-schema.js.map +1 -1
  28. package/out/zero-cache/src/auth/write-authorizer.js +10 -6
  29. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  30. package/out/zero-cache/src/config/zero-config.d.ts +11 -7
  31. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  32. package/out/zero-cache/src/config/zero-config.js +11 -7
  33. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  34. package/out/zero-cache/src/server/change-streamer.d.ts +1 -1
  35. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  36. package/out/zero-cache/src/server/change-streamer.js +3 -3
  37. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  38. package/out/zero-cache/src/server/main.js +6 -11
  39. package/out/zero-cache/src/server/main.js.map +1 -1
  40. package/out/zero-cache/src/server/replicator.d.ts +1 -1
  41. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  42. package/out/zero-cache/src/server/replicator.js +3 -3
  43. package/out/zero-cache/src/server/replicator.js.map +1 -1
  44. package/out/zero-cache/src/server/syncer.d.ts +1 -1
  45. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  46. package/out/zero-cache/src/server/syncer.js +34 -5
  47. package/out/zero-cache/src/server/syncer.js.map +1 -1
  48. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  49. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +31 -21
  50. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  51. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  52. package/out/zero-cache/src/services/change-streamer/storer.js +11 -6
  53. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  54. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +2 -1
  55. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
  56. package/out/zero-cache/src/services/dispatcher/connect-params.js +3 -2
  57. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
  58. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  59. package/out/zero-cache/src/services/dispatcher/dispatcher.js +5 -5
  60. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  61. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +3 -3
  62. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  63. package/out/zero-cache/src/services/mutagen/mutagen.js +31 -22
  64. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  65. package/out/zero-cache/src/services/runner.js +1 -4
  66. package/out/zero-cache/src/services/runner.js.map +1 -1
  67. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +1 -1
  68. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  69. package/out/zero-cache/src/services/view-syncer/client-handler.js +3 -2
  70. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  71. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +2 -2
  72. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/view-syncer/cvr-store.js +45 -34
  74. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  75. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  76. package/out/zero-cache/src/services/view-syncer/cvr.js +2 -2
  77. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  78. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  79. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +16 -3
  80. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  81. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +5 -195
  82. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  83. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +5 -5
  84. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/view-syncer/view-syncer.js +384 -357
  86. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  87. package/out/zero-cache/src/types/error-for-client.d.ts +10 -3
  88. package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -1
  89. package/out/zero-cache/src/types/error-for-client.js +4 -4
  90. package/out/zero-cache/src/types/error-for-client.js.map +1 -1
  91. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  92. package/out/zero-cache/src/types/lite.js +1 -0
  93. package/out/zero-cache/src/types/lite.js.map +1 -1
  94. package/out/zero-cache/src/types/pg.d.ts +1 -1
  95. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  96. package/out/zero-cache/src/types/pg.js +33 -7
  97. package/out/zero-cache/src/types/pg.js.map +1 -1
  98. package/out/zero-cache/src/types/processes.d.ts +5 -1
  99. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  100. package/out/zero-cache/src/types/processes.js +12 -2
  101. package/out/zero-cache/src/types/processes.js.map +1 -1
  102. package/out/zero-cache/src/types/schema-versions.d.ts.map +1 -1
  103. package/out/zero-cache/src/types/schema-versions.js +4 -5
  104. package/out/zero-cache/src/types/schema-versions.js.map +1 -1
  105. package/out/zero-cache/src/workers/connection.d.ts +14 -6
  106. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  107. package/out/zero-cache/src/workers/connection.js +78 -70
  108. package/out/zero-cache/src/workers/connection.js.map +1 -1
  109. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  110. package/out/zero-cache/src/workers/syncer.js +8 -10
  111. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  112. package/out/zero-client/src/client/context.d.ts +1 -1
  113. package/out/zero-client/src/client/context.d.ts.map +1 -1
  114. package/out/zero-client/src/client/options.d.ts +13 -14
  115. package/out/zero-client/src/client/options.d.ts.map +1 -1
  116. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  117. package/out/zero-client/src/client/server-error.d.ts +5 -3
  118. package/out/zero-client/src/client/server-error.d.ts.map +1 -1
  119. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  120. package/out/zero-client/src/mod.d.ts +2 -2
  121. package/out/zero-client/src/mod.d.ts.map +1 -1
  122. package/out/zero-protocol/src/ast.d.ts +8 -95
  123. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  124. package/out/zero-protocol/src/ast.js +9 -9
  125. package/out/zero-protocol/src/ast.js.map +1 -1
  126. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -78
  127. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  128. package/out/zero-protocol/src/connect.d.ts +2 -78
  129. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  130. package/out/zero-protocol/src/down.d.ts +2 -78
  131. package/out/zero-protocol/src/down.d.ts.map +1 -1
  132. package/out/zero-protocol/src/error.d.ts +18 -1
  133. package/out/zero-protocol/src/error.d.ts.map +1 -1
  134. package/out/zero-protocol/src/error.js +12 -2
  135. package/out/zero-protocol/src/error.js.map +1 -1
  136. package/out/zero-protocol/src/poke.d.ts +4 -156
  137. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  138. package/out/zero-protocol/src/protocol-version.d.ts +20 -0
  139. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -0
  140. package/out/zero-protocol/src/protocol-version.js +20 -0
  141. package/out/zero-protocol/src/protocol-version.js.map +1 -0
  142. package/out/zero-protocol/src/queries-patch.d.ts +3 -117
  143. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  144. package/out/zero-protocol/src/up.d.ts +2 -78
  145. package/out/zero-protocol/src/up.d.ts.map +1 -1
  146. package/out/zero-react/src/use-query.d.ts +9 -1
  147. package/out/zero-react/src/use-query.d.ts.map +1 -1
  148. package/out/zero-schema/src/build-schema.d.ts.map +1 -1
  149. package/out/zero-schema/src/build-schema.js +2 -14
  150. package/out/zero-schema/src/build-schema.js.map +1 -1
  151. package/out/zero-schema/src/compiled-permissions.d.ts +17 -459
  152. package/out/zero-schema/src/compiled-permissions.d.ts.map +1 -1
  153. package/out/zero-schema/src/compiled-permissions.js +1 -1
  154. package/out/zero-schema/src/compiled-permissions.js.map +1 -1
  155. package/out/zero-schema/src/mod.d.ts +1 -1
  156. package/out/zero-schema/src/mod.d.ts.map +1 -1
  157. package/out/zero-schema/src/normalize-table-schema.d.ts +3 -2
  158. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -1
  159. package/out/zero-schema/src/normalize-table-schema.js +39 -13
  160. package/out/zero-schema/src/normalize-table-schema.js.map +1 -1
  161. package/out/zero-schema/src/permissions.d.ts +2 -2
  162. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  163. package/out/zero-schema/src/schema-config.d.ts +15 -29
  164. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  165. package/out/zero-schema/src/schema-config.js +39 -13
  166. package/out/zero-schema/src/schema-config.js.map +1 -1
  167. package/out/zero-schema/src/table-schema.d.ts +24 -38
  168. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  169. package/out/zero-schema/src/table-schema.js.map +1 -1
  170. package/out/zero.js +2 -2
  171. package/out/zql/src/builder/builder.d.ts.map +1 -1
  172. package/out/zql/src/builder/builder.js +9 -11
  173. package/out/zql/src/builder/builder.js.map +1 -1
  174. package/out/zql/src/ivm/array-view.d.ts +1 -1
  175. package/out/zql/src/ivm/array-view.d.ts.map +1 -1
  176. package/out/zql/src/ivm/array-view.js +16 -3
  177. package/out/zql/src/ivm/array-view.js.map +1 -1
  178. package/out/zql/src/ivm/data.d.ts +1 -1
  179. package/out/zql/src/ivm/data.d.ts.map +1 -1
  180. package/out/zql/src/ivm/data.js +3 -2
  181. package/out/zql/src/ivm/data.js.map +1 -1
  182. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  183. package/out/zql/src/ivm/exists.js +13 -2
  184. package/out/zql/src/ivm/exists.js.map +1 -1
  185. package/out/zql/src/ivm/join.d.ts +3 -2
  186. package/out/zql/src/ivm/join.d.ts.map +1 -1
  187. package/out/zql/src/ivm/join.js +5 -2
  188. package/out/zql/src/ivm/join.js.map +1 -1
  189. package/out/zql/src/ivm/memory-source.d.ts +3 -12
  190. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  191. package/out/zql/src/ivm/memory-source.js +38 -72
  192. package/out/zql/src/ivm/memory-source.js.map +1 -1
  193. package/out/zql/src/ivm/operator.d.ts +3 -1
  194. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  195. package/out/zql/src/ivm/schema.d.ts +8 -3
  196. package/out/zql/src/ivm/schema.d.ts.map +1 -1
  197. package/out/zql/src/ivm/skip.d.ts.map +1 -1
  198. package/out/zql/src/ivm/skip.js +60 -54
  199. package/out/zql/src/ivm/skip.js.map +1 -1
  200. package/out/zql/src/ivm/source.d.ts +10 -0
  201. package/out/zql/src/ivm/source.d.ts.map +1 -1
  202. package/out/zql/src/ivm/take.d.ts.map +1 -1
  203. package/out/zql/src/ivm/take.js +47 -35
  204. package/out/zql/src/ivm/take.js.map +1 -1
  205. package/out/zql/src/ivm/view-apply-change.js +4 -2
  206. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  207. package/out/zql/src/ivm/view.d.ts +1 -1
  208. package/out/zql/src/ivm/view.d.ts.map +1 -1
  209. package/out/zql/src/query/auth-query.d.ts +1 -0
  210. package/out/zql/src/query/auth-query.d.ts.map +1 -1
  211. package/out/zql/src/query/auth-query.js +1 -0
  212. package/out/zql/src/query/auth-query.js.map +1 -1
  213. package/out/zql/src/query/expression.d.ts +3 -2
  214. package/out/zql/src/query/expression.d.ts.map +1 -1
  215. package/out/zql/src/query/expression.js.map +1 -1
  216. package/out/zql/src/query/query-impl.d.ts +8 -6
  217. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  218. package/out/zql/src/query/query-impl.js +18 -4
  219. package/out/zql/src/query/query-impl.js.map +1 -1
  220. package/out/zql/src/query/query.d.ts +9 -5
  221. package/out/zql/src/query/query.d.ts.map +1 -1
  222. package/out/zql/src/query/typed-view.d.ts +2 -1
  223. package/out/zql/src/query/typed-view.d.ts.map +1 -1
  224. package/out/zqlite/src/db.js +1 -1
  225. package/out/zqlite/src/table-source.d.ts +1 -0
  226. package/out/zqlite/src/table-source.d.ts.map +1 -1
  227. package/out/zqlite/src/table-source.js +40 -70
  228. package/out/zqlite/src/table-source.js.map +1 -1
  229. package/package.json +5 -1
  230. package/out/chunk-C7M3BJ3Z.js.map +0 -7
  231. package/out/shared/src/random-values.js +0 -22
  232. package/out/shared/src/random-values.js.map +0 -1
  233. package/out/zero-client/src/client/protocol-version.d.ts +0 -2
  234. package/out/zero-client/src/client/protocol-version.d.ts.map +0 -1
  235. package/out/zql/src/ivm/lookahead-iterator.d.ts +0 -13
  236. package/out/zql/src/ivm/lookahead-iterator.d.ts.map +0 -1
  237. package/out/zql/src/ivm/lookahead-iterator.js +0 -45
  238. package/out/zql/src/ivm/lookahead-iterator.js.map +0 -1
@@ -33,25 +33,33 @@ export function normalizeTableSchemaWithCache(tableSchema, expectedName, tableSc
33
33
  function assertNoDuplicates(arr) {
34
34
  assert(new Set(arr).size === arr.length, 'Primary key must not contain duplicates');
35
35
  }
36
- export function normalizePrimaryKey(arr) {
37
- assertNoDuplicates(arr);
38
- return arr;
36
+ export function normalizePrimaryKey(primaryKey) {
37
+ if (typeof primaryKey === 'string') {
38
+ return [primaryKey];
39
+ }
40
+ assertNoDuplicates(primaryKey);
41
+ return primaryKey;
39
42
  }
40
43
  function normalizeColumns(columns, primaryKey) {
41
44
  const rv = {};
42
45
  for (const pk of primaryKey) {
43
46
  const schemaValue = columns[pk];
44
47
  assert(schemaValue, `Primary key column "${pk}" not found`);
45
- const { type, optional } = schemaValue;
46
- assert(!optional, `Primary key column "${pk}" cannot be optional`);
47
- assert(type === 'string' || type === 'number' || type === 'boolean', `Primary key column "${pk}" must be a string, number, or boolean. Got ${type}`);
48
+ if (typeof schemaValue !== 'string') {
49
+ const { type, optional } = schemaValue;
50
+ assert(!optional, `Primary key column "${pk}" cannot be optional`);
51
+ assert(type === 'string' || type === 'number' || type === 'boolean', `Primary key column "${pk}" must be a string, number, or boolean. Got ${type}`);
52
+ }
48
53
  }
49
54
  for (const [name, column] of sortedEntries(columns)) {
50
- rv[name] = normalizeSchemaValue(column);
55
+ rv[name] = normalizeColumn(column);
51
56
  }
52
57
  return rv;
53
58
  }
54
- function normalizeSchemaValue(value) {
59
+ function normalizeColumn(value) {
60
+ if (typeof value === 'string') {
61
+ return { type: value, optional: false };
62
+ }
55
63
  return {
56
64
  type: value.type,
57
65
  optional: value.optional ?? false,
@@ -59,8 +67,10 @@ function normalizeSchemaValue(value) {
59
67
  }
60
68
  function normalizeRelationships(relationships, tableSchemaCache) {
61
69
  const rv = {};
62
- for (const [name, relationship] of sortedEntries(relationships)) {
63
- rv[name] = normalizeRelationship(relationship, tableSchemaCache);
70
+ if (relationships) {
71
+ for (const [name, relationship] of sortedEntries(relationships)) {
72
+ rv[name] = normalizeRelationship(relationship, tableSchemaCache);
73
+ }
64
74
  }
65
75
  return rv;
66
76
  }
@@ -71,10 +81,12 @@ function normalizeRelationship(relationship, tableSchemaCache) {
71
81
  return normalizeJunctionRelationship(relationship, tableSchemaCache);
72
82
  }
73
83
  function normalizeFieldRelationship(relationship, tableSchemaCache) {
74
- assert(relationship.sourceField.length === relationship.destField.length, 'Source and destination fields must have the same length');
84
+ const sourceField = normalizeFieldName(relationship.sourceField);
85
+ const destField = normalizeFieldName(relationship.destField);
86
+ assert(sourceField.length === destField.length, 'Source and destination fields must have the same length');
75
87
  return {
76
- sourceField: relationship.sourceField,
77
- destField: relationship.destField,
88
+ sourceField,
89
+ destField,
78
90
  destSchema: normalizeLazyTableSchema(relationship.destSchema, tableSchemaCache),
79
91
  };
80
92
  }
@@ -89,4 +101,18 @@ function normalizeLazyTableSchema(tableSchema, buildCache) {
89
101
  return normalizeTableSchemaWithCache(tableSchemaInstance, tableSchemaInstance.tableName, // Don't care about name here.
90
102
  buildCache);
91
103
  }
104
+ function normalizeFieldName(sourceField) {
105
+ if (typeof sourceField === 'string') {
106
+ return [sourceField];
107
+ }
108
+ assert(sourceField.length > 0, 'Expected at least one field');
109
+ return sourceField;
110
+ }
111
+ export function normalizeTables(tables) {
112
+ const result = {};
113
+ for (const [name, table] of sortedEntries(tables)) {
114
+ result[name] = normalizeTableSchemaWithCache(table, name, new Map());
115
+ }
116
+ return result;
117
+ }
92
118
  //# sourceMappingURL=normalize-table-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-table-schema.js","sourceRoot":"","sources":["../../../../zero-schema/src/normalize-table-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize-table-schema.js","sourceRoot":"","sources":["../../../../zero-schema/src/normalize-table-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,oCAAoC,CAAC;AAIjE,OAAO,EACL,mBAAmB,GAOpB,MAAM,mBAAmB,CAAC;AAY3B,MAAM,OAAO,qBAAqB;IAEvB,SAAS,CAAS;IAClB,UAAU,CAAuB;IACjC,OAAO,CAA8B;IACrC,aAAa,CAAoD;IAE1E,YAAY,WAAwB,EAAE,gBAAkC;QACtE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvC,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjE,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,sBAAsB,CACzC,WAAW,CAAC,aAAa,EACzB,gBAAgB,CACjB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAClC,WAAgD;IAEhD,OAAO,6BAA6B,CAClC,WAAW,EACX,WAAW,CAAC,SAAS,EACrB,IAAI,GAAG,EAAE,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,WAAgD,EAChD,YAAoB,EACpB,gBAAkC;IAElC,IAAI,WAAW,YAAY,qBAAqB,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,CACJ,WAAW,CAAC,SAAS,KAAK,YAAY,EACtC,yBAAyB,WAAW,CAAC,SAAS,UAAU,YAAY,GAAG,CACxE,CAAC;IAEF,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,qBAAqB,GAAG,IAAI,qBAAqB,CAC/C,WAAW,EACX,gBAAgB,CACjB,CAAC;IACF,OAAO,qBAA8C,CAAC;AACxD,CAAC;AAID,SAAS,kBAAkB,CAAC,GAAsB;IAChD,MAAM,CACJ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,EAChC,yCAAyC,CAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAA+B;IAE/B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,UAAU,CAAkC,CAAC;IACvD,CAAC;IACD,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,UAAkC,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAgD,EAChD,UAAsB;IAEtB,MAAM,EAAE,GAA0C,EAAE,CAAC;IACrD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,WAAW,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,WAAW,CAAC;YACrC,MAAM,CAAC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;YACnE,MAAM,CACJ,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAC5D,uBAAuB,EAAE,+CAA+C,IAAI,EAAE,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,EAAE,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,KAA8B;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;IACxC,CAAC;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;KAClC,CAAC;AACJ,CAAC;AAQD,SAAS,sBAAsB,CAC7B,aAA4B,EAC5B,gBAAkC;IAElC,MAAM,EAAE,GAAsC,EAAE,CAAC;IACjD,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,EAAE,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAyBD,SAAS,qBAAqB,CAC5B,YAA0B,EAC1B,gBAAkC;IAElC,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,0BAA0B,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,6BAA6B,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACvE,CAAC;AAQD,SAAS,0BAA0B,CACjC,YAA+B,EAC/B,gBAAkC;IAElC,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,CACJ,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EACvC,yDAAyD,CAC1D,CAAC;IACF,OAAO;QACL,WAAW;QACX,SAAS;QACT,UAAU,EAAE,wBAAwB,CAClC,YAAY,CAAC,UAAU,EACvB,gBAAgB,CACjB;KACF,CAAC;AACJ,CAAC;AAOD,SAAS,6BAA6B,CACpC,YAAkC,EAClC,gBAAkC;IAElC,OAAO;QACL,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC;QAC7D,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAA4B,EAC5B,UAA4B;IAE5B,MAAM,mBAAmB,GACvB,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAClE,OAAO,6BAA6B,CAClC,mBAAmB,EACnB,mBAAmB,CAAC,SAAS,EAAE,8BAA8B;IAC7D,UAAU,CACX,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAiC;IAC3D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC9D,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAmC;IAEnC,MAAM,MAAM,GAA0C,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -13,7 +13,7 @@ type AssetPermissions<TAuthDataShape, TSchema extends TableSchema> = {
13
13
  insert?: PermissionRule<TAuthDataShape, TSchema>[] | undefined;
14
14
  update?: {
15
15
  preMutation?: PermissionRule<TAuthDataShape, TSchema>[];
16
- postProposedMutation?: PermissionRule<TAuthDataShape, TSchema>[];
16
+ postMutation?: PermissionRule<TAuthDataShape, TSchema>[];
17
17
  } | undefined;
18
18
  delete?: PermissionRule<TAuthDataShape, TSchema>[] | undefined;
19
19
  };
@@ -21,7 +21,7 @@ export type PermissionsConfig<TAuthDataShape, TSchema extends Schema> = {
21
21
  [K in keyof TSchema['tables']]?: {
22
22
  row?: AssetPermissions<TAuthDataShape, TSchema['tables'][K]> | undefined;
23
23
  cell?: {
24
- [C in keyof TSchema['tables'][K]['columns']]?: AssetPermissions<TAuthDataShape, TSchema['tables'][K]>;
24
+ [C in keyof TSchema['tables'][K]['columns']]?: Omit<AssetPermissions<TAuthDataShape, TSchema['tables'][K]>, 'cell'>;
25
25
  } | undefined;
26
26
  };
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAEV,iBAAiB,IAAI,yBAAyB,EAC/C,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAE9D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAEzE,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,MAAM,IAAI;KAC3C,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,KAAK,cAAc,CAAC,cAAc,EAAE,OAAO,SAAS,WAAW,IAAI,CACjE,QAAQ,EAAE,cAAc,EACxB,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAC3B,SAAS,CAAC;AAEf,KAAK,gBAAgB,CAAC,cAAc,EAAE,OAAO,SAAS,WAAW,IAAI;IACnE,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAC/D,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAC/D,MAAM,CAAC,EACH;QACE,WAAW,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;QACxD,oBAAoB,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;KAClE,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,cAAc,EAAE,OAAO,SAAS,MAAM,IAAI;KACrE,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QACzE,IAAI,CAAC,EACD;aACG,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAC7D,cAAc,EACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACrB;SACF,GACD,SAAS,CAAC;KACf;CACF,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,OAAO,SAAS,MAAM,EAC5E,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MACL,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,GACnD,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,GAC7C,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAYhD;AAwFD,eAAO,MAAM,WAAW,IAQvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,IAQ7B,CAAC"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAEV,iBAAiB,IAAI,yBAAyB,EAC/C,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAE9D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAEzE,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,MAAM,IAAI;KAC3C,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,KAAK,cAAc,CAAC,cAAc,EAAE,OAAO,SAAS,WAAW,IAAI,CACjE,QAAQ,EAAE,cAAc,EACxB,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAC3B,SAAS,CAAC;AAEf,KAAK,gBAAgB,CAAC,cAAc,EAAE,OAAO,SAAS,WAAW,IAAI;IAEnE,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAC/D,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAC/D,MAAM,CAAC,EACH;QACE,WAAW,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;QACxD,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;KAC1D,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,cAAc,EAAE,OAAO,SAAS,MAAM,IAAI;KACrE,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QACzE,IAAI,CAAC,EACD;aACG,CAAC,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CACjD,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,MAAM,CACP;SACF,GACD,SAAS,CAAC;KACf;CACF,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,OAAO,SAAS,MAAM,EAC5E,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MACL,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,GACnD,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,GAC7C,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAYhD;AA6FD,eAAO,MAAM,WAAW,IAQvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,IAQ7B,CAAC"}
@@ -1,43 +1,29 @@
1
+ import * as v from '../../shared/src/valita.js';
1
2
  import { type PermissionsConfig } from './compiled-permissions.js';
3
+ import { type DecycledNormalizedSchema, type NormalizedSchema } from './normalized-schema.js';
2
4
  import type { Schema } from './schema.js';
3
- import * as v from '../../shared/src/valita.js';
4
- import type { TableSchema } from './table-schema.js';
5
- import type { DecycledNormalizedSchema, NormalizedSchema } from './normalized-schema.js';
5
+ import type { Relationship, TableSchema, ValueType } from './table-schema.js';
6
6
  export type SchemaConfig = {
7
7
  schema: Schema;
8
8
  permissions: PermissionsConfig;
9
9
  };
10
- export declare const relationshipSchema: v.UnionType<[v.ObjectType<{
11
- sourceField: v.Type<import("../../zero-protocol/src/ast.js").CompoundKey>;
12
- destField: v.Type<import("../../zero-protocol/src/ast.js").CompoundKey>;
13
- destSchema: v.Type<TableSchema>;
14
- }, undefined>, v.Type<readonly [{
15
- sourceField: import("../../zero-protocol/src/ast.js").CompoundKey;
16
- destField: import("../../zero-protocol/src/ast.js").CompoundKey;
17
- destSchema: TableSchema;
18
- }, {
19
- sourceField: import("../../zero-protocol/src/ast.js").CompoundKey;
20
- destField: import("../../zero-protocol/src/ast.js").CompoundKey;
21
- destSchema: TableSchema;
22
- }]>]>;
23
- export declare const schemaValueSchema: v.ObjectType<{
24
- type: v.UnionType<[v.Type<"string">, v.Type<"number">, v.Type<"boolean">, v.Type<"null">, v.Type<"json">]>;
10
+ export declare const relationshipSchema: v.Type<Relationship>;
11
+ export declare const valueTypeSchema: v.Type<ValueType>;
12
+ export declare const schemaValueSchema: v.ObjectType<Readonly<{
13
+ type: v.Type<ValueType>;
25
14
  optional: v.Optional<boolean>;
26
- }, undefined>;
27
- export declare const sourceOrTableSchemaSchema: v.ObjectType<{
28
- tableName: v.Type<string>;
29
- columns: v.Type<Record<string, {
30
- optional?: boolean | undefined;
31
- type: "string" | "number" | "boolean" | "null" | "json";
32
- }>>;
33
- primaryKey: v.Type<readonly [string, ...string[]]>;
34
- }, undefined>;
15
+ }>, undefined>;
35
16
  export declare const tableSchemaSchema: v.Type<TableSchema>;
36
- export declare const schemaSchema: v.ObjectType<{
17
+ export declare const schemaSchema: v.ObjectType<Readonly<{
37
18
  version: v.Type<number>;
38
19
  tables: v.Type<Record<string, TableSchema>>;
39
- }, undefined>;
20
+ }>, undefined>;
40
21
  export declare function isSchemaConfig(value: any): value is SchemaConfig;
41
22
  export declare function replacePointersWithSchemaNames(schema: NormalizedSchema): DecycledNormalizedSchema;
42
23
  export declare function replaceSchemaNamesWithPointers(schema: DecycledNormalizedSchema): NormalizedSchema;
24
+ export declare function stringifySchema(module: unknown): Promise<string>;
25
+ export declare function parseSchema(input: string, source: string): {
26
+ schema: Schema;
27
+ permissions: PermissionsConfig;
28
+ };
43
29
  //# sourceMappingURL=schema-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-config.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/schema-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAYF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;KAG9B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;aAS5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;aAIpC,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAG9C,CAAC;AAEL,eAAO,MAAM,YAAY;;;aAGvB,CAAC;AAGH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAGhE;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GACvB,wBAAwB,CA8B1B;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,wBAAwB,GAC/B,gBAAgB,CAkBlB"}
1
+ {"version":3,"file":"schema-config.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/schema-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAGV,YAAY,EACZ,WAAW,EACX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAYF,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAGnD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAM7C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;cAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAKhD,CAAC;AAEH,eAAO,MAAM,YAAY;;;cAGvB,CAAC;AAGH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAGhE;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GACvB,wBAAwB,CA8B1B;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,wBAAwB,GAC/B,gBAAgB,CAkBlB;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,mBAwBpD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IACD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,iBAAiB,CAAC;CAChC,CAcA"}
@@ -1,27 +1,27 @@
1
- import {} from './compiled-permissions.js';
2
1
  import * as v from '../../shared/src/valita.js';
3
2
  import { compoundKeySchema } from '../../zero-protocol/src/ast.js';
4
3
  import { primaryKeySchema } from '../../zero-protocol/src/primary-key.js';
5
- const fieldRelationshipSchema = v.object({
6
- sourceField: compoundKeySchema,
7
- destField: compoundKeySchema,
4
+ import { permissionsConfigSchema, } from './compiled-permissions.js';
5
+ import { normalizeSchema, } from './normalized-schema.js';
6
+ const fieldRelationshipSchema = v.readonlyObject({
7
+ sourceField: v.union(compoundKeySchema, v.string()),
8
+ destField: v.union(compoundKeySchema, v.string()),
8
9
  destSchema: v.lazy(() => tableSchemaSchema),
9
10
  });
10
11
  const junctionRelationshipSchema = v.readonly(v.tuple([fieldRelationshipSchema, fieldRelationshipSchema]));
11
12
  export const relationshipSchema = v.union(fieldRelationshipSchema, junctionRelationshipSchema);
12
- export const schemaValueSchema = v.object({
13
- type: v.union(v.literal('string'), v.literal('number'), v.literal('boolean'), v.literal('null'), v.literal('json')),
13
+ export const valueTypeSchema = v.union(v.literal('string'), v.literal('number'), v.literal('boolean'), v.literal('null'), v.literal('json'));
14
+ export const schemaValueSchema = v.readonlyObject({
15
+ type: valueTypeSchema,
14
16
  optional: v.boolean().optional(),
15
17
  });
16
- export const sourceOrTableSchemaSchema = v.object({
18
+ export const tableSchemaSchema = v.readonlyObject({
17
19
  tableName: v.string(),
18
- columns: v.record(schemaValueSchema),
19
- primaryKey: primaryKeySchema,
20
+ columns: v.record(v.union(schemaValueSchema, valueTypeSchema)),
21
+ primaryKey: v.union(primaryKeySchema, v.string()),
22
+ relationships: v.record(relationshipSchema).optional(),
20
23
  });
21
- export const tableSchemaSchema = sourceOrTableSchemaSchema.extend({
22
- relationships: v.record(relationshipSchema),
23
- });
24
- export const schemaSchema = v.object({
24
+ export const schemaSchema = v.readonlyObject({
25
25
  version: v.number(),
26
26
  tables: v.record(tableSchemaSchema),
27
27
  });
@@ -76,4 +76,30 @@ export function replaceSchemaNamesWithPointers(schema) {
76
76
  });
77
77
  return schema;
78
78
  }
79
+ export async function stringifySchema(module) {
80
+ if (!isSchemaConfig(module)) {
81
+ throw new Error('Schema file must have a export `schema` and `permissions`.');
82
+ }
83
+ const schemaConfig = module;
84
+ const permissions = v.parse(await schemaConfig.permissions, permissionsConfigSchema);
85
+ const cycleFreeNormalizedSchema = replacePointersWithSchemaNames(normalizeSchema(schemaConfig.schema));
86
+ return JSON.stringify({
87
+ permissions,
88
+ schema: cycleFreeNormalizedSchema,
89
+ }, undefined, 2);
90
+ }
91
+ export function parseSchema(input, source) {
92
+ try {
93
+ const config = JSON.parse(input);
94
+ const permissions = v.parse(config.permissions, permissionsConfigSchema);
95
+ const normalizedSchema = normalizeSchema(replaceSchemaNamesWithPointers(config.schema));
96
+ return {
97
+ permissions,
98
+ schema: normalizedSchema,
99
+ };
100
+ }
101
+ catch (e) {
102
+ throw new Error(`Failed to parse schema config from ${source}: ${e}`);
103
+ }
104
+ }
79
105
  //# sourceMappingURL=schema-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-config.js","sourceRoot":"","sources":["../../../../zero-schema/src/schema-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-config.js","sourceRoot":"","sources":["../../../../zero-schema/src/schema-config.ts"],"names":[],"mappings":"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"}
@@ -8,55 +8,41 @@ export type SchemaValue = {
8
8
  type: ValueType;
9
9
  optional?: boolean | undefined;
10
10
  };
11
- export type SourceOrTableSchema = {
11
+ export type TableSchema = {
12
12
  readonly tableName: string;
13
- readonly primaryKey: PrimaryKey;
14
- readonly columns: Record<string, SchemaValue>;
15
- };
16
- export type TableSchema = SourceOrTableSchema & {
17
- readonly relationships: {
13
+ readonly columns: Record<string, SchemaValue | ValueType>;
14
+ readonly relationships?: {
18
15
  readonly [name: string]: Relationship;
19
- };
16
+ } | undefined;
17
+ readonly primaryKey: PrimaryKey | string;
20
18
  };
21
19
  export declare function createTableSchema<const T extends TableSchema>(schema: T): T;
22
- export type TableSchemaToRow<T extends TableSchema> = {
23
- [K in keyof T['columns']]: SchemaValueToTSType<T['columns'][K]>;
20
+ type TypeNameToTypeMap = {
21
+ string: string;
22
+ number: number;
23
+ boolean: boolean;
24
+ null: null;
25
+ json: any;
24
26
  };
25
- /**
26
- * For some reason this needs to be separated out from SchemaValueToTSType in
27
- * order for intellisense to show `boolean`. If this gets folded into
28
- * SchemaValueToTSType, intellisense will show
29
- * SchemaValueToTSType<{type: "boolean"}> instead.
30
- */
31
- type BaseType<T extends SchemaValue> = T extends {
32
- type: 'string';
33
- } ? string : T extends {
34
- type: 'number';
35
- } ? number : T extends {
36
- type: 'boolean';
37
- } ? boolean : T extends {
38
- type: 'null';
39
- } ? null : T extends {
40
- type: 'json';
41
- } ? any : never;
27
+ type ColumnTypeName<T extends SchemaValue | ValueType> = T extends SchemaValue ? T['type'] : T;
42
28
  /**
43
29
  * Given a schema value, return the TypeScript type.
44
30
  *
45
31
  * This allows us to create the correct return type for a
46
32
  * query that has a selection.
47
33
  */
48
- export type SchemaValueToTSType<T extends SchemaValue> = T extends {
34
+ export type SchemaValueToTSType<T extends SchemaValue | ValueType> = T extends ValueType ? TypeNameToTypeMap[T] : T extends {
49
35
  optional: true;
50
- } ? BaseType<T> | null : BaseType<T>;
36
+ } ? TypeNameToTypeMap[ColumnTypeName<T>] | null : TypeNameToTypeMap[ColumnTypeName<T>];
51
37
  export type Supertype<TSchemas extends TableSchema[]> = {
52
38
  tableName: TSchemas[number]['tableName'];
53
39
  primaryKey: TSchemas[number]['primaryKey'];
54
40
  columns: {
55
41
  [K in keyof TSchemas[number]['columns']]: TSchemas[number]['columns'][K];
56
42
  };
57
- relationships: {
43
+ relationships?: {
58
44
  [K in keyof TSchemas[number]['relationships']]: TSchemas[number]['relationships'][K];
59
- };
45
+ } | undefined;
60
46
  };
61
47
  /**
62
48
  * A schema might have a relationship to itself.
@@ -64,15 +50,15 @@ export type Supertype<TSchemas extends TableSchema[]> = {
64
50
  * the variable, we allow use of a function to get around this.
65
51
  */
66
52
  type Lazy<T> = T | (() => T);
67
- export type Relationship = FieldRelationship<TableSchema, TableSchema> | JunctionRelationship<TableSchema, TableSchema, TableSchema>;
53
+ export type Relationship = FieldRelationship | JunctionRelationship;
68
54
  export type AtLeastOne<T> = readonly [T, ...T[]];
69
55
  export declare function atLeastOne<T>(arr: readonly T[]): AtLeastOne<T>;
70
- type FieldName<TSchema extends TableSchema> = AtLeastOne<keyof TSchema['columns']>;
56
+ type FieldName<TSchema extends TableSchema> = (keyof TSchema['columns'] & string) | AtLeastOne<keyof TSchema['columns'] & string>;
71
57
  /**
72
58
  * A relationship between two entities where
73
59
  * that relationship is defined via fields on both entities.
74
60
  */
75
- export type FieldRelationship<TSourceSchema extends TableSchema, TDestSchema extends TableSchema> = {
61
+ export type FieldRelationship<TSourceSchema extends TableSchema = TableSchema, TDestSchema extends TableSchema = TableSchema> = {
76
62
  sourceField: FieldName<TSourceSchema>;
77
63
  destField: FieldName<TDestSchema>;
78
64
  destSchema: Lazy<TDestSchema>;
@@ -81,14 +67,14 @@ export type FieldRelationship<TSourceSchema extends TableSchema, TDestSchema ext
81
67
  * A relationship between two entities where
82
68
  * that relationship is defined via a junction table.
83
69
  */
84
- export type JunctionRelationship<TSourceSchema extends TableSchema, TJunctionSchema extends TableSchema, TDestSchema extends TableSchema> = readonly [
70
+ export type JunctionRelationship<TSourceSchema extends TableSchema = TableSchema, TJunctionSchema extends TableSchema = TableSchema, TDestSchema extends TableSchema = TableSchema> = readonly [
85
71
  FieldRelationship<TSourceSchema, TJunctionSchema>,
86
72
  FieldRelationship<TJunctionSchema, TDestSchema>
87
73
  ];
88
- export declare function isFieldRelationship(relationship: Relationship): relationship is FieldRelationship<TableSchema, TableSchema>;
89
- export declare function assertFieldRelationship(relationship: Relationship): asserts relationship is FieldRelationship<TableSchema, TableSchema>;
90
- export declare function isJunctionRelationship(relationship: Relationship): relationship is JunctionRelationship<TableSchema, TableSchema, TableSchema>;
91
- export declare function assertJunctionRelationship(relationship: Relationship): asserts relationship is JunctionRelationship<TableSchema, TableSchema, TableSchema>;
74
+ export declare function isFieldRelationship(relationship: Relationship): relationship is FieldRelationship;
75
+ export declare function assertFieldRelationship(relationship: Relationship): asserts relationship is FieldRelationship;
76
+ export declare function isJunctionRelationship(relationship: Relationship): relationship is JunctionRelationship;
77
+ export declare function assertJunctionRelationship(relationship: Relationship): asserts relationship is JunctionRelationship;
92
78
  /**
93
79
  * Calling `related` on `Query` returns a new Query
94
80
  * since `related` moves through the relationship. This function takes
@@ -1 +1 @@
1
- {"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-schema.d.ts","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AAwBnD,MAAM,UAAU,iBAAiB,CAA8B,MAAS;IACtE,OAAO,MAAW,CAAC;AACrB,CAAC;AAkED,MAAM,UAAU,UAAU,CAAI,GAAiB;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAoB,CAAC;AAC9B,CAAC;AAgCD,MAAM,UAAU,mBAAmB,CACjC,YAA0B;IAE1B,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,YAA0B;IAE1B,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,6BAA6B,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,YAA0B;IAE1B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,YAA0B;IAM1B,MAAM,CACJ,sBAAsB,CAAC,YAAY,CAAC,EACpC,gCAAgC,CACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"table-schema.js","sourceRoot":"","sources":["../../../../zero-schema/src/table-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AAqBnD,MAAM,UAAU,iBAAiB,CAA8B,MAAS;IACtE,OAAO,MAAW,CAAC;AACrB,CAAC;AA6DD,MAAM,UAAU,UAAU,CAAI,GAAiB;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAoB,CAAC;AAC9B,CAAC;AAgCD,MAAM,UAAU,mBAAmB,CACjC,YAA0B;IAE1B,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,YAA0B;IAE1B,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,6BAA6B,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,YAA0B;IAE1B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,YAA0B;IAE1B,MAAM,CACJ,sBAAsB,CAAC,YAAY,CAAC,EACpC,gCAAgC,CACjC,CAAC;AACJ,CAAC"}
package/out/zero.js CHANGED
@@ -10,9 +10,9 @@ import {
10
10
  escapeLike,
11
11
  getDefaultPuller,
12
12
  makeIDBName
13
- } from "./chunk-KL66XOAW.js";
13
+ } from "./chunk-PFF4AHTF.js";
14
14
  import "./chunk-HARIWJ2J.js";
15
- import "./chunk-C7M3BJ3Z.js";
15
+ import "./chunk-6HXO6VMP.js";
16
16
  import "./chunk-F5QR3K72.js";
17
17
  export {
18
18
  IDBNotFoundError,
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EACV,GAAG,EASH,QAAQ,EAIT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAM1E,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAI7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,KAAK,CAExE;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAwDzD;AAyKD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,UAAU,GACb,IAAI,CAeN"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EACV,GAAG,EASH,QAAQ,EAIT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAM1E,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAI7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,KAAK,CAExE;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAqDzD;AA0KD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,UAAU,GACb,IAAI,CAeN"}
@@ -36,17 +36,14 @@ export function buildPipeline(ast, delegate) {
36
36
  return buildPipelineInternal(ast, delegate);
37
37
  }
38
38
  export function bindStaticParameters(ast, staticQueryParameters) {
39
- const visit = (node) => {
40
- return {
41
- ...node,
42
- where: node.where ? bindCondition(node.where) : undefined,
43
- related: node.related?.map(sq => ({
44
- ...sq,
45
- subquery: visit(sq.subquery),
46
- })),
47
- };
48
- return node;
49
- };
39
+ const visit = (node) => ({
40
+ ...node,
41
+ where: node.where ? bindCondition(node.where) : undefined,
42
+ related: node.related?.map(sq => ({
43
+ ...sq,
44
+ subquery: visit(sq.subquery),
45
+ })),
46
+ });
50
47
  function bindCondition(condition) {
51
48
  if (condition.type === 'simple') {
52
49
  return {
@@ -155,6 +152,7 @@ function applyCorrelatedSubQuery(sq, delegate, end) {
155
152
  childKey: sq.correlation.childField,
156
153
  relationshipName: sq.subquery.alias,
157
154
  hidden: sq.hidden ?? false,
155
+ system: sq.system ?? 'client',
158
156
  });
159
157
  return end;
160
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import type { Format, View } from './view.js';
16
16
  export declare class ArrayView<V extends View> implements Output, TypedView<V> {
17
17
  #private;
18
18
  onDestroy: (() => void) | undefined;
19
- constructor(input: Input, format?: Format);
19
+ constructor(input: Input, format?: Format, queryComplete?: true | Promise<true>);
20
20
  get data(): V;
21
21
  addListener(listener: Listener<V>): () => void;
22
22
  destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"array-view.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/array-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAAQ,MAAM,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,IAAI,CAAE,YAAW,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;;IAUpE,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAKlC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE,MAA6C;IAWvD,IAAI,IAAI,IACmB,CAAC,CAC3B;IAED,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAiBjC,OAAO;IAkBP,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,KAAK;CAON"}
1
+ {"version":3,"file":"array-view.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/array-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAAQ,MAAM,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,IAAI,CAAE,YAAW,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;;IAUpE,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAMlC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE,MAA6C,EACrD,aAAa,GAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAQ;IAmB5C,IAAI,IAAI,IACmB,CAAC,CAC3B;IAED,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAwBjC,OAAO;IAkBP,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,KAAK;CAON"}
@@ -21,12 +21,22 @@ export class ArrayView {
21
21
  #root;
22
22
  onDestroy;
23
23
  #dirty = false;
24
- constructor(input, format = { singular: false, relationships: {} }) {
24
+ #complete = false;
25
+ constructor(input, format = { singular: false, relationships: {} }, queryComplete = true) {
25
26
  this.#input = input;
26
27
  this.#schema = input.getSchema();
27
28
  this.#format = format;
28
29
  this.#root = { '': format.singular ? undefined : [] };
29
30
  input.setOutput(this);
31
+ if (queryComplete === true) {
32
+ this.#complete = true;
33
+ }
34
+ else {
35
+ void queryComplete.then(() => {
36
+ this.#complete = true;
37
+ this.#fireListeners();
38
+ });
39
+ }
30
40
  this.#hydrate();
31
41
  }
32
42
  get data() {
@@ -35,16 +45,19 @@ export class ArrayView {
35
45
  addListener(listener) {
36
46
  assert(!this.#listeners.has(listener), 'Listener already registered');
37
47
  this.#listeners.add(listener);
38
- listener(this.data);
48
+ this.#fireListener(listener);
39
49
  return () => {
40
50
  this.#listeners.delete(listener);
41
51
  };
42
52
  }
43
53
  #fireListeners() {
44
54
  for (const listener of this.#listeners) {
45
- listener(this.data);
55
+ this.#fireListener(listener);
46
56
  }
47
57
  }
58
+ #fireListener(listener) {
59
+ listener(this.data, this.#complete ? 'complete' : 'unknown');
60
+ }
48
61
  destroy() {
49
62
  this.onDestroy?.();
50
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"array-view.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/array-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAMtD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAGnD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,SAAS;IACX,MAAM,CAAQ;IACd,UAAU,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,OAAO,CAAe;IACtB,OAAO,CAAS;IAEzB,2EAA2E;IAC3E,6DAA6D;IACpD,KAAK,CAAQ;IAEtB,SAAS,CAA2B;IAEpC,MAAM,GAAG,KAAK,CAAC;IAEf,YACE,KAAY,EACZ,SAAiB,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAC;QAErD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC;QACpD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAM,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,QAAqB;QAC/B,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;QAEpC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACzC,WAAW,CACT,IAAI,CAAC,KAAK,EACV,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,EACnB,IAAI,CAAC,OAAO,EACZ,EAAE,EACF,IAAI,CAAC,OAAO,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"array-view.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/array-view.ts"],"names":[],"mappings":"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"}