@rocicorp/zero 0.25.0-canary.2 → 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 (332) 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-COKJ5W7V.js → chunk-IWL6EEA6.js} +10134 -10131
  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 +22 -27
  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.js +5 -5
  34. package/out/shared/src/error.js.map +1 -1
  35. package/out/solid.js +11 -9
  36. package/out/solid.js.map +2 -2
  37. package/out/sqlite.js +5 -3
  38. package/out/z2s/src/compiler.d.ts +2 -2
  39. package/out/z2s/src/compiler.d.ts.map +1 -1
  40. package/out/z2s/src/compiler.js.map +1 -1
  41. package/out/z2s/src/sql.d.ts +1 -1
  42. package/out/z2s/src/sql.d.ts.map +1 -1
  43. package/out/zero/package.json +3 -2
  44. package/out/zero-cache/src/auth/load-permissions.d.ts +1 -1
  45. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  46. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  47. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  48. package/out/zero-cache/src/auth/write-authorizer.js +36 -12
  49. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  50. package/out/zero-cache/src/custom/fetch.d.ts.map +1 -1
  51. package/out/zero-cache/src/custom/fetch.js +5 -4
  52. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  53. package/out/zero-cache/src/custom-queries/transform-query.d.ts +3 -3
  54. package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +1 -1
  55. package/out/zero-cache/src/custom-queries/transform-query.js +6 -7
  56. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  57. package/out/zero-cache/src/scripts/permissions.d.ts +1 -1
  58. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  59. package/out/zero-cache/src/scripts/permissions.js +2 -2
  60. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  61. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  62. package/out/zero-cache/src/server/change-streamer.js +7 -10
  63. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  64. package/out/zero-cache/src/services/analyze.d.ts +2 -6
  65. package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/analyze.js +4 -3
  67. package/out/zero-cache/src/services/analyze.js.map +1 -1
  68. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +2 -3
  69. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +15 -15
  71. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  72. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts +16 -0
  73. package/out/zero-cache/src/services/change-streamer/replica-monitor.d.ts.map +1 -0
  74. package/out/zero-cache/src/services/change-streamer/replica-monitor.js +52 -0
  75. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -0
  76. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-streamer/storer.js +15 -1
  78. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  79. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +2 -2
  80. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  81. package/out/zero-cache/src/services/change-streamer/subscriber.js +16 -11
  82. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  83. package/out/zero-cache/src/services/mutagen/pusher.d.ts +2 -0
  84. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/mutagen/pusher.js +7 -8
  86. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  87. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  88. package/out/zero-cache/src/services/run-ast.js +1 -0
  89. package/out/zero-cache/src/services/run-ast.js.map +1 -1
  90. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  91. package/out/zero-cache/src/services/view-syncer/cvr-store.js +41 -14
  92. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  93. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  94. package/out/zero-cache/src/services/view-syncer/cvr.js +5 -4
  95. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  96. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +1 -1
  97. package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
  98. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +81 -2
  99. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  100. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  101. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +24 -2
  102. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  103. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  104. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +4 -2
  105. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  106. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  107. package/out/zero-cache/src/services/view-syncer/schema/init.js +25 -0
  108. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  109. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/view-syncer/view-syncer.js +30 -5
  111. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  112. package/out/zero-cache/src/types/error-with-level.d.ts.map +1 -1
  113. package/out/zero-cache/src/types/error-with-level.js +8 -3
  114. package/out/zero-cache/src/types/error-with-level.js.map +1 -1
  115. package/out/zero-client/src/client/bindings.d.ts +42 -0
  116. package/out/zero-client/src/client/bindings.d.ts.map +1 -0
  117. package/out/zero-client/src/client/client-error-kind-enum.d.ts +12 -12
  118. package/out/zero-client/src/client/client-error-kind-enum.d.ts.map +1 -1
  119. package/out/zero-client/src/client/connection-manager.d.ts +8 -9
  120. package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
  121. package/out/zero-client/src/client/context.d.ts +12 -10
  122. package/out/zero-client/src/client/context.d.ts.map +1 -1
  123. package/out/zero-client/src/client/crud.d.ts +1 -1
  124. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  125. package/out/zero-client/src/client/custom.d.ts +39 -16
  126. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  127. package/out/zero-client/src/client/error.d.ts +23 -11
  128. package/out/zero-client/src/client/error.d.ts.map +1 -1
  129. package/out/zero-client/src/client/inspector/html-dialog-prompt.d.ts.map +1 -1
  130. package/out/zero-client/src/client/inspector/inspector.d.ts +3 -2
  131. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  132. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +4 -1
  133. package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
  134. package/out/zero-client/src/client/mutation-tracker.d.ts +10 -2
  135. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  136. package/out/zero-client/src/client/mutator-proxy.d.ts +16 -0
  137. package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -0
  138. package/out/zero-client/src/client/options.d.ts +37 -7
  139. package/out/zero-client/src/client/options.d.ts.map +1 -1
  140. package/out/zero-client/src/client/query-manager.d.ts +9 -2
  141. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  142. package/out/zero-client/src/client/zero-log-context.d.ts +3 -3
  143. package/out/zero-client/src/client/zero-log-context.d.ts.map +1 -1
  144. package/out/zero-client/src/client/zero-poke-handler.d.ts +3 -3
  145. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  146. package/out/zero-client/src/client/zero-rep.d.ts +5 -4
  147. package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
  148. package/out/zero-client/src/client/zero.d.ts +88 -18
  149. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  150. package/out/zero-client/src/mod.d.ts +14 -9
  151. package/out/zero-client/src/mod.d.ts.map +1 -1
  152. package/out/zero-client/src/types/query-result.d.ts +5 -4
  153. package/out/zero-client/src/types/query-result.d.ts.map +1 -1
  154. package/out/zero-protocol/src/analyze-query-result.d.ts +1 -0
  155. package/out/zero-protocol/src/analyze-query-result.d.ts.map +1 -1
  156. package/out/zero-protocol/src/analyze-query-result.js +1 -0
  157. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  158. package/out/zero-protocol/src/application-error.d.ts +2 -8
  159. package/out/zero-protocol/src/application-error.d.ts.map +1 -1
  160. package/out/zero-protocol/src/application-error.js +3 -0
  161. package/out/zero-protocol/src/application-error.js.map +1 -1
  162. package/out/zero-protocol/src/down.d.ts +1 -0
  163. package/out/zero-protocol/src/down.d.ts.map +1 -1
  164. package/out/zero-protocol/src/inspect-down.d.ts +3 -0
  165. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  166. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  167. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  168. package/out/zero-protocol/src/protocol-version.js +2 -1
  169. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  170. package/out/zero-react/src/components/inspector.d.ts +1 -1
  171. package/out/zero-react/src/components/inspector.d.ts.map +1 -1
  172. package/out/zero-react/src/components/zero-inspector.d.ts +1 -1
  173. package/out/zero-react/src/components/zero-inspector.d.ts.map +1 -1
  174. package/out/zero-react/src/mod.d.ts +1 -1
  175. package/out/zero-react/src/mod.d.ts.map +1 -1
  176. package/out/zero-react/src/use-query.d.ts +7 -6
  177. package/out/zero-react/src/use-query.d.ts.map +1 -1
  178. package/out/zero-react/src/zero-provider.d.ts +7 -7
  179. package/out/zero-react/src/zero-provider.d.ts.map +1 -1
  180. package/out/zero-schema/src/builder/schema-builder.d.ts +1 -3
  181. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  182. package/out/zero-schema/src/permissions.d.ts +1 -1
  183. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  184. package/out/zero-schema/src/schema-config.d.ts +1 -1
  185. package/out/zero-schema/src/schema-config.d.ts.map +1 -1
  186. package/out/zero-server/src/adapters/drizzle.d.ts +2 -2
  187. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  188. package/out/zero-server/src/adapters/drizzle.js +4 -0
  189. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  190. package/out/zero-server/src/adapters/pg.d.ts +8 -3
  191. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  192. package/out/zero-server/src/adapters/pg.js +4 -0
  193. package/out/zero-server/src/adapters/pg.js.map +1 -1
  194. package/out/zero-server/src/adapters/postgresjs.d.ts +8 -3
  195. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  196. package/out/zero-server/src/adapters/postgresjs.js +4 -0
  197. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  198. package/out/zero-server/src/custom.d.ts +11 -8
  199. package/out/zero-server/src/custom.d.ts.map +1 -1
  200. package/out/zero-server/src/custom.js +15 -3
  201. package/out/zero-server/src/custom.js.map +1 -1
  202. package/out/zero-server/src/mod.d.ts +0 -1
  203. package/out/zero-server/src/mod.d.ts.map +1 -1
  204. package/out/zero-server/src/mod.js +0 -1
  205. package/out/zero-server/src/mod.js.map +1 -1
  206. package/out/zero-server/src/pg-query-executor.d.ts +11 -0
  207. package/out/zero-server/src/pg-query-executor.d.ts.map +1 -0
  208. package/out/zero-server/src/pg-query-executor.js +17 -0
  209. package/out/zero-server/src/pg-query-executor.js.map +1 -0
  210. package/out/zero-server/src/process-mutations.d.ts +2 -1
  211. package/out/zero-server/src/process-mutations.d.ts.map +1 -1
  212. package/out/zero-server/src/process-mutations.js +1 -1
  213. package/out/zero-server/src/process-mutations.js.map +1 -1
  214. package/out/zero-server/src/queries/process-queries.d.ts +4 -4
  215. package/out/zero-server/src/queries/process-queries.d.ts.map +1 -1
  216. package/out/zero-server/src/queries/process-queries.js +5 -3
  217. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  218. package/out/zero-server/src/schema.d.ts +2 -2
  219. package/out/zero-server/src/schema.d.ts.map +1 -1
  220. package/out/zero-server/src/schema.js.map +1 -1
  221. package/out/zero-server/src/zql-database.d.ts +6 -3
  222. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  223. package/out/zero-server/src/zql-database.js +17 -19
  224. package/out/zero-server/src/zql-database.js.map +1 -1
  225. package/out/zero-solid/src/solid-view.d.ts +1 -1
  226. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  227. package/out/zero-solid/src/use-query.d.ts +4 -4
  228. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  229. package/out/zero-solid/src/use-zero.d.ts +7 -7
  230. package/out/zero-solid/src/use-zero.d.ts.map +1 -1
  231. package/out/zero-types/src/server-schema.d.ts.map +1 -0
  232. package/out/zero-types/src/server-schema.js.map +1 -0
  233. package/out/zero.js +29 -14
  234. package/out/zql/src/builder/builder.d.ts +6 -0
  235. package/out/zql/src/builder/builder.d.ts.map +1 -1
  236. package/out/zql/src/builder/builder.js +1 -1
  237. package/out/zql/src/builder/builder.js.map +1 -1
  238. package/out/zql/src/builder/debug-delegate.d.ts +4 -0
  239. package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
  240. package/out/zql/src/builder/debug-delegate.js +17 -0
  241. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  242. package/out/zql/src/ivm/view.d.ts +3 -2
  243. package/out/zql/src/ivm/view.d.ts.map +1 -1
  244. package/out/zql/src/mutate/custom.d.ts +13 -8
  245. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  246. package/out/zql/src/mutate/custom.js.map +1 -1
  247. package/out/zql/src/planner/planner-builder.d.ts.map +1 -1
  248. package/out/zql/src/planner/planner-builder.js +27 -2
  249. package/out/zql/src/planner/planner-builder.js.map +1 -1
  250. package/out/zql/src/planner/planner-graph.js +1 -1
  251. package/out/zql/src/planner/planner-graph.js.map +1 -1
  252. package/out/zql/src/planner/planner-join.d.ts +1 -1
  253. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  254. package/out/zql/src/planner/planner-join.js +9 -5
  255. package/out/zql/src/planner/planner-join.js.map +1 -1
  256. package/out/zql/src/query/chained-query.d.ts +35 -0
  257. package/out/zql/src/query/chained-query.d.ts.map +1 -0
  258. package/out/zql/src/query/chained-query.js +66 -0
  259. package/out/zql/src/query/chained-query.js.map +1 -0
  260. package/out/zql/src/query/define-query.d.ts +51 -0
  261. package/out/zql/src/query/define-query.d.ts.map +1 -0
  262. package/out/zql/src/query/define-query.js +53 -0
  263. package/out/zql/src/query/define-query.js.map +1 -0
  264. package/out/zql/src/query/named.d.ts +18 -7
  265. package/out/zql/src/query/named.d.ts.map +1 -1
  266. package/out/zql/src/query/named.js +38 -20
  267. package/out/zql/src/query/named.js.map +1 -1
  268. package/out/zql/src/query/query-delegate-base.d.ts +122 -0
  269. package/out/zql/src/query/query-delegate-base.d.ts.map +1 -0
  270. package/out/zql/src/query/query-delegate-base.js +136 -0
  271. package/out/zql/src/query/query-delegate-base.js.map +1 -0
  272. package/out/zql/src/query/query-delegate.d.ts +29 -4
  273. package/out/zql/src/query/query-delegate.d.ts.map +1 -1
  274. package/out/zql/src/query/query-impl.d.ts +27 -48
  275. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  276. package/out/zql/src/query/query-impl.js +155 -175
  277. package/out/zql/src/query/query-impl.js.map +1 -1
  278. package/out/zql/src/query/query-internals.d.ts +70 -0
  279. package/out/zql/src/query/query-internals.d.ts.map +1 -0
  280. package/out/zql/src/query/query-internals.js +21 -0
  281. package/out/zql/src/query/query-internals.js.map +1 -0
  282. package/out/zql/src/query/query.d.ts +26 -243
  283. package/out/zql/src/query/query.d.ts.map +1 -1
  284. package/out/zql/src/query/query.js +0 -1
  285. package/out/zql/src/query/query.js.map +1 -1
  286. package/out/zql/src/query/root-named-query.d.ts +33 -0
  287. package/out/zql/src/query/root-named-query.d.ts.map +1 -0
  288. package/out/zql/src/query/root-named-query.js +95 -0
  289. package/out/zql/src/query/root-named-query.js.map +1 -0
  290. package/out/zql/src/query/static-query.d.ts +5 -14
  291. package/out/zql/src/query/static-query.d.ts.map +1 -1
  292. package/out/zql/src/query/static-query.js +7 -17
  293. package/out/zql/src/query/static-query.js.map +1 -1
  294. package/out/zqlite/src/db.d.ts +2 -1
  295. package/out/zqlite/src/db.d.ts.map +1 -1
  296. package/out/zqlite/src/db.js +2 -0
  297. package/out/zqlite/src/db.js.map +1 -1
  298. package/out/zqlite/src/query-delegate.d.ts +6 -20
  299. package/out/zqlite/src/query-delegate.d.ts.map +1 -1
  300. package/out/zqlite/src/query-delegate.js +5 -29
  301. package/out/zqlite/src/query-delegate.js.map +1 -1
  302. package/out/zqlite/src/table-source.d.ts.map +1 -1
  303. package/out/zqlite/src/table-source.js +16 -0
  304. package/out/zqlite/src/table-source.js.map +1 -1
  305. package/package.json +3 -2
  306. package/out/chunk-ASRS2LFV.js +0 -35
  307. package/out/chunk-ASRS2LFV.js.map +0 -7
  308. package/out/chunk-COKJ5W7V.js.map +0 -7
  309. package/out/chunk-ECUMGQGC.js.map +0 -7
  310. package/out/chunk-EZM3XBAB.js.map +0 -7
  311. package/out/chunk-TJFNGO7E.js.map +0 -7
  312. package/out/chunk-YWU2DZ23.js +0 -372
  313. package/out/chunk-YWU2DZ23.js.map +0 -7
  314. package/out/inspector-IU2HG74I.js.map +0 -7
  315. package/out/lazy-inspector-OXIFYSSQ.js.map +0 -7
  316. package/out/zero-client/src/client/on-error.d.ts +0 -15
  317. package/out/zero-client/src/client/on-error.d.ts.map +0 -1
  318. package/out/zero-schema/src/builder/relationship-builder.js +0 -24
  319. package/out/zero-schema/src/builder/relationship-builder.js.map +0 -1
  320. package/out/zero-schema/src/builder/schema-builder.js +0 -78
  321. package/out/zero-schema/src/builder/schema-builder.js.map +0 -1
  322. package/out/zero-schema/src/builder/table-builder.js +0 -128
  323. package/out/zero-schema/src/builder/table-builder.js.map +0 -1
  324. package/out/zero-schema/src/server-schema.d.ts.map +0 -1
  325. package/out/zero-schema/src/server-schema.js.map +0 -1
  326. package/out/zero-server/src/query.d.ts +0 -22
  327. package/out/zero-server/src/query.d.ts.map +0 -1
  328. package/out/zero-server/src/query.js +0 -61
  329. package/out/zero-server/src/query.js.map +0 -1
  330. /package/out/{chunk-ZZXMKAAG.js.map → chunk-5H7WNLPK.js.map} +0 -0
  331. /package/out/{zero-schema → zero-types}/src/server-schema.d.ts +0 -0
  332. /package/out/{zero-schema → zero-types}/src/server-schema.js +0 -0
@@ -0,0 +1,70 @@
1
+ import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
2
+ import type { AST } from '../../../zero-protocol/src/ast.ts';
3
+ import type { Schema as ZeroSchema } from '../../../zero-types/src/schema.ts';
4
+ import type { Format } from '../ivm/view.ts';
5
+ import type { CustomQueryID } from './named.ts';
6
+ import type { Query } from './query.ts';
7
+ export declare const queryInternalsTag: unique symbol;
8
+ /**
9
+ * Internal interface for query implementation details.
10
+ * This is not part of the public API and should only be accessed via
11
+ * the {@linkcode withContext} or {@linkcode queryWithContext} function.
12
+ *
13
+ * @typeParam TSchema The database schema type extending ZeroSchema
14
+ * @typeParam TTable The name of the table being queried, must be a key of TSchema['tables']
15
+ * @typeParam TReturn The return type of the query, defaults to PullRow<TTable, TSchema>
16
+ */
17
+ export interface QueryInternals<TSchema extends ZeroSchema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext> {
18
+ readonly [queryInternalsTag]: true;
19
+ /**
20
+ * Format is used to specify the shape of the query results. This is used by
21
+ * {@linkcode one} and it also describes the shape when using
22
+ * {@linkcode related}.
23
+ */
24
+ readonly format: Format;
25
+ /**
26
+ * A string that uniquely identifies this query. This can be used to determine
27
+ * if two queries are the same.
28
+ *
29
+ * The hash of a custom query, on the client, is the hash of its AST.
30
+ * The hash of a custom query, on the server, is the hash of its name and args.
31
+ *
32
+ * The first allows many client-side queries to be pinned to the same backend query.
33
+ * The second ensures we do not invoke a named query on the backend more than once for the same `name:arg` pairing.
34
+ *
35
+ * If the query.hash was of `name:args` then `useQuery` would de-dupe
36
+ * queries with divergent ASTs.
37
+ *
38
+ * QueryManager will hash based on `name:args` since it is speaking with
39
+ * the server which tracks queries by `name:args`.
40
+ */
41
+ hash(): string;
42
+ /**
43
+ * The completed AST for this query, with any missing primary keys added to
44
+ * orderBy and start.
45
+ */
46
+ readonly ast: AST;
47
+ readonly customQueryID: CustomQueryID | undefined;
48
+ /**
49
+ * Associates a name and arguments with this query for custom query tracking.
50
+ * This is used internally to track named queries on the server.
51
+ *
52
+ * @internal
53
+ */
54
+ nameAndArgs(name: string, args: ReadonlyArray<ReadonlyJSONValue>): Query<TSchema, TTable, TReturn, TContext>;
55
+ }
56
+ /**
57
+ * Helper function to resolve a query with context.
58
+ * This is used by binding libraries (React, Solid, etc.) to inject context
59
+ * into queries without exposing the QueryDelegate interface.
60
+ *
61
+ * This function calls the `withContext` method on queries that support it
62
+ * (such as ChainedQuery and RootNamedQuery) and returns the resolved query
63
+ * as a QueryInternals, which provides access to internal query details
64
+ * needed for materialization.
65
+ *
66
+ * @internal
67
+ */
68
+ export declare function queryWithContext<TSchema extends ZeroSchema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext>(query: Query<TSchema, TTable, TReturn, TContext>, ctx: TContext): QueryInternals<TSchema, TTable, TReturn, TContext>;
69
+ export type AnyQueryInternals = QueryInternals<ZeroSchema, string, any, any>;
70
+ //# sourceMappingURL=query-internals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-internals.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-internals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEtC,eAAO,MAAM,iBAAiB,eAA2B,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAC7B,OAAO,SAAS,UAAU,EAC1B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EACP,QAAQ;IAER,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAElB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAElD;;;;;OAKG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,GACrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,UAAU,EAC1B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EACP,QAAQ,EAER,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAChD,GAAG,EAAE,QAAQ,GACZ,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAYpD;AAGD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { assert } from "../../../shared/src/asserts.js";
2
+ export const queryInternalsTag = Symbol('QueryInternals');
3
+ /**
4
+ * Helper function to resolve a query with context.
5
+ * This is used by binding libraries (React, Solid, etc.) to inject context
6
+ * into queries without exposing the QueryDelegate interface.
7
+ *
8
+ * This function calls the `withContext` method on queries that support it
9
+ * (such as ChainedQuery and RootNamedQuery) and returns the resolved query
10
+ * as a QueryInternals, which provides access to internal query details
11
+ * needed for materialization.
12
+ *
13
+ * @internal
14
+ */
15
+ export function queryWithContext(query, ctx) {
16
+ assert('withContext' in query);
17
+ const withCtx = query;
18
+ // The returned query implements both Query and QueryInternals
19
+ return withCtx.withContext(ctx);
20
+ }
21
+ //# sourceMappingURL=query-internals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-internals.js","sourceRoot":"","sources":["../../../../../zql/src/query/query-internals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAQtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAgE1D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAM9B,KAAgD,EAChD,GAAa;IAEb,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,KAEf,CAAC;IACF,8DAA8D;IAC9D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,CAK7B,CAAC;AACJ,CAAC"}
@@ -1,14 +1,9 @@
1
1
  import type { Expand, ExpandRecursive } from '../../../shared/src/expand.ts';
2
- import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
3
- import { type AST, type SimpleOperator } from '../../../zero-protocol/src/ast.ts';
2
+ import { type SimpleOperator } from '../../../zero-protocol/src/ast.ts';
3
+ import type { Schema, Schema as ZeroSchema, LastInTuple, TableSchema } from '../../../zero-types/src/schema.ts';
4
4
  import type { SchemaValueToTSType, SchemaValueWithCustomType } from '../../../zero-types/src/schema-value.ts';
5
- import type { LastInTuple, TableSchema, Schema as ZeroSchema } from '../../../zero-types/src/schema.ts';
6
- import type { Format, ViewFactory } from '../ivm/view.ts';
7
5
  import type { ExpressionFactory, ParameterReference } from './expression.ts';
8
- import type { CustomQueryID } from './named.ts';
9
- import type { QueryDelegate } from './query-delegate.ts';
10
6
  import type { TTL } from './ttl.ts';
11
- import type { TypedView } from './typed-view.ts';
12
7
  type Selector<E extends TableSchema> = keyof E['columns'];
13
8
  export type NoCompoundTypeSelector<T extends TableSchema> = Exclude<Selector<T>, JsonSelectors<T> | ArraySelectors<T>>;
14
9
  type JsonSelectors<E extends TableSchema> = {
@@ -19,8 +14,8 @@ type JsonSelectors<E extends TableSchema> = {
19
14
  type ArraySelectors<E extends TableSchema> = {
20
15
  [K in keyof E['columns']]: E['columns'][K] extends SchemaValueWithCustomType<any[]> ? K : never;
21
16
  }[keyof E['columns']];
17
+ export type QueryReturn<Q> = Q extends Query<any, any, infer R, any> ? R : never;
22
18
  export type QueryTable<Q> = Q extends Query<any, infer T, any> ? T : never;
23
- export declare const delegateSymbol: unique symbol;
24
19
  export type ExistsOptions = {
25
20
  flip: boolean;
26
21
  };
@@ -50,21 +45,19 @@ export type QueryResultType<Q> = Q extends Query<ZeroSchema, string, any> | ((..
50
45
  * Queries are transactional in that all queries update at once when a new transaction
51
46
  * has been committed on the client or server. No query results will reflect stale state.
52
47
  *
53
- * A query can be:
54
- * - {@linkcode materialize | materialize}
55
- * - awaited (`then`/{@linkcode run})
56
- * - {@linkcode preload | preloaded}
48
+ * Queries are executed through the Zero instance methods:
49
+ * - `zero.run(query)` - Execute once and return results
50
+ * - `zero.materialize(query)` - Create a live view that updates automatically
51
+ * - `zero.preload(query)` - Preload data into the cache
57
52
  *
58
- * The normal way to use a query would be through your UI framework's bindings (e.g., useQuery(q))
53
+ * The normal way to use a query is through your UI framework's bindings (e.g., `useQuery(query)`)
59
54
  * or within a custom mutator.
60
55
  *
61
- * `materialize` and `run/then` are provided for more advanced use cases.
62
- * Remember that any `view` returned by `materialize` must be destroyed.
63
- *
64
- * A query can be run as a 1-shot query by awaiting it. E.g.,
56
+ * Example:
65
57
  *
66
58
  * ```ts
67
- * const result = await z.query.issue.limit(10);
59
+ * const query = z.query.issue.where('status', 'open').limit(10);
60
+ * const result = await z.run(query);
68
61
  * ```
69
62
  *
70
63
  * For more information on how to use queries, see the documentation:
@@ -73,233 +66,22 @@ export type QueryResultType<Q> = Q extends Query<ZeroSchema, string, any> | ((..
73
66
  * @typeParam TSchema The database schema type extending ZeroSchema
74
67
  * @typeParam TTable The name of the table being queried, must be a key of TSchema['tables']
75
68
  * @typeParam TReturn The return type of the query, defaults to PullRow<TTable, TSchema>
69
+ * @typeParam TContext The context type required for named queries, defaults to unknown
76
70
  */
77
- export interface Query<TSchema extends ZeroSchema, TTable extends keyof TSchema['tables'] & string, TReturn = PullRow<TTable, TSchema>> {
78
- /**
79
- * Format is used to specify the shape of the query results. This is used by
80
- * {@linkcode one} and it also describes the shape when using
81
- * {@linkcode related}.
82
- */
83
- readonly format: Format;
84
- /**
85
- * A string that uniquely identifies this query. This can be used to determine
86
- * if two queries are the same.
87
- *
88
- * The hash of a custom query, on the client, is the hash of its AST.
89
- * The hash of a custom query, on the server, is the hash of its name and args.
90
- *
91
- * The first allows many client-side queries to be pinned to the same backend query.
92
- * The second ensures we do not invoke a named query on the backend more than once for the same `name:arg` pairing.
93
- *
94
- * If the query.hash was of `name:args` then `useQuery` would de-dupe
95
- * queries with divergent ASTs.
96
- *
97
- * QueryManager will hash based on `name:args` since it is speaking with
98
- * the server which tracks queries by `name:args`.
99
- */
100
- hash(): string;
101
- readonly ast: AST;
102
- readonly customQueryID: CustomQueryID | undefined;
103
- nameAndArgs(name: string, args: ReadonlyArray<ReadonlyJSONValue>): Query<TSchema, TTable, TReturn>;
104
- [delegateSymbol](delegate: QueryDelegate): Query<TSchema, TTable, TReturn>;
105
- /**
106
- * Related is used to add a related query to the current query. This is used
107
- * for subqueries and joins. These relationships are defined in the
108
- * relationships section of the schema. The result of the query will
109
- * include the related rows in the result set as a sub object of the row.
110
- *
111
- * ```typescript
112
- * const row = await z.query.users
113
- * .related('posts');
114
- * // {
115
- * // id: '1',
116
- * // posts: [
117
- * // ...
118
- * // ]
119
- * // }
120
- * ```
121
- * If you want to add a subquery to the related query, you can do so by
122
- * providing a callback function that receives the related query as an argument.
123
- *
124
- * ```typescript
125
- * const row = await z.query.users
126
- * .related('posts', q => q.where('published', true));
127
- * // {
128
- * // id: '1',
129
- * // posts: [
130
- * // {published: true, ...},
131
- * // ...
132
- * // ]
133
- * // }
134
- * ```
135
- *
136
- * @param relationship The name of the relationship
137
- */
138
- related<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship): Query<TSchema, TTable, AddSubreturn<TReturn, DestRow<TTable, TSchema, TRelationship>, TRelationship>>;
139
- related<TRelationship extends AvailableRelationships<TTable, TSchema>, TSub extends Query<TSchema, string, any>>(relationship: TRelationship, cb: (q: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>, DestRow<TTable, TSchema, TRelationship>>) => TSub): Query<TSchema, TTable, AddSubreturn<TReturn, TSub extends Query<TSchema, string, infer TSubReturn> ? TSubReturn : never, TRelationship>>;
140
- /**
141
- * Represents a condition to filter the query results.
142
- *
143
- * @param field The column name to filter on.
144
- * @param op The operator to use for filtering.
145
- * @param value The value to compare against.
146
- *
147
- * @returns A new query instance with the applied filter.
148
- *
149
- * @example
150
- *
151
- * ```typescript
152
- * const query = db.query('users')
153
- * .where('age', '>', 18)
154
- * .where('name', 'LIKE', '%John%');
155
- * ```
156
- */
157
- where<TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>, TOperator extends SimpleOperator>(field: TSelector, op: TOperator, value: GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator> | ParameterReference): Query<TSchema, TTable, TReturn>;
158
- /**
159
- * Represents a condition to filter the query results.
160
- *
161
- * This overload is used when the operator is '='.
162
- *
163
- * @param field The column name to filter on.
164
- * @param value The value to compare against.
165
- *
166
- * @returns A new query instance with the applied filter.
167
- *
168
- * @example
169
- * ```typescript
170
- * const query = db.query('users')
171
- * .where('age', 18)
172
- * ```
173
- */
174
- where<TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>>(field: TSelector, value: GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='> | ParameterReference): Query<TSchema, TTable, TReturn>;
175
- /**
176
- * Represents a condition to filter the query results.
177
- *
178
- * @param expressionFactory A function that takes a query builder and returns an expression.
179
- *
180
- * @returns A new query instance with the applied filter.
181
- *
182
- * @example
183
- * ```typescript
184
- * const query = db.query('users')
185
- * .where(({cmp, or}) => or(cmp('age', '>', 18), cmp('name', 'LIKE', '%John%')));
186
- * ```
187
- */
188
- where(expressionFactory: ExpressionFactory<TSchema, TTable>): Query<TSchema, TTable, TReturn>;
189
- whereExists(relationship: AvailableRelationships<TTable, TSchema>, options?: ExistsOptions): Query<TSchema, TTable, TReturn>;
190
- whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship, cb: (q: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>>) => Query<TSchema, string>, options?: ExistsOptions): Query<TSchema, TTable, TReturn>;
191
- /**
192
- * Skips the rows of the query until row matches the given row. If opts is
193
- * provided, it determines whether the match is inclusive.
194
- *
195
- * @param row The row to start from. This is a partial row object and only the provided
196
- * fields will be used for the comparison.
197
- * @param opts Optional options object that specifies whether the match is inclusive.
198
- * If `inclusive` is true, the row will be included in the result.
199
- * If `inclusive` is false, the row will be excluded from the result and the result
200
- * will start from the next row.
201
- *
202
- * @returns A new query instance with the applied start condition.
203
- */
71
+ export interface Query<TSchema extends ZeroSchema, TTable extends keyof TSchema['tables'] & string, TReturn = PullRow<TTable, TSchema>, TContext = unknown> {
72
+ related<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship): Query<TSchema, TTable, AddSubreturn<TReturn, DestRow<TTable, TSchema, TRelationship>, TRelationship>, TContext>;
73
+ related<TRelationship extends AvailableRelationships<TTable, TSchema>, TSub extends Query<TSchema, string, any>>(relationship: TRelationship, cb: (q: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>, DestRow<TTable, TSchema, TRelationship>>) => TSub): Query<TSchema, TTable, AddSubreturn<TReturn, TSub extends Query<TSchema, string, infer TSubReturn> ? TSubReturn : never, TRelationship>, TContext>;
74
+ where<TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>, TOperator extends SimpleOperator>(field: TSelector, op: TOperator, value: GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator> | ParameterReference): Query<TSchema, TTable, TReturn, TContext>;
75
+ where<TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>>(field: TSelector, value: GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='> | ParameterReference): Query<TSchema, TTable, TReturn, TContext>;
76
+ where(expressionFactory: ExpressionFactory<TSchema, TTable>): Query<TSchema, TTable, TReturn, TContext>;
77
+ whereExists(relationship: AvailableRelationships<TTable, TSchema>, options?: ExistsOptions): Query<TSchema, TTable, TReturn, TContext>;
78
+ whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship, cb: (q: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>>) => Query<TSchema, string>, options?: ExistsOptions): Query<TSchema, TTable, TReturn, TContext>;
204
79
  start(row: Partial<PullRow<TTable, TSchema>>, opts?: {
205
80
  inclusive: boolean;
206
- }): Query<TSchema, TTable, TReturn>;
207
- /**
208
- * Limits the number of rows returned by the query.
209
- * @param limit The maximum number of rows to return.
210
- *
211
- * @returns A new query instance with the applied limit.
212
- */
213
- limit(limit: number): Query<TSchema, TTable, TReturn>;
214
- /**
215
- * Orders the results by a specified column. If multiple orderings are
216
- * specified, the results will be ordered by the first column, then the
217
- * second column, and so on.
218
- *
219
- * @param field The column name to order by.
220
- * @param direction The direction to order the results (ascending or descending).
221
- *
222
- * @returns A new query instance with the applied order.
223
- */
224
- orderBy<TSelector extends Selector<PullTableSchema<TTable, TSchema>>>(field: TSelector, direction: 'asc' | 'desc'): Query<TSchema, TTable, TReturn>;
225
- /**
226
- * Limits the number of rows returned by the query to a single row and then
227
- * unpacks the result so that you do not get an array of rows but a single
228
- * row. This is useful when you expect only one row to be returned and want to
229
- * work with the row directly.
230
- *
231
- * If the query returns no rows, the result will be `undefined`.
232
- *
233
- * @returns A new query instance with the applied limit to one row.
234
- */
235
- one(): Query<TSchema, TTable, TReturn | undefined>;
236
- /**
237
- * Creates a materialized view of the query. This is a view that will be kept
238
- * in memory and updated as the query results change.
239
- *
240
- * Most of the time you will want to use the `useQuery` hook or the
241
- * `run`/`then` method to get the results of a query. This method is only
242
- * needed if you want to access to lower level APIs of the view.
243
- *
244
- * @param ttl Time To Live. This is the amount of time to keep the rows
245
- * associated with this query after `TypedView.destroy`
246
- * has been called.
247
- */
248
- materialize(ttl?: TTL): TypedView<HumanReadable<TReturn>>;
249
- /**
250
- * Creates a custom materialized view using a provided factory function. This
251
- * allows framework-specific bindings (like SolidJS, Vue, etc.) to create
252
- * optimized views.
253
- *
254
- * @param factory A function that creates a custom view implementation
255
- * @param ttl Optional Time To Live for the view's data after destruction
256
- * @returns A custom view instance of type {@linkcode T}
257
- *
258
- * @example
259
- * ```ts
260
- * const view = query.materialize(createSolidViewFactory, '1m');
261
- * ```
262
- */
263
- materialize<T>(factory: ViewFactory<TSchema, TTable, TReturn, T>, ttl?: TTL): T;
264
- /**
265
- * Executes the query and returns the result once. The `options` parameter
266
- * specifies whether to wait for complete results or return immediately,
267
- * and the time to live for the query.
268
- *
269
- * - `{type: 'unknown'}`: Returns a snapshot of the data immediately.
270
- * - `{type: 'complete'}`: Waits for the latest, complete results from the server.
271
- *
272
- * By default, `run` uses `{type: 'unknown'}` to avoid waiting for the server.
273
- *
274
- * `Query` implements `PromiseLike`, and calling `then` on it will invoke `run`
275
- * with the default behavior (`unknown`).
276
- *
277
- * @param options Options to control the result type.
278
- * @param options.type The type of result to return.
279
- * @param options.ttl Time To Live. This is the amount of time to keep the rows
280
- * associated with this query after the returned promise has
281
- * resolved.
282
- * @returns A promise resolving to the query result.
283
- *
284
- * @example
285
- * ```js
286
- * const result = await query.run({type: 'complete', ttl: '1m'});
287
- * ```
288
- */
289
- run(options?: RunOptions): Promise<HumanReadable<TReturn>>;
290
- /**
291
- * Preload loads the data into the clients cache without keeping it in memory.
292
- * This is useful for preloading data that will be used later.
293
- *
294
- * @param options Options for preloading the query.
295
- * @param options.ttl Time To Live. This is the amount of time to keep the rows
296
- * associated with this query after {@linkcode cleanup} has
297
- * been called.
298
- */
299
- preload(options?: PreloadOptions): {
300
- cleanup: () => void;
301
- complete: Promise<void>;
302
- };
81
+ }): Query<TSchema, TTable, TReturn, TContext>;
82
+ limit(limit: number): Query<TSchema, TTable, TReturn, TContext>;
83
+ orderBy<TSelector extends Selector<PullTableSchema<TTable, TSchema>>>(field: TSelector, direction: 'asc' | 'desc'): Query<TSchema, TTable, TReturn, TContext>;
84
+ one(): Query<TSchema, TTable, TReturn | undefined, TContext>;
303
85
  }
304
86
  export type PreloadOptions = {
305
87
  /**
@@ -335,7 +117,7 @@ export type HumanReadableRecursive<T> = undefined extends T ? ExpandRecursive<T>
335
117
  */
336
118
  export type RunOptions = {
337
119
  type: 'unknown' | 'complete';
338
- ttl?: TTL;
120
+ ttl?: TTL | undefined;
339
121
  };
340
122
  export declare const DEFAULT_RUN_OPTIONS_UNKNOWN: {
341
123
  readonly type: "unknown";
@@ -343,5 +125,6 @@ export declare const DEFAULT_RUN_OPTIONS_UNKNOWN: {
343
125
  export declare const DEFAULT_RUN_OPTIONS_COMPLETE: {
344
126
  readonly type: "complete";
345
127
  };
128
+ export type AnyQuery = Query<Schema, string, any, any>;
346
129
  export {};
347
130
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAE,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,KAAK,GAAG,EAAE,KAAK,cAAc,EAAC,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,MAAM,IAAI,UAAU,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,WAAW,IAAI,OAAO,CACjE,QAAQ,CAAC,CAAC,CAAC,EACX,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CACrC,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAEtB,KAAK,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI;KAC1C,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,yBAAyB,CAC1E,GAAG,EAAE,CACN,GACG,CAAC,GACD,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC3E,eAAO,MAAM,cAAc,eAAqB,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,CAAC;AAE5C,MAAM,MAAM,aAAa,CACvB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,MAAM,OAAO,CAAC,SAAS,CAAC,EACxC,SAAS,SAAS,cAAc,IAC9B,SAAS,SAAS,IAAI,GAAG,QAAQ,GAIjC,AAHA,yEAAyE;AAGzE,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GACvD,SAAS,SAAS,IAAI,GAAG,QAAQ,GAI/B,SAAS,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAC1E,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEtE,MAAM,MAAM,sBAAsB,CAChC,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,UAAU,IACxB,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAEpD,MAAM,MAAM,aAAa,CACvB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,UAAU,EAC1B,aAAa,SAAS,MAAM,IAC1B,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAE/E,KAAK,OAAO,CACV,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,UAAU,EAC1B,aAAa,SAAS,MAAM,IAC1B,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,MAAM,GAChF,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,GAC/D,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAEhF,KAAK,YAAY,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,MAAM,IAAI;IACzE,QAAQ,EAAE,CAAC,IAAI,GAAG,GAAG,SAAS,SAAS,gBAAgB,GACnD,gBAAgB,GAChB,SAAS,gBAAgB,EAAE;CAChC,SAAS,MAAM,gBAAgB,GAC5B,SAAS,SAAS,eAAe,GAC/B,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC,GAAG,SAAS,GACpE,eAAe,GAAG,gBAAgB,GACpC,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,CACzB,MAAM,SAAS,MAAM,EACrB,QAAQ,SAAS,UAAU,IACzB,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/B,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,UAAU,IAAI;IACvE,QAAQ,EAAE,CAAC,IAAI,MAAM,eAAe,CAClC,MAAM,EACN,OAAO,CACR,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAChC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC/C;CACF,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,GAAG,CACb,CAAC,SACG,WAAW,GACX,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,GAC9B,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IACpD,CAAC,SAAS,WAAW,GACrB;IACE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACzE,GACD,CAAC,SACK,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,GAC9B,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GACtD,YAAY,CAAC,CAAC,CAAC,GACf,KAAK,CAAC;AAEZ,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CACtC,GAAG,IAAI,EAAE,GAAG,KACT,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GACzB,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,GACD,KAAK,CAAC;AAEZ,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAC9B,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,GAC9B,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAClD,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC9B,KAAK,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,KAAK,CACpB,OAAO,SAAS,UAAU,EAC1B,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,MAAM,CAAC;IACf,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAElD,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,GACrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,OAAO,CAAC,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,YAAY,EAAE,aAAa,GAC1B,KAAK,CACN,OAAO,EACP,MAAM,EACN,YAAY,CACV,OAAO,EACP,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EACvC,aAAa,CACd,CACF,CAAC;IACF,OAAO,CACL,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,IAAI,SAAS,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAExC,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,CACF,CAAC,EAAE,KAAK,CACN,OAAO,EACP,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAC7C,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CACxC,KACE,IAAI,GACR,KAAK,CACN,OAAO,EACP,MAAM,EACN,YAAY,CACV,OAAO,EACP,IAAI,SAAS,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC,GACjD,UAAU,GACV,KAAK,EACT,aAAa,CACd,CACF,CAAC;IAEF;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CACH,SAAS,SAAS,sBAAsB,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1E,SAAS,SAAS,cAAc,EAEhC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,SAAS,EACb,KAAK,EACD,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,GACrE,kBAAkB,GACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CACH,SAAS,SAAS,sBAAsB,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAE1E,KAAK,EAAE,SAAS,EAChB,KAAK,EACD,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAC/D,kBAAkB,GACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;;;;OAYG;IACH,KAAK,CACH,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,GACpD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,WAAW,CACT,YAAY,EAAE,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACrD,OAAO,CAAC,EAAE,aAAa,GACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,CACF,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,KAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;;;;OAYG;IACH,KAAK,CACH,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtC,IAAI,CAAC,EAAE;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtD;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAClE,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,KAAK,GAAG,MAAM,GACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;OASG;IACH,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;IAEnD;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,CAAC,EACX,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EACjD,GAAG,CAAC,EAAE,GAAG,GACR,CAAC,CAAC;IAEL;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,CAAC;CACH;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,SAAS,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAE7E;;GAEG;AAEH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,SAAS,SAAS,CAAC,GACvD,eAAe,CAAC,CAAC,CAAC,GAClB,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,2BAA2B;;CAE9B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;CAE/B,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import {} from "../../../zero-protocol/src/ast.js";
2
- export const delegateSymbol = Symbol('delegate');
3
2
  export const DEFAULT_RUN_OPTIONS_UNKNOWN = {
4
3
  type: 'unknown',
5
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,MAAM,mCAAmC,CAAC;AAoChF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAoejD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,UAAU;CACR,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,MAAM,mCAAmC,CAAC;AAyStE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,UAAU;CACR,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { StandardSchemaV1 } from '@standard-schema/spec';
2
+ import type { ReadonlyJSONValue } from '../../../shared/src/json.ts';
3
+ import type { SimpleOperator } from '../../../zero-protocol/src/ast.ts';
4
+ import type { Schema } from '../../../zero-types/src/schema.ts';
5
+ import { ChainedQuery } from './chained-query.ts';
6
+ import type { DefineQueryFunc } from './define-query.ts';
7
+ import type { ExpressionFactory, ParameterReference } from './expression.ts';
8
+ import type { CustomQueryID } from './named.ts';
9
+ import { type AvailableRelationships, type DestTableName, type ExistsOptions, type GetFilterType, type NoCompoundTypeSelector, type PullRow, type PullTableSchema, type Query } from './query.ts';
10
+ /**
11
+ * Root named query that has a name, input validation, and a function to execute.
12
+ * This is the base query that doesn't chain from another query.
13
+ */
14
+ export declare class RootNamedQuery<TName extends string, TSchema extends Schema, TTable extends keyof TSchema['tables'] & string, TReturn, TContext, TOutput extends ReadonlyJSONValue | undefined, TInput> implements Query<TSchema, TTable, TReturn, TContext> {
15
+ #private;
16
+ constructor(name: TName, func: DefineQueryFunc<TSchema, TTable, TReturn, TContext, TOutput>, input: TInput, validator: StandardSchemaV1<TInput, TOutput> | undefined);
17
+ withContext(ctx: TContext): Query<TSchema, TTable, TReturn, TContext>;
18
+ one(): ChainedQuery<TSchema, TTable, TReturn | undefined, TContext>;
19
+ whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship, options?: ExistsOptions): ChainedQuery<TSchema, TTable, TReturn, TContext>;
20
+ whereExists<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship, cb: (q: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>, TContext>) => Query<TSchema, string, TContext>, options?: ExistsOptions): ChainedQuery<TSchema, TTable, TReturn, TContext>;
21
+ related<TRelationship extends AvailableRelationships<TTable, TSchema>>(relationship: TRelationship): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;
22
+ related<TRelationship extends AvailableRelationships<TTable, TSchema>, TSub extends Query<TSchema, string, unknown>>(relationship: TRelationship, cb: (q: Query<TSchema, DestTableName<TTable, TSchema, TRelationship>, TContext>) => TSub): ChainedQuery<TSchema, TTable, TReturn & Record<string, unknown>, TContext>;
23
+ where<TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>, TOperator extends SimpleOperator>(field: TSelector, op: TOperator, value: GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, TOperator> | ParameterReference): ChainedQuery<TSchema, TTable, TReturn, TContext>;
24
+ where<TSelector extends NoCompoundTypeSelector<PullTableSchema<TTable, TSchema>>>(field: TSelector, value: GetFilterType<PullTableSchema<TTable, TSchema>, TSelector, '='> | ParameterReference): ChainedQuery<TSchema, TTable, TReturn, TContext>;
25
+ where(expressionFactory: ExpressionFactory<TSchema, TTable>): ChainedQuery<TSchema, TTable, TReturn, TContext>;
26
+ start(row: Partial<PullRow<TTable, TSchema>>, opts?: {
27
+ inclusive: boolean;
28
+ }): ChainedQuery<TSchema, TTable, TReturn, TContext>;
29
+ limit(limit: number): ChainedQuery<TSchema, TTable, TReturn, TContext>;
30
+ orderBy<TSelector extends keyof PullTableSchema<TTable, TSchema>['columns']>(field: TSelector, direction: 'asc' | 'desc'): ChainedQuery<TSchema, TTable, TReturn, TContext>;
31
+ get customQueryID(): CustomQueryID;
32
+ }
33
+ //# sourceMappingURL=root-named-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-named-query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/root-named-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAG9C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,cAAc,CACzB,KAAK,SAAS,MAAM,EACpB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC/C,OAAO,EACP,QAAQ,EACR,OAAO,SAAS,iBAAiB,GAAG,SAAS,EAC7C,MAAM,CACN,YAAW,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;;gBASlD,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAClE,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAQ1D,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAoDrE,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,CAAC;IAInE,WAAW,CAAC,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,YAAY,EAAE,aAAa,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IACnD,WAAW,CAAC,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,CACF,CAAC,EAAE,KAAK,CACN,OAAO,EACP,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAC7C,QAAQ,CACT,KACE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EACrC,OAAO,CAAC,EAAE,aAAa,GACtB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAwBnD,OAAO,CAAC,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,YAAY,EAAE,aAAa,GAC1B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC7E,OAAO,CACL,aAAa,SAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,IAAI,SAAS,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAE5C,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,CACF,CAAC,EAAE,KAAK,CACN,OAAO,EACP,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAC7C,QAAQ,CACT,KACE,IAAI,GACR,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;IAmC7E,KAAK,CACH,SAAS,SAAS,sBAAsB,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1E,SAAS,SAAS,cAAc,EAEhC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,SAAS,EACb,KAAK,EACD,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,GACrE,kBAAkB,GACrB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IACnD,KAAK,CACH,SAAS,SAAS,sBAAsB,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAE1E,KAAK,EAAE,SAAS,EAChB,KAAK,EACD,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAC/D,kBAAkB,GACrB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IACnD,KAAK,CACH,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,GACpD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAmCnD,KAAK,CACH,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtC,IAAI,CAAC,EAAE;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAC1B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAInD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAItE,OAAO,CAAC,SAAS,SAAS,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,EACzE,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,KAAK,GAAG,MAAM,GACxB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAInD,IAAI,aAAa,IAAI,aAAa,CAKjC;CACF"}
@@ -0,0 +1,95 @@
1
+ import { ChainedQuery } from "./chained-query.js";
2
+ import { queryWithContext } from "./query-internals.js";
3
+ import {} from "./query.js";
4
+ /**
5
+ * Root named query that has a name, input validation, and a function to execute.
6
+ * This is the base query that doesn't chain from another query.
7
+ */
8
+ export class RootNamedQuery {
9
+ #name;
10
+ #input;
11
+ #func;
12
+ #validator;
13
+ #cachedQuery;
14
+ constructor(name, func, input, validator) {
15
+ this.#name = name;
16
+ this.#func = func;
17
+ this.#input = input;
18
+ this.#validator = validator;
19
+ }
20
+ withContext(ctx) {
21
+ if (this.#cachedQuery) {
22
+ return this.#cachedQuery;
23
+ }
24
+ // This is a root query - call the function with the context
25
+ let output;
26
+ if (!this.#validator) {
27
+ // No validator, so input and output are the same
28
+ output = this.#input;
29
+ }
30
+ else {
31
+ const result = this.#validator['~standard'].validate(this.#input);
32
+ if (result instanceof Promise) {
33
+ throw new Error(`Async validators are not supported. Query name ${this.#name}`);
34
+ }
35
+ if (result.issues) {
36
+ throw new Error(`Validation failed for query ${this.#name}: ${result.issues
37
+ .map(issue => issue.message)
38
+ .join(', ')}`);
39
+ }
40
+ output = result.value;
41
+ }
42
+ // TODO: Refactor to deal with the name and args at a different abstraction
43
+ // layer.
44
+ this.#cachedQuery = queryWithContext(this.#func({ ctx, args: output }), ctx).nameAndArgs(this.#name, this.#input === undefined ? [] : [this.#input]);
45
+ return this.#cachedQuery;
46
+ }
47
+ #withChain(fn) {
48
+ return new ChainedQuery(this, fn);
49
+ }
50
+ // Query interface methods
51
+ one() {
52
+ return this.#withChain(q => q.one());
53
+ }
54
+ whereExists(relationship, cbOrOptions, options) {
55
+ if (typeof cbOrOptions === 'function') {
56
+ return this.#withChain(q => q.whereExists(relationship, cbOrOptions, options));
57
+ }
58
+ return this.#withChain(q => q.whereExists(relationship, cbOrOptions));
59
+ }
60
+ related(relationship, cb) {
61
+ if (cb) {
62
+ return this.#withChain(q => q.related(relationship, cb));
63
+ }
64
+ return this.#withChain(q => q.related(relationship));
65
+ }
66
+ where(fieldOrExpressionFactory, opOrValue, value) {
67
+ if (typeof fieldOrExpressionFactory === 'function') {
68
+ return this.#withChain(q => q.where(fieldOrExpressionFactory));
69
+ }
70
+ if (value !== undefined) {
71
+ return this.#withChain(q =>
72
+ // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility
73
+ q.where(fieldOrExpressionFactory, opOrValue, value));
74
+ }
75
+ return this.#withChain(q =>
76
+ // Cast to bypass TypeScript's strict type checking - this proxy method needs runtime flexibility
77
+ q.where(fieldOrExpressionFactory, opOrValue));
78
+ }
79
+ start(row, opts) {
80
+ return this.#withChain(q => q.start(row, opts));
81
+ }
82
+ limit(limit) {
83
+ return this.#withChain(q => q.limit(limit));
84
+ }
85
+ orderBy(field, direction) {
86
+ return this.#withChain(q => q.orderBy(field, direction));
87
+ }
88
+ get customQueryID() {
89
+ return {
90
+ name: this.#name,
91
+ args: this.#input === undefined ? [] : [this.#input],
92
+ };
93
+ }
94
+ }
95
+ //# sourceMappingURL=root-named-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-named-query.js","sourceRoot":"","sources":["../../../../../zql/src/query/root-named-query.ts"],"names":[],"mappings":"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"}