@rocicorp/zero 0.11.2025011402 → 0.11.2025011801

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 (282) hide show
  1. package/out/{chunk-AII6TS5B.js → chunk-QV5ZN4MA.js} +635 -1834
  2. package/out/chunk-QV5ZN4MA.js.map +7 -0
  3. package/out/react.js.map +2 -2
  4. package/out/shared/src/btree-set.d.ts +34 -0
  5. package/out/shared/src/btree-set.d.ts.map +1 -0
  6. package/out/shared/src/btree-set.js +528 -0
  7. package/out/shared/src/btree-set.js.map +1 -0
  8. package/out/shared/src/expand.d.ts +3 -0
  9. package/out/shared/src/expand.d.ts.map +1 -1
  10. package/out/solid.js +7 -2
  11. package/out/solid.js.map +2 -2
  12. package/out/zero-advanced/src/mod.d.ts +1 -1
  13. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  14. package/out/zero-cache/src/auth/load-schema.d.ts +1 -1
  15. package/out/zero-cache/src/auth/load-schema.d.ts.map +1 -1
  16. package/out/zero-cache/src/auth/write-authorizer.d.ts +1 -1
  17. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  18. package/out/zero-cache/src/auth/write-authorizer.js +3 -6
  19. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  20. package/out/zero-cache/src/db/lite-tables.d.ts +14 -1
  21. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  22. package/out/zero-cache/src/db/lite-tables.js +89 -6
  23. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  24. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  25. package/out/zero-cache/src/db/pg-to-lite.js +3 -1
  26. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  27. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts +9 -0
  28. package/out/zero-cache/src/db/postgres-replica-identity-enum.d.ts.map +1 -0
  29. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +7 -0
  30. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +1 -0
  31. package/out/zero-cache/src/db/specs.d.ts +39 -10
  32. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  33. package/out/zero-cache/src/db/specs.js +8 -1
  34. package/out/zero-cache/src/db/specs.js.map +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 +1 -1
  37. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  38. package/out/zero-cache/src/server/life-cycle.d.ts +2 -2
  39. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  40. package/out/zero-cache/src/server/life-cycle.js +12 -3
  41. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  42. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  43. package/out/zero-cache/src/server/main.js +11 -6
  44. package/out/zero-cache/src/server/main.js.map +1 -1
  45. package/out/zero-cache/src/server/multi/config.d.ts +14 -14
  46. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  47. package/out/zero-cache/src/server/multi/config.js +24 -2
  48. package/out/zero-cache/src/server/multi/config.js.map +1 -1
  49. package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
  50. package/out/zero-cache/src/server/multi/main.js +28 -8
  51. package/out/zero-cache/src/server/multi/main.js.map +1 -1
  52. package/out/zero-cache/src/server/multi/tenant-dispatcher.d.ts +1 -1
  53. package/out/zero-cache/src/server/multi/tenant-dispatcher.d.ts.map +1 -1
  54. package/out/zero-cache/src/server/multi/tenant-dispatcher.js +15 -3
  55. package/out/zero-cache/src/server/multi/tenant-dispatcher.js.map +1 -1
  56. package/out/zero-cache/src/server/replicator.js +2 -3
  57. package/out/zero-cache/src/server/replicator.js.map +1 -1
  58. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +4 -4
  59. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  60. package/out/zero-cache/src/services/change-source/pg/change-source.js +50 -32
  61. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  62. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +45 -25
  63. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  64. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  65. package/out/zero-cache/src/services/change-source/pg/schema/init.js +6 -28
  66. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  67. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +18 -10
  68. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  69. package/out/zero-cache/src/services/change-source/pg/schema/published.js +14 -7
  70. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  71. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +7 -4
  72. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +29 -1
  74. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  75. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts +2 -2
  76. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +8 -4
  78. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  79. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -1
  80. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +1 -0
  81. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  82. package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +10 -10
  83. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +17 -15
  84. package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +2 -1
  86. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -1
  87. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts +1 -0
  88. package/out/zero-cache/src/services/change-source/protocol/current/mod.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/change-source/protocol/current/mod.js +1 -0
  90. package/out/zero-cache/src/services/change-source/protocol/current/mod.js.map +1 -1
  91. package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts +38 -0
  92. package/out/zero-cache/src/services/change-source/protocol/current/status.d.ts.map +1 -0
  93. package/out/zero-cache/src/services/change-source/protocol/current/status.js +14 -0
  94. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -0
  95. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts +3 -13
  96. package/out/zero-cache/src/services/change-source/protocol/current/upstream.d.ts.map +1 -1
  97. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +3 -10
  98. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -1
  99. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +7 -3
  100. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  101. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +30 -24
  102. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  103. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +6 -4
  104. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  105. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -1
  106. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  107. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -5
  108. package/out/zero-cache/src/services/change-streamer/storer.d.ts +3 -1
  109. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/storer.js +18 -10
  111. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  112. package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +1 -1
  113. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +2 -16
  114. package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +1 -1
  115. package/out/zero-cache/src/services/http-service.d.ts +1 -1
  116. package/out/zero-cache/src/services/http-service.d.ts.map +1 -1
  117. package/out/zero-cache/src/services/http-service.js +1 -0
  118. package/out/zero-cache/src/services/http-service.js.map +1 -1
  119. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  120. package/out/zero-cache/src/services/litestream/commands.js +6 -2
  121. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  122. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +1 -1
  123. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  124. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  125. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  126. package/out/zero-cache/src/services/replicator/incremental-sync.js +15 -5
  127. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  128. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/replicator/replicator.js +4 -2
  130. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  131. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  132. package/out/zero-cache/src/services/view-syncer/cvr-store.js +20 -51
  133. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  134. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -5
  135. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  136. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +18 -35
  137. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  138. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +3 -3
  139. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  140. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  141. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  142. package/out/zero-cache/src/types/processes.js +17 -2
  143. package/out/zero-cache/src/types/processes.js.map +1 -1
  144. package/out/zero-cache/src/types/row-key.d.ts.map +1 -1
  145. package/out/zero-cache/src/types/row-key.js +7 -1
  146. package/out/zero-cache/src/types/row-key.js.map +1 -1
  147. package/out/zero-cache/src/types/ws.d.ts +4 -0
  148. package/out/zero-cache/src/types/ws.d.ts.map +1 -0
  149. package/out/zero-cache/src/types/ws.js +19 -0
  150. package/out/zero-cache/src/types/ws.js.map +1 -0
  151. package/out/zero-client/src/client/context.d.ts.map +1 -1
  152. package/out/zero-client/src/client/crud.d.ts +3 -4
  153. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  154. package/out/zero-client/src/client/keys.d.ts +2 -2
  155. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  156. package/out/zero-client/src/client/zero-poke-handler.d.ts +3 -3
  157. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  158. package/out/zero-client/src/client/zero.d.ts +1 -1
  159. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  160. package/out/zero-client/src/mod.d.ts +5 -4
  161. package/out/zero-client/src/mod.d.ts.map +1 -1
  162. package/out/zero-react/src/use-query.d.ts +6 -5
  163. package/out/zero-react/src/use-query.d.ts.map +1 -1
  164. package/out/zero-schema/src/builder/relationship-builder.d.ts +50 -0
  165. package/out/zero-schema/src/builder/relationship-builder.d.ts.map +1 -0
  166. package/out/zero-schema/src/builder/relationship-builder.js +24 -0
  167. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -0
  168. package/out/zero-schema/src/builder/schema-builder.d.ts +40 -0
  169. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -0
  170. package/out/zero-schema/src/builder/schema-builder.js +51 -0
  171. package/out/zero-schema/src/builder/schema-builder.js.map +1 -0
  172. package/out/zero-schema/src/builder/table-builder.d.ts +69 -0
  173. package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -0
  174. package/out/zero-schema/src/builder/table-builder.js +102 -0
  175. package/out/zero-schema/src/builder/table-builder.js.map +1 -0
  176. package/out/zero-schema/src/mod.d.ts +2 -2
  177. package/out/zero-schema/src/mod.d.ts.map +1 -1
  178. package/out/zero-schema/src/permissions.d.ts +11 -12
  179. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  180. package/out/zero-schema/src/schema-config.d.ts +2 -4
  181. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  182. package/out/zero-schema/src/schema-config.js +12 -61
  183. package/out/zero-schema/src/schema-config.js.map +1 -1
  184. package/out/zero-schema/src/table-schema.d.ts +28 -53
  185. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  186. package/out/zero-schema/src/table-schema.js +6 -13
  187. package/out/zero-schema/src/table-schema.js.map +1 -1
  188. package/out/zero-solid/src/solid-view.d.ts +4 -3
  189. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  190. package/out/zero-solid/src/use-query.d.ts +5 -4
  191. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  192. package/out/zero.js +17 -7
  193. package/out/zql/src/ivm/exists.d.ts +1 -1
  194. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  195. package/out/zql/src/ivm/exists.js +3 -3
  196. package/out/zql/src/ivm/exists.js.map +1 -1
  197. package/out/zql/src/ivm/fan-in.d.ts +1 -1
  198. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  199. package/out/zql/src/ivm/fan-in.js +3 -2
  200. package/out/zql/src/ivm/fan-in.js.map +1 -1
  201. package/out/zql/src/ivm/filter.d.ts +1 -1
  202. package/out/zql/src/ivm/filter.d.ts.map +1 -1
  203. package/out/zql/src/ivm/filter.js +3 -3
  204. package/out/zql/src/ivm/filter.js.map +1 -1
  205. package/out/zql/src/ivm/join.d.ts +1 -1
  206. package/out/zql/src/ivm/join.d.ts.map +1 -1
  207. package/out/zql/src/ivm/join.js +2 -3
  208. package/out/zql/src/ivm/join.js.map +1 -1
  209. package/out/zql/src/ivm/memory-source.js +8 -10
  210. package/out/zql/src/ivm/memory-source.js.map +1 -1
  211. package/out/zql/src/ivm/memory-storage.d.ts.map +1 -1
  212. package/out/zql/src/ivm/operator.d.ts +5 -0
  213. package/out/zql/src/ivm/operator.d.ts.map +1 -1
  214. package/out/zql/src/ivm/operator.js +9 -0
  215. package/out/zql/src/ivm/operator.js.map +1 -1
  216. package/out/zql/src/ivm/skip.d.ts +1 -1
  217. package/out/zql/src/ivm/skip.d.ts.map +1 -1
  218. package/out/zql/src/ivm/skip.js +2 -3
  219. package/out/zql/src/ivm/skip.js.map +1 -1
  220. package/out/zql/src/ivm/take.d.ts +1 -1
  221. package/out/zql/src/ivm/take.d.ts.map +1 -1
  222. package/out/zql/src/ivm/take.js +2 -3
  223. package/out/zql/src/ivm/take.js.map +1 -1
  224. package/out/zql/src/ivm/view.d.ts +3 -3
  225. package/out/zql/src/ivm/view.d.ts.map +1 -1
  226. package/out/zql/src/query/auth-query.d.ts +9 -10
  227. package/out/zql/src/query/auth-query.d.ts.map +1 -1
  228. package/out/zql/src/query/auth-query.js +6 -7
  229. package/out/zql/src/query/auth-query.js.map +1 -1
  230. package/out/zql/src/query/expression.d.ts +11 -13
  231. package/out/zql/src/query/expression.d.ts.map +1 -1
  232. package/out/zql/src/query/expression.js +1 -1
  233. package/out/zql/src/query/expression.js.map +1 -1
  234. package/out/zql/src/query/query-impl.d.ts +26 -25
  235. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  236. package/out/zql/src/query/query-impl.js +76 -52
  237. package/out/zql/src/query/query-impl.js.map +1 -1
  238. package/out/zql/src/query/query-internal.d.ts +5 -5
  239. package/out/zql/src/query/query-internal.d.ts.map +1 -1
  240. package/out/zql/src/query/query.d.ts +37 -80
  241. package/out/zql/src/query/query.d.ts.map +1 -1
  242. package/out/zql/src/query/query.js +0 -1
  243. package/out/zql/src/query/query.js.map +1 -1
  244. package/out/zqlite/src/table-source.d.ts.map +1 -1
  245. package/out/zqlite/src/table-source.js +33 -11
  246. package/out/zqlite/src/table-source.js.map +1 -1
  247. package/package.json +4 -4
  248. package/out/btree/b+tree.d.ts +0 -471
  249. package/out/btree/b+tree.d.ts.map +0 -1
  250. package/out/btree/b+tree.js +0 -1708
  251. package/out/btree/b+tree.js.map +0 -1
  252. package/out/btree/interfaces.d.ts +0 -270
  253. package/out/btree/interfaces.d.ts.map +0 -1
  254. package/out/btree/interfaces.js +0 -3
  255. package/out/btree/interfaces.js.map +0 -1
  256. package/out/btree/src/mod.d.ts +0 -2
  257. package/out/btree/src/mod.d.ts.map +0 -1
  258. package/out/btree/src/mod.js +0 -2
  259. package/out/btree/src/mod.js.map +0 -1
  260. package/out/chunk-AII6TS5B.js.map +0 -7
  261. package/out/shared/src/sorted-entries.d.ts +0 -2
  262. package/out/shared/src/sorted-entries.d.ts.map +0 -1
  263. package/out/shared/src/sorted-entries.js +0 -6
  264. package/out/shared/src/sorted-entries.js.map +0 -1
  265. package/out/zero-cache/src/db/queries.d.ts +0 -24
  266. package/out/zero-cache/src/db/queries.d.ts.map +0 -1
  267. package/out/zero-cache/src/db/queries.js +0 -60
  268. package/out/zero-cache/src/db/queries.js.map +0 -1
  269. package/out/zero-schema/src/column.d.ts +0 -79
  270. package/out/zero-schema/src/column.d.ts.map +0 -1
  271. package/out/zero-schema/src/normalize-table-schema.d.ts +0 -51
  272. package/out/zero-schema/src/normalize-table-schema.d.ts.map +0 -1
  273. package/out/zero-schema/src/normalize-table-schema.js +0 -122
  274. package/out/zero-schema/src/normalize-table-schema.js.map +0 -1
  275. package/out/zero-schema/src/normalized-schema.d.ts +0 -22
  276. package/out/zero-schema/src/normalized-schema.d.ts.map +0 -1
  277. package/out/zero-schema/src/normalized-schema.js +0 -48
  278. package/out/zero-schema/src/normalized-schema.js.map +0 -1
  279. package/out/zero-schema/src/schema.d.ts +0 -9
  280. package/out/zero-schema/src/schema.d.ts.map +0 -1
  281. package/out/zero-schema/src/schema.js +0 -9
  282. package/out/zero-schema/src/schema.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import type { Condition, LiteralValue } from '../../../zero-protocol/src/ast.js';
2
- import type { PullSchemaForRelationship, TableSchema } from '../../../zero-schema/src/table-schema.js';
3
- import type { DefaultQueryResultRow, GetFieldTypeNoUndefined, NoJsonSelector, Operator, Query, QueryType } from './query.js';
4
- import { type Parameter, toStaticParam } from '../../../zero-protocol/src/ast.js';
1
+ import { toStaticParam, type Condition, type LiteralValue, type Parameter } from '../../../zero-protocol/src/ast.js';
2
+ import type { Schema } from '../../../zero-schema/src/builder/schema-builder.js';
3
+ import type { Operator } from './query.js';
4
+ import type { AvailableRelationships, DestTableName, GetFieldTypeNoUndefined, NoJsonSelector, PullTableSchema, Query } from './query.js';
5
5
  export type ParameterReference = {
6
6
  [toStaticParam](): Parameter;
7
7
  };
@@ -21,23 +21,21 @@ export type ParameterReference = {
21
21
  * const query = z.query.user.where(condition);
22
22
  * ```
23
23
  */
24
- export interface ExpressionFactory<TSchema extends TableSchema> {
25
- (eb: ExpressionBuilder<TSchema>): Condition;
24
+ export interface ExpressionFactory<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string> {
25
+ (eb: ExpressionBuilder<TSchema, TTable>): Condition;
26
26
  }
27
- export declare class ExpressionBuilder<TSchema extends TableSchema> {
27
+ export declare class ExpressionBuilder<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string> {
28
28
  #private;
29
- constructor(exists: (relationship: string, cb?: (query: Query<TableSchema, QueryType>) => Query<TableSchema, QueryType>) => Condition);
29
+ constructor(exists: (relationship: string, cb?: (query: Query<TSchema, TTable>) => Query<TSchema, any>) => Condition);
30
30
  get eb(): this;
31
- cmp<TSelector extends NoJsonSelector<TSchema>, TOperator extends Operator>(field: TSelector, op: TOperator, value: GetFieldTypeNoUndefined<TSchema, TSelector, TOperator> | ParameterReference): Condition;
32
- cmp<TSelector extends NoJsonSelector<TSchema>>(field: TSelector, value: GetFieldTypeNoUndefined<TSchema, TSelector, '='> | ParameterReference): Condition;
31
+ cmp<TSelector extends NoJsonSelector<PullTableSchema<TTable, TSchema>>, TOperator extends Operator>(field: TSelector, op: TOperator, value: GetFieldTypeNoUndefined<PullTableSchema<TTable, TSchema>, TSelector, TOperator> | ParameterReference): Condition;
32
+ cmp<TSelector extends NoJsonSelector<PullTableSchema<TTable, TSchema>>>(field: TSelector, value: GetFieldTypeNoUndefined<PullTableSchema<TTable, TSchema>, TSelector, '='> | ParameterReference): Condition;
33
33
  cmpLit(left: ParameterReference | LiteralValue, op: Operator, right: ParameterReference | LiteralValue): Condition;
34
34
  and: typeof and;
35
35
  or: typeof or;
36
36
  not: typeof not;
37
- exists(relationship: RelationshipName<TSchema>): Condition;
38
- exists<TRelationship extends RelationshipName<TSchema>>(relationship: TRelationship, cb: (query: Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>) => Query<TableSchema, QueryType>): Condition;
37
+ exists<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship, cb?: (query: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>>) => Query<TSchema, any>): Condition;
39
38
  }
40
- export type RelationshipName<TSchema extends TableSchema> = keyof TSchema['relationships'] & string;
41
39
  export declare function and(...conditions: (Condition | undefined)[]): Condition;
42
40
  export declare function or(...conditions: (Condition | undefined)[]): Condition;
43
41
  export declare function not(expression: Condition): Condition;
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/expression.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { must } from '../../../shared/src/must.js';
3
- import { toStaticParam } from '../../../zero-protocol/src/ast.js';
3
+ import { toStaticParam, } from '../../../zero-protocol/src/ast.js';
4
4
  export class ExpressionBuilder {
5
5
  #exists;
6
6
  constructor(exists) {
@@ -1 +1 @@
1
- {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../../zql/src/query/expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../../zql/src/query/expression.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import type { AST, Condition, Parameter, System } from '../../../zero-protocol/src/ast.js';
2
- import { type NormalizedTableSchema } from '../../../zero-schema/src/normalize-table-schema.js';
3
- import { type PullSchemaForRelationship, type TableSchema } from '../../../zero-schema/src/table-schema.js';
4
2
  import { type BuilderDelegate } from '../builder/builder.js';
5
3
  import type { Format, ViewFactory } from '../ivm/view.js';
6
- import { type ExpressionFactory, type RelationshipName } from './expression.js';
4
+ import { type ExpressionFactory } from './expression.js';
7
5
  import type { AdvancedQuery } from './query-internal.js';
8
- import type { AddSubselect, DefaultQueryResultRow, GetFieldTypeNoUndefined, MakeSingular, Operator, Query, QueryType, Row, Smash } from './query.js';
6
+ import type { GetFieldTypeNoUndefined, HumanReadable, Operator, PullRow, Query } from './query.js';
9
7
  import type { TypedView } from './typed-view.js';
10
- export declare function newQuery<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>>(delegate: QueryDelegate, tableSchema: TSchema): Query<TSchema, TReturn>;
8
+ import type { Schema } from '../../../zero-schema/src/builder/schema-builder.js';
9
+ type AnyQuery = Query<Schema, string, any>;
10
+ export declare function newQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string>(delegate: QueryDelegate, schema: TSchema, table: TTable): Query<TSchema, TTable>;
11
11
  export type CommitListener = () => void;
12
12
  export type GotCallback = (got: boolean) => void;
13
13
  export interface QueryDelegate extends BuilderDelegate {
@@ -17,27 +17,27 @@ export interface QueryDelegate extends BuilderDelegate {
17
17
  }
18
18
  export declare function staticParam(anchorClass: 'authData' | 'preMutationRow', field: string | string[]): Parameter;
19
19
  export declare const SUBQ_PREFIX = "zsubq_";
20
- export declare abstract class AbstractQuery<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> implements AdvancedQuery<TSchema, TReturn> {
20
+ export declare abstract class AbstractQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn = PullRow<TTable, TSchema>> implements AdvancedQuery<TSchema, TTable, TReturn> {
21
21
  #private;
22
- constructor(schema: NormalizedTableSchema, ast: AST, format?: Format | undefined);
22
+ constructor(schema: TSchema, tableName: TTable, ast: AST, format?: Format | undefined);
23
23
  get format(): Format;
24
24
  hash(): string;
25
25
  protected abstract _system: System;
26
- protected abstract _newQuery<TSchema extends TableSchema, TReturn extends QueryType>(schema: NormalizedTableSchema, ast: AST, format: Format | undefined): Query<TSchema, TReturn>;
27
- one(): Query<TSchema, MakeSingular<TReturn>>;
28
- whereExists(relationship: RelationshipName<TSchema>): Query<TSchema, TReturn>;
29
- related<TRelationship extends keyof TSchema['relationships']>(relationship: TRelationship): Query<TSchema, AddSubselect<Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>, TReturn, TRelationship & string>>;
30
- where(fieldOrExpressionFactory: string | ExpressionFactory<TSchema>, opOrValue?: Operator | GetFieldTypeNoUndefined<any, any, any> | Parameter, value?: GetFieldTypeNoUndefined<any, any, any> | Parameter): Query<TSchema, TReturn>;
31
- start(row: Partial<Row<TSchema>>, opts?: {
26
+ protected abstract _newQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn>(schema: TSchema, table: TTable, ast: AST, format: Format | undefined): Query<TSchema, TTable, TReturn>;
27
+ one(): Query<TSchema, TTable, TReturn | undefined>;
28
+ whereExists(relationship: string, cb?: (q: AnyQuery) => AnyQuery): Query<TSchema, TTable, TReturn>;
29
+ related(relationship: string, cb?: (q: AnyQuery) => AnyQuery): AnyQuery;
30
+ where(fieldOrExpressionFactory: string | ExpressionFactory<TSchema, TTable>, opOrValue?: Operator | GetFieldTypeNoUndefined<any, any, any> | Parameter, value?: GetFieldTypeNoUndefined<any, any, any> | Parameter): Query<TSchema, TTable, TReturn>;
31
+ start(row: Partial<PullRow<TTable, TSchema>>, opts?: {
32
32
  inclusive: boolean;
33
- } | undefined): Query<TSchema, TReturn>;
34
- limit(limit: number): Query<TSchema, TReturn>;
35
- orderBy<TSelector extends keyof TSchema['columns']>(field: TSelector, direction: 'asc' | 'desc'): Query<TSchema, TReturn>;
36
- protected _exists: (relationship: string, cb?: (query: Query<TableSchema, QueryType>) => Query<TableSchema, QueryType>) => Condition;
33
+ } | undefined): Query<TSchema, TTable, TReturn>;
34
+ limit(limit: number): Query<TSchema, TTable, TReturn>;
35
+ orderBy<TSelector extends keyof TSchema['tables'][TTable]['columns']>(field: TSelector, direction: 'asc' | 'desc'): Query<TSchema, TTable, TReturn>;
36
+ protected _exists: (relationship: string, cb?: (query: AnyQuery) => AnyQuery) => Condition;
37
37
  protected _completeAst(): AST;
38
- abstract materialize(): TypedView<Smash<TReturn>>;
39
- abstract materialize<T>(factory: ViewFactory<TSchema, TReturn, T>): T;
40
- abstract run(): Smash<TReturn>;
38
+ abstract materialize(): TypedView<HumanReadable<TReturn>>;
39
+ abstract materialize<T>(factory: ViewFactory<TSchema, TTable, TReturn, T>): T;
40
+ abstract run(): HumanReadable<TReturn>;
41
41
  abstract preload(): {
42
42
  cleanup: () => void;
43
43
  complete: Promise<void>;
@@ -45,18 +45,19 @@ export declare abstract class AbstractQuery<TSchema extends TableSchema, TReturn
45
45
  }
46
46
  export declare const astForTestingSymbol: unique symbol;
47
47
  export declare const completedAstSymbol: unique symbol;
48
- export declare class QueryImpl<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> extends AbstractQuery<TSchema, TReturn> {
48
+ export declare class QueryImpl<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn = PullRow<TTable, TSchema>> extends AbstractQuery<TSchema, TTable, TReturn> {
49
49
  #private;
50
- constructor(delegate: QueryDelegate, schema: NormalizedTableSchema, ast?: AST, format?: Format | undefined);
50
+ constructor(delegate: QueryDelegate, schema: TSchema, tableName: TTable, ast?: AST, format?: Format | undefined);
51
51
  protected readonly _system = "client";
52
52
  get [astForTestingSymbol](): AST;
53
53
  get [completedAstSymbol](): AST;
54
- protected _newQuery<TSchema extends TableSchema, TReturn extends QueryType>(schema: NormalizedTableSchema, ast: AST, format: Format | undefined): Query<TSchema, TReturn>;
55
- materialize<T>(factory?: ViewFactory<TSchema, TReturn, T>): T;
56
- run(): Smash<TReturn>;
54
+ protected _newQuery<TSchema extends Schema, TTable extends string, TReturn>(schema: TSchema, tableName: TTable, ast: AST, format: Format | undefined): Query<TSchema, TTable, TReturn>;
55
+ materialize<T>(factory?: ViewFactory<TSchema, TTable, TReturn, T>): T;
56
+ run(): HumanReadable<TReturn>;
57
57
  preload(): {
58
58
  cleanup: () => void;
59
59
  complete: Promise<void>;
60
60
  };
61
61
  }
62
+ export {};
62
63
  //# sourceMappingURL=query-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,GAAG,EACH,SAAS,EAET,SAAS,EACT,MAAM,EACP,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAgB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAG1E,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,KAAK,EACN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,QAAQ,CACtB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,EAC1D,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAExE;AAcD,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;AACjD,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI,CAAC;IAC5E,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI,CAAC;IACpD,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,UAAU,GAAG,gBAAgB,EAC1C,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GACvB,SAAS,CAOX;AAED,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,8BAAsB,aAAa,CACjC,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAC1D,YAAW,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;;gBAQxC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAO7B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,IAAI,MAAM;IASd,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,EAEzB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAc5C,WAAW,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAa7E,OAAO,CAAC,aAAa,SAAS,MAAM,OAAO,CAAC,eAAe,CAAC,EAC1D,YAAY,EAAE,aAAa,GAC1B,KAAK,CACN,OAAO,EACP,YAAY,CACV,KAAK,CACH,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,EACjD,qBAAqB,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACzE,EACD,OAAO,EACP,aAAa,GAAG,MAAM,CACvB,CACF;IAwHD,KAAK,CACH,wBAAwB,EAAE,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAC7D,SAAS,CAAC,EAAE,QAAQ,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EACzE,KAAK,CAAC,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACzD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAyB1B,KAAK,CACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAC1B,IAAI,CAAC,EAAE;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,SAAS,GACtC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAc1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAkB7C,OAAO,CAAC,SAAS,SAAS,MAAM,OAAO,CAAC,SAAS,CAAC,EAChD,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,KAAK,GAAG,MAAM,GACxB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAW1B,SAAS,CAAC,OAAO,iBACD,MAAM,OAChB,CACF,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,KACjC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,KACjC,SAAS,CA8EV;IAIF,SAAS,CAAC,YAAY,IAAI,GAAG;IA2B7B,QAAQ,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;IACrE,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,IAAI;QAClB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CACF;AAED,eAAO,MAAM,mBAAmB,eAAW,CAAC;AAC5C,eAAO,MAAM,kBAAkB,eAAW,CAAC;AAE3C,qBAAa,SAAS,CACpB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAC1D,SAAQ,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;;gBAKrC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAO7B,SAAS,CAAC,QAAQ,CAAC,OAAO,YAAY;IAGtC,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAE/B;IAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAE9B;IAED,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;IAoC7D,GAAG;IAOH,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAaF"}
1
+ {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,16 @@
3
3
  import { resolver } from '@rocicorp/resolver';
4
4
  import { assert } from '../../../shared/src/asserts.js';
5
5
  import { hashOfAST } from '../../../zero-protocol/src/ast-hash.js';
6
- import { normalizeTableSchema, } from '../../../zero-schema/src/normalize-table-schema.js';
7
- import { isFieldRelationship, isJunctionRelationship, } from '../../../zero-schema/src/table-schema.js';
6
+ import { isOneHop, isTwoHop, } from '../../../zero-schema/src/table-schema.js';
8
7
  import { buildPipeline } from '../builder/builder.js';
9
8
  import { ArrayView } from '../ivm/array-view.js';
10
9
  import { dnf } from './dnf.js';
11
10
  import { and, cmp, ExpressionBuilder, } from './expression.js';
12
- export function newQuery(delegate, tableSchema) {
13
- return new QueryImpl(delegate, normalizeTableSchema(tableSchema));
11
+ export function newQuery(delegate, schema, table) {
12
+ return new QueryImpl(delegate, schema, table);
14
13
  }
15
- function newQueryWithDetails(delegate, schema, ast, format) {
16
- return new QueryImpl(delegate, schema, ast, format);
14
+ function newQueryWithDetails(delegate, schema, tableName, ast, format) {
15
+ return new QueryImpl(delegate, schema, tableName, ast, format);
17
16
  }
18
17
  export function staticParam(anchorClass, field) {
19
18
  return {
@@ -27,12 +26,14 @@ export const SUBQ_PREFIX = 'zsubq_';
27
26
  export class AbstractQuery {
28
27
  #ast;
29
28
  #schema;
29
+ #tableName;
30
30
  #format;
31
31
  #hash = '';
32
- constructor(schema, ast, format) {
32
+ constructor(schema, tableName, ast, format) {
33
33
  this.#ast = ast;
34
34
  this.#format = format ?? { singular: false, relationships: {} };
35
35
  this.#schema = schema;
36
+ this.#tableName = tableName;
36
37
  }
37
38
  get format() {
38
39
  return this.#format;
@@ -46,7 +47,7 @@ export class AbstractQuery {
46
47
  return this.#hash;
47
48
  }
48
49
  one() {
49
- return this._newQuery(this.#schema, {
50
+ return this._newQuery(this.#schema, this.#tableName, {
50
51
  ...this.#ast,
51
52
  limit: 1,
52
53
  }, {
@@ -54,32 +55,39 @@ export class AbstractQuery {
54
55
  singular: true,
55
56
  });
56
57
  }
57
- whereExists(relationship, cb = q => q) {
58
+ whereExists(relationship, cb) {
58
59
  return this.where(({ exists }) => exists(relationship, cb));
59
60
  }
60
- related(relationship, cb = q => q) {
61
+ related(relationship, cb) {
61
62
  if (relationship.startsWith(SUBQ_PREFIX)) {
62
63
  throw new Error(`Relationship names may not start with "${SUBQ_PREFIX}". That is a reserved prefix.`);
63
64
  }
64
- const related = this.#schema.relationships[relationship];
65
+ cb = cb ?? (q => q);
66
+ const related = this.#schema.relationships[this.#tableName][relationship];
65
67
  assert(related, 'Invalid relationship');
66
- if (isFieldRelationship(related)) {
67
- const { destSchema } = related;
68
- const sq = cb(this._newQuery(destSchema, {
69
- table: destSchema.tableName,
68
+ if (isOneHop(related)) {
69
+ const { destSchema, destField, sourceField, cardinality } = related[0];
70
+ const sq = cb(this._newQuery(this.#schema, destSchema, {
71
+ table: destSchema,
70
72
  alias: relationship,
71
- }, undefined));
72
- return this._newQuery(this.#schema, {
73
+ }, {
74
+ relationships: {},
75
+ singular: cardinality === 'one',
76
+ }));
77
+ assert(isCompoundKey(sourceField), 'The source of a relationship must specify at last 1 field');
78
+ assert(isCompoundKey(destField), 'The destination of a relationship must specify at last 1 field');
79
+ assert(sourceField.length === destField.length, 'The source and destination of a relationship must have the same number of fields');
80
+ return this._newQuery(this.#schema, this.#tableName, {
73
81
  ...this.#ast,
74
82
  related: [
75
83
  ...(this.#ast.related ?? []),
76
84
  {
77
85
  system: this._system,
78
86
  correlation: {
79
- parentField: related.sourceField,
80
- childField: related.destField,
87
+ parentField: sourceField,
88
+ childField: destField,
81
89
  },
82
- subquery: addPrimaryKeysToAst(destSchema, sq.#ast),
90
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq.#ast),
83
91
  },
84
92
  ],
85
93
  }, {
@@ -90,16 +98,23 @@ export class AbstractQuery {
90
98
  },
91
99
  });
92
100
  }
93
- if (isJunctionRelationship(related)) {
101
+ if (isTwoHop(related)) {
94
102
  assert(related.length === 2, 'Invalid relationship');
95
103
  const [firstRelation, secondRelation] = related;
96
104
  const { destSchema } = secondRelation;
97
105
  const junctionSchema = firstRelation.destSchema;
98
- const sq = cb(this._newQuery(destSchema, {
99
- table: destSchema.tableName,
106
+ const sq = cb(this._newQuery(this.#schema, destSchema, {
107
+ table: destSchema,
100
108
  alias: relationship,
101
- }, undefined));
102
- return this._newQuery(this.#schema, {
109
+ }, {
110
+ relationships: {},
111
+ singular: secondRelation.cardinality === 'one',
112
+ }));
113
+ assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');
114
+ assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');
115
+ assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');
116
+ assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');
117
+ return this._newQuery(this.#schema, this.#tableName, {
103
118
  ...this.#ast,
104
119
  related: [
105
120
  ...(this.#ast.related ?? []),
@@ -110,9 +125,9 @@ export class AbstractQuery {
110
125
  childField: firstRelation.destField,
111
126
  },
112
127
  subquery: {
113
- table: junctionSchema.tableName,
128
+ table: junctionSchema,
114
129
  alias: relationship,
115
- orderBy: addPrimaryKeys(junctionSchema, undefined),
130
+ orderBy: addPrimaryKeys(this.#schema.tables[junctionSchema], undefined),
116
131
  related: [
117
132
  {
118
133
  system: this._system,
@@ -121,7 +136,7 @@ export class AbstractQuery {
121
136
  childField: secondRelation.destField,
122
137
  },
123
138
  hidden: true,
124
- subquery: addPrimaryKeysToAst(destSchema, sq.#ast),
139
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq.#ast),
125
140
  },
126
141
  ],
127
142
  },
@@ -150,13 +165,13 @@ export class AbstractQuery {
150
165
  if (existingWhere) {
151
166
  cond = and(existingWhere, cond);
152
167
  }
153
- return this._newQuery(this.#schema, {
168
+ return this._newQuery(this.#schema, this.#tableName, {
154
169
  ...this.#ast,
155
170
  where: dnf(cond),
156
171
  }, this.#format);
157
172
  }
158
173
  start(row, opts) {
159
- return this._newQuery(this.#schema, {
174
+ return this._newQuery(this.#schema, this.#tableName, {
160
175
  ...this.#ast,
161
176
  start: {
162
177
  row,
@@ -171,24 +186,26 @@ export class AbstractQuery {
171
186
  if ((limit | 0) !== limit) {
172
187
  throw new Error('Limit must be an integer');
173
188
  }
174
- return this._newQuery(this.#schema, {
189
+ return this._newQuery(this.#schema, this.#tableName, {
175
190
  ...this.#ast,
176
191
  limit,
177
192
  }, this.#format);
178
193
  }
179
194
  orderBy(field, direction) {
180
- return this._newQuery(this.#schema, {
195
+ return this._newQuery(this.#schema, this.#tableName, {
181
196
  ...this.#ast,
182
197
  orderBy: [...(this.#ast.orderBy ?? []), [field, direction]],
183
198
  }, this.#format);
184
199
  }
185
200
  _exists = (relationship, cb = q => q) => {
186
- const related = this.#schema.relationships[relationship];
201
+ const related = this.#schema.relationships[this.#tableName][relationship];
187
202
  assert(related, 'Invalid relationship');
188
- if (isFieldRelationship(related)) {
189
- const { destSchema } = related;
190
- const sq = cb(this._newQuery(destSchema, {
191
- table: destSchema.tableName,
203
+ if (isOneHop(related)) {
204
+ const { destSchema, sourceField, destField } = related[0];
205
+ assert(isCompoundKey(sourceField), 'Invalid relationship');
206
+ assert(isCompoundKey(destField), 'Invalid relationship');
207
+ const sq = cb(this._newQuery(this.#schema, destSchema, {
208
+ table: destSchema,
192
209
  alias: `${SUBQ_PREFIX}${relationship}`,
193
210
  }, undefined));
194
211
  return {
@@ -196,21 +213,25 @@ export class AbstractQuery {
196
213
  related: {
197
214
  system: this._system,
198
215
  correlation: {
199
- parentField: related.sourceField,
200
- childField: related.destField,
216
+ parentField: sourceField,
217
+ childField: destField,
201
218
  },
202
- subquery: addPrimaryKeysToAst(destSchema, sq.#ast),
219
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq.#ast),
203
220
  },
204
221
  op: 'EXISTS',
205
222
  };
206
223
  }
207
- if (isJunctionRelationship(related)) {
224
+ if (isTwoHop(related)) {
208
225
  assert(related.length === 2, 'Invalid relationship');
209
226
  const [firstRelation, secondRelation] = related;
227
+ assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');
228
+ assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');
229
+ assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');
230
+ assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');
210
231
  const { destSchema } = secondRelation;
211
232
  const junctionSchema = firstRelation.destSchema;
212
- const queryToDest = cb(this._newQuery(destSchema, {
213
- table: destSchema.tableName,
233
+ const queryToDest = cb(this._newQuery(this.#schema, destSchema, {
234
+ table: destSchema,
214
235
  alias: `${SUBQ_PREFIX}${relationship}`,
215
236
  }, undefined));
216
237
  return {
@@ -222,9 +243,9 @@ export class AbstractQuery {
222
243
  childField: firstRelation.destField,
223
244
  },
224
245
  subquery: {
225
- table: junctionSchema.tableName,
246
+ table: junctionSchema,
226
247
  alias: `${SUBQ_PREFIX}${relationship}`,
227
- orderBy: addPrimaryKeys(junctionSchema, undefined),
248
+ orderBy: addPrimaryKeys(this.#schema.tables[junctionSchema], undefined),
228
249
  where: {
229
250
  type: 'correlatedSubquery',
230
251
  related: {
@@ -233,7 +254,7 @@ export class AbstractQuery {
233
254
  parentField: secondRelation.sourceField,
234
255
  childField: secondRelation.destField,
235
256
  },
236
- subquery: addPrimaryKeysToAst(destSchema, queryToDest.#ast),
257
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], queryToDest.#ast),
237
258
  },
238
259
  op: 'EXISTS',
239
260
  },
@@ -247,7 +268,7 @@ export class AbstractQuery {
247
268
  #completedAST;
248
269
  _completeAst() {
249
270
  if (!this.#completedAST) {
250
- const finalOrderBy = addPrimaryKeys(this.#schema, this.#ast.orderBy);
271
+ const finalOrderBy = addPrimaryKeys(this.#schema.tables[this.#tableName], this.#ast.orderBy);
251
272
  if (this.#ast.start) {
252
273
  const { row } = this.#ast.start;
253
274
  const narrowedRow = {};
@@ -266,7 +287,7 @@ export class AbstractQuery {
266
287
  else {
267
288
  this.#completedAST = {
268
289
  ...this.#ast,
269
- orderBy: addPrimaryKeys(this.#schema, this.#ast.orderBy),
290
+ orderBy: addPrimaryKeys(this.#schema.tables[this.#tableName], this.#ast.orderBy),
270
291
  };
271
292
  }
272
293
  }
@@ -278,8 +299,8 @@ export const completedAstSymbol = Symbol();
278
299
  export class QueryImpl extends AbstractQuery {
279
300
  #delegate;
280
301
  #ast;
281
- constructor(delegate, schema, ast = { table: schema.tableName }, format) {
282
- super(schema, ast, format);
302
+ constructor(delegate, schema, tableName, ast = { table: tableName }, format) {
303
+ super(schema, tableName, ast, format);
283
304
  this.#delegate = delegate;
284
305
  this.#ast = ast;
285
306
  }
@@ -291,8 +312,8 @@ export class QueryImpl extends AbstractQuery {
291
312
  get [completedAstSymbol]() {
292
313
  return this._completeAst();
293
314
  }
294
- _newQuery(schema, ast, format) {
295
- return newQueryWithDetails(this.#delegate, schema, ast, format);
315
+ _newQuery(schema, tableName, ast, format) {
316
+ return newQueryWithDetails(this.#delegate, schema, tableName, ast, format);
296
317
  }
297
318
  materialize(factory) {
298
319
  const ast = this._completeAst();
@@ -365,4 +386,7 @@ function arrayViewFactory(_query, input, format, onDestroy, onTransactionCommit,
365
386
  });
366
387
  return v;
367
388
  }
389
+ function isCompoundKey(field) {
390
+ return Array.isArray(field) && field.length >= 1;
391
+ }
368
392
  //# sourceMappingURL=query-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-impl.js","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-impl.js","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
+ import type { Schema } from '../../../zero-schema/src/builder/schema-builder.js';
1
2
  import type { Format, ViewFactory } from '../ivm/view.js';
2
- import type { DefaultQueryResultRow, Query, QueryType, Smash } from './query.js';
3
- import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
3
+ import type { HumanReadable, PullRow, Query } from './query.js';
4
4
  import type { TypedView } from './typed-view.js';
5
- export interface AdvancedQuery<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> extends Query<TSchema, TReturn> {
6
- materialize(): TypedView<Smash<TReturn>>;
7
- materialize<T>(factory: ViewFactory<TSchema, TReturn, T>): T;
5
+ export interface AdvancedQuery<TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn = PullRow<TTable, TSchema>> extends Query<TSchema, TTable, TReturn> {
6
+ materialize(): TypedView<HumanReadable<TReturn>>;
7
+ materialize<T>(factory: ViewFactory<TSchema, TTable, TReturn, T>): T;
8
8
  get format(): Format;
9
9
  hash(): string;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-internal.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAC1D,SAAQ,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAC/B,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,IAAI,MAAM,CAAC;IACrB,IAAI,IAAI,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"query-internal.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAClC,SAAQ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IACvC,WAAW,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,MAAM,IAAI,MAAM,CAAC;IACrB,IAAI,IAAI,MAAM,CAAC;CAChB"}