@rocicorp/zero 0.5.2024110200 → 0.6.2024111700

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 (333) hide show
  1. package/out/{internal.js → advanced.js} +2 -2
  2. package/out/{chunk-YCMA66NH.js → chunk-5UY46OAF.js} +5 -2
  3. package/out/{chunk-YCMA66NH.js.map → chunk-5UY46OAF.js.map} +2 -2
  4. package/out/{chunk-INJ4WJHS.js → chunk-PIFWXXO2.js} +1209 -586
  5. package/out/chunk-PIFWXXO2.js.map +7 -0
  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/solid.js +5 -5
  12. package/out/solid.js.map +2 -2
  13. package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
  14. package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
  15. package/out/zero-cache/src/auth/load-authorization.js +21 -0
  16. package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
  17. package/out/zero-cache/src/config/config.d.ts +112 -0
  18. package/out/zero-cache/src/config/config.d.ts.map +1 -0
  19. package/out/zero-cache/src/config/config.js +246 -0
  20. package/out/zero-cache/src/config/config.js.map +1 -0
  21. package/out/zero-cache/src/config/zero-config.d.ts +145 -964
  22. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  23. package/out/zero-cache/src/config/zero-config.js +242 -115
  24. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  25. package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
  26. package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
  27. package/out/zero-cache/src/db/delete-lite-db.js +7 -0
  28. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
  29. package/out/zero-cache/src/db/migration.d.ts +1 -0
  30. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  31. package/out/zero-cache/src/db/migration.js +17 -7
  32. package/out/zero-cache/src/db/migration.js.map +1 -1
  33. package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
  34. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  35. package/out/zero-cache/src/db/pg-to-lite.js +7 -3
  36. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  37. package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
  38. package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
  39. package/out/zero-cache/src/db/short-lived-client.js +50 -0
  40. package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
  41. package/out/zero-cache/src/db/specs.d.ts +12 -3
  42. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  43. package/out/zero-cache/src/db/specs.js +6 -1
  44. package/out/zero-cache/src/db/specs.js.map +1 -1
  45. package/out/zero-cache/src/db/transaction-pool.d.ts +8 -2
  46. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  47. package/out/zero-cache/src/db/transaction-pool.js +43 -9
  48. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  49. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  50. package/out/zero-cache/src/server/change-streamer.js +34 -9
  51. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  52. package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
  53. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  54. package/out/zero-cache/src/server/life-cycle.js +2 -3
  55. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  56. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  57. package/out/zero-cache/src/server/logging.js +2 -15
  58. package/out/zero-cache/src/server/logging.js.map +1 -1
  59. package/out/zero-cache/src/server/main.js +28 -10
  60. package/out/zero-cache/src/server/main.js.map +1 -1
  61. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  62. package/out/zero-cache/src/server/replicator.js +6 -5
  63. package/out/zero-cache/src/server/replicator.js.map +1 -1
  64. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  65. package/out/zero-cache/src/server/syncer.js +16 -12
  66. package/out/zero-cache/src/server/syncer.js.map +1 -1
  67. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
  68. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  69. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
  70. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  71. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
  72. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
  74. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  75. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
  76. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
  78. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  79. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
  80. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  81. package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
  82. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  83. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
  84. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
  86. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  87. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  88. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +33 -19
  89. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  90. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
  91. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  92. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
  93. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  94. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
  95. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
  96. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
  97. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
  99. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
  101. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
  103. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
  105. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
  106. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
  107. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
  108. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
  109. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
  110. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
  111. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  112. package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
  113. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
  114. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  115. package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
  116. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  117. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
  118. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  119. package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
  120. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  121. package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
  122. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  123. package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
  124. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  125. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
  126. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  127. package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
  128. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  129. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
  130. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  131. package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
  132. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  133. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
  134. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  135. package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
  136. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  137. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
  138. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  139. package/out/zero-cache/src/services/mutagen/write-authorizer.js +10 -18
  140. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  141. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  142. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  143. package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
  144. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  145. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  146. package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
  147. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  148. package/out/zero-cache/src/services/running-state.d.ts +6 -1
  149. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  150. package/out/zero-cache/src/services/running-state.js +23 -5
  151. package/out/zero-cache/src/services/running-state.js.map +1 -1
  152. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
  153. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  154. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  155. package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
  156. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  157. package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
  158. package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
  159. package/out/zero-cache/src/types/lexi-version.js +8 -6
  160. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  161. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  162. package/out/zero-cache/src/types/processes.js +1 -0
  163. package/out/zero-cache/src/types/processes.js.map +1 -1
  164. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  165. package/out/zero-cache/src/workers/replicator.js +2 -4
  166. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  167. package/out/zero-cache/src/workers/syncer.js +1 -1
  168. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  169. package/out/zero-client/src/client/crud.d.ts +56 -25
  170. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  171. package/out/zero-client/src/client/http-string.d.ts +1 -0
  172. package/out/zero-client/src/client/http-string.d.ts.map +1 -1
  173. package/out/zero-client/src/client/log-options.d.ts +2 -1
  174. package/out/zero-client/src/client/log-options.d.ts.map +1 -1
  175. package/out/zero-client/src/client/options.d.ts +8 -8
  176. package/out/zero-client/src/client/options.d.ts.map +1 -1
  177. package/out/zero-client/src/client/protocol-version.d.ts +2 -0
  178. package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
  179. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  180. package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
  181. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  182. package/out/zero-client/src/client/zero.d.ts +26 -14
  183. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  184. package/out/zero-client/src/mod.d.ts +4 -2
  185. package/out/zero-client/src/mod.d.ts.map +1 -1
  186. package/out/zero-protocol/src/ast.d.ts +37 -21
  187. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  188. package/out/zero-protocol/src/ast.js +21 -6
  189. package/out/zero-protocol/src/ast.js.map +1 -1
  190. package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
  191. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  192. package/out/zero-protocol/src/connect.d.ts +16 -8
  193. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  194. package/out/zero-protocol/src/down.d.ts +16 -8
  195. package/out/zero-protocol/src/down.d.ts.map +1 -1
  196. package/out/zero-protocol/src/poke.d.ts +32 -16
  197. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  198. package/out/zero-protocol/src/push.d.ts +18 -18
  199. package/out/zero-protocol/src/push.d.ts.map +1 -1
  200. package/out/zero-protocol/src/push.js +5 -5
  201. package/out/zero-protocol/src/push.js.map +1 -1
  202. package/out/zero-protocol/src/queries-patch.d.ts +24 -12
  203. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  204. package/out/zero-protocol/src/up.d.ts +18 -10
  205. package/out/zero-protocol/src/up.d.ts.map +1 -1
  206. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  207. package/out/zero-schema/src/authorization.d.ts +25 -0
  208. package/out/zero-schema/src/authorization.d.ts.map +1 -0
  209. package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
  210. package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
  211. package/out/zero-schema/src/compiled-authorization.js +15 -0
  212. package/out/zero-schema/src/compiled-authorization.js.map +1 -0
  213. package/out/zero-schema/src/mod.d.ts +1 -0
  214. package/out/zero-schema/src/mod.d.ts.map +1 -1
  215. package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
  216. package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
  217. package/out/zero-schema/src/table-schema.d.ts +15 -7
  218. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  219. package/out/zero-schema/src/table-schema.js.map +1 -1
  220. package/out/zero.js +10 -14
  221. package/out/zql/src/builder/builder.d.ts +1 -1
  222. package/out/zql/src/builder/builder.d.ts.map +1 -1
  223. package/out/zql/src/builder/builder.js +136 -30
  224. package/out/zql/src/builder/builder.js.map +1 -1
  225. package/out/zql/src/builder/filter.d.ts +2 -1
  226. package/out/zql/src/builder/filter.d.ts.map +1 -1
  227. package/out/zql/src/builder/filter.js +18 -0
  228. package/out/zql/src/builder/filter.js.map +1 -1
  229. package/out/zql/src/builder/like.d.ts +2 -2
  230. package/out/zql/src/builder/like.d.ts.map +1 -1
  231. package/out/zql/src/ivm/change.d.ts +1 -0
  232. package/out/zql/src/ivm/change.d.ts.map +1 -1
  233. package/out/zql/src/ivm/change.js +4 -1
  234. package/out/zql/src/ivm/change.js.map +1 -1
  235. package/out/zql/src/ivm/exists.d.ts +18 -0
  236. package/out/zql/src/ivm/exists.d.ts.map +1 -0
  237. package/out/zql/src/ivm/exists.js +186 -0
  238. package/out/zql/src/ivm/exists.js.map +1 -0
  239. package/out/zql/src/ivm/fan-in.d.ts +1 -1
  240. package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
  241. package/out/zql/src/ivm/fan-in.js +3 -3
  242. package/out/zql/src/ivm/fan-in.js.map +1 -1
  243. package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
  244. package/out/zql/src/ivm/fan-out.js +4 -7
  245. package/out/zql/src/ivm/fan-out.js.map +1 -1
  246. package/out/zql/src/ivm/filter.js +1 -1
  247. package/out/zql/src/ivm/filter.js.map +1 -1
  248. package/out/zql/src/ivm/memory-source.d.ts +10 -6
  249. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  250. package/out/zql/src/ivm/memory-source.js +60 -75
  251. package/out/zql/src/ivm/memory-source.js.map +1 -1
  252. package/out/zql/src/ivm/skip.js +1 -1
  253. package/out/zql/src/ivm/skip.js.map +1 -1
  254. package/out/zql/src/ivm/take.d.ts +1 -1
  255. package/out/zql/src/ivm/take.d.ts.map +1 -1
  256. package/out/zql/src/ivm/take.js +11 -7
  257. package/out/zql/src/ivm/take.js.map +1 -1
  258. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
  259. package/out/zql/src/query/auth-query.d.ts +7 -3
  260. package/out/zql/src/query/auth-query.d.ts.map +1 -1
  261. package/out/zql/src/query/dnf.d.ts +10 -0
  262. package/out/zql/src/query/dnf.d.ts.map +1 -0
  263. package/out/zql/src/query/expression.d.ts +40 -23
  264. package/out/zql/src/query/expression.d.ts.map +1 -1
  265. package/out/zql/src/query/query-impl.d.ts +7 -6
  266. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  267. package/out/zql/src/query/query.d.ts +17 -46
  268. package/out/zql/src/query/query.d.ts.map +1 -1
  269. package/out/zqlite/src/db.d.ts.map +1 -1
  270. package/out/zqlite/src/db.js +19 -6
  271. package/out/zqlite/src/db.js.map +1 -1
  272. package/out/zqlite/src/table-source.d.ts +12 -3
  273. package/out/zqlite/src/table-source.d.ts.map +1 -1
  274. package/out/zqlite/src/table-source.js +81 -2
  275. package/out/zqlite/src/table-source.js.map +1 -1
  276. package/package.json +7 -11
  277. package/out/chunk-INJ4WJHS.js.map +0 -7
  278. package/out/datadog/src/datadog-log-sink.js +0 -231
  279. package/out/datadog/src/datadog-log-sink.js.map +0 -1
  280. package/out/datadog/src/mod.js +0 -2
  281. package/out/datadog/src/mod.js.map +0 -1
  282. package/out/shared/src/immutable.js +0 -2
  283. package/out/shared/src/immutable.js.map +0 -1
  284. package/out/shared/src/sorted-entries.js +0 -6
  285. package/out/shared/src/sorted-entries.js.map +0 -1
  286. package/out/shared/src/writable.js +0 -2
  287. package/out/shared/src/writable.js.map +0 -1
  288. package/out/zero/src/config.d.ts +0 -2
  289. package/out/zero/src/config.d.ts.map +0 -1
  290. package/out/zero/src/config.js +0 -2
  291. package/out/zero/src/config.js.map +0 -1
  292. package/out/zero-cache/src/config/config-query.d.ts +0 -19
  293. package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
  294. package/out/zero-cache/src/config/config-query.js +0 -22
  295. package/out/zero-cache/src/config/config-query.js.map +0 -1
  296. package/out/zero-cache/src/config/define-config.d.ts +0 -43
  297. package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
  298. package/out/zero-cache/src/config/define-config.js +0 -121
  299. package/out/zero-cache/src/config/define-config.js.map +0 -1
  300. package/out/zero-cache/src/config/refs.d.ts +0 -3
  301. package/out/zero-cache/src/config/refs.d.ts.map +0 -1
  302. package/out/zero-cache/src/config/refs.js +0 -14
  303. package/out/zero-cache/src/config/refs.js.map +0 -1
  304. package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
  305. package/out/zero-client/src/client/normalized-schema.js +0 -31
  306. package/out/zero-client/src/client/normalized-schema.js.map +0 -1
  307. package/out/zero-protocol/src/ast-hash.js +0 -14
  308. package/out/zero-protocol/src/ast-hash.js.map +0 -1
  309. package/out/zero-schema/src/mod.js +0 -4
  310. package/out/zero-schema/src/mod.js.map +0 -1
  311. package/out/zero-schema/src/normalize-table-schema.js +0 -116
  312. package/out/zero-schema/src/normalize-table-schema.js.map +0 -1
  313. package/out/zero-schema/src/schema.js +0 -4
  314. package/out/zero-schema/src/schema.js.map +0 -1
  315. package/out/zql/src/ivm/array-view.js +0 -70
  316. package/out/zql/src/ivm/array-view.js.map +0 -1
  317. package/out/zql/src/ivm/view-apply-change.js +0 -156
  318. package/out/zql/src/ivm/view-apply-change.js.map +0 -1
  319. package/out/zql/src/ivm/view.js +0 -2
  320. package/out/zql/src/ivm/view.js.map +0 -1
  321. package/out/zql/src/query/auth-query.js +0 -26
  322. package/out/zql/src/query/auth-query.js.map +0 -1
  323. package/out/zql/src/query/expression.js +0 -121
  324. package/out/zql/src/query/expression.js.map +0 -1
  325. package/out/zql/src/query/query-impl.js +0 -291
  326. package/out/zql/src/query/query-impl.js.map +0 -1
  327. package/out/zql/src/query/query-internal.js +0 -2
  328. package/out/zql/src/query/query-internal.js.map +0 -1
  329. package/out/zql/src/query/query.js +0 -3
  330. package/out/zql/src/query/query.js.map +0 -1
  331. package/out/zql/src/query/typed-view.js +0 -2
  332. package/out/zql/src/query/typed-view.js.map +0 -1
  333. /package/out/{internal.js.map → advanced.js.map} +0 -0
@@ -1,24 +1,41 @@
1
- import type { SimpleOperator, ValuePosition } from '../../../zero-protocol/src/ast.js';
2
- import type { GetFieldTypeNoNullOrUndefined, NoJsonSelector, Operator, Parameter, Selector } from './query.js';
3
- import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
4
- export type GenericCondition<TSchema extends TableSchema> = GenericConjunction<TSchema> | GenericDisjunction<TSchema> | {
5
- type: 'simple';
6
- op: SimpleOperator;
7
- field: Selector<TSchema>;
8
- value: ValuePosition;
9
- };
10
- type GenericConjunction<TSchema extends TableSchema> = {
11
- type: 'and';
12
- conditions: readonly GenericCondition<TSchema>[];
13
- };
14
- type GenericDisjunction<TSchema extends TableSchema> = {
15
- type: 'or';
16
- conditions: readonly GenericCondition<TSchema>[];
17
- };
18
- export declare function cmp<TSchema extends TableSchema, TSelector extends NoJsonSelector<TSchema>, TOperator extends Operator, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoNullOrUndefined<TSchema, TSelector, TOperator> = never>(field: TSelector, op: TOperator, value: GetFieldTypeNoNullOrUndefined<TSchema, TSelector, TOperator> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): GenericCondition<TSchema>;
19
- export declare function cmp<TSchema extends TableSchema, TSelector extends NoJsonSelector<TSchema>, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoNullOrUndefined<TSchema, TSelector, '='> = never>(field: TSelector, value: GetFieldTypeNoNullOrUndefined<TSchema, TSelector, '='> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): GenericCondition<TSchema>;
20
- export declare function and<TSchema extends TableSchema>(...conditions: GenericCondition<TSchema>[]): GenericCondition<TSchema>;
21
- export declare function or<TSchema extends TableSchema>(...conditions: GenericCondition<TSchema>[]): GenericCondition<TSchema>;
22
- export declare function not<TSchema extends TableSchema>(expr: GenericCondition<TSchema>): GenericCondition<TSchema>;
23
- export {};
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[];
24
41
  //# sourceMappingURL=expression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/expression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,6BAA6B,EAC7B,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAE1E,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,IACpD,kBAAkB,CAAC,OAAO,CAAC,GAC3B,kBAAkB,CAAC,OAAO,CAAC,GAC3B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,cAAc,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEN,KAAK,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IACrD,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;CAClD,CAAC;AAEF,KAAK,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IACrD,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;CAClD,CAAC;AAEF,wBAAgB,GAAG,CACjB,OAAO,SAAS,WAAW,EAC3B,SAAS,SAAS,cAAc,CAAC,OAAO,CAAC,EACzC,SAAS,SAAS,QAAQ,EAC1B,YAAY,GAAG,KAAK,EACpB,WAAW,SAAS,MAAM,YAAY,GAAG,KAAK,EAC9C,eAAe,SAAS,6BAA6B,CACnD,OAAO,EACP,SAAS,EACT,SAAS,CACV,GAAG,KAAK,EAET,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,SAAS,EACb,KAAK,EACD,6BAA6B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,GAC5D,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,GACxD,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7B,wBAAgB,GAAG,CACjB,OAAO,SAAS,WAAW,EAC3B,SAAS,SAAS,cAAc,CAAC,OAAO,CAAC,EACzC,YAAY,GAAG,KAAK,EACpB,WAAW,SAAS,MAAM,YAAY,GAAG,KAAK,EAC9C,eAAe,SAAS,6BAA6B,CACnD,OAAO,EACP,SAAS,EACT,GAAG,CACJ,GAAG,KAAK,EAET,KAAK,EAAE,SAAS,EAChB,KAAK,EACD,6BAA6B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,GACtD,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,GACxD,gBAAgB,CAAC,OAAO,CAAC,CAAC;AA2B7B,wBAAgB,GAAG,CAAC,OAAO,SAAS,WAAW,EAC7C,GAAG,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,GACzC,gBAAgB,CAAC,OAAO,CAAC,CAsC3B;AAED,wBAAgB,EAAE,CAAC,OAAO,SAAS,WAAW,EAC5C,GAAG,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,GACzC,gBAAgB,CAAC,OAAO,CAAC,CAK3B;AAED,wBAAgB,GAAG,CAAC,OAAO,SAAS,WAAW,EAC7C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAC9B,gBAAgB,CAAC,OAAO,CAAC,CAoB3B"}
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
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 '../../../zero-schema/src/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, Selector, Smash } from './query.js';
7
- import { type PullSchemaForRelationship, type TableSchemaToRow, type TableSchema } from '../../../zero-schema/src/table-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,16 +16,17 @@ 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
+ 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>;
29
30
  start(row: Partial<TableSchemaToRow<TSchema>>, opts?: {
30
31
  inclusive: boolean;
31
32
  } | undefined): Query<TSchema, TReturn>;
@@ -1 +1 @@
1
- {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-impl.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query-impl.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import type { Expand } from '../../../shared/src/expand.js';
1
2
  import type { Row } from '../../../zero-protocol/src/data.js';
3
+ import type { PullSchemaForRelationship, SchemaValueToTSType, TableSchema, TableSchemaToRow } from '../../../zero-schema/src/table-schema.js';
2
4
  import type { Source } from '../ivm/source.js';
3
- import type { GenericCondition } from './expression.js';
4
- import type { PullSchemaForRelationship, TableSchema, SchemaValueToTSType, TableSchemaToRow } from '../../../zero-schema/src/table-schema.js';
5
+ import type { ExpressionFactory } from './expression.js';
5
6
  import type { TypedView } from './typed-view.js';
6
7
  /**
7
8
  * The type that can be passed into `select()`. A selector
@@ -19,34 +20,13 @@ export type Context = {
19
20
  createStorage: () => Storage;
20
21
  };
21
22
  export type Smash<T extends QueryType> = T['singular'] extends true ? SmashOne<T> | undefined : Array<SmashOne<T>>;
22
- type SmashOne<T extends QueryType> = T['row'] & {
23
+ type SmashOne<T extends QueryType> = Expand<T['row'] & {
23
24
  [K in keyof T['related']]: T['related'][K] extends QueryType ? Smash<T['related'][K]> : never;
24
- };
25
- export type GetFieldTypeNoNullOrUndefined<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]>, null | undefined>;
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>;
26
27
  export type QueryReturnType<T extends Query<TableSchema>> = T extends Query<TableSchema, infer TReturn> ? Smash<TReturn> : never;
27
- export type QueryRowType<T extends Query<any, any>> = QueryReturnType<T>[number];
28
- /**
29
- * A query can have:
30
- * 1. Selections and
31
- * 2. Subqueries
32
- *
33
- * The composition of these two yields the return type
34
- * of the query.
35
- *
36
- * This takes a return type of a query (TReturn), a schema type (TSchema),
37
- * and a list of selections (TSelections) made against that row,
38
- * returning a new return type with the selections added.
39
- *
40
- * `.select('foo')` would add `foo` to `TReturn`.
41
- */
42
- export type AddSelections<TSchema extends TableSchema, TSelections extends Selector<TSchema>[], TReturn extends QueryType> = {
43
- row: {
44
- [K in TSelections[number]]: SchemaValueToTSType<TSchema['columns'][K]>;
45
- };
46
- related: TReturn['related'];
47
- singular: TReturn['singular'];
48
- };
49
- export type AddSubselect<TSubquery extends Query<TableSchema>, TReturn extends QueryType, TAs extends string> = {
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> = {
50
30
  row: TReturn['row'];
51
31
  related: {
52
32
  [K in TAs]: InferSubreturn<TSubquery>;
@@ -58,7 +38,7 @@ export type MakeSingular<TReturn extends QueryType> = {
58
38
  related: TReturn['related'];
59
39
  singular: true;
60
40
  };
61
- type InferSubreturn<TSubquery> = TSubquery extends Query<TableSchema, infer TSubreturn> ? TSubreturn : EmptyQueryResultRow;
41
+ type InferSubreturn<TSubquery extends Query<TableSchema, QueryType>> = TSubquery extends Query<TableSchema, infer TSubreturn> ? TSubreturn : never;
62
42
  /**
63
43
  * Encodes the internal "type" of the query. This is different than the schema,
64
44
  * and different than the result type. The schema is the input type from the
@@ -72,34 +52,25 @@ export type QueryType = {
72
52
  related: Record<string, QueryType>;
73
53
  singular: boolean;
74
54
  };
75
- type EmptyQueryResultRow = {
76
- row: {};
77
- related: {};
78
- };
79
- export type Operator = '=' | '!=' | '<' | '<=' | '>' | '>=' | 'IN' | 'NOT IN' | 'LIKE' | 'ILIKE';
55
+ export type Operator = '=' | '!=' | '<' | '<=' | '>' | '>=' | 'IN' | 'NOT IN' | 'LIKE' | 'ILIKE' | 'IS' | 'IS NOT';
80
56
  export type DefaultQueryResultRow<TSchema extends TableSchema> = {
81
- row: {
82
- [K in keyof TSchema['columns']]: SchemaValueToTSType<TSchema['columns'][K]>;
83
- };
57
+ row: TableSchemaToRow<TSchema>;
84
58
  related: {};
85
59
  singular: false;
86
60
  };
87
- /** Expands/simplifies */
88
- type Expand<T> = T extends infer O ? {
89
- [K in keyof O]: O[K];
90
- } : never;
91
61
  export type Parameter<T, TField extends keyof T, _TReturn = T[TField]> = {
92
62
  type: 'static';
93
63
  anchor: 'authData' | 'preMutationRow';
94
64
  field: TField;
95
65
  };
96
66
  export interface Query<TSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TSchema>> {
97
- select<TFields extends Selector<TSchema>[]>(...columnName: Expand<TFields>): Query<TSchema, AddSelections<TSchema, TFields, TReturn>>;
98
67
  related<TRelationship extends keyof TSchema['relationships']>(relationship: TRelationship): Query<TSchema, AddSubselect<Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>, TReturn, TRelationship & string>>;
99
- related<TRelationship extends keyof TSchema['relationships'], TSub extends Query<any, any>>(relationship: TRelationship, cb: (query: Query<PullSchemaForRelationship<TSchema, TRelationship>, DefaultQueryResultRow<PullSchemaForRelationship<TSchema, TRelationship>>>) => TSub): Query<TSchema, AddSubselect<TSub, TReturn, TRelationship & string>>;
100
- where<TSelector extends NoJsonSelector<TSchema>, TOperator extends Operator, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoNullOrUndefined<TSchema, TSelector, TOperator> = never>(field: TSelector, op: TOperator, value: GetFieldTypeNoNullOrUndefined<TSchema, TSelector, TOperator> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): Query<TSchema, TReturn>;
101
- where<TSelector extends NoJsonSelector<TSchema>, TParamAnchor = never, TParamField extends keyof TParamAnchor = never, TParamTypeBound extends GetFieldTypeNoNullOrUndefined<TSchema, TSelector, '='> = never>(field: TSelector, value: GetFieldTypeNoNullOrUndefined<TSchema, TSelector, '='> | Parameter<TParamAnchor, TParamField, TParamTypeBound>): Query<TSchema, TReturn>;
102
- where(condition: GenericCondition<TSchema>): Query<TSchema, TReturn>;
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>;
103
74
  start(row: Partial<TableSchemaToRow<TSchema>>, opts?: {
104
75
  inclusive: boolean;
105
76
  } | undefined): Query<TSchema, TReturn>;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../zql/src/query/query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AACjE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,OAAO,CACzD,QAAQ,CAAC,CAAC,CAAC,EACX,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;AACF,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,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,aAAa,EAAE,MAAM,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAC/D,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,GACvB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvB,KAAK,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,CACzC,CAAC,CAAC,KAAK,CAAC,GAAG;KACR,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GACxD,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GACtB,KAAK;CACV,CACF,CAAC;AAEF,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,MAAM,OAAO,CAAC,SAAS,CAAC,EACxC,SAAS,SAAS,QAAQ,IACxB,SAAS,SAAS,IAAI,GAAG,QAAQ,GACjC,OAAO,CACL,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAChD,IAAI,GAAG,SAAS,CACjB,EAAE,GACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEzE,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,KAAK,CACzE,WAAW,EACX,MAAM,OAAO,CACd,GACG,KAAK,CAAC,OAAO,CAAC,GACd,KAAK,CAAC;AAEV,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,KAAK,CACtE,WAAW,EACX,MAAM,OAAO,CACd,GACG,QAAQ,CAAC,OAAO,CAAC,GACjB,KAAK,CAAC;AAGV,MAAM,MAAM,YAAY,CACtB,SAAS,SAAS,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,EAC/C,OAAO,SAAS,SAAS,EACzB,GAAG,SAAS,MAAM,IAChB;IACF,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,EAAE;SACN,CAAC,IAAI,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC;KACtC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/B,CAAC;AAGF,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI;IACpD,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,KAAK,cAAc,CAAC,SAAS,SAAS,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,IACjE,SAAS,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,MAAM,GACN,OAAO,GACP,IAAI,GACJ,QAAQ,CAAC;AAEb,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC/D,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI;IACvE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,KAAK,CACpB,OAAO,SAAS,WAAW,EAC3B,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAE1D,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,CAAC;IACF,OAAO,CACL,aAAa,SAAS,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,EAC7D,IAAI,SAAS,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,EAE1C,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,CACF,KAAK,EAAE,KAAK,CACV,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,EACjD,qBAAqB,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACzE,KACE,IAAI,GACR,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9D,KAAK,CACH,SAAS,SAAS,cAAc,CAAC,OAAO,CAAC,EACzC,SAAS,SAAS,QAAQ,EAC1B,YAAY,GAAG,KAAK,EACpB,WAAW,SAAS,MAAM,YAAY,GAAG,KAAK,EAC9C,eAAe,SAAS,uBAAuB,CAC7C,OAAO,EACP,SAAS,EACT,SAAS,CACV,GAAG,KAAK,EAET,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,SAAS,EACb,KAAK,EACD,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,GACtD,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,GACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3B,KAAK,CACH,SAAS,SAAS,cAAc,CAAC,OAAO,CAAC,EACzC,YAAY,GAAG,KAAK,EACpB,WAAW,SAAS,MAAM,YAAY,GAAG,KAAK,EAC9C,eAAe,SAAS,uBAAuB,CAC7C,OAAO,EACP,SAAS,EACT,GAAG,CACJ,GAAG,KAAK,EAET,KAAK,EAAE,SAAS,EAChB,KAAK,EACD,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,GAChD,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,GACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3B,KAAK,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9E,WAAW,CACT,YAAY,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GAC3C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3B,WAAW,CAAC,aAAa,SAAS,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,EACvE,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,CACF,KAAK,EAAE,KAAK,CACV,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,EACjD,qBAAqB,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CACzE,KACE,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,GACjC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3B,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,CAAC;IAE3B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO,CAAC,SAAS,SAAS,QAAQ,CAAC,OAAO,CAAC,EACzC,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,KAAK,GAAG,MAAM,GACxB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3B,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7C;;;;OAIG;IACH,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzC;;;;OAIG;IACH,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,CAAC;CACH"}
@@ -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,9 +1,9 @@
1
1
  import type { SQLQuery } from '@databases/sql';
2
- import type { Condition, Ordering } from '../../zero-protocol/src/ast.js';
2
+ import type { Condition, Ordering, SimpleCondition } from '../../zero-protocol/src/ast.js';
3
3
  import type { Row } from '../../zero-protocol/src/data.js';
4
4
  import type { Source, SourceChange, SourceInput } from '../../zql/src/ivm/source.js';
5
5
  import { Database } from './db.js';
6
- import type { SchemaValue } from '../../zero-schema/src/table-schema.js';
6
+ import type { SchemaValue, ValueType } from '../../zero-schema/src/table-schema.js';
7
7
  /**
8
8
  * A source that is backed by a SQLite table.
9
9
  *
@@ -48,8 +48,17 @@ export declare class TableSource implements Source {
48
48
  *
49
49
  * https://www.notion.so/replicache/Optional-Filters-OR-1303bed895458013a26ee5aafd5725d2
50
50
  */
51
- export declare function optionalFiltersToSQL(filters: Condition, columnTypes: Record<string, SchemaValue>): SQLQuery;
51
+ export declare function optionalFiltersToSQL(filters: NoSubqueryCondition, columnTypes: Record<string, SchemaValue>): SQLQuery;
52
+ export declare function toSQLiteTypeName(type: ValueType): "INTEGER" | "REAL" | "TEXT" | "NULL";
52
53
  export declare class UnsupportedValueError extends Error {
53
54
  constructor(msg: string);
54
55
  }
56
+ type NoSubqueryCondition = SimpleCondition | {
57
+ type: 'and';
58
+ conditions: readonly NoSubqueryCondition[];
59
+ } | {
60
+ type: 'or';
61
+ conditions: readonly NoSubqueryCondition[];
62
+ };
63
+ export {};
55
64
  //# sourceMappingURL=table-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-source.d.ts","sourceRoot":"","sources":["../../../../zqlite/src/table-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EAET,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAC,GAAG,EAAQ,MAAM,iCAAiC,CAAC;AAqBhE,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,QAAQ,EAAY,MAAM,SAAS,CAAC;AAG5C,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,uCAAuC,CAAC;AAmB/C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,YAAW,MAAM;;gBAUtC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAQ5C;;;OAGG;IACH,KAAK,CAAC,EAAE,EAAE,QAAQ;IA8FlB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS;IAqI/D,IAAI,CAAC,MAAM,EAAE,YAAY;IAqGzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;CA6DjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACvC,QAAQ,CAmBV;AA6MD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,GAAG,EAAE,MAAM;CAGxB"}
1
+ {"version":3,"file":"table-source.d.ts","sourceRoot":"","sources":["../../../../zqlite/src/table-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,eAAe,EAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAC,GAAG,EAAQ,MAAM,iCAAiC,CAAC;AAqBhE,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,QAAQ,EAAY,MAAM,SAAS,CAAC;AAG5C,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACV,MAAM,uCAAuC,CAAC;AAmB/C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,YAAW,MAAM;;gBAUtC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAQ5C;;;OAGG;IACH,KAAK,CAAC,EAAE,EAAE,QAAQ;IA8FlB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS;IAsI/D,IAAI,CAAC,MAAM,EAAE,YAAY;IAqGzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;CA6DjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACvC,QAAQ,CAmBV;AAwKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,wCAa/C;AAuCD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,GAAG,EAAE,MAAM;CAGxB;AAiCD,KAAK,mBAAmB,GACpB,eAAe,GACf;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC5C,GACD;IACE,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC5C,CAAC"}
@@ -80,6 +80,7 @@ export class TableSource {
80
80
  };
81
81
  }
82
82
  connect(sort, optionalFilters) {
83
+ const transformedFilters = transformFilters(optionalFilters);
83
84
  const input = {
84
85
  getSchema: () => this.#getSchema(connection),
85
86
  fetch: req => this.#fetch(req, connection),
@@ -92,13 +93,13 @@ export class TableSource {
92
93
  assert(idx !== -1, 'Connection not found');
93
94
  this.#connections.splice(idx, 1);
94
95
  },
95
- appliedFilters: true,
96
+ appliedFilters: !transformedFilters.conditionsRemoved,
96
97
  };
97
98
  const connection = {
98
99
  input,
99
100
  output: undefined,
100
101
  sort,
101
- filters: optionalFilters,
102
+ filters: transformedFilters.filters,
102
103
  compareRows: makeComparator(sort),
103
104
  };
104
105
  assertOrderingIncludesPK(sort, this.#primaryKey);
@@ -387,6 +388,20 @@ function toSQLiteType(v, type) {
387
388
  return JSON.stringify(v);
388
389
  }
389
390
  }
391
+ export function toSQLiteTypeName(type) {
392
+ switch (type) {
393
+ case 'boolean':
394
+ return 'INTEGER';
395
+ case 'number':
396
+ return 'REAL';
397
+ case 'string':
398
+ return 'TEXT';
399
+ case 'null':
400
+ return 'NULL';
401
+ case 'json':
402
+ return 'TEXT';
403
+ }
404
+ }
390
405
  function* mapFromSQLiteTypes(valueTypes, rowIterator) {
391
406
  for (const row of rowIterator) {
392
407
  fromSQLiteTypes(valueTypes, row);
@@ -435,4 +450,68 @@ function nonPrimaryValues(columns, primaryKey, row) {
435
450
  function nonPrimaryKeys(columns, primaryKey) {
436
451
  return Object.keys(columns).filter(c => !primaryKey.includes(c));
437
452
  }
453
+ /**
454
+ * Returns a transformed condition which contains no
455
+ * CorrelatedSubqueryCondition(s) but which will filter a subset of the rows
456
+ * that would be filtered by the original condition, or undefined
457
+ * if no such transformation exists.
458
+ *
459
+ * Assumes Condition is in DNF.
460
+ */
461
+ function transformFilters(filters) {
462
+ if (!filters) {
463
+ return { filters: undefined, conditionsRemoved: false };
464
+ }
465
+ switch (filters.type) {
466
+ case 'simple':
467
+ return { filters, conditionsRemoved: false };
468
+ case 'correlatedSubquery':
469
+ return { filters: undefined, conditionsRemoved: true };
470
+ case 'and': {
471
+ const transformedConditions = [];
472
+ for (const cond of filters.conditions) {
473
+ assert(cond.type === 'simple' || cond.type === 'correlatedSubquery');
474
+ if (cond.type === 'simple') {
475
+ transformedConditions.push(cond);
476
+ }
477
+ }
478
+ const conditionsRemoved = transformedConditions.length !== filters.conditions.length;
479
+ if (transformedConditions.length === 0) {
480
+ return { filters: undefined, conditionsRemoved };
481
+ }
482
+ if (transformedConditions.length === 1) {
483
+ return {
484
+ filters: transformedConditions[0],
485
+ conditionsRemoved,
486
+ };
487
+ }
488
+ return {
489
+ filters: {
490
+ type: 'and',
491
+ conditions: transformedConditions,
492
+ },
493
+ conditionsRemoved,
494
+ };
495
+ }
496
+ case 'or': {
497
+ const transformedConditions = [];
498
+ let conditionsRemoved = false;
499
+ for (const cond of filters.conditions) {
500
+ assert(cond.type !== 'or');
501
+ const transformed = transformFilters(cond);
502
+ if (transformed.filters === undefined) {
503
+ return { filters: undefined, conditionsRemoved: true };
504
+ }
505
+ conditionsRemoved = conditionsRemoved || transformed.conditionsRemoved;
506
+ transformedConditions.push(transformed.filters);
507
+ }
508
+ return {
509
+ filters: { type: 'or', conditions: transformedConditions },
510
+ conditionsRemoved,
511
+ };
512
+ }
513
+ default:
514
+ unreachable(filters);
515
+ }
516
+ }
438
517
  //# sourceMappingURL=table-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-source.js","sourceRoot":"","sources":["../../../../zqlite/src/table-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-source.js","sourceRoot":"","sources":["../../../../zqlite/src/table-source.ts"],"names":[],"mappings":"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"}