@rocicorp/zero 0.25.0-canary.1 → 0.25.0-canary.3

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 (416) hide show
  1. package/out/analyze-query/src/bin-analyze.js +27 -38
  2. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  3. package/out/ast-to-zql/src/bin.js.map +1 -1
  4. package/out/{chunk-ZZXMKAAG.js → chunk-5H7WNLPK.js} +2 -2
  5. package/out/chunk-HYS7YLNL.js +575 -0
  6. package/out/chunk-HYS7YLNL.js.map +7 -0
  7. package/out/{chunk-AIPM77UE.js → chunk-IWL6EEA6.js} +10418 -10217
  8. package/out/chunk-IWL6EEA6.js.map +7 -0
  9. package/out/{chunk-TJFNGO7E.js → chunk-JKP7HDC6.js} +15 -53
  10. package/out/chunk-JKP7HDC6.js.map +7 -0
  11. package/out/{chunk-ECUMGQGC.js → chunk-RYFBHAD4.js} +17 -4
  12. package/out/chunk-RYFBHAD4.js.map +7 -0
  13. package/out/chunk-SRLXXPNB.js +495 -0
  14. package/out/chunk-SRLXXPNB.js.map +7 -0
  15. package/out/{chunk-EZM3XBAB.js → chunk-U2KJIWVC.js} +47 -2
  16. package/out/chunk-U2KJIWVC.js.map +7 -0
  17. package/out/expo-sqlite.js +4 -4
  18. package/out/{inspector-IU2HG74I.js → inspector-GP3CBZRU.js} +1 -1
  19. package/out/inspector-GP3CBZRU.js.map +7 -0
  20. package/out/{lazy-inspector-OXIFYSSQ.js → lazy-inspector-4CO3DXP5.js} +9 -8
  21. package/out/lazy-inspector-4CO3DXP5.js.map +7 -0
  22. package/out/op-sqlite.js +3 -3
  23. package/out/react-native.js +4 -4
  24. package/out/react.js +63 -49
  25. package/out/react.js.map +2 -2
  26. package/out/replicache/src/kv/sqlite-store.d.ts +7 -1
  27. package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
  28. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  29. package/out/replicache/src/replicache-options.d.ts +3 -2
  30. package/out/replicache/src/replicache-options.d.ts.map +1 -1
  31. package/out/replicache/src/sqlite.d.ts +1 -1
  32. package/out/replicache/src/sqlite.d.ts.map +1 -1
  33. package/out/shared/src/error.d.ts +4 -0
  34. package/out/shared/src/error.d.ts.map +1 -0
  35. package/out/shared/src/error.js +70 -0
  36. package/out/shared/src/error.js.map +1 -0
  37. package/out/solid.js +52 -24
  38. package/out/solid.js.map +2 -2
  39. package/out/sqlite.js +5 -3
  40. package/out/z2s/src/compiler.d.ts +2 -2
  41. package/out/z2s/src/compiler.d.ts.map +1 -1
  42. package/out/z2s/src/compiler.js.map +1 -1
  43. package/out/z2s/src/sql.d.ts +1 -1
  44. package/out/z2s/src/sql.d.ts.map +1 -1
  45. package/out/zero/package.json +5 -3
  46. package/out/zero/src/zero-out.d.ts +3 -0
  47. package/out/zero/src/zero-out.d.ts.map +1 -0
  48. package/out/zero/src/zero-out.js +13 -0
  49. package/out/zero/src/zero-out.js.map +1 -0
  50. package/out/zero-cache/src/auth/load-permissions.d.ts +1 -1
  51. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  52. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  53. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  54. package/out/zero-cache/src/auth/write-authorizer.js +36 -12
  55. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  56. package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
  57. package/out/zero-cache/src/custom/fetch.js +8 -7
  58. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  59. package/out/zero-cache/src/custom-queries/transform-query.d.ts +3 -3
  60. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  61. package/out/zero-cache/src/custom-queries/transform-query.js +6 -7
  62. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  63. package/out/zero-cache/src/scripts/decommission.d.ts +50 -0
  64. package/out/zero-cache/src/scripts/decommission.d.ts.map +1 -0
  65. package/out/zero-cache/src/scripts/decommission.js +51 -0
  66. package/out/zero-cache/src/scripts/decommission.js.map +1 -0
  67. package/out/zero-cache/src/scripts/permissions.d.ts +1 -1
  68. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  69. package/out/zero-cache/src/scripts/permissions.js +2 -2
  70. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  71. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  72. package/out/zero-cache/src/server/change-streamer.js +7 -10
  73. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  74. package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
  75. package/out/zero-cache/src/server/inspector-delegate.js +2 -1
  76. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  77. package/out/zero-cache/src/services/analyze.d.ts +2 -6
  78. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  79. package/out/zero-cache/src/services/analyze.js +4 -3
  80. package/out/zero-cache/src/services/analyze.js.map +1 -1
  81. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +2 -3
  82. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  83. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +15 -15
  84. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  85. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts +16 -0
  86. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts.map +1 -0
  87. package/out/zero-cache/src/services/change-streamer/replica-monitor.js +52 -0
  88. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  89. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  90. package/out/zero-cache/src/services/change-streamer/storer.js +15 -1
  91. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  92. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +2 -2
  93. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  94. package/out/zero-cache/src/services/change-streamer/subscriber.js +16 -11
  95. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  96. package/out/zero-cache/src/services/mutagen/pusher.d.ts +19 -21
  97. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  98. package/out/zero-cache/src/services/mutagen/pusher.js +11 -12
  99. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  100. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  101. package/out/zero-cache/src/services/run-ast.js +1 -0
  102. package/out/zero-cache/src/services/run-ast.js.map +1 -1
  103. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  104. package/out/zero-cache/src/services/view-syncer/cvr-store.js +41 -14
  105. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  106. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  107. package/out/zero-cache/src/services/view-syncer/cvr.js +5 -4
  108. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  109. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -0
  110. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
  111. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +5 -0
  112. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  113. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +1 -1
  114. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
  115. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +81 -2
  116. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  117. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  118. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +24 -2
  119. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  120. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  121. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +4 -2
  122. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  123. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  124. package/out/zero-cache/src/services/view-syncer/schema/init.js +25 -0
  125. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  126. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +7 -0
  127. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  128. package/out/zero-cache/src/services/view-syncer/view-syncer.js +54 -6
  129. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  130. package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -1
  131. package/out/zero-cache/src/types/error-with-level.js +8 -3
  132. package/out/zero-cache/src/types/error-with-level.js.map +1 -1
  133. package/out/zero-cache/src/types/streams.d.ts +1 -1
  134. package/out/zero-cache/src/types/streams.d.ts.map +1 -1
  135. package/out/zero-cache/src/types/streams.js +19 -9
  136. package/out/zero-cache/src/types/streams.js.map +1 -1
  137. package/out/zero-cache/src/types/subscription.d.ts +16 -1
  138. package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
  139. package/out/zero-cache/src/types/subscription.js +41 -5
  140. package/out/zero-cache/src/types/subscription.js.map +1 -1
  141. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  142. package/out/zero-cache/src/workers/syncer.js +1 -3
  143. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  144. package/out/zero-client/src/client/bindings.d.ts +42 -0
  145. package/out/zero-client/src/client/bindings.d.ts.map +1 -0
  146. package/out/zero-client/src/client/client-error-kind-enum.d.ts +12 -12
  147. package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
  148. package/out/zero-client/src/client/connection-manager.d.ts +28 -13
  149. package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
  150. package/out/zero-client/src/client/connection-status-enum.d.ts +2 -0
  151. package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
  152. package/out/zero-client/src/client/connection.d.ts +11 -3
  153. package/out/zero-client/src/client/connection.d.ts.map +1 -1
  154. package/out/zero-client/src/client/context.d.ts +12 -10
  155. package/out/zero-client/src/client/context.d.ts.map +1 -1
  156. package/out/zero-client/src/client/crud.d.ts +1 -1
  157. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  158. package/out/zero-client/src/client/custom.d.ts +39 -16
  159. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  160. package/out/zero-client/src/client/error.d.ts +50 -166
  161. package/out/zero-client/src/client/error.d.ts.map +1 -1
  162. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -1
  163. package/out/zero-client/src/client/inspector/inspector.d.ts +3 -2
  164. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  165. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
  166. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
  167. package/out/zero-client/src/client/mutation-tracker.d.ts +10 -2
  168. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  169. package/out/zero-client/src/client/mutator-proxy.d.ts +16 -0
  170. package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -0
  171. package/out/zero-client/src/client/options.d.ts +45 -22
  172. package/out/zero-client/src/client/options.d.ts.map +1 -1
  173. package/out/zero-client/src/client/query-manager.d.ts +9 -2
  174. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  175. package/out/zero-client/src/client/zero-log-context.d.ts +3 -3
  176. package/out/zero-client/src/client/zero-log-context.d.ts.map +1 -1
  177. package/out/zero-client/src/client/zero-poke-handler.d.ts +3 -3
  178. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  179. package/out/zero-client/src/client/zero-rep.d.ts +7 -4
  180. package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
  181. package/out/zero-client/src/client/zero.d.ts +88 -18
  182. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  183. package/out/zero-client/src/mod.d.ts +17 -9
  184. package/out/zero-client/src/mod.d.ts.map +1 -1
  185. package/out/zero-client/src/types/query-result.d.ts +24 -0
  186. package/out/zero-client/src/types/query-result.d.ts.map +1 -0
  187. package/out/zero-protocol/src/analyze-query-result.d.ts +1 -0
  188. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
  189. package/out/zero-protocol/src/analyze-query-result.js +1 -0
  190. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  191. package/out/zero-protocol/src/application-error.d.ts +27 -0
  192. package/out/zero-protocol/src/application-error.d.ts.map +1 -0
  193. package/out/zero-protocol/src/application-error.js +40 -0
  194. package/out/zero-protocol/src/application-error.js.map +1 -0
  195. package/out/zero-protocol/src/custom-queries.d.ts +27 -95
  196. package/out/zero-protocol/src/custom-queries.d.ts.map +1 -1
  197. package/out/zero-protocol/src/custom-queries.js +9 -24
  198. package/out/zero-protocol/src/custom-queries.js.map +1 -1
  199. package/out/zero-protocol/src/down.d.ts +8 -9
  200. package/out/zero-protocol/src/down.d.ts.map +1 -1
  201. package/out/zero-protocol/src/error.d.ts +42 -0
  202. package/out/zero-protocol/src/error.d.ts.map +1 -1
  203. package/out/zero-protocol/src/error.js +7 -0
  204. package/out/zero-protocol/src/error.js.map +1 -1
  205. package/out/zero-protocol/src/inspect-down.d.ts +3 -0
  206. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  207. package/out/zero-protocol/src/mutations-patch.d.ts +3 -0
  208. package/out/zero-protocol/src/mutations-patch.d.ts.map +1 -1
  209. package/out/zero-protocol/src/poke.d.ts +2 -0
  210. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  211. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  212. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  213. package/out/zero-protocol/src/protocol-version.js +3 -1
  214. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  215. package/out/zero-protocol/src/push.d.ts +7 -0
  216. package/out/zero-protocol/src/push.d.ts.map +1 -1
  217. package/out/zero-protocol/src/push.js +1 -0
  218. package/out/zero-protocol/src/push.js.map +1 -1
  219. package/out/zero-react/src/components/inspector.d.ts +1 -1
  220. package/out/zero-react/src/components/inspector.d.ts.map +1 -1
  221. package/out/zero-react/src/components/zero-inspector.d.ts +1 -1
  222. package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
  223. package/out/zero-react/src/mod.d.ts +6 -2
  224. package/out/zero-react/src/mod.d.ts.map +1 -1
  225. package/out/zero-react/src/use-query.d.ts +7 -26
  226. package/out/zero-react/src/use-query.d.ts.map +1 -1
  227. package/out/zero-react/src/zero-provider.d.ts +7 -7
  228. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  229. package/out/zero-schema/src/builder/schema-builder.d.ts +1 -3
  230. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  231. package/out/zero-schema/src/permissions.d.ts +1 -1
  232. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  233. package/out/zero-schema/src/schema-config.d.ts +1 -1
  234. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  235. package/out/zero-server/src/adapters/drizzle.d.ts +2 -2
  236. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  237. package/out/zero-server/src/adapters/drizzle.js +4 -0
  238. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  239. package/out/zero-server/src/adapters/pg.d.ts +8 -3
  240. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  241. package/out/zero-server/src/adapters/pg.js +4 -0
  242. package/out/zero-server/src/adapters/pg.js.map +1 -1
  243. package/out/zero-server/src/adapters/postgresjs.d.ts +8 -3
  244. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  245. package/out/zero-server/src/adapters/postgresjs.js +4 -0
  246. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  247. package/out/zero-server/src/custom.d.ts +11 -8
  248. package/out/zero-server/src/custom.d.ts.map +1 -1
  249. package/out/zero-server/src/custom.js +15 -3
  250. package/out/zero-server/src/custom.js.map +1 -1
  251. package/out/zero-server/src/mod.d.ts +4 -4
  252. package/out/zero-server/src/mod.d.ts.map +1 -1
  253. package/out/zero-server/src/mod.js +4 -4
  254. package/out/zero-server/src/mod.js.map +1 -1
  255. package/out/zero-server/src/pg-query-executor.d.ts +11 -0
  256. package/out/zero-server/src/pg-query-executor.d.ts.map +1 -0
  257. package/out/zero-server/src/pg-query-executor.js +17 -0
  258. package/out/zero-server/src/pg-query-executor.js.map +1 -0
  259. package/out/zero-server/src/process-mutations.d.ts +2 -1
  260. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  261. package/out/zero-server/src/process-mutations.js +181 -68
  262. package/out/zero-server/src/process-mutations.js.map +1 -1
  263. package/out/zero-server/src/queries/process-queries.d.ts +6 -5
  264. package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
  265. package/out/zero-server/src/queries/process-queries.js +87 -19
  266. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  267. package/out/zero-server/src/schema.d.ts +2 -2
  268. package/out/zero-server/src/schema.d.ts.map +1 -1
  269. package/out/zero-server/src/schema.js.map +1 -1
  270. package/out/zero-server/src/zql-database.d.ts +6 -3
  271. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  272. package/out/zero-server/src/zql-database.js +17 -19
  273. package/out/zero-server/src/zql-database.js.map +1 -1
  274. package/out/zero-solid/src/mod.d.ts +8 -0
  275. package/out/zero-solid/src/mod.d.ts.map +1 -1
  276. package/out/zero-solid/src/solid-view.d.ts +3 -23
  277. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  278. package/out/zero-solid/src/use-query.d.ts +4 -4
  279. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  280. package/out/zero-solid/src/use-zero.d.ts +8 -7
  281. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  282. package/out/zero-types/src/server-schema.d.ts.map +1 -0
  283. package/out/zero-types/src/server-schema.js.map +1 -0
  284. package/out/zero.js +31 -14
  285. package/out/zql/src/builder/builder.d.ts +6 -0
  286. package/out/zql/src/builder/builder.d.ts.map +1 -1
  287. package/out/zql/src/builder/builder.js +1 -1
  288. package/out/zql/src/builder/builder.js.map +1 -1
  289. package/out/zql/src/builder/debug-delegate.d.ts +4 -0
  290. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  291. package/out/zql/src/builder/debug-delegate.js +17 -0
  292. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  293. package/out/zql/src/ivm/view.d.ts +3 -2
  294. package/out/zql/src/ivm/view.d.ts.map +1 -1
  295. package/out/zql/src/mutate/custom.d.ts +13 -8
  296. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  297. package/out/zql/src/mutate/custom.js.map +1 -1
  298. package/out/zql/src/planner/planner-builder.d.ts +2 -1
  299. package/out/zql/src/planner/planner-builder.d.ts.map +1 -1
  300. package/out/zql/src/planner/planner-builder.js +33 -8
  301. package/out/zql/src/planner/planner-builder.js.map +1 -1
  302. package/out/zql/src/planner/planner-connection.d.ts +9 -3
  303. package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
  304. package/out/zql/src/planner/planner-connection.js +38 -82
  305. package/out/zql/src/planner/planner-connection.js.map +1 -1
  306. package/out/zql/src/planner/planner-debug.d.ts +37 -7
  307. package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
  308. package/out/zql/src/planner/planner-debug.js +131 -80
  309. package/out/zql/src/planner/planner-debug.js.map +1 -1
  310. package/out/zql/src/planner/planner-fan-in.d.ts +5 -3
  311. package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
  312. package/out/zql/src/planner/planner-fan-in.js +41 -23
  313. package/out/zql/src/planner/planner-fan-in.js.map +1 -1
  314. package/out/zql/src/planner/planner-fan-out.d.ts +5 -3
  315. package/out/zql/src/planner/planner-fan-out.d.ts.map +1 -1
  316. package/out/zql/src/planner/planner-fan-out.js +22 -5
  317. package/out/zql/src/planner/planner-fan-out.js.map +1 -1
  318. package/out/zql/src/planner/planner-graph.d.ts +2 -2
  319. package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
  320. package/out/zql/src/planner/planner-graph.js +18 -49
  321. package/out/zql/src/planner/planner-graph.js.map +1 -1
  322. package/out/zql/src/planner/planner-join.d.ts +61 -6
  323. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  324. package/out/zql/src/planner/planner-join.js +156 -69
  325. package/out/zql/src/planner/planner-join.js.map +1 -1
  326. package/out/zql/src/planner/planner-node.d.ts +29 -2
  327. package/out/zql/src/planner/planner-node.d.ts.map +1 -1
  328. package/out/zql/src/planner/planner-source.d.ts +1 -1
  329. package/out/zql/src/planner/planner-source.d.ts.map +1 -1
  330. package/out/zql/src/planner/planner-source.js +2 -2
  331. package/out/zql/src/planner/planner-source.js.map +1 -1
  332. package/out/zql/src/planner/planner-terminus.d.ts +4 -3
  333. package/out/zql/src/planner/planner-terminus.d.ts.map +1 -1
  334. package/out/zql/src/planner/planner-terminus.js +4 -4
  335. package/out/zql/src/planner/planner-terminus.js.map +1 -1
  336. package/out/zql/src/query/chained-query.d.ts +35 -0
  337. package/out/zql/src/query/chained-query.d.ts.map +1 -0
  338. package/out/zql/src/query/chained-query.js +66 -0
  339. package/out/zql/src/query/chained-query.js.map +1 -0
  340. package/out/zql/src/query/define-query.d.ts +51 -0
  341. package/out/zql/src/query/define-query.d.ts.map +1 -0
  342. package/out/zql/src/query/define-query.js +53 -0
  343. package/out/zql/src/query/define-query.js.map +1 -0
  344. package/out/zql/src/query/error.d.ts +4 -0
  345. package/out/zql/src/query/error.d.ts.map +1 -0
  346. package/out/zql/src/query/error.js +9 -0
  347. package/out/zql/src/query/error.js.map +1 -0
  348. package/out/zql/src/query/named.d.ts +18 -7
  349. package/out/zql/src/query/named.d.ts.map +1 -1
  350. package/out/zql/src/query/named.js +39 -13
  351. package/out/zql/src/query/named.js.map +1 -1
  352. package/out/zql/src/query/query-delegate-base.d.ts +122 -0
  353. package/out/zql/src/query/query-delegate-base.d.ts.map +1 -0
  354. package/out/zql/src/query/query-delegate-base.js +136 -0
  355. package/out/zql/src/query/query-delegate-base.js.map +1 -0
  356. package/out/zql/src/query/query-delegate.d.ts +29 -4
  357. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  358. package/out/zql/src/query/query-impl.d.ts +27 -48
  359. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  360. package/out/zql/src/query/query-impl.js +155 -175
  361. package/out/zql/src/query/query-impl.js.map +1 -1
  362. package/out/zql/src/query/query-internals.d.ts +70 -0
  363. package/out/zql/src/query/query-internals.d.ts.map +1 -0
  364. package/out/zql/src/query/query-internals.js +21 -0
  365. package/out/zql/src/query/query-internals.js.map +1 -0
  366. package/out/zql/src/query/query.d.ts +26 -243
  367. package/out/zql/src/query/query.d.ts.map +1 -1
  368. package/out/zql/src/query/query.js +0 -1
  369. package/out/zql/src/query/query.js.map +1 -1
  370. package/out/zql/src/query/root-named-query.d.ts +33 -0
  371. package/out/zql/src/query/root-named-query.d.ts.map +1 -0
  372. package/out/zql/src/query/root-named-query.js +95 -0
  373. package/out/zql/src/query/root-named-query.js.map +1 -0
  374. package/out/zql/src/query/static-query.d.ts +5 -14
  375. package/out/zql/src/query/static-query.d.ts.map +1 -1
  376. package/out/zql/src/query/static-query.js +7 -17
  377. package/out/zql/src/query/static-query.js.map +1 -1
  378. package/out/zqlite/src/db.d.ts +2 -1
  379. package/out/zqlite/src/db.d.ts.map +1 -1
  380. package/out/zqlite/src/db.js +2 -0
  381. package/out/zqlite/src/db.js.map +1 -1
  382. package/out/zqlite/src/query-delegate.d.ts +6 -20
  383. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  384. package/out/zqlite/src/query-delegate.js +5 -29
  385. package/out/zqlite/src/query-delegate.js.map +1 -1
  386. package/out/zqlite/src/table-source.d.ts.map +1 -1
  387. package/out/zqlite/src/table-source.js +16 -0
  388. package/out/zqlite/src/table-source.js.map +1 -1
  389. package/package.json +5 -3
  390. package/out/chunk-55BOUNXO.js +0 -356
  391. package/out/chunk-55BOUNXO.js.map +0 -7
  392. package/out/chunk-AIPM77UE.js.map +0 -7
  393. package/out/chunk-ASRS2LFV.js +0 -35
  394. package/out/chunk-ASRS2LFV.js.map +0 -7
  395. package/out/chunk-ECUMGQGC.js.map +0 -7
  396. package/out/chunk-EZM3XBAB.js.map +0 -7
  397. package/out/chunk-TJFNGO7E.js.map +0 -7
  398. package/out/inspector-IU2HG74I.js.map +0 -7
  399. package/out/lazy-inspector-OXIFYSSQ.js.map +0 -7
  400. package/out/zero-client/src/client/on-error.d.ts +0 -15
  401. package/out/zero-client/src/client/on-error.d.ts.map +0 -1
  402. package/out/zero-schema/src/builder/relationship-builder.js +0 -24
  403. package/out/zero-schema/src/builder/relationship-builder.js.map +0 -1
  404. package/out/zero-schema/src/builder/schema-builder.js +0 -78
  405. package/out/zero-schema/src/builder/schema-builder.js.map +0 -1
  406. package/out/zero-schema/src/builder/table-builder.js +0 -128
  407. package/out/zero-schema/src/builder/table-builder.js.map +0 -1
  408. package/out/zero-schema/src/server-schema.d.ts.map +0 -1
  409. package/out/zero-schema/src/server-schema.js.map +0 -1
  410. package/out/zero-server/src/query.d.ts +0 -22
  411. package/out/zero-server/src/query.d.ts.map +0 -1
  412. package/out/zero-server/src/query.js +0 -61
  413. package/out/zero-server/src/query.js.map +0 -1
  414. /package/out/{chunk-ZZXMKAAG.js.map → chunk-5H7WNLPK.js.map} +0 -0
  415. /package/out/{zero-schema → zero-types}/src/server-schema.d.ts +0 -0
  416. /package/out/{zero-schema → zero-types}/src/server-schema.js +0 -0
@@ -1,7 +1,5 @@
1
- /* oxlint-disable @typescript-eslint/no-explicit-any */
2
1
  import { resolver } from '@rocicorp/resolver';
3
2
  import { assert } from "../../../shared/src/asserts.js";
4
- import { must } from "../../../shared/src/must.js";
5
3
  import { SUBQ_PREFIX, } from "../../../zero-protocol/src/ast.js";
6
4
  import { hashOfAST, hashOfNameAndArgs, } from "../../../zero-protocol/src/query-hash.js";
7
5
  import { buildPipeline } from "../builder/builder.js";
@@ -9,67 +7,58 @@ import { NotImplementedError } from "../error.js";
9
7
  import { ArrayView } from "../ivm/array-view.js";
10
8
  import { defaultFormat } from "../ivm/default-format.js";
11
9
  import { and, cmp, ExpressionBuilder, simplifyCondition, } from "./expression.js";
12
- import { delegateSymbol, } from "./query.js";
10
+ import { queryInternalsTag } from "./query-internals.js";
11
+ import {} from "./query.js";
13
12
  import { DEFAULT_PRELOAD_TTL_MS, DEFAULT_TTL_MS } from "./ttl.js";
14
- export function materialize(query, delegate, factoryOrOptions, maybeOptions) {
15
- if (typeof factoryOrOptions === 'function') {
16
- return query[delegateSymbol](delegate)
17
- .materialize(factoryOrOptions, maybeOptions?.ttl);
18
- }
19
- return query[delegateSymbol](delegate)
20
- .materialize(factoryOrOptions?.ttl);
21
- }
22
- const astSymbol = Symbol();
23
- export function ast(query) {
24
- return query[astSymbol];
13
+ export function newQuery(schema, table) {
14
+ return new QueryImpl(schema, table, { table }, defaultFormat, undefined);
25
15
  }
26
- export function newQuery(delegate, schema, table) {
27
- return new QueryImpl(delegate, schema, table, { table }, defaultFormat, undefined);
16
+ export function staticParam(anchorClass, field) {
17
+ return {
18
+ type: 'static',
19
+ anchor: anchorClass,
20
+ // for backwards compatibility
21
+ field: field.length === 1 ? field[0] : field,
22
+ };
28
23
  }
29
- export const newQuerySymbol = Symbol();
30
24
  export class AbstractQuery {
25
+ [queryInternalsTag] = true;
31
26
  #schema;
32
- _delegate;
33
27
  #tableName;
34
- _ast;
28
+ #ast;
35
29
  format;
36
30
  #hash = '';
37
31
  #system;
38
32
  #currentJunction;
39
33
  customQueryID;
40
- constructor(delegate, schema, tableName, ast, format, system, customQueryID, currentJunction) {
34
+ #newQuery;
35
+ constructor(schema, tableName, ast, format, system, customQueryID, currentJunction, newQuery) {
41
36
  this.#schema = schema;
42
- this._delegate = delegate;
43
37
  this.#tableName = tableName;
44
- this._ast = ast;
38
+ this.#ast = ast;
45
39
  this.format = format;
46
40
  this.#system = system;
47
41
  this.#currentJunction = currentJunction;
48
42
  this.customQueryID = customQueryID;
43
+ this.#newQuery = newQuery;
49
44
  }
50
- [delegateSymbol](delegate) {
51
- return this[newQuerySymbol](delegate, this.#schema, this.#tableName, this._ast, this.format, this.customQueryID, this.#currentJunction);
45
+ withContext(_ctx) {
46
+ return this;
52
47
  }
53
48
  nameAndArgs(name, args) {
54
- return this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, this._ast, this.format, {
49
+ return this.#newQuery(this.#tableName, this.#ast, this.format, {
55
50
  name,
56
51
  args,
57
52
  }, this.#currentJunction);
58
53
  }
59
- get [astSymbol]() {
60
- return this._ast;
61
- }
62
- get ast() {
63
- return this._completeAst();
64
- }
65
54
  hash() {
66
55
  if (!this.#hash) {
67
- this.#hash = hashOfAST(this._completeAst());
56
+ this.#hash = hashOfAST(this.#completeAst());
68
57
  }
69
58
  return this.#hash;
70
59
  }
71
- one = () => this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
72
- ...this._ast,
60
+ one = () => this.#newQuery(this.#tableName, {
61
+ ...this.#ast,
73
62
  limit: 1,
74
63
  }, {
75
64
  ...this.format,
@@ -78,8 +67,8 @@ export class AbstractQuery {
78
67
  whereExists = (relationship, cbOrOptions, options) => {
79
68
  const cb = typeof cbOrOptions === 'function' ? cbOrOptions : undefined;
80
69
  const opts = typeof cbOrOptions === 'function' ? options : cbOrOptions;
81
- const flipped = opts?.flip ?? false;
82
- return this.where(({ exists }) => exists(relationship, cb, { flip: flipped }));
70
+ const flipped = opts?.flip;
71
+ return this.where(({ exists }) => exists(relationship, cb, flipped !== undefined ? { flip: flipped } : undefined));
83
72
  };
84
73
  related = (relationship, cb) => {
85
74
  if (relationship.startsWith(SUBQ_PREFIX)) {
@@ -90,7 +79,7 @@ export class AbstractQuery {
90
79
  assert(related, 'Invalid relationship');
91
80
  if (isOneHop(related)) {
92
81
  const { destSchema, destField, sourceField, cardinality } = related[0];
93
- const q = this[newQuerySymbol](this._delegate, this.#schema, destSchema, {
82
+ const q = this.#newQuery(destSchema, {
94
83
  table: destSchema,
95
84
  alias: relationship,
96
85
  }, {
@@ -103,28 +92,28 @@ export class AbstractQuery {
103
92
  // if (cardinality === 'one') {
104
93
  // q = q.one();
105
94
  // }
106
- const sq = cb(q);
95
+ const subQuery = asAbstractQuery(cb(q));
107
96
  assert(isCompoundKey(sourceField), 'The source of a relationship must specify at last 1 field');
108
97
  assert(isCompoundKey(destField), 'The destination of a relationship must specify at last 1 field');
109
98
  assert(sourceField.length === destField.length, 'The source and destination of a relationship must have the same number of fields');
110
- return this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
111
- ...this._ast,
99
+ return this.#newQuery(this.#tableName, {
100
+ ...this.#ast,
112
101
  related: [
113
- ...(this._ast.related ?? []),
102
+ ...(this.#ast.related ?? []),
114
103
  {
115
104
  system: this.#system,
116
105
  correlation: {
117
106
  parentField: sourceField,
118
107
  childField: destField,
119
108
  },
120
- subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq._ast),
109
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], subQuery.#ast),
121
110
  },
122
111
  ],
123
112
  }, {
124
113
  ...this.format,
125
114
  relationships: {
126
115
  ...this.format.relationships,
127
- [relationship]: sq.format,
116
+ [relationship]: subQuery.format,
128
117
  },
129
118
  }, this.customQueryID, this.#currentJunction);
130
119
  }
@@ -132,21 +121,21 @@ export class AbstractQuery {
132
121
  const [firstRelation, secondRelation] = related;
133
122
  const { destSchema } = secondRelation;
134
123
  const junctionSchema = firstRelation.destSchema;
135
- const sq = cb(this[newQuerySymbol](this._delegate, this.#schema, destSchema, {
124
+ const sq = asAbstractQuery(cb(this.#newQuery(destSchema, {
136
125
  table: destSchema,
137
126
  alias: relationship,
138
127
  }, {
139
128
  relationships: {},
140
129
  singular: secondRelation.cardinality === 'one',
141
- }, this.customQueryID, relationship));
130
+ }, this.customQueryID, relationship)));
142
131
  assert(isCompoundKey(firstRelation.sourceField), 'Invalid relationship');
143
132
  assert(isCompoundKey(firstRelation.destField), 'Invalid relationship');
144
133
  assert(isCompoundKey(secondRelation.sourceField), 'Invalid relationship');
145
134
  assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');
146
- return this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
147
- ...this._ast,
135
+ return this.#newQuery(this.#tableName, {
136
+ ...this.#ast,
148
137
  related: [
149
- ...(this._ast.related ?? []),
138
+ ...(this.#ast.related ?? []),
150
139
  {
151
140
  system: this.#system,
152
141
  correlation: {
@@ -165,7 +154,7 @@ export class AbstractQuery {
165
154
  parentField: secondRelation.sourceField,
166
155
  childField: secondRelation.destField,
167
156
  },
168
- subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq._ast),
157
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq.#ast),
169
158
  },
170
159
  ],
171
160
  },
@@ -190,18 +179,18 @@ export class AbstractQuery {
190
179
  assert(opOrValue !== undefined, 'Invalid condition');
191
180
  cond = cmp(fieldOrExpressionFactory, opOrValue, value);
192
181
  }
193
- const existingWhere = this._ast.where;
182
+ const existingWhere = this.#ast.where;
194
183
  if (existingWhere) {
195
184
  cond = and(existingWhere, cond);
196
185
  }
197
186
  const where = simplifyCondition(cond);
198
- return this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
199
- ...this._ast,
187
+ return this.#newQuery(this.#tableName, {
188
+ ...this.#ast,
200
189
  where,
201
190
  }, this.format, this.customQueryID, this.#currentJunction);
202
191
  };
203
- start = (row, opts) => this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
204
- ...this._ast,
192
+ start = (row, opts) => this.#newQuery(this.#tableName, {
193
+ ...this.#ast,
205
194
  start: {
206
195
  row,
207
196
  exclusive: !opts?.inclusive,
@@ -218,8 +207,8 @@ export class AbstractQuery {
218
207
  throw new NotImplementedError('Limit is not supported in junction relationships yet. Junction relationship being limited: ' +
219
208
  this.#currentJunction);
220
209
  }
221
- return this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
222
- ...this._ast,
210
+ return this.#newQuery(this.#tableName, {
211
+ ...this.#ast,
223
212
  limit,
224
213
  }, this.format, this.customQueryID, this.#currentJunction);
225
214
  };
@@ -228,24 +217,24 @@ export class AbstractQuery {
228
217
  throw new NotImplementedError('Order by is not supported in junction relationships yet. Junction relationship being ordered: ' +
229
218
  this.#currentJunction);
230
219
  }
231
- return this[newQuerySymbol](this._delegate, this.#schema, this.#tableName, {
232
- ...this._ast,
233
- orderBy: [...(this._ast.orderBy ?? []), [field, direction]],
220
+ return this.#newQuery(this.#tableName, {
221
+ ...this.#ast,
222
+ orderBy: [...(this.#ast.orderBy ?? []), [field, direction]],
234
223
  }, this.format, this.customQueryID, this.#currentJunction);
235
224
  };
236
225
  _exists = (relationship, cb, options) => {
237
226
  cb = cb ?? (q => q);
238
- const flip = options?.flip ?? false;
227
+ const flip = options?.flip;
239
228
  const related = this.#schema.relationships[this.#tableName][relationship];
240
229
  assert(related, 'Invalid relationship');
241
230
  if (isOneHop(related)) {
242
- const { destSchema, sourceField, destField } = related[0];
231
+ const { destSchema: destTableName, sourceField, destField } = related[0];
243
232
  assert(isCompoundKey(sourceField), 'Invalid relationship');
244
233
  assert(isCompoundKey(destField), 'Invalid relationship');
245
- const sq = cb(this[newQuerySymbol](this._delegate, this.#schema, destSchema, {
246
- table: destSchema,
234
+ const subQuery = asAbstractQuery(cb(this.#newQuery(destTableName, {
235
+ table: destTableName,
247
236
  alias: `${SUBQ_PREFIX}${relationship}`,
248
- }, defaultFormat, this.customQueryID, undefined));
237
+ }, defaultFormat, this.customQueryID, undefined)));
249
238
  return {
250
239
  type: 'correlatedSubquery',
251
240
  related: {
@@ -254,7 +243,7 @@ export class AbstractQuery {
254
243
  parentField: sourceField,
255
244
  childField: destField,
256
245
  },
257
- subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], sq._ast),
246
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destTableName], subQuery.#ast),
258
247
  },
259
248
  op: 'EXISTS',
260
249
  flip,
@@ -268,7 +257,7 @@ export class AbstractQuery {
268
257
  assert(isCompoundKey(secondRelation.destField), 'Invalid relationship');
269
258
  const { destSchema } = secondRelation;
270
259
  const junctionSchema = firstRelation.destSchema;
271
- const queryToDest = cb(this[newQuerySymbol](this._delegate, this.#schema, destSchema, {
260
+ const queryToDest = cb(this.#newQuery(destSchema, {
272
261
  table: destSchema,
273
262
  alias: `${SUBQ_PREFIX}zhidden_${relationship}`,
274
263
  }, defaultFormat, this.customQueryID, relationship));
@@ -292,7 +281,8 @@ export class AbstractQuery {
292
281
  parentField: secondRelation.sourceField,
293
282
  childField: secondRelation.destField,
294
283
  },
295
- subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], queryToDest._ast),
284
+ subquery: addPrimaryKeysToAst(this.#schema.tables[destSchema], queryToDest
285
+ .#ast),
296
286
  },
297
287
  op: 'EXISTS',
298
288
  flip,
@@ -306,19 +296,22 @@ export class AbstractQuery {
306
296
  throw new Error(`Invalid relationship ${relationship}`);
307
297
  };
308
298
  #completedAST;
309
- _completeAst() {
299
+ get ast() {
300
+ return this.#completeAst();
301
+ }
302
+ #completeAst() {
310
303
  if (!this.#completedAST) {
311
- const finalOrderBy = addPrimaryKeys(this.#schema.tables[this.#tableName], this._ast.orderBy);
312
- if (this._ast.start) {
313
- const { row } = this._ast.start;
304
+ const finalOrderBy = addPrimaryKeys(this.#schema.tables[this.#tableName], this.#ast.orderBy);
305
+ if (this.#ast.start) {
306
+ const { row } = this.#ast.start;
314
307
  const narrowedRow = {};
315
308
  for (const [field] of finalOrderBy) {
316
309
  narrowedRow[field] = row[field];
317
310
  }
318
311
  this.#completedAST = {
319
- ...this._ast,
312
+ ...this.#ast,
320
313
  start: {
321
- ...this._ast.start,
314
+ ...this.#ast.start,
322
315
  row: narrowedRow,
323
316
  },
324
317
  orderBy: finalOrderBy,
@@ -326,119 +319,92 @@ export class AbstractQuery {
326
319
  }
327
320
  else {
328
321
  this.#completedAST = {
329
- ...this._ast,
330
- orderBy: addPrimaryKeys(this.#schema.tables[this.#tableName], this._ast.orderBy),
322
+ ...this.#ast,
323
+ orderBy: addPrimaryKeys(this.#schema.tables[this.#tableName], this.#ast.orderBy),
331
324
  };
332
325
  }
333
326
  }
334
327
  return this.#completedAST;
335
328
  }
336
329
  }
337
- const completedAstSymbol = Symbol();
338
- export function completedAST(q) {
339
- return q[completedAstSymbol];
330
+ function asAbstractQuery(q) {
331
+ assert(q instanceof AbstractQuery);
332
+ return q;
340
333
  }
341
- export class QueryImpl extends AbstractQuery {
342
- #system;
343
- constructor(delegate, schema, tableName, ast = { table: tableName }, format = defaultFormat, system = 'client', customQueryID, currentJunction) {
344
- super(delegate, schema, tableName, ast, format, system, customQueryID, currentJunction);
345
- this.#system = system;
346
- }
347
- get [completedAstSymbol]() {
348
- return this._completeAst();
349
- }
350
- [newQuerySymbol](delegate, schema, tableName, ast, format, customQueryID, currentJunction) {
351
- return new QueryImpl(delegate, schema, tableName, ast, format, this.#system, customQueryID, currentJunction);
352
- }
353
- materialize(factoryOrTTL, ttl = DEFAULT_TTL_MS) {
354
- const delegate = must(this._delegate, 'materialize requires a query delegate to be set');
355
- let factory;
356
- if (typeof factoryOrTTL === 'function') {
357
- factory = factoryOrTTL;
334
+ export function materializeImpl(query, delegate, factory = arrayViewFactory, options) {
335
+ let ttl = options?.ttl ?? DEFAULT_TTL_MS;
336
+ const qi = delegate.withContext(query);
337
+ const { ast: ast, format, customQueryID } = qi;
338
+ const queryHash = qi.hash();
339
+ const queryID = customQueryID
340
+ ? hashOfNameAndArgs(customQueryID.name, customQueryID.args)
341
+ : queryHash;
342
+ const queryCompleteResolver = resolver();
343
+ let queryComplete = delegate.defaultQueryComplete;
344
+ const updateTTL = customQueryID
345
+ ? (newTTL) => delegate.updateCustomQuery(customQueryID, newTTL)
346
+ : (newTTL) => delegate.updateServerQuery(ast, newTTL);
347
+ const gotCallback = (got, error) => {
348
+ if (error) {
349
+ queryCompleteResolver.reject(error);
350
+ queryComplete = error;
351
+ return;
358
352
  }
359
- else {
360
- ttl = factoryOrTTL ?? DEFAULT_TTL_MS;
361
- }
362
- const ast = this._completeAst();
363
- const queryID = this.customQueryID
364
- ? hashOfNameAndArgs(this.customQueryID.name, this.customQueryID.args)
365
- : this.hash();
366
- const queryCompleteResolver = resolver();
367
- let queryComplete = delegate.defaultQueryComplete;
368
- const updateTTL = (newTTL) => {
369
- this.customQueryID
370
- ? delegate.updateCustomQuery(this.customQueryID, newTTL)
371
- : delegate.updateServerQuery(ast, newTTL);
372
- };
373
- const gotCallback = (got, error) => {
374
- if (error) {
375
- queryCompleteResolver.reject(error);
376
- queryComplete = error;
377
- return;
378
- }
379
- if (got) {
380
- delegate.addMetric('query-materialization-end-to-end', performance.now() - t0, queryID, ast);
381
- queryComplete = true;
382
- queryCompleteResolver.resolve(true);
383
- }
384
- };
385
- let removeCommitObserver;
386
- const onDestroy = () => {
387
- input.destroy();
388
- removeCommitObserver?.();
389
- removeAddedQuery();
390
- };
391
- const t0 = performance.now();
392
- const removeAddedQuery = this.customQueryID
393
- ? delegate.addCustomQuery(ast, this.customQueryID, ttl, gotCallback)
394
- : delegate.addServerQuery(ast, ttl, gotCallback);
395
- const input = buildPipeline(ast, delegate, queryID);
396
- const view = delegate.batchViewUpdates(() => (factory ?? arrayViewFactory)(this, input, this.format, onDestroy, cb => {
397
- removeCommitObserver = delegate.onTransactionCommit(cb);
398
- }, queryComplete || queryCompleteResolver.promise, updateTTL));
399
- delegate.addMetric('query-materialization-client', performance.now() - t0, queryID);
400
- return view;
401
- }
402
- run(options) {
403
- const delegate = must(this._delegate, 'run requires a query delegate to be set');
404
- delegate.assertValidRunOptions(options);
405
- const v = this.materialize(options?.ttl);
406
- if (options?.type === 'complete') {
407
- return new Promise(resolve => {
408
- v.addListener((data, type) => {
409
- if (type === 'complete') {
410
- v.destroy();
411
- resolve(data);
412
- }
413
- else if (type === 'error') {
414
- v.destroy();
415
- resolve(Promise.reject(data));
416
- }
417
- });
418
- });
353
+ if (got) {
354
+ delegate.addMetric('query-materialization-end-to-end', performance.now() - t0, queryID, ast);
355
+ queryComplete = true;
356
+ queryCompleteResolver.resolve(true);
419
357
  }
420
- options?.type;
421
- const ret = v.data;
422
- v.destroy();
423
- return Promise.resolve(ret);
424
- }
425
- preload(options) {
426
- const delegate = must(this._delegate, 'preload requires a query delegate to be set');
427
- const ttl = options?.ttl ?? DEFAULT_PRELOAD_TTL_MS;
428
- const ast = this._completeAst();
429
- const { resolve, promise: complete } = resolver();
430
- if (this.customQueryID) {
431
- const cleanup = delegate.addCustomQuery(ast, this.customQueryID, ttl, got => {
432
- if (got) {
433
- resolve();
358
+ };
359
+ let removeCommitObserver;
360
+ const onDestroy = () => {
361
+ input.destroy();
362
+ removeCommitObserver?.();
363
+ removeAddedQuery();
364
+ };
365
+ const t0 = performance.now();
366
+ const removeAddedQuery = customQueryID
367
+ ? delegate.addCustomQuery(ast, customQueryID, ttl, gotCallback)
368
+ : delegate.addServerQuery(ast, ttl, gotCallback);
369
+ const input = buildPipeline(ast, delegate, queryID);
370
+ const view = delegate.batchViewUpdates(() => (factory ?? arrayViewFactory)(query, input, format, onDestroy, cb => {
371
+ removeCommitObserver = delegate.onTransactionCommit(cb);
372
+ }, queryComplete || queryCompleteResolver.promise, updateTTL));
373
+ delegate.addMetric('query-materialization-client', performance.now() - t0, queryID);
374
+ return view;
375
+ }
376
+ // oxlint-disable-next-line require-await
377
+ export async function runImpl(query, delegate, options) {
378
+ delegate.assertValidRunOptions(options);
379
+ const v = materializeImpl(query, delegate, undefined, {
380
+ ttl: options?.ttl,
381
+ });
382
+ if (options?.type === 'complete') {
383
+ return new Promise(resolve => {
384
+ v.addListener((data, type) => {
385
+ if (type === 'complete') {
386
+ v.destroy();
387
+ resolve(data);
388
+ }
389
+ else if (type === 'error') {
390
+ v.destroy();
391
+ resolve(Promise.reject(data));
434
392
  }
435
393
  });
436
- return {
437
- cleanup,
438
- complete,
439
- };
440
- }
441
- const cleanup = delegate.addServerQuery(ast, ttl, got => {
394
+ });
395
+ }
396
+ options?.type;
397
+ const ret = v.data;
398
+ v.destroy();
399
+ return ret;
400
+ }
401
+ export function preloadImpl(query, delegate, options) {
402
+ const qi = delegate.withContext(query);
403
+ const ttl = options?.ttl ?? DEFAULT_PRELOAD_TTL_MS;
404
+ const { resolve, promise: complete } = resolver();
405
+ const { customQueryID, ast: ast } = qi;
406
+ if (customQueryID) {
407
+ const cleanup = delegate.addCustomQuery(ast, customQueryID, ttl, got => {
442
408
  if (got) {
443
409
  resolve();
444
410
  }
@@ -448,6 +414,20 @@ export class QueryImpl extends AbstractQuery {
448
414
  complete,
449
415
  };
450
416
  }
417
+ const cleanup = delegate.addServerQuery(ast, ttl, got => {
418
+ if (got) {
419
+ resolve();
420
+ }
421
+ });
422
+ return {
423
+ cleanup,
424
+ complete,
425
+ };
426
+ }
427
+ export class QueryImpl extends AbstractQuery {
428
+ constructor(schema, tableName, ast = { table: tableName }, format = defaultFormat, system = 'client', customQueryID, currentJunction) {
429
+ super(schema, tableName, ast, format, system, customQueryID, currentJunction, (tableName, ast, format, customQueryID, currentJunction) => new QueryImpl(schema, tableName, ast, format, system, customQueryID, currentJunction));
430
+ }
451
431
  }
452
432
  function addPrimaryKeys(schema, orderBy) {
453
433
  orderBy = orderBy ?? [];
@@ -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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"}