@rocicorp/zero 0.5.2024103100 → 0.6.2024111600

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 (724) hide show
  1. package/out/{internal.js → advanced.js} +2 -2
  2. package/out/{chunk-TBA526RR.js → chunk-V5NTGJ4X.js} +1211 -624
  3. package/out/chunk-V5NTGJ4X.js.map +7 -0
  4. package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
  5. package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
  6. package/out/react.js.map +2 -2
  7. package/out/shared/src/browser-env.d.ts +17 -0
  8. package/out/shared/src/browser-env.d.ts.map +1 -1
  9. package/out/shared/src/expand.d.ts +7 -0
  10. package/out/shared/src/expand.d.ts.map +1 -0
  11. package/out/shared/src/valita.d.ts +7 -0
  12. package/out/shared/src/valita.d.ts.map +1 -1
  13. package/out/shared/src/valita.js +28 -0
  14. package/out/shared/src/valita.js.map +1 -1
  15. package/out/solid.js +5 -5
  16. package/out/solid.js.map +2 -2
  17. package/out/zero-advanced/src/mod.d.ts +7 -7
  18. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  19. package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
  20. package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
  21. package/out/zero-cache/src/auth/load-authorization.js +21 -0
  22. package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
  23. package/out/zero-cache/src/config/config.d.ts +112 -0
  24. package/out/zero-cache/src/config/config.d.ts.map +1 -0
  25. package/out/zero-cache/src/config/config.js +246 -0
  26. package/out/zero-cache/src/config/config.js.map +1 -0
  27. package/out/zero-cache/src/config/zero-config.d.ts +145 -964
  28. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  29. package/out/zero-cache/src/config/zero-config.js +242 -115
  30. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  31. package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
  32. package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
  33. package/out/zero-cache/src/db/delete-lite-db.js +7 -0
  34. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
  35. package/out/zero-cache/src/db/migration.d.ts +1 -0
  36. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  37. package/out/zero-cache/src/db/migration.js +17 -7
  38. package/out/zero-cache/src/db/migration.js.map +1 -1
  39. package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
  40. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  41. package/out/zero-cache/src/db/pg-to-lite.js +7 -3
  42. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  43. package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
  44. package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
  45. package/out/zero-cache/src/db/short-lived-client.js +50 -0
  46. package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
  47. package/out/zero-cache/src/db/specs.d.ts +12 -3
  48. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  49. package/out/zero-cache/src/db/specs.js +6 -1
  50. package/out/zero-cache/src/db/specs.js.map +1 -1
  51. package/out/zero-cache/src/db/transaction-pool.d.ts +7 -2
  52. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  53. package/out/zero-cache/src/db/transaction-pool.js +42 -8
  54. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  55. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  56. package/out/zero-cache/src/server/change-streamer.js +34 -9
  57. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  58. package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
  59. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  60. package/out/zero-cache/src/server/life-cycle.js +2 -3
  61. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  62. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  63. package/out/zero-cache/src/server/logging.js +2 -15
  64. package/out/zero-cache/src/server/logging.js.map +1 -1
  65. package/out/zero-cache/src/server/main.js +28 -10
  66. package/out/zero-cache/src/server/main.js.map +1 -1
  67. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  68. package/out/zero-cache/src/server/replicator.js +6 -5
  69. package/out/zero-cache/src/server/replicator.js.map +1 -1
  70. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  71. package/out/zero-cache/src/server/syncer.js +16 -12
  72. package/out/zero-cache/src/server/syncer.js.map +1 -1
  73. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
  74. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  75. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
  76. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  77. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
  78. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  79. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
  80. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  81. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
  82. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  83. package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
  84. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  85. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
  86. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  87. package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
  88. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  89. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
  90. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  91. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
  92. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  93. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  94. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +32 -18
  95. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  96. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
  97. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
  99. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
  101. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
  103. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
  105. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  106. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
  107. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  108. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
  109. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
  111. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
  112. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
  113. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
  114. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
  115. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
  116. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
  117. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  118. package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
  119. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
  120. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  121. package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
  122. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  123. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
  124. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  125. package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
  126. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  127. package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
  128. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
  130. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  131. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
  132. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  133. package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
  134. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  135. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
  136. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  137. package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
  138. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  139. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
  140. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  141. package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
  142. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  143. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
  144. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  145. package/out/zero-cache/src/services/mutagen/write-authorizer.js +12 -20
  146. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  147. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  148. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  149. package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
  150. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  151. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  152. package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
  153. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  154. package/out/zero-cache/src/services/running-state.d.ts +6 -1
  155. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  156. package/out/zero-cache/src/services/running-state.js +23 -5
  157. package/out/zero-cache/src/services/running-state.js.map +1 -1
  158. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
  159. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  160. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
  161. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  162. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
  163. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  164. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  165. package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
  166. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  167. package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
  168. package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
  169. package/out/zero-cache/src/types/lexi-version.js +8 -6
  170. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  171. package/out/zero-cache/src/types/lite.d.ts +1 -1
  172. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  173. package/out/zero-cache/src/types/lite.js +0 -1
  174. package/out/zero-cache/src/types/lite.js.map +1 -1
  175. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  176. package/out/zero-cache/src/types/processes.js +1 -0
  177. package/out/zero-cache/src/types/processes.js.map +1 -1
  178. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  179. package/out/zero-cache/src/workers/replicator.js +2 -4
  180. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  181. package/out/zero-cache/src/workers/syncer.js +1 -1
  182. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  183. package/out/zero-client/src/client/context.d.ts +4 -4
  184. package/out/zero-client/src/client/context.d.ts.map +1 -1
  185. package/out/zero-client/src/client/crud.d.ts +57 -26
  186. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  187. package/out/zero-client/src/client/http-string.d.ts +1 -0
  188. package/out/zero-client/src/client/http-string.d.ts.map +1 -1
  189. package/out/zero-client/src/client/keys.d.ts +1 -1
  190. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  191. package/out/zero-client/src/client/log-options.d.ts +2 -1
  192. package/out/zero-client/src/client/log-options.d.ts.map +1 -1
  193. package/out/zero-client/src/client/options.d.ts +9 -9
  194. package/out/zero-client/src/client/options.d.ts.map +1 -1
  195. package/out/zero-client/src/client/protocol-version.d.ts +2 -0
  196. package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
  197. package/out/zero-client/src/client/query-manager.d.ts +1 -1
  198. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  199. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  200. package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
  201. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  202. package/out/zero-client/src/client/zero.d.ts +27 -22
  203. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  204. package/out/zero-client/src/mod.d.ts +8 -7
  205. package/out/zero-client/src/mod.d.ts.map +1 -1
  206. package/out/zero-protocol/src/ast.d.ts +37 -21
  207. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  208. package/out/zero-protocol/src/ast.js +21 -6
  209. package/out/zero-protocol/src/ast.js.map +1 -1
  210. package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
  211. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  212. package/out/zero-protocol/src/connect.d.ts +16 -8
  213. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  214. package/out/zero-protocol/src/down.d.ts +16 -8
  215. package/out/zero-protocol/src/down.d.ts.map +1 -1
  216. package/out/zero-protocol/src/poke.d.ts +32 -16
  217. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  218. package/out/zero-protocol/src/push.d.ts +18 -18
  219. package/out/zero-protocol/src/push.d.ts.map +1 -1
  220. package/out/zero-protocol/src/push.js +5 -5
  221. package/out/zero-protocol/src/push.js.map +1 -1
  222. package/out/zero-protocol/src/queries-patch.d.ts +24 -12
  223. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  224. package/out/zero-protocol/src/up.d.ts +18 -10
  225. package/out/zero-protocol/src/up.d.ts.map +1 -1
  226. package/out/zero-react/src/use-query.d.ts +2 -1
  227. package/out/zero-react/src/use-query.d.ts.map +1 -1
  228. package/out/zero-react/src/use-zero.d.ts +2 -1
  229. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  230. package/out/zero-schema/src/authorization.d.ts +25 -0
  231. package/out/zero-schema/src/authorization.d.ts.map +1 -0
  232. package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
  233. package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
  234. package/out/zero-schema/src/compiled-authorization.js +15 -0
  235. package/out/zero-schema/src/compiled-authorization.js.map +1 -0
  236. package/out/zero-schema/src/mod.d.ts +5 -0
  237. package/out/zero-schema/src/mod.d.ts.map +1 -0
  238. package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
  239. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
  240. package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
  241. package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
  242. package/out/zero-schema/src/schema.d.ts +9 -0
  243. package/out/zero-schema/src/schema.d.ts.map +1 -0
  244. package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +47 -3
  245. package/out/zero-schema/src/table-schema.d.ts.map +1 -0
  246. package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
  247. package/out/zero-schema/src/table-schema.js.map +1 -0
  248. package/out/zero-solid/src/create-zero.d.ts +2 -1
  249. package/out/zero-solid/src/create-zero.d.ts.map +1 -1
  250. package/out/zero.js +6 -14
  251. package/out/zql/src/{zql/builder → builder}/builder.d.ts +5 -5
  252. package/out/zql/src/builder/builder.d.ts.map +1 -0
  253. package/out/zql/src/{zql/builder → builder}/builder.js +81 -33
  254. package/out/zql/src/builder/builder.js.map +1 -0
  255. package/out/zql/src/builder/error.d.ts.map +1 -0
  256. package/out/zql/src/builder/error.js.map +1 -0
  257. package/out/zql/src/builder/filter.d.ts +7 -0
  258. package/out/zql/src/builder/filter.d.ts.map +1 -0
  259. package/out/zql/src/{zql/builder → builder}/filter.js +19 -1
  260. package/out/zql/src/builder/filter.js.map +1 -0
  261. package/out/zql/src/builder/like.d.ts +3 -0
  262. package/out/zql/src/builder/like.d.ts.map +1 -0
  263. package/out/zql/src/{zql/builder → builder}/like.js +1 -1
  264. package/out/zql/src/builder/like.js.map +1 -0
  265. package/out/zql/src/ivm/array-view.d.ts.map +1 -0
  266. package/out/zql/src/{zql/ivm → ivm}/change.d.ts +2 -1
  267. package/out/zql/src/ivm/change.d.ts.map +1 -0
  268. package/out/zql/src/ivm/change.js +5 -0
  269. package/out/zql/src/ivm/change.js.map +1 -0
  270. package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
  271. package/out/zql/src/ivm/data.d.ts.map +1 -0
  272. package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
  273. package/out/zql/src/ivm/data.js.map +1 -0
  274. package/out/zql/src/ivm/exists.d.ts +18 -0
  275. package/out/zql/src/ivm/exists.d.ts.map +1 -0
  276. package/out/zql/src/ivm/exists.js +186 -0
  277. package/out/zql/src/ivm/exists.js.map +1 -0
  278. package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +3 -3
  279. package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
  280. package/out/zql/src/{zql/ivm → ivm}/fan-in.js +8 -11
  281. package/out/zql/src/ivm/fan-in.js.map +1 -0
  282. package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +1 -1
  283. package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
  284. package/out/zql/src/{zql/ivm → ivm}/fan-out.js +8 -7
  285. package/out/zql/src/ivm/fan-out.js.map +1 -0
  286. package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +3 -3
  287. package/out/zql/src/ivm/filter.d.ts.map +1 -0
  288. package/out/zql/src/{zql/ivm → ivm}/filter.js +2 -2
  289. package/out/zql/src/ivm/filter.js.map +1 -0
  290. package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
  291. package/out/zql/src/ivm/join.d.ts.map +1 -0
  292. package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
  293. package/out/zql/src/ivm/join.js.map +1 -0
  294. package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
  295. package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
  296. package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
  297. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
  298. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  299. package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +16 -12
  300. package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
  301. package/out/zql/src/{zql/ivm → ivm}/memory-source.js +72 -92
  302. package/out/zql/src/ivm/memory-source.js.map +1 -0
  303. package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
  304. package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
  305. package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
  306. package/out/zql/src/ivm/operator.d.ts.map +1 -0
  307. package/out/zql/src/ivm/operator.js.map +1 -0
  308. package/out/zql/src/ivm/schema.d.ts +15 -0
  309. package/out/zql/src/ivm/schema.d.ts.map +1 -0
  310. package/out/zql/src/ivm/schema.js +2 -0
  311. package/out/zql/src/ivm/schema.js.map +1 -0
  312. package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
  313. package/out/zql/src/ivm/skip.d.ts.map +1 -0
  314. package/out/zql/src/{zql/ivm → ivm}/skip.js +2 -2
  315. package/out/zql/src/ivm/skip.js.map +1 -0
  316. package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
  317. package/out/zql/src/ivm/source.d.ts.map +1 -0
  318. package/out/zql/src/ivm/source.js.map +1 -0
  319. package/out/zql/src/ivm/stream.d.ts.map +1 -0
  320. package/out/zql/src/ivm/stream.js.map +1 -0
  321. package/out/zql/src/{zql/ivm → ivm}/take.d.ts +3 -3
  322. package/out/zql/src/ivm/take.d.ts.map +1 -0
  323. package/out/zql/src/{zql/ivm → ivm}/take.js +13 -9
  324. package/out/zql/src/ivm/take.js.map +1 -0
  325. package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
  326. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
  327. package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
  328. package/out/zql/src/ivm/view.d.ts.map +1 -0
  329. package/out/zql/src/query/auth-query.d.ts +24 -0
  330. package/out/zql/src/query/auth-query.d.ts.map +1 -0
  331. package/out/zql/src/query/dnf.d.ts +10 -0
  332. package/out/zql/src/query/dnf.d.ts.map +1 -0
  333. package/out/zql/src/query/escape-like.d.ts.map +1 -0
  334. package/out/zql/src/query/expression.d.ts +41 -0
  335. package/out/zql/src/query/expression.d.ts.map +1 -0
  336. package/out/zql/src/{zql/query → query}/query-impl.d.ts +9 -8
  337. package/out/zql/src/query/query-impl.d.ts.map +1 -0
  338. package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
  339. package/out/zql/src/query/query-internal.d.ts.map +1 -0
  340. package/out/zql/src/query/query.d.ts +98 -0
  341. package/out/zql/src/query/query.d.ts.map +1 -0
  342. package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
  343. package/out/zql/src/query/typed-view.d.ts.map +1 -0
  344. package/out/zqlite/src/db.d.ts.map +1 -1
  345. package/out/zqlite/src/db.js +19 -6
  346. package/out/zqlite/src/db.js.map +1 -1
  347. package/out/zqlite/src/table-source.d.ts +24 -3
  348. package/out/zqlite/src/table-source.d.ts.map +1 -1
  349. package/out/zqlite/src/table-source.js +117 -18
  350. package/out/zqlite/src/table-source.js.map +1 -1
  351. package/package.json +11 -6
  352. package/out/chunk-TBA526RR.js.map +0 -7
  353. package/out/datadog/src/datadog-log-sink.js +0 -231
  354. package/out/datadog/src/datadog-log-sink.js.map +0 -1
  355. package/out/datadog/src/mod.js +0 -2
  356. package/out/datadog/src/mod.js.map +0 -1
  357. package/out/replicache/src/async-iterable-to-array.js +0 -8
  358. package/out/replicache/src/async-iterable-to-array.js.map +0 -1
  359. package/out/replicache/src/bg-interval.js +0 -38
  360. package/out/replicache/src/bg-interval.js.map +0 -1
  361. package/out/replicache/src/binary-search.js +0 -31
  362. package/out/replicache/src/binary-search.js.map +0 -1
  363. package/out/replicache/src/broadcast-channel.js +0 -29
  364. package/out/replicache/src/broadcast-channel.js.map +0 -1
  365. package/out/replicache/src/btree/diff.js +0 -6
  366. package/out/replicache/src/btree/diff.js.map +0 -1
  367. package/out/replicache/src/btree/node.js +0 -392
  368. package/out/replicache/src/btree/node.js.map +0 -1
  369. package/out/replicache/src/btree/read.js +0 -227
  370. package/out/replicache/src/btree/read.js.map +0 -1
  371. package/out/replicache/src/btree/splice.js +0 -79
  372. package/out/replicache/src/btree/splice.js.map +0 -1
  373. package/out/replicache/src/btree/write.js +0 -154
  374. package/out/replicache/src/btree/write.js.map +0 -1
  375. package/out/replicache/src/call-default-fetch.js +0 -37
  376. package/out/replicache/src/call-default-fetch.js.map +0 -1
  377. package/out/replicache/src/config.js +0 -13
  378. package/out/replicache/src/config.js.map +0 -1
  379. package/out/replicache/src/connection-loop-delegates.js +0 -30
  380. package/out/replicache/src/connection-loop-delegates.js.map +0 -1
  381. package/out/replicache/src/connection-loop.js +0 -268
  382. package/out/replicache/src/connection-loop.js.map +0 -1
  383. package/out/replicache/src/cookies.js +0 -41
  384. package/out/replicache/src/cookies.js.map +0 -1
  385. package/out/replicache/src/dag/chunk.js +0 -60
  386. package/out/replicache/src/dag/chunk.js.map +0 -1
  387. package/out/replicache/src/dag/gc.js +0 -126
  388. package/out/replicache/src/dag/gc.js.map +0 -1
  389. package/out/replicache/src/dag/key-type-enum.js +0 -6
  390. package/out/replicache/src/dag/key-type-enum.js.map +0 -1
  391. package/out/replicache/src/dag/key.js +0 -54
  392. package/out/replicache/src/dag/key.js.map +0 -1
  393. package/out/replicache/src/dag/lazy-store.js +0 -532
  394. package/out/replicache/src/dag/lazy-store.js.map +0 -1
  395. package/out/replicache/src/dag/store-impl.js +0 -175
  396. package/out/replicache/src/dag/store-impl.js.map +0 -1
  397. package/out/replicache/src/dag/store.js +0 -22
  398. package/out/replicache/src/dag/store.js.map +0 -1
  399. package/out/replicache/src/dag/visitor.js +0 -22
  400. package/out/replicache/src/dag/visitor.js.map +0 -1
  401. package/out/replicache/src/db/commit.js +0 -443
  402. package/out/replicache/src/db/commit.js.map +0 -1
  403. package/out/replicache/src/db/index-operation-enum.js +0 -4
  404. package/out/replicache/src/db/index-operation-enum.js.map +0 -1
  405. package/out/replicache/src/db/index.js +0 -170
  406. package/out/replicache/src/db/index.js.map +0 -1
  407. package/out/replicache/src/db/meta-type-enum.js +0 -7
  408. package/out/replicache/src/db/meta-type-enum.js.map +0 -1
  409. package/out/replicache/src/db/read.js +0 -59
  410. package/out/replicache/src/db/read.js.map +0 -1
  411. package/out/replicache/src/db/rebase.js +0 -56
  412. package/out/replicache/src/db/rebase.js.map +0 -1
  413. package/out/replicache/src/db/scan.js +0 -2
  414. package/out/replicache/src/db/scan.js.map +0 -1
  415. package/out/replicache/src/db/write.js +0 -260
  416. package/out/replicache/src/db/write.js.map +0 -1
  417. package/out/replicache/src/error-responses.js +0 -30
  418. package/out/replicache/src/error-responses.js.map +0 -1
  419. package/out/replicache/src/filter-async-iterable.js +0 -15
  420. package/out/replicache/src/filter-async-iterable.js.map +0 -1
  421. package/out/replicache/src/format-version-enum.js +0 -9
  422. package/out/replicache/src/format-version-enum.js.map +0 -1
  423. package/out/replicache/src/format-version.js +0 -8
  424. package/out/replicache/src/format-version.js.map +0 -1
  425. package/out/replicache/src/frozen-json.js +0 -151
  426. package/out/replicache/src/frozen-json.js.map +0 -1
  427. package/out/replicache/src/get-default-puller.js +0 -74
  428. package/out/replicache/src/get-default-puller.js.map +0 -1
  429. package/out/replicache/src/get-default-pusher.js +0 -36
  430. package/out/replicache/src/get-default-pusher.js.map +0 -1
  431. package/out/replicache/src/hash.js +0 -73
  432. package/out/replicache/src/hash.js.map +0 -1
  433. package/out/replicache/src/http-request-info.js +0 -7
  434. package/out/replicache/src/http-request-info.js.map +0 -1
  435. package/out/replicache/src/impl.js +0 -2
  436. package/out/replicache/src/impl.js.map +0 -1
  437. package/out/replicache/src/index-defs.js +0 -28
  438. package/out/replicache/src/index-defs.js.map +0 -1
  439. package/out/replicache/src/invoke-kind-enum.js +0 -4
  440. package/out/replicache/src/invoke-kind-enum.js.map +0 -1
  441. package/out/replicache/src/iterable-union.js +0 -5
  442. package/out/replicache/src/iterable-union.js.map +0 -1
  443. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
  444. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  445. package/out/replicache/src/kv/idb-store.js +0 -179
  446. package/out/replicache/src/kv/idb-store.js.map +0 -1
  447. package/out/replicache/src/kv/mem-store.js +0 -61
  448. package/out/replicache/src/kv/mem-store.js.map +0 -1
  449. package/out/replicache/src/kv/read-impl.js +0 -23
  450. package/out/replicache/src/kv/read-impl.js.map +0 -1
  451. package/out/replicache/src/kv/store.js +0 -2
  452. package/out/replicache/src/kv/store.js.map +0 -1
  453. package/out/replicache/src/kv/write-impl-base.js +0 -48
  454. package/out/replicache/src/kv/write-impl-base.js.map +0 -1
  455. package/out/replicache/src/kv/write-impl.js +0 -25
  456. package/out/replicache/src/kv/write-impl.js.map +0 -1
  457. package/out/replicache/src/lazy.js +0 -10
  458. package/out/replicache/src/lazy.js.map +0 -1
  459. package/out/replicache/src/log-options.js +0 -13
  460. package/out/replicache/src/log-options.js.map +0 -1
  461. package/out/replicache/src/merge-async-iterables.js +0 -61
  462. package/out/replicache/src/merge-async-iterables.js.map +0 -1
  463. package/out/replicache/src/mod.js +0 -14
  464. package/out/replicache/src/mod.js.map +0 -1
  465. package/out/replicache/src/mutation-recovery.js +0 -439
  466. package/out/replicache/src/mutation-recovery.js.map +0 -1
  467. package/out/replicache/src/new-client-channel.js +0 -77
  468. package/out/replicache/src/new-client-channel.js.map +0 -1
  469. package/out/replicache/src/on-persist-channel.js +0 -33
  470. package/out/replicache/src/on-persist-channel.js.map +0 -1
  471. package/out/replicache/src/patch-operation.js +0 -37
  472. package/out/replicache/src/patch-operation.js.map +0 -1
  473. package/out/replicache/src/pending-mutations.js +0 -18
  474. package/out/replicache/src/pending-mutations.js.map +0 -1
  475. package/out/replicache/src/persist/client-gc.js +0 -38
  476. package/out/replicache/src/persist/client-gc.js.map +0 -1
  477. package/out/replicache/src/persist/client-group-gc.js +0 -38
  478. package/out/replicache/src/persist/client-group-gc.js.map +0 -1
  479. package/out/replicache/src/persist/client-groups.js +0 -180
  480. package/out/replicache/src/persist/client-groups.js.map +0 -1
  481. package/out/replicache/src/persist/clients.js +0 -390
  482. package/out/replicache/src/persist/clients.js.map +0 -1
  483. package/out/replicache/src/persist/collect-idb-databases.js +0 -174
  484. package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
  485. package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
  486. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  487. package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
  488. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  489. package/out/replicache/src/persist/heartbeat.js +0 -37
  490. package/out/replicache/src/persist/heartbeat.js.map +0 -1
  491. package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
  492. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  493. package/out/replicache/src/persist/idb-databases-store.js +0 -90
  494. package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
  495. package/out/replicache/src/persist/make-client-id.js +0 -13
  496. package/out/replicache/src/persist/make-client-id.js.map +0 -1
  497. package/out/replicache/src/persist/persist.js +0 -132
  498. package/out/replicache/src/persist/persist.js.map +0 -1
  499. package/out/replicache/src/persist/refresh.js +0 -147
  500. package/out/replicache/src/persist/refresh.js.map +0 -1
  501. package/out/replicache/src/process-scheduler.js +0 -93
  502. package/out/replicache/src/process-scheduler.js.map +0 -1
  503. package/out/replicache/src/puller.js +0 -2
  504. package/out/replicache/src/puller.js.map +0 -1
  505. package/out/replicache/src/pusher.js +0 -32
  506. package/out/replicache/src/pusher.js.map +0 -1
  507. package/out/replicache/src/replicache-impl.js +0 -1007
  508. package/out/replicache/src/replicache-impl.js.map +0 -1
  509. package/out/replicache/src/replicache-options.js +0 -2
  510. package/out/replicache/src/replicache-options.js.map +0 -1
  511. package/out/replicache/src/replicache.js +0 -387
  512. package/out/replicache/src/replicache.js.map +0 -1
  513. package/out/replicache/src/request-idle.js +0 -15
  514. package/out/replicache/src/request-idle.js.map +0 -1
  515. package/out/replicache/src/scan-iterator.js +0 -202
  516. package/out/replicache/src/scan-iterator.js.map +0 -1
  517. package/out/replicache/src/scan-options.js +0 -45
  518. package/out/replicache/src/scan-options.js.map +0 -1
  519. package/out/replicache/src/set-interval-with-signal.js +0 -7
  520. package/out/replicache/src/set-interval-with-signal.js.map +0 -1
  521. package/out/replicache/src/size-of-value.js +0 -77
  522. package/out/replicache/src/size-of-value.js.map +0 -1
  523. package/out/replicache/src/subscriptions.js +0 -357
  524. package/out/replicache/src/subscriptions.js.map +0 -1
  525. package/out/replicache/src/sync/diff.js +0 -75
  526. package/out/replicache/src/sync/diff.js.map +0 -1
  527. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
  528. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
  529. package/out/replicache/src/sync/ids.js +0 -4
  530. package/out/replicache/src/sync/ids.js.map +0 -1
  531. package/out/replicache/src/sync/patch.js +0 -41
  532. package/out/replicache/src/sync/patch.js.map +0 -1
  533. package/out/replicache/src/sync/pull-error.js +0 -16
  534. package/out/replicache/src/sync/pull-error.js.map +0 -1
  535. package/out/replicache/src/sync/pull.js +0 -375
  536. package/out/replicache/src/sync/pull.js.map +0 -1
  537. package/out/replicache/src/sync/push.js +0 -141
  538. package/out/replicache/src/sync/push.js.map +0 -1
  539. package/out/replicache/src/sync/request-id.js +0 -31
  540. package/out/replicache/src/sync/request-id.js.map +0 -1
  541. package/out/replicache/src/sync/sync-head-name.js +0 -2
  542. package/out/replicache/src/sync/sync-head-name.js.map +0 -1
  543. package/out/replicache/src/test-license-key.js +0 -3
  544. package/out/replicache/src/test-license-key.js.map +0 -1
  545. package/out/replicache/src/to-error.js +0 -7
  546. package/out/replicache/src/to-error.js.map +0 -1
  547. package/out/replicache/src/transaction-closed-error.js +0 -17
  548. package/out/replicache/src/transaction-closed-error.js.map +0 -1
  549. package/out/replicache/src/transactions.js +0 -144
  550. package/out/replicache/src/transactions.js.map +0 -1
  551. package/out/replicache/src/types.js +0 -2
  552. package/out/replicache/src/types.js.map +0 -1
  553. package/out/replicache/src/version.js +0 -6
  554. package/out/replicache/src/version.js.map +0 -1
  555. package/out/replicache/src/with-transactions.js +0 -28
  556. package/out/replicache/src/with-transactions.js.map +0 -1
  557. package/out/shared/src/browser-env.js +0 -14
  558. package/out/shared/src/browser-env.js.map +0 -1
  559. package/out/shared/src/document-visible.js +0 -76
  560. package/out/shared/src/document-visible.js.map +0 -1
  561. package/out/shared/src/immutable.js +0 -2
  562. package/out/shared/src/immutable.js.map +0 -1
  563. package/out/shared/src/navigator.js +0 -3
  564. package/out/shared/src/navigator.js.map +0 -1
  565. package/out/shared/src/random-uint64.js +0 -8
  566. package/out/shared/src/random-uint64.js.map +0 -1
  567. package/out/shared/src/sorted-entries.js +0 -6
  568. package/out/shared/src/sorted-entries.js.map +0 -1
  569. package/out/shared/src/types.js +0 -2
  570. package/out/shared/src/types.js.map +0 -1
  571. package/out/shared/src/writable.js +0 -2
  572. package/out/shared/src/writable.js.map +0 -1
  573. package/out/zero/src/config.d.ts +0 -2
  574. package/out/zero/src/config.d.ts.map +0 -1
  575. package/out/zero/src/config.js +0 -2
  576. package/out/zero/src/config.js.map +0 -1
  577. package/out/zero-cache/src/config/config-query.d.ts +0 -19
  578. package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
  579. package/out/zero-cache/src/config/config-query.js +0 -22
  580. package/out/zero-cache/src/config/config-query.js.map +0 -1
  581. package/out/zero-cache/src/config/define-config.d.ts +0 -43
  582. package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
  583. package/out/zero-cache/src/config/define-config.js +0 -120
  584. package/out/zero-cache/src/config/define-config.js.map +0 -1
  585. package/out/zero-cache/src/config/refs.d.ts +0 -3
  586. package/out/zero-cache/src/config/refs.d.ts.map +0 -1
  587. package/out/zero-cache/src/config/refs.js +0 -14
  588. package/out/zero-cache/src/config/refs.js.map +0 -1
  589. package/out/zero-client/src/client/context.js +0 -113
  590. package/out/zero-client/src/client/context.js.map +0 -1
  591. package/out/zero-client/src/client/crud.js +0 -181
  592. package/out/zero-client/src/client/crud.js.map +0 -1
  593. package/out/zero-client/src/client/enable-analytics.js +0 -21
  594. package/out/zero-client/src/client/enable-analytics.js.map +0 -1
  595. package/out/zero-client/src/client/http-string.js +0 -14
  596. package/out/zero-client/src/client/http-string.js.map +0 -1
  597. package/out/zero-client/src/client/keys.js +0 -32
  598. package/out/zero-client/src/client/keys.js.map +0 -1
  599. package/out/zero-client/src/client/log-options.js +0 -57
  600. package/out/zero-client/src/client/log-options.js.map +0 -1
  601. package/out/zero-client/src/client/metrics.js +0 -268
  602. package/out/zero-client/src/client/metrics.js.map +0 -1
  603. package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
  604. package/out/zero-client/src/client/normalized-schema.js +0 -31
  605. package/out/zero-client/src/client/normalized-schema.js.map +0 -1
  606. package/out/zero-client/src/client/options.js +0 -2
  607. package/out/zero-client/src/client/options.js.map +0 -1
  608. package/out/zero-client/src/client/query-manager.js +0 -146
  609. package/out/zero-client/src/client/query-manager.js.map +0 -1
  610. package/out/zero-client/src/client/reload-error-handler.js +0 -23
  611. package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
  612. package/out/zero-client/src/client/replicache-types.js +0 -2
  613. package/out/zero-client/src/client/replicache-types.js.map +0 -1
  614. package/out/zero-client/src/client/server-error.js +0 -22
  615. package/out/zero-client/src/client/server-error.js.map +0 -1
  616. package/out/zero-client/src/client/server-option.js +0 -37
  617. package/out/zero-client/src/client/server-option.js.map +0 -1
  618. package/out/zero-client/src/client/version.js +0 -6
  619. package/out/zero-client/src/client/version.js.map +0 -1
  620. package/out/zero-client/src/client/zero-poke-handler.js +0 -240
  621. package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
  622. package/out/zero-client/src/client/zero.js +0 -1233
  623. package/out/zero-client/src/client/zero.js.map +0 -1
  624. package/out/zero-client/src/mod.js +0 -7
  625. package/out/zero-client/src/mod.js.map +0 -1
  626. package/out/zero-client/src/util/nanoid.js +0 -34
  627. package/out/zero-client/src/util/nanoid.js.map +0 -1
  628. package/out/zero-client/src/util/socket.js +0 -4
  629. package/out/zero-client/src/util/socket.js.map +0 -1
  630. package/out/zero-protocol/src/ast-hash.js +0 -14
  631. package/out/zero-protocol/src/ast-hash.js.map +0 -1
  632. package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
  633. package/out/zql/src/zql/builder/builder.js.map +0 -1
  634. package/out/zql/src/zql/builder/error.d.ts.map +0 -1
  635. package/out/zql/src/zql/builder/error.js.map +0 -1
  636. package/out/zql/src/zql/builder/filter.d.ts +0 -6
  637. package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
  638. package/out/zql/src/zql/builder/filter.js.map +0 -1
  639. package/out/zql/src/zql/builder/like.d.ts +0 -3
  640. package/out/zql/src/zql/builder/like.d.ts.map +0 -1
  641. package/out/zql/src/zql/builder/like.js.map +0 -1
  642. package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
  643. package/out/zql/src/zql/ivm/array-view.js +0 -70
  644. package/out/zql/src/zql/ivm/array-view.js.map +0 -1
  645. package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
  646. package/out/zql/src/zql/ivm/change.js +0 -2
  647. package/out/zql/src/zql/ivm/change.js.map +0 -1
  648. package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
  649. package/out/zql/src/zql/ivm/data.js.map +0 -1
  650. package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
  651. package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
  652. package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
  653. package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
  654. package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
  655. package/out/zql/src/zql/ivm/filter.js.map +0 -1
  656. package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
  657. package/out/zql/src/zql/ivm/join.js.map +0 -1
  658. package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
  659. package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
  660. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
  661. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  662. package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
  663. package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
  664. package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
  665. package/out/zql/src/zql/ivm/memory-storage.js +0 -33
  666. package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
  667. package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
  668. package/out/zql/src/zql/ivm/operator.js.map +0 -1
  669. package/out/zql/src/zql/ivm/schema.d.ts +0 -29
  670. package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
  671. package/out/zql/src/zql/ivm/schema.js +0 -3
  672. package/out/zql/src/zql/ivm/schema.js.map +0 -1
  673. package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
  674. package/out/zql/src/zql/ivm/skip.js.map +0 -1
  675. package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
  676. package/out/zql/src/zql/ivm/source.js.map +0 -1
  677. package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
  678. package/out/zql/src/zql/ivm/stream.js.map +0 -1
  679. package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
  680. package/out/zql/src/zql/ivm/take.js.map +0 -1
  681. package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
  682. package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
  683. package/out/zql/src/zql/ivm/view-apply-change.js +0 -156
  684. package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
  685. package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
  686. package/out/zql/src/zql/ivm/view.js +0 -2
  687. package/out/zql/src/zql/ivm/view.js.map +0 -1
  688. package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
  689. package/out/zql/src/zql/query/escape-like.js +0 -4
  690. package/out/zql/src/zql/query/escape-like.js.map +0 -1
  691. package/out/zql/src/zql/query/expression.d.ts +0 -25
  692. package/out/zql/src/zql/query/expression.d.ts.map +0 -1
  693. package/out/zql/src/zql/query/expression.js +0 -115
  694. package/out/zql/src/zql/query/expression.js.map +0 -1
  695. package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
  696. package/out/zql/src/zql/query/normalize-table-schema.js +0 -116
  697. package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
  698. package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
  699. package/out/zql/src/zql/query/query-impl.js +0 -289
  700. package/out/zql/src/zql/query/query-impl.js.map +0 -1
  701. package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
  702. package/out/zql/src/zql/query/query-internal.js +0 -2
  703. package/out/zql/src/zql/query/query-internal.js.map +0 -1
  704. package/out/zql/src/zql/query/query.d.ts +0 -142
  705. package/out/zql/src/zql/query/query.d.ts.map +0 -1
  706. package/out/zql/src/zql/query/query.js +0 -3
  707. package/out/zql/src/zql/query/query.js.map +0 -1
  708. package/out/zql/src/zql/query/schema.d.ts.map +0 -1
  709. package/out/zql/src/zql/query/schema.js.map +0 -1
  710. package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
  711. package/out/zql/src/zql/query/typed-view.js +0 -2
  712. package/out/zql/src/zql/query/typed-view.js.map +0 -1
  713. /package/out/{internal.js.map → advanced.js.map} +0 -0
  714. /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
  715. /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
  716. /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
  717. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
  718. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
  719. /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
  720. /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
  721. /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
  722. /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
  723. /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
  724. /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { assert } from '../../../../shared/src/asserts.js';
1
+ import { assert } from '../../../shared/src/asserts.js';
2
2
  import { maybeSplitAndPushEditChange } from './maybe-split-and-push-edit-change.js';
3
3
  /**
4
4
  * Skip sets the start position for the pipeline. No rows before the bound will
@@ -13,7 +13,7 @@ export class Skip {
13
13
  this.#input = input;
14
14
  this.#bound = bound;
15
15
  this.#comparator = input.getSchema().compareRows;
16
- this.#input.setOutput(this);
16
+ input.setOutput(this);
17
17
  }
18
18
  getSchema() {
19
19
  return this.#input.getSchema();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/skip.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Condition, Ordering } from '../../../../zero-protocol/src/ast.js';
2
- import type { Row } from '../../../../zero-protocol/src/data.js';
1
+ import type { Condition, Ordering } from '../../../zero-protocol/src/ast.js';
2
+ import type { Row } from '../../../zero-protocol/src/data.js';
3
3
  import type { Input } from './operator.js';
4
4
  export type SourceChangeAdd = {
5
5
  type: 'add';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,CAAC;AAErB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAE9E;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/source.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/stream.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEpC,wBAAiB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAWpE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAKzD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/stream.ts"],"names":[],"mappings":"AASA,MAAM,SAAS,CAAC,CAAC,IAAI,CAAI,MAAiB,EAAE,KAAa;IACvD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC;QACR,IAAI,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,MAAiB;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC,MAAM,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1B,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { Change } from './change.js';
1
+ import { type Change } from './change.js';
2
2
  import { type Node } from './data.js';
3
3
  import type { FetchRequest, Input, Operator, Output, Storage } from './operator.js';
4
- import type { TableSchema } from './schema.js';
4
+ import type { SourceSchema } from './schema.js';
5
5
  import { type Stream } from './stream.js';
6
6
  /**
7
7
  * The Take operator is for implementing limit queries. It takes the first n
@@ -15,7 +15,7 @@ export declare class Take implements Operator {
15
15
  #private;
16
16
  constructor(input: Input, storage: Storage, limit: number, partitionKey?: string | undefined);
17
17
  setOutput(output: Output): void;
18
- getSchema(): TableSchema;
18
+ getSchema(): SourceSchema;
19
19
  fetch(req: FetchRequest): Stream<Node>;
20
20
  cleanup(req: FetchRequest): Stream<Node>;
21
21
  push(change: Change): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/take.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,MAAM,EAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqB,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAEV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAc,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAiBrD;;;;;;;GAOG;AACH,qBAAa,IAAK,YAAW,QAAQ;;gBASjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS;IAcnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAkGtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IA6DzC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4Z1B,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,6 +1,7 @@
1
- import { assert, unreachable } from '../../../../shared/src/asserts.js';
2
- import { must } from '../../../../shared/src/must.js';
1
+ import { assert, unreachable } from '../../../shared/src/asserts.js';
2
+ import { must } from '../../../shared/src/must.js';
3
3
  import { assertOrderingIncludesPK } from '../builder/builder.js';
4
+ import { rowForChange, } from './change.js';
4
5
  import { normalizeUndefined } from './data.js';
5
6
  import { first, take } from './stream.js';
6
7
  const MAX_BOUND_KEY = 'maxBound';
@@ -24,8 +25,8 @@ export class Take {
24
25
  this.#limit = limit;
25
26
  this.#partitionKey = partitionKey;
26
27
  assert(limit >= 0);
27
- assertOrderingIncludesPK(this.#input.getSchema().sort, this.#input.getSchema().primaryKey);
28
- this.#input.setOutput(this);
28
+ assertOrderingIncludesPK(input.getSchema().sort, input.getSchema().primaryKey);
29
+ input.setOutput(this);
29
30
  }
30
31
  setOutput(output) {
31
32
  this.#output = output;
@@ -156,11 +157,7 @@ export class Take {
156
157
  return;
157
158
  }
158
159
  assert(this.#output, 'Output not set');
159
- // When take below join is supported, this assert should be removed
160
- // and a 'child' change should be pushed to output if its row
161
- // is <= bound.
162
- assert(change.type !== 'child', 'child changes are not supported');
163
- const { takeState, takeStateKey, maxBound, constraint } = this.#getStateAndConstraint(change.node.row);
160
+ const { takeState, takeStateKey, maxBound, constraint } = this.#getStateAndConstraint(rowForChange(change));
164
161
  if (!takeState) {
165
162
  return;
166
163
  }
@@ -262,6 +259,13 @@ export class Take {
262
259
  this.#setTakeState(takeStateKey, takeState.size - 1, compToBound === 0 ? beforeBoundNode.row : takeState.bound, maxBound);
263
260
  this.#output.push(change);
264
261
  }
262
+ else if (change.type === 'child') {
263
+ // A 'child' change should be pushed to output if its row
264
+ // is <= bound.
265
+ if (takeState.bound && compareRows(change.row, takeState.bound) <= 0) {
266
+ this.#output.push(change);
267
+ }
268
+ }
265
269
  }
266
270
  #pushEditChange(change) {
267
271
  assert(this.#output, 'Output not set');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/take.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Change } from './change.js';
2
+ import type { SourceSchema } from './schema.js';
3
+ import type { Entry, Format } from './view.js';
4
+ export declare function applyChange(parentEntry: Entry, change: Change, schema: SourceSchema, relationship: string, format: Format): void;
5
+ //# sourceMappingURL=view-apply-change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-apply-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/view-apply-change.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,KAAK,EAAa,MAAM,EAAC,MAAM,WAAW,CAAC;AAExD,wBAAgB,WAAW,CACzB,WAAW,EAAE,KAAK,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,QA6Lf"}
@@ -1,7 +1,7 @@
1
- import type { Value } from '../../../../zero-protocol/src/data.js';
1
+ import type { Value } from '../../../zero-protocol/src/data.js';
2
2
  import type { Input } from './operator.js';
3
3
  import type { Query, QueryType } from '../query/query.js';
4
- import type { TableSchema } from '../query/schema.js';
4
+ import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
5
5
  export type View = EntryList | Entry | undefined;
6
6
  export type EntryList = Entry[];
7
7
  export type Entry = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAA;CAAC,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,WAAW,CACrB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,EACzB,CAAC,IACC,CACF,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,IAAI,EACrB,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,KAC1C,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { AST } from '../../../zero-protocol/src/ast.js';
2
+ import { type NormalizedTableSchema } from '../../../zero-schema/src/normalize-table-schema.js';
3
+ import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
4
+ import type { Format } from '../ivm/view.js';
5
+ import { AbstractQuery } from './query-impl.js';
6
+ import type { DefaultQueryResultRow, Query, QueryType, Smash } from './query.js';
7
+ import type { TypedView } from './typed-view.js';
8
+ export declare function authQuery<TSchema extends TableSchema>(schema: TSchema): AuthQuery<TSchema, DefaultQueryResultRow<TSchema>>;
9
+ /**
10
+ * This class will replace `config-query` once we have moved all
11
+ * authorization logic out of the config.
12
+ */
13
+ export declare class AuthQuery<TTableSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TTableSchema>> extends AbstractQuery<TTableSchema, TReturn> {
14
+ constructor(schema: NormalizedTableSchema, ast?: AST, format?: Format | undefined);
15
+ protected _newQuery<TSchema extends TableSchema, TReturn extends QueryType>(schema: NormalizedTableSchema, ast: AST, format: Format | undefined): Query<TSchema, TReturn>;
16
+ get ast(): AST;
17
+ materialize(): TypedView<Smash<TReturn>>;
18
+ run(): Smash<TReturn>;
19
+ preload(): {
20
+ cleanup: () => void;
21
+ complete: Promise<void>;
22
+ };
23
+ }
24
+ //# sourceMappingURL=auth-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/auth-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,MAAM,EAAE,OAAO,sDAErE;AAED;;;GAGG;AACH,qBAAa,SAAS,CACpB,YAAY,SAAS,WAAW,EAChC,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAC/D,SAAQ,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC;gBAE1C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAK7B,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,IAAI,GAAG,QAEN;IAED,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIxC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAIrB,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAGF"}
@@ -0,0 +1,10 @@
1
+ import type { Condition } from '../../../zero-protocol/src/ast.js';
2
+ /**
3
+ * DNF (Disjunctive Normal Form) is a way to represent a boolean expression as a
4
+ * series of `or` conditions where each `or` condition is a series of `and`
5
+ * conditions. The `and` conditions are the terms (SimpleCondition) of the
6
+ * expression.
7
+ */
8
+ export declare function dnf(condition: Condition): Condition;
9
+ export declare function unwrap(c: Condition): Condition;
10
+ //# sourceMappingURL=dnf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dnf.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/dnf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAc,MAAM,mCAAmC,CAAC;AAG9E;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAEnD;AA+CD,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAQ9C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape-like.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/escape-like.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,UAErC"}
@@ -0,0 +1,41 @@
1
+ import type { Condition, ValuePosition } from '../../../zero-protocol/src/ast.js';
2
+ import type { PullSchemaForRelationship, TableSchema } from '../../../zero-schema/src/table-schema.js';
3
+ import type { DefaultQueryResultRow, GetFieldTypeNoUndefined, NoJsonSelector, Operator, Parameter, Query, QueryType } from './query.js';
4
+ /**
5
+ * A factory function that creates a condition. This is used to create
6
+ * complex conditions that can be passed to the `where` method of a query.
7
+ *
8
+ * @example
9
+ *
10
+ * ```ts
11
+ * const condition: ExpressionFactory<User> = ({and, cmp, or}) =>
12
+ * and(
13
+ * cmp('name', '=', 'Alice'),
14
+ * or(cmp('age', '>', 18), cmp('isStudent', '=', true)),
15
+ * );
16
+ *
17
+ * const query = z.query.user.where(condition);
18
+ * ```
19
+ */
20
+ export interface ExpressionFactory<TSchema extends TableSchema> {
21
+ (eb: ExpressionBuilder<TSchema>): Condition;
22
+ }
23
+ export declare class ExpressionBuilder<TSchema extends TableSchema> {
24
+ #private;
25
+ constructor(exists: (relationship: string, cb?: (query: Query<TableSchema, QueryType>) => Query<TableSchema, QueryType>) => Condition);
26
+ get eb(): this;
27
+ cmp<TSelector extends NoJsonSelector<TSchema>, TOperator extends Operator, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoUndefined<TSchema, TSelector, TOperator> = never>(field: TSelector, op: TOperator, value: GetFieldTypeNoUndefined<TSchema, TSelector, TOperator> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): Condition;
28
+ cmp<TSelector extends NoJsonSelector<TSchema>, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoUndefined<TSchema, TSelector, '='> = never>(field: TSelector, value: GetFieldTypeNoUndefined<TSchema, TSelector, '='> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): Condition;
29
+ and: typeof and;
30
+ or: typeof or;
31
+ not: typeof not;
32
+ exists(relationship: keyof TSchema['relationships']): Condition;
33
+ exists<TRelationship extends keyof TSchema['relationships'] & string>(relationship: TRelationship, cb: (query: Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>) => Query<TableSchema, QueryType>): Condition;
34
+ }
35
+ export declare function and(...conditions: (Condition | undefined)[]): Condition;
36
+ export declare function or(...conditions: (Condition | undefined)[]): Condition;
37
+ export declare function not(expression: Condition): Condition;
38
+ export declare function cmp(field: string, opOrValue: Operator | ValuePosition, value?: ValuePosition): Condition;
39
+ export declare const TRUE: Condition;
40
+ export declare function flatten(type: 'and' | 'or', conditions: Condition[]): Condition[];
41
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/expression.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import type { AST } from '../../../../zero-protocol/src/ast.js';
1
+ import type { AST } from '../../../zero-protocol/src/ast.js';
2
+ import { type NormalizedTableSchema } from '../../../zero-schema/src/normalize-table-schema.js';
3
+ import { type PullSchemaForRelationship, type TableSchema, type TableSchemaToRow } from '../../../zero-schema/src/table-schema.js';
2
4
  import { type BuilderDelegate } from '../builder/builder.js';
3
5
  import type { Format, ViewFactory } from '../ivm/view.js';
4
- import { type NormalizedTableSchema } from './normalize-table-schema.js';
6
+ import { type ExpressionFactory } from './expression.js';
5
7
  import type { AdvancedQuery } from './query-internal.js';
6
- import type { AddSelections, AddSubselect, DefaultQueryResultRow, GetFieldTypeNoNullOrUndefined, MakeSingular, Operator, Parameter, Query, QueryType, SchemaToRow, Selector, Smash } from './query.js';
7
- import { type PullSchemaForRelationship, type TableSchema } from './schema.js';
8
+ import type { AddSubselect, DefaultQueryResultRow, GetFieldTypeNoUndefined, MakeSingular, Operator, Parameter, Query, QueryType, Smash } from './query.js';
8
9
  import type { TypedView } from './typed-view.js';
9
- import { type GenericCondition } from './expression.js';
10
10
  export declare function newQuery<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>>(delegate: QueryDelegate, tableSchema: TSchema): Query<TSchema, TReturn>;
11
11
  export type CommitListener = () => void;
12
12
  export type GotCallback = (got: boolean) => void;
@@ -16,17 +16,18 @@ export interface QueryDelegate extends BuilderDelegate {
16
16
  batchViewUpdates<T>(applyViewUpdates: () => T): T;
17
17
  }
18
18
  export declare function staticParam<TAnchor, TField extends keyof TAnchor>(anchorClass: 'authData' | 'preMutationRow', field: TField): Parameter<TAnchor, TField, TAnchor[TField]>;
19
+ export declare const SUBQ_PREFIX = "zsubq_";
19
20
  export declare abstract class AbstractQuery<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> implements AdvancedQuery<TSchema, TReturn> {
20
21
  #private;
21
22
  constructor(schema: NormalizedTableSchema, ast: AST, format?: Format | undefined);
22
23
  get format(): Format;
23
24
  hash(): string;
24
- select<TFields extends Selector<TSchema>[]>(..._fields: TFields): Query<TSchema, AddSelections<TSchema, TFields, TReturn>>;
25
25
  protected abstract _newQuery<TSchema extends TableSchema, TReturn extends QueryType>(schema: NormalizedTableSchema, ast: AST, format: Format | undefined): Query<TSchema, TReturn>;
26
26
  one(): Query<TSchema, MakeSingular<TReturn>>;
27
+ whereExists(relationship: keyof TSchema['relationships']): Query<TSchema, TReturn>;
27
28
  related<TRelationship extends keyof TSchema['relationships']>(relationship: TRelationship): Query<TSchema, AddSubselect<Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>, TReturn, TRelationship & string>>;
28
- where(field: string | GenericCondition<TSchema>, opOrValue?: Operator | GetFieldTypeNoNullOrUndefined<any, any, any> | Parameter<any, any, any>, value?: GetFieldTypeNoNullOrUndefined<any, any, any> | Parameter<any, any, any>): Query<TSchema, TReturn>;
29
- start(row: Partial<SchemaToRow<TSchema>>, opts?: {
29
+ where(fieldOrExpressionFactory: string | ExpressionFactory<TSchema>, opOrValue?: Operator | GetFieldTypeNoUndefined<any, any, any> | Parameter<any, any, any>, value?: GetFieldTypeNoUndefined<any, any, any> | Parameter<any, any, any>): Query<TSchema, TReturn>;
30
+ start(row: Partial<TableSchemaToRow<TSchema>>, opts?: {
30
31
  inclusive: boolean;
31
32
  } | undefined): Query<TSchema, TReturn>;
32
33
  limit(limit: number): Query<TSchema, TReturn>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,GAAG,EAAsB,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAgB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAG1E,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,EACT,KAAK,EACN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,QAAQ,CACtB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,EAC1D,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAExE;AAcD,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;AACjD,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI,CAAC;IAC5E,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI,CAAC;IACpD,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,SAAS,MAAM,OAAO,EAC/D,WAAW,EAAE,UAAU,GAAG,gBAAgB,EAC1C,KAAK,EAAE,MAAM,GACZ,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAM7C;AAID,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,8BAAsB,aAAa,CACjC,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAC1D,YAAW,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;;gBAQxC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAO7B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,IAAI,MAAM;IASd,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,EAEzB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAc5C,WAAW,CACT,YAAY,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GAC3C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAa1B,OAAO,CAAC,aAAa,SAAS,MAAM,OAAO,CAAC,eAAe,CAAC,EAC1D,YAAY,EAAE,aAAa,GAC1B,KAAK,CACN,OAAO,EACP,YAAY,CACV,KAAK,CACH,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,EACjD,qBAAqB,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACzE,EACD,OAAO,EACP,aAAa,GAAG,MAAM,CACvB,CACF;IAqHD,KAAK,CACH,wBAAwB,EAAE,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAC7D,SAAS,CAAC,EACN,QAAQ,GACR,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACtC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5B,KAAK,CAAC,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACxE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAyB1B,KAAK,CACH,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EACvC,IAAI,CAAC,EAAE;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,SAAS,GACtC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAc1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAkB7C,OAAO,CAAC,SAAS,SAAS,MAAM,OAAO,CAAC,SAAS,CAAC,EAChD,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,KAAK,GAAG,MAAM,GACxB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAmG1B,SAAS,CAAC,YAAY,IAAI,GAAG;IA2B7B,QAAQ,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;IACrE,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,IAAI;QAClB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CACF;AAED,eAAO,MAAM,mBAAmB,eAAW,CAAC;AAE5C,qBAAa,SAAS,CACpB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAC1D,SAAQ,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;;gBAKrC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAQ7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAE/B;IAED,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;IAsB7D,GAAG;IAOH,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAaF"}
@@ -1,6 +1,6 @@
1
1
  import type { Format, ViewFactory } from '../ivm/view.js';
2
2
  import type { DefaultQueryResultRow, Query, QueryType, Smash } from './query.js';
3
- import type { TableSchema } from './schema.js';
3
+ import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
4
4
  import type { TypedView } from './typed-view.js';
5
5
  export interface AdvancedQuery<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> extends Query<TSchema, TReturn> {
6
6
  materialize(): TypedView<Smash<TReturn>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-internal.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAC1D,SAAQ,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAC/B,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,IAAI,MAAM,CAAC;IACrB,IAAI,IAAI,MAAM,CAAC;CAChB"}
@@ -0,0 +1,98 @@
1
+ import type { Expand } from '../../../shared/src/expand.js';
2
+ import type { Row } from '../../../zero-protocol/src/data.js';
3
+ import type { PullSchemaForRelationship, SchemaValueToTSType, TableSchema, TableSchemaToRow } from '../../../zero-schema/src/table-schema.js';
4
+ import type { Source } from '../ivm/source.js';
5
+ import type { ExpressionFactory } from './expression.js';
6
+ import type { TypedView } from './typed-view.js';
7
+ /**
8
+ * The type that can be passed into `select()`. A selector
9
+ * references a field on an row.
10
+ */
11
+ export type Selector<E extends TableSchema> = keyof E['columns'];
12
+ export type NoJsonSelector<T extends TableSchema> = Exclude<Selector<T>, JsonSelectors<T>>;
13
+ type JsonSelectors<E extends TableSchema> = {
14
+ [K in keyof E['columns']]: E['columns'][K] extends {
15
+ type: 'json';
16
+ } ? K : never;
17
+ }[keyof E['columns']];
18
+ export type Context = {
19
+ getSource: (name: string) => Source;
20
+ createStorage: () => Storage;
21
+ };
22
+ export type Smash<T extends QueryType> = T['singular'] extends true ? SmashOne<T> | undefined : Array<SmashOne<T>>;
23
+ type SmashOne<T extends QueryType> = Expand<T['row'] & {
24
+ [K in keyof T['related']]: T['related'][K] extends QueryType ? Smash<T['related'][K]> : never;
25
+ }>;
26
+ export type GetFieldTypeNoUndefined<TSchema extends TableSchema, TColumn extends keyof TSchema['columns'], TOperator extends Operator> = TOperator extends 'IN' | 'NOT IN' ? Exclude<SchemaValueToTSType<TSchema['columns'][TColumn]>, null | undefined>[] : Exclude<SchemaValueToTSType<TSchema['columns'][TColumn]>, undefined>;
27
+ export type QueryReturnType<T extends Query<TableSchema>> = T extends Query<TableSchema, infer TReturn> ? Smash<TReturn> : never;
28
+ export type QueryRowType<T extends Query<TableSchema>> = T extends Query<TableSchema, infer TReturn> ? SmashOne<TReturn> : never;
29
+ export type AddSubselect<TSubquery extends Query<TableSchema, QueryType>, TReturn extends QueryType, TAs extends string> = {
30
+ row: TReturn['row'];
31
+ related: {
32
+ [K in TAs]: InferSubreturn<TSubquery>;
33
+ } & TReturn['related'];
34
+ singular: TReturn['singular'];
35
+ };
36
+ export type MakeSingular<TReturn extends QueryType> = {
37
+ row: TReturn['row'];
38
+ related: TReturn['related'];
39
+ singular: true;
40
+ };
41
+ type InferSubreturn<TSubquery extends Query<TableSchema, QueryType>> = TSubquery extends Query<TableSchema, infer TSubreturn> ? TSubreturn : never;
42
+ /**
43
+ * Encodes the internal "type" of the query. This is different than the schema,
44
+ * and different than the result type. The schema is the input type from the
45
+ * database of the table the query started from.
46
+ *
47
+ * The result type is the output type of the query after the 'row' and 'related'
48
+ * fields have been smashed down.
49
+ */
50
+ export type QueryType = {
51
+ row: Row;
52
+ related: Record<string, QueryType>;
53
+ singular: boolean;
54
+ };
55
+ export type Operator = '=' | '!=' | '<' | '<=' | '>' | '>=' | 'IN' | 'NOT IN' | 'LIKE' | 'ILIKE' | 'IS' | 'IS NOT';
56
+ export type DefaultQueryResultRow<TSchema extends TableSchema> = {
57
+ row: TableSchemaToRow<TSchema>;
58
+ related: {};
59
+ singular: false;
60
+ };
61
+ export type Parameter<T, TField extends keyof T, _TReturn = T[TField]> = {
62
+ type: 'static';
63
+ anchor: 'authData' | 'preMutationRow';
64
+ field: TField;
65
+ };
66
+ export interface Query<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> {
67
+ related<TRelationship extends keyof TSchema['relationships']>(relationship: TRelationship): Query<TSchema, AddSubselect<Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>, TReturn, TRelationship & string>>;
68
+ related<TRelationship extends keyof TSchema['relationships'] & string, TSub extends Query<TableSchema, QueryType>>(relationship: TRelationship, cb: (query: Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>) => TSub): Query<TSchema, AddSubselect<TSub, TReturn, TRelationship>>;
69
+ where<TSelector extends NoJsonSelector<TSchema>, TOperator extends Operator, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoUndefined<TSchema, TSelector, TOperator> = never>(field: TSelector, op: TOperator, value: GetFieldTypeNoUndefined<TSchema, TSelector, TOperator> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): Query<TSchema, TReturn>;
70
+ where<TSelector extends NoJsonSelector<TSchema>, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoUndefined<TSchema, TSelector, '='> = never>(field: TSelector, value: GetFieldTypeNoUndefined<TSchema, TSelector, '='> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): Query<TSchema, TReturn>;
71
+ where(expressionFactory: ExpressionFactory<TSchema>): Query<TSchema, TReturn>;
72
+ whereExists(relationship: keyof TSchema['relationships']): Query<TSchema, TReturn>;
73
+ whereExists<TRelationship extends keyof TSchema['relationships'] & string>(relationship: TRelationship, cb: (query: Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>) => Query<TableSchema, QueryType>): Query<TSchema, TReturn>;
74
+ start(row: Partial<TableSchemaToRow<TSchema>>, opts?: {
75
+ inclusive: boolean;
76
+ } | undefined): Query<TSchema, TReturn>;
77
+ limit(limit: number): Query<TSchema, TReturn>;
78
+ orderBy<TSelector extends Selector<TSchema>>(field: TSelector, direction: 'asc' | 'desc'): Query<TSchema, TReturn>;
79
+ one(): Query<TSchema, MakeSingular<TReturn>>;
80
+ /**
81
+ * Materialize the query. This will run the query and return a view that
82
+ * will update as the query updates. Incremental updates are typically very
83
+ * cheap.
84
+ */
85
+ materialize(): TypedView<Smash<TReturn>>;
86
+ /**
87
+ * Run the query one time and return the result. This should only be used
88
+ * when a query is indeed needed only once. If the query will be run multiple
89
+ * times, use `materialize()` instead, as it is far cheaper for the updates.
90
+ */
91
+ run(): Smash<TReturn>;
92
+ preload(): {
93
+ cleanup: () => void;
94
+ complete: Promise<void>;
95
+ };
96
+ }
97
+ export {};
98
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Immutable } from '../../../../shared/src/immutable.js';
1
+ import type { Immutable } from '../../../shared/src/immutable.js';
2
2
  /**
3
3
  * Called when the view changes. The received data should be considered
4
4
  * immutable. Caller must not modify it. Passed data is valid until next
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-view.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/typed-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,kCAAkC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEvD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IAC/C,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;CAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../zqlite/src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,eAAe,EAAE,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,IAAI,gBAAgB,EACnC,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,QAAQ;;gBAMjB,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EACjC,kBAAkB,SAAM;IAO1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAQ/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAUvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,IAAI;IAIb,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,IAAI,IAAI,WAEP;IAED,IAAI,aAAa,YAEhB;CACF;AAED,qBAAa,SAAS;;gBAKR,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM;IAMrE,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAKtC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS;IAWpC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;IAW/B,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;IAWjC,OAAO,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAOtD"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../zqlite/src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,eAAe,EAAE,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,IAAI,gBAAgB,EAEnC,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,QAAQ;;gBAMjB,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EACjC,kBAAkB,SAAM;IAO1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAa/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAsB5B,KAAK,IAAI,IAAI;IAIb,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,IAAI,IAAI,WAEP;IAED,IAAI,aAAa,YAEhB;CACF;AAED,qBAAa,SAAS;;gBAKR,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM;IAMrE,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAKtC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS;IAWpC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;IAW/B,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;IAWjC,OAAO,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAOtD"}
@@ -1,4 +1,4 @@
1
- import SQLite3Database, {} from '@rocicorp/zero-sqlite3';
1
+ import SQLite3Database, { SqliteError, } from '@rocicorp/zero-sqlite3';
2
2
  export class Database {
3
3
  #db;
4
4
  #lc;
@@ -9,15 +9,28 @@ export class Database {
9
9
  this.#threshold = slowQueryThreshold;
10
10
  }
11
11
  prepare(sql) {
12
- return new Statement(this.#lc.withContext('class', 'Statement').withContext('sql', sql), this.#db.prepare(sql), this.#threshold);
12
+ return this.#run('prepare', sql, () => new Statement(this.#lc.withContext('class', 'Statement').withContext('sql', sql), this.#db.prepare(sql), this.#threshold));
13
13
  }
14
14
  exec(sql) {
15
- const start = performance.now();
16
- this.#db.exec(sql);
17
- logIfSlow(performance.now() - start, this.#lc.withContext('method', 'exec'), this.#threshold);
15
+ this.#run('exec', sql, () => this.#db.exec(sql));
18
16
  }
19
17
  pragma(sql) {
20
- return this.#db.pragma(sql);
18
+ return this.#run('pragma', sql, () => this.#db.pragma(sql));
19
+ }
20
+ #run(method, sql, fn) {
21
+ const start = performance.now();
22
+ try {
23
+ return fn();
24
+ }
25
+ catch (e) {
26
+ if (e instanceof SqliteError) {
27
+ e.message += `: ${sql}`;
28
+ }
29
+ throw e;
30
+ }
31
+ finally {
32
+ logIfSlow(performance.now() - start, this.#lc.withContext('method', method), this.#threshold);
33
+ }
21
34
  }
22
35
  close() {
23
36
  this.#db.close();
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../zqlite/src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../zqlite/src/db.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { Condition, Ordering } from '../../zero-protocol/src/ast.js';
1
+ import type { SQLQuery } from '@databases/sql';
2
+ import type { Condition, Ordering, SimpleCondition } from '../../zero-protocol/src/ast.js';
2
3
  import type { Row } from '../../zero-protocol/src/data.js';
3
- import type { SchemaValue } from '../../zql/src/zql/ivm/schema.js';
4
- import type { Source, SourceChange, SourceInput } from '../../zql/src/zql/ivm/source.js';
4
+ import type { Source, SourceChange, SourceInput } from '../../zql/src/ivm/source.js';
5
5
  import { Database } from './db.js';
6
+ import type { SchemaValue, ValueType } from '../../zero-schema/src/table-schema.js';
6
7
  /**
7
8
  * A source that is backed by a SQLite table.
8
9
  *
@@ -37,7 +38,27 @@ export declare class TableSource implements Source {
37
38
  */
38
39
  getRow(pk: Row): Row | undefined;
39
40
  }
41
+ /**
42
+ * This applies all filters present in the AST for a query to the source.
43
+ * This will work until subquery filters are added
44
+ * at which point either:
45
+ * a. we move optional filters to connect
46
+ * b. we do the transform of removing subquery filters from optionalFilters while
47
+ * preserving the meaning of the filters.
48
+ *
49
+ * https://www.notion.so/replicache/Optional-Filters-OR-1303bed895458013a26ee5aafd5725d2
50
+ */
51
+ export declare function optionalFiltersToSQL(filters: NoSubqueryCondition, columnTypes: Record<string, SchemaValue>): SQLQuery;
52
+ export declare function toSQLiteTypeName(type: ValueType): "INTEGER" | "REAL" | "TEXT" | "NULL";
40
53
  export declare class UnsupportedValueError extends Error {
41
54
  constructor(msg: string);
42
55
  }
56
+ type NoSubqueryCondition = SimpleCondition | {
57
+ type: 'and';
58
+ conditions: readonly NoSubqueryCondition[];
59
+ } | {
60
+ type: 'or';
61
+ conditions: readonly NoSubqueryCondition[];
62
+ };
63
+ export {};
43
64
  //# sourceMappingURL=table-source.d.ts.map