@rocicorp/zero 0.2.2024101100 → 0.3.2024102300

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 (600) hide show
  1. package/out/react.js +92 -39
  2. package/out/react.js.map +2 -2
  3. package/out/replicache/src/async-iterable-to-array.js +8 -0
  4. package/out/replicache/src/async-iterable-to-array.js.map +1 -0
  5. package/out/replicache/src/bg-interval.js +38 -0
  6. package/out/replicache/src/bg-interval.js.map +1 -0
  7. package/out/replicache/src/binary-search.js +31 -0
  8. package/out/replicache/src/binary-search.js.map +1 -0
  9. package/out/replicache/src/broadcast-channel.js +29 -0
  10. package/out/replicache/src/broadcast-channel.js.map +1 -0
  11. package/out/replicache/src/btree/diff.js +6 -0
  12. package/out/replicache/src/btree/diff.js.map +1 -0
  13. package/out/replicache/src/btree/node.js +392 -0
  14. package/out/replicache/src/btree/node.js.map +1 -0
  15. package/out/replicache/src/btree/read.js +227 -0
  16. package/out/replicache/src/btree/read.js.map +1 -0
  17. package/out/replicache/src/btree/splice.js +79 -0
  18. package/out/replicache/src/btree/splice.js.map +1 -0
  19. package/out/replicache/src/btree/write.js +154 -0
  20. package/out/replicache/src/btree/write.js.map +1 -0
  21. package/out/replicache/src/call-default-fetch.js +37 -0
  22. package/out/replicache/src/call-default-fetch.js.map +1 -0
  23. package/out/replicache/src/config.js +13 -0
  24. package/out/replicache/src/config.js.map +1 -0
  25. package/out/replicache/src/connection-loop-delegates.js +30 -0
  26. package/out/replicache/src/connection-loop-delegates.js.map +1 -0
  27. package/out/replicache/src/connection-loop.js +268 -0
  28. package/out/replicache/src/connection-loop.js.map +1 -0
  29. package/out/replicache/src/cookies.js +41 -0
  30. package/out/replicache/src/cookies.js.map +1 -0
  31. package/out/replicache/src/dag/chunk.js +60 -0
  32. package/out/replicache/src/dag/chunk.js.map +1 -0
  33. package/out/replicache/src/dag/gc.js +126 -0
  34. package/out/replicache/src/dag/gc.js.map +1 -0
  35. package/out/replicache/src/dag/key-type-enum.js +6 -0
  36. package/out/replicache/src/dag/key-type-enum.js.map +1 -0
  37. package/out/replicache/src/dag/key.js +54 -0
  38. package/out/replicache/src/dag/key.js.map +1 -0
  39. package/out/replicache/src/dag/lazy-store.js +532 -0
  40. package/out/replicache/src/dag/lazy-store.js.map +1 -0
  41. package/out/replicache/src/dag/store-impl.js +175 -0
  42. package/out/replicache/src/dag/store-impl.js.map +1 -0
  43. package/out/replicache/src/dag/store.js +22 -0
  44. package/out/replicache/src/dag/store.js.map +1 -0
  45. package/out/replicache/src/dag/visitor.js +22 -0
  46. package/out/replicache/src/dag/visitor.js.map +1 -0
  47. package/out/replicache/src/db/commit.js +443 -0
  48. package/out/replicache/src/db/commit.js.map +1 -0
  49. package/out/replicache/src/db/index-operation-enum.js +4 -0
  50. package/out/replicache/src/db/index-operation-enum.js.map +1 -0
  51. package/out/replicache/src/db/index.js +170 -0
  52. package/out/replicache/src/db/index.js.map +1 -0
  53. package/out/replicache/src/db/meta-type-enum.js +7 -0
  54. package/out/replicache/src/db/meta-type-enum.js.map +1 -0
  55. package/out/replicache/src/db/read.js +59 -0
  56. package/out/replicache/src/db/read.js.map +1 -0
  57. package/out/replicache/src/db/rebase.js +56 -0
  58. package/out/replicache/src/db/rebase.js.map +1 -0
  59. package/out/replicache/src/db/scan.js +2 -0
  60. package/out/replicache/src/db/scan.js.map +1 -0
  61. package/out/replicache/src/db/write.js +260 -0
  62. package/out/replicache/src/db/write.js.map +1 -0
  63. package/out/replicache/src/error-responses.js +30 -0
  64. package/out/replicache/src/error-responses.js.map +1 -0
  65. package/out/replicache/src/filter-async-iterable.js +15 -0
  66. package/out/replicache/src/filter-async-iterable.js.map +1 -0
  67. package/out/replicache/src/format-version-enum.js +9 -0
  68. package/out/replicache/src/format-version-enum.js.map +1 -0
  69. package/out/replicache/src/format-version.js +8 -0
  70. package/out/replicache/src/format-version.js.map +1 -0
  71. package/out/replicache/src/frozen-json.js +151 -0
  72. package/out/replicache/src/frozen-json.js.map +1 -0
  73. package/out/replicache/src/get-default-puller.js +74 -0
  74. package/out/replicache/src/get-default-puller.js.map +1 -0
  75. package/out/replicache/src/get-default-pusher.js +36 -0
  76. package/out/replicache/src/get-default-pusher.js.map +1 -0
  77. package/out/replicache/src/hash.js +73 -0
  78. package/out/replicache/src/hash.js.map +1 -0
  79. package/out/replicache/src/http-request-info.js +7 -0
  80. package/out/replicache/src/http-request-info.js.map +1 -0
  81. package/out/replicache/src/impl.js +2 -0
  82. package/out/replicache/src/impl.js.map +1 -0
  83. package/out/replicache/src/index-defs.js +28 -0
  84. package/out/replicache/src/index-defs.js.map +1 -0
  85. package/out/replicache/src/invoke-kind-enum.js +4 -0
  86. package/out/replicache/src/invoke-kind-enum.js.map +1 -0
  87. package/out/replicache/src/iterable-union.js +5 -0
  88. package/out/replicache/src/iterable-union.js.map +1 -0
  89. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +93 -0
  90. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -0
  91. package/out/replicache/src/kv/idb-store.js +179 -0
  92. package/out/replicache/src/kv/idb-store.js.map +1 -0
  93. package/out/replicache/src/kv/mem-store.js +61 -0
  94. package/out/replicache/src/kv/mem-store.js.map +1 -0
  95. package/out/replicache/src/kv/read-impl.js +23 -0
  96. package/out/replicache/src/kv/read-impl.js.map +1 -0
  97. package/out/replicache/src/kv/store.js +2 -0
  98. package/out/replicache/src/kv/store.js.map +1 -0
  99. package/out/replicache/src/kv/write-impl-base.js +48 -0
  100. package/out/replicache/src/kv/write-impl-base.js.map +1 -0
  101. package/out/replicache/src/kv/write-impl.js +25 -0
  102. package/out/replicache/src/kv/write-impl.js.map +1 -0
  103. package/out/replicache/src/lazy.js +10 -0
  104. package/out/replicache/src/lazy.js.map +1 -0
  105. package/out/replicache/src/log-options.js +13 -0
  106. package/out/replicache/src/log-options.js.map +1 -0
  107. package/out/replicache/src/merge-async-iterables.js +61 -0
  108. package/out/replicache/src/merge-async-iterables.js.map +1 -0
  109. package/out/replicache/src/mod.js +14 -0
  110. package/out/replicache/src/mod.js.map +1 -0
  111. package/out/replicache/src/mutation-recovery.js +439 -0
  112. package/out/replicache/src/mutation-recovery.js.map +1 -0
  113. package/out/replicache/src/new-client-channel.js +77 -0
  114. package/out/replicache/src/new-client-channel.js.map +1 -0
  115. package/out/replicache/src/on-persist-channel.js +33 -0
  116. package/out/replicache/src/on-persist-channel.js.map +1 -0
  117. package/out/replicache/src/patch-operation.js +37 -0
  118. package/out/replicache/src/patch-operation.js.map +1 -0
  119. package/out/replicache/src/pending-mutations.js +18 -0
  120. package/out/replicache/src/pending-mutations.js.map +1 -0
  121. package/out/replicache/src/persist/client-gc.js +38 -0
  122. package/out/replicache/src/persist/client-gc.js.map +1 -0
  123. package/out/replicache/src/persist/client-group-gc.js +38 -0
  124. package/out/replicache/src/persist/client-group-gc.js.map +1 -0
  125. package/out/replicache/src/persist/client-groups.js +180 -0
  126. package/out/replicache/src/persist/client-groups.js.map +1 -0
  127. package/out/replicache/src/persist/clients.js +390 -0
  128. package/out/replicache/src/persist/clients.js.map +1 -0
  129. package/out/replicache/src/persist/collect-idb-databases.js +174 -0
  130. package/out/replicache/src/persist/collect-idb-databases.js.map +1 -0
  131. package/out/replicache/src/persist/gather-mem-only-visitor.js +25 -0
  132. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +1 -0
  133. package/out/replicache/src/persist/gather-not-cached-visitor.js +35 -0
  134. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +1 -0
  135. package/out/replicache/src/persist/heartbeat.js +37 -0
  136. package/out/replicache/src/persist/heartbeat.js.map +1 -0
  137. package/out/replicache/src/persist/idb-databases-store-db-name.js +18 -0
  138. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +1 -0
  139. package/out/replicache/src/persist/idb-databases-store.js +90 -0
  140. package/out/replicache/src/persist/idb-databases-store.js.map +1 -0
  141. package/out/replicache/src/persist/make-client-id.js +13 -0
  142. package/out/replicache/src/persist/make-client-id.js.map +1 -0
  143. package/out/replicache/src/persist/persist.js +132 -0
  144. package/out/replicache/src/persist/persist.js.map +1 -0
  145. package/out/replicache/src/persist/refresh.js +147 -0
  146. package/out/replicache/src/persist/refresh.js.map +1 -0
  147. package/out/replicache/src/process-scheduler.js +93 -0
  148. package/out/replicache/src/process-scheduler.js.map +1 -0
  149. package/out/replicache/src/puller.js +2 -0
  150. package/out/replicache/src/puller.js.map +1 -0
  151. package/out/replicache/src/pusher.js +32 -0
  152. package/out/replicache/src/pusher.js.map +1 -0
  153. package/out/replicache/src/replicache-impl.js +1007 -0
  154. package/out/replicache/src/replicache-impl.js.map +1 -0
  155. package/out/replicache/src/replicache-options.js +2 -0
  156. package/out/replicache/src/replicache-options.js.map +1 -0
  157. package/out/replicache/src/replicache.js +387 -0
  158. package/out/replicache/src/replicache.js.map +1 -0
  159. package/out/replicache/src/request-idle.js +15 -0
  160. package/out/replicache/src/request-idle.js.map +1 -0
  161. package/out/replicache/src/scan-iterator.js +202 -0
  162. package/out/replicache/src/scan-iterator.js.map +1 -0
  163. package/out/replicache/src/scan-options.js +45 -0
  164. package/out/replicache/src/scan-options.js.map +1 -0
  165. package/out/replicache/src/set-interval-with-signal.js +7 -0
  166. package/out/replicache/src/set-interval-with-signal.js.map +1 -0
  167. package/out/replicache/src/size-of-value.js +77 -0
  168. package/out/replicache/src/size-of-value.js.map +1 -0
  169. package/out/replicache/src/subscriptions.js +357 -0
  170. package/out/replicache/src/subscriptions.js.map +1 -0
  171. package/out/replicache/src/sync/diff.js +75 -0
  172. package/out/replicache/src/sync/diff.js.map +1 -0
  173. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +5 -0
  174. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +1 -0
  175. package/out/replicache/src/sync/ids.js +4 -0
  176. package/out/replicache/src/sync/ids.js.map +1 -0
  177. package/out/replicache/src/sync/patch.js +41 -0
  178. package/out/replicache/src/sync/patch.js.map +1 -0
  179. package/out/replicache/src/sync/pull-error.js +16 -0
  180. package/out/replicache/src/sync/pull-error.js.map +1 -0
  181. package/out/replicache/src/sync/pull.js +375 -0
  182. package/out/replicache/src/sync/pull.js.map +1 -0
  183. package/out/replicache/src/sync/push.js +141 -0
  184. package/out/replicache/src/sync/push.js.map +1 -0
  185. package/out/replicache/src/sync/request-id.js +31 -0
  186. package/out/replicache/src/sync/request-id.js.map +1 -0
  187. package/out/replicache/src/sync/sync-head-name.js +2 -0
  188. package/out/replicache/src/sync/sync-head-name.js.map +1 -0
  189. package/out/replicache/src/test-license-key.js +3 -0
  190. package/out/replicache/src/test-license-key.js.map +1 -0
  191. package/out/replicache/src/to-error.js +7 -0
  192. package/out/replicache/src/to-error.js.map +1 -0
  193. package/out/replicache/src/transaction-closed-error.js +17 -0
  194. package/out/replicache/src/transaction-closed-error.js.map +1 -0
  195. package/out/replicache/src/transactions.js +144 -0
  196. package/out/replicache/src/transactions.js.map +1 -0
  197. package/out/replicache/src/types.js +2 -0
  198. package/out/replicache/src/types.js.map +1 -0
  199. package/out/replicache/src/version.js +5 -0
  200. package/out/replicache/src/version.js.map +1 -0
  201. package/out/replicache/src/with-transactions.js +28 -0
  202. package/out/replicache/src/with-transactions.js.map +1 -0
  203. package/out/shared/src/browser-env.js +14 -0
  204. package/out/shared/src/browser-env.js.map +1 -0
  205. package/out/shared/src/document-visible.js +76 -0
  206. package/out/shared/src/document-visible.js.map +1 -0
  207. package/out/shared/src/immutable.js +2 -0
  208. package/out/shared/src/immutable.js.map +1 -0
  209. package/out/shared/src/iterables.d.ts +2 -2
  210. package/out/shared/src/iterables.d.ts.map +1 -1
  211. package/out/shared/src/iterables.js +40 -0
  212. package/out/shared/src/iterables.js.map +1 -0
  213. package/out/shared/src/navigator.js +3 -0
  214. package/out/shared/src/navigator.js.map +1 -0
  215. package/out/shared/src/random-uint64.js +8 -0
  216. package/out/shared/src/random-uint64.js.map +1 -0
  217. package/out/shared/src/random-values.d.ts +1 -0
  218. package/out/shared/src/random-values.d.ts.map +1 -1
  219. package/out/shared/src/random-values.js +22 -0
  220. package/out/shared/src/random-values.js.map +1 -0
  221. package/out/shared/src/set-utils.d.ts +1 -1
  222. package/out/shared/src/set-utils.d.ts.map +1 -1
  223. package/out/shared/src/set-utils.js +6 -4
  224. package/out/shared/src/set-utils.js.map +1 -1
  225. package/out/shared/src/sorted-entries.d.ts +2 -0
  226. package/out/shared/src/sorted-entries.d.ts.map +1 -0
  227. package/out/shared/src/sorted-entries.js +6 -0
  228. package/out/shared/src/sorted-entries.js.map +1 -0
  229. package/out/shared/src/types.js +2 -0
  230. package/out/shared/src/types.js.map +1 -0
  231. package/out/shared/src/valita.d.ts +1 -1
  232. package/out/shared/src/valita.d.ts.map +1 -1
  233. package/out/shared/src/valita.js.map +1 -1
  234. package/out/shared/src/writable.d.ts +4 -0
  235. package/out/shared/src/writable.d.ts.map +1 -0
  236. package/out/shared/src/writable.js +2 -0
  237. package/out/shared/src/writable.js.map +1 -0
  238. package/out/zero/src/config.d.ts +2 -0
  239. package/out/zero/src/config.d.ts.map +1 -0
  240. package/out/zero/src/config.js +2 -0
  241. package/out/zero/src/config.js.map +1 -0
  242. package/out/zero-cache/src/config/config-query.d.ts +18 -0
  243. package/out/zero-cache/src/config/config-query.d.ts.map +1 -0
  244. package/out/zero-cache/src/config/config-query.js +19 -0
  245. package/out/zero-cache/src/config/config-query.js.map +1 -0
  246. package/out/zero-cache/src/config/define-config.d.ts +43 -0
  247. package/out/zero-cache/src/config/define-config.d.ts.map +1 -0
  248. package/out/zero-cache/src/config/define-config.js +120 -0
  249. package/out/zero-cache/src/config/define-config.js.map +1 -0
  250. package/out/zero-cache/src/config/refs.d.ts +3 -0
  251. package/out/zero-cache/src/config/refs.d.ts.map +1 -0
  252. package/out/zero-cache/src/config/refs.js +14 -0
  253. package/out/zero-cache/src/config/refs.js.map +1 -0
  254. package/out/zero-cache/src/config/zero-config.d.ts +126 -686
  255. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  256. package/out/zero-cache/src/config/zero-config.js +43 -159
  257. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  258. package/out/zero-cache/src/db/create.d.ts +8 -0
  259. package/out/zero-cache/src/db/create.d.ts.map +1 -0
  260. package/out/zero-cache/src/db/create.js +39 -0
  261. package/out/zero-cache/src/db/create.js.map +1 -0
  262. package/out/zero-cache/src/db/lite-tables.d.ts +3 -3
  263. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  264. package/out/zero-cache/src/db/lite-tables.js +29 -20
  265. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  266. package/out/zero-cache/src/db/{migration-lite.d.ts → old-migration-lite.d.ts} +1 -1
  267. package/out/zero-cache/src/db/old-migration-lite.d.ts.map +1 -0
  268. package/out/zero-cache/src/db/{migration-lite.js → old-migration-lite.js} +1 -1
  269. package/out/zero-cache/src/db/old-migration-lite.js.map +1 -0
  270. package/out/zero-cache/src/db/{migration.d.ts → old-migration.d.ts} +1 -1
  271. package/out/zero-cache/src/db/old-migration.d.ts.map +1 -0
  272. package/out/zero-cache/src/db/{migration.js → old-migration.js} +1 -1
  273. package/out/zero-cache/src/db/old-migration.js.map +1 -0
  274. package/out/zero-cache/src/db/pg-to-lite.d.ts +11 -0
  275. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -0
  276. package/out/zero-cache/src/{services/change-streamer/pg/schema/lite.js → db/pg-to-lite.js} +27 -15
  277. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -0
  278. package/out/zero-cache/src/db/specs.d.ts +73 -0
  279. package/out/zero-cache/src/db/specs.d.ts.map +1 -0
  280. package/out/zero-cache/src/db/specs.js +30 -0
  281. package/out/zero-cache/src/db/specs.js.map +1 -0
  282. package/out/zero-cache/src/db/statements.d.ts +1 -1
  283. package/out/zero-cache/src/db/statements.d.ts.map +1 -1
  284. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  285. package/out/zero-cache/src/server/life-cycle.js +9 -5
  286. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  287. package/out/zero-cache/src/server/main.js +2 -2
  288. package/out/zero-cache/src/server/main.js.map +1 -1
  289. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  290. package/out/zero-cache/src/server/syncer.js +2 -1
  291. package/out/zero-cache/src/server/syncer.js.map +1 -1
  292. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +1 -1
  293. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  294. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +1 -4
  295. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  296. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +455 -13
  297. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  298. package/out/zero-cache/src/services/change-streamer/change-streamer.js +16 -0
  299. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  300. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  301. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +311 -86
  302. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  303. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  304. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +7 -51
  305. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  306. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +239 -59
  307. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  308. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +263 -183
  309. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  310. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +4 -4
  311. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  312. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +14 -19
  313. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  314. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts +2 -1
  315. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.d.ts.map +1 -1
  316. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.js +51 -6
  317. package/out/zero-cache/src/services/change-streamer/pg/schema/zero.js.map +1 -1
  318. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js +1 -1
  319. package/out/zero-cache/src/services/change-streamer/pg/sync-schema.js.map +1 -1
  320. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +325 -26
  321. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  322. package/out/zero-cache/src/services/change-streamer/schema/change.js +84 -1
  323. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
  324. package/out/zero-cache/src/services/change-streamer/schema/init.js +1 -1
  325. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  326. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts +1 -0
  327. package/out/zero-cache/src/services/dispatcher/connect-params.d.ts.map +1 -1
  328. package/out/zero-cache/src/services/dispatcher/connect-params.js +5 -2
  329. package/out/zero-cache/src/services/dispatcher/connect-params.js.map +1 -1
  330. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  331. package/out/zero-cache/src/services/mutagen/mutagen.js +17 -19
  332. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  333. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  334. package/out/zero-cache/src/services/mutagen/write-authorizer.js +18 -9
  335. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  336. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  337. package/out/zero-cache/src/services/replicator/incremental-sync.js +120 -16
  338. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  339. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts +20 -3
  340. package/out/zero-cache/src/services/replicator/schema/change-log.d.ts.map +1 -1
  341. package/out/zero-cache/src/services/replicator/schema/change-log.js +44 -12
  342. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  343. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +3 -2
  344. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  345. package/out/zero-cache/src/services/view-syncer/client-handler.js +21 -18
  346. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  347. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +5 -1
  348. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  349. package/out/zero-cache/src/services/view-syncer/cvr-store.js +49 -8
  350. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  351. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -1
  352. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  353. package/out/zero-cache/src/services/view-syncer/cvr.js +1 -1
  354. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  355. package/out/zero-cache/src/services/view-syncer/database-storage.js +1 -1
  356. package/out/zero-cache/src/services/view-syncer/database-storage.js.map +1 -1
  357. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +31 -0
  358. package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -0
  359. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +53 -0
  360. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -0
  361. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +11 -5
  362. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  363. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +17 -0
  364. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  365. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  366. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +2 -2
  367. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  368. package/out/zero-cache/src/services/view-syncer/schema/pg-migrations.js +1 -1
  369. package/out/zero-cache/src/services/view-syncer/schema/pg-migrations.js.map +1 -1
  370. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +11 -11
  371. package/out/zero-cache/src/services/view-syncer/schema/types.js +2 -2
  372. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  373. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +12 -4
  374. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  375. package/out/zero-cache/src/services/view-syncer/snapshotter.js +59 -49
  376. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  377. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +2 -3
  378. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  379. package/out/zero-cache/src/services/view-syncer/view-syncer.js +50 -10
  380. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  381. package/out/zero-cache/src/types/pg.d.ts +7 -1
  382. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  383. package/out/zero-cache/src/types/pg.js +14 -1
  384. package/out/zero-cache/src/types/pg.js.map +1 -1
  385. package/out/zero-cache/src/workers/connection.d.ts +3 -1
  386. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  387. package/out/zero-cache/src/workers/connection.js +19 -1
  388. package/out/zero-cache/src/workers/connection.js.map +1 -1
  389. package/out/zero-cache/src/workers/syncer.d.ts +2 -1
  390. package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
  391. package/out/zero-cache/src/workers/syncer.js +20 -9
  392. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  393. package/out/zero-client/src/client/context.d.ts +1 -1
  394. package/out/zero-client/src/client/context.d.ts.map +1 -1
  395. package/out/zero-client/src/client/context.js +99 -0
  396. package/out/zero-client/src/client/context.js.map +1 -0
  397. package/out/zero-client/src/client/crud.d.ts +8 -10
  398. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  399. package/out/zero-client/src/client/crud.js +181 -0
  400. package/out/zero-client/src/client/crud.js.map +1 -0
  401. package/out/zero-client/src/client/enable-analytics.js +21 -0
  402. package/out/zero-client/src/client/enable-analytics.js.map +1 -0
  403. package/out/zero-client/src/client/http-string.js +14 -0
  404. package/out/zero-client/src/client/http-string.js.map +1 -0
  405. package/out/zero-client/src/client/keys.d.ts +3 -2
  406. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  407. package/out/zero-client/src/client/keys.js +32 -0
  408. package/out/zero-client/src/client/keys.js.map +1 -0
  409. package/out/zero-client/src/client/log-options.js +57 -0
  410. package/out/zero-client/src/client/log-options.js.map +1 -0
  411. package/out/zero-client/src/client/metrics.js +268 -0
  412. package/out/zero-client/src/client/metrics.js.map +1 -0
  413. package/out/zero-client/src/client/normalized-schema.d.ts +17 -0
  414. package/out/zero-client/src/client/normalized-schema.d.ts.map +1 -0
  415. package/out/zero-client/src/client/normalized-schema.js +31 -0
  416. package/out/zero-client/src/client/normalized-schema.js.map +1 -0
  417. package/out/zero-client/src/client/options.js +2 -0
  418. package/out/zero-client/src/client/options.js.map +1 -0
  419. package/out/zero-client/src/client/query-manager.d.ts +18 -3
  420. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  421. package/out/zero-client/src/client/query-manager.js +149 -0
  422. package/out/zero-client/src/client/query-manager.js.map +1 -0
  423. package/out/zero-client/src/client/reload-error-handler.js +23 -0
  424. package/out/zero-client/src/client/reload-error-handler.js.map +1 -0
  425. package/out/zero-client/src/client/replicache-types.js +2 -0
  426. package/out/zero-client/src/client/replicache-types.js.map +1 -0
  427. package/out/zero-client/src/client/server-error.js +22 -0
  428. package/out/zero-client/src/client/server-error.js.map +1 -0
  429. package/out/zero-client/src/client/server-option.js +37 -0
  430. package/out/zero-client/src/client/server-option.js.map +1 -0
  431. package/out/zero-client/src/client/version.js +5 -0
  432. package/out/zero-client/src/client/version.js.map +1 -0
  433. package/out/zero-client/src/client/zero-poke-handler.d.ts +3 -3
  434. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  435. package/out/zero-client/src/client/zero-poke-handler.js +240 -0
  436. package/out/zero-client/src/client/zero-poke-handler.js.map +1 -0
  437. package/out/zero-client/src/client/zero.d.ts +3 -2
  438. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  439. package/out/zero-client/src/client/zero.js +1212 -0
  440. package/out/zero-client/src/client/zero.js.map +1 -0
  441. package/out/zero-client/src/mod.js +4 -0
  442. package/out/zero-client/src/mod.js.map +1 -0
  443. package/out/zero-client/src/util/nanoid.js +34 -0
  444. package/out/zero-client/src/util/nanoid.js.map +1 -0
  445. package/out/zero-client/src/util/socket.js +4 -0
  446. package/out/zero-client/src/util/socket.js.map +1 -0
  447. package/out/zero-protocol/src/ast.d.ts +87 -1
  448. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  449. package/out/zero-protocol/src/ast.js +53 -0
  450. package/out/zero-protocol/src/ast.js.map +1 -1
  451. package/out/zero-protocol/src/change-desired-queries.d.ts +6 -6
  452. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  453. package/out/zero-protocol/src/clients-patch.d.ts +1 -1
  454. package/out/zero-protocol/src/connect.d.ts +15 -8
  455. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  456. package/out/zero-protocol/src/connect.js +21 -0
  457. package/out/zero-protocol/src/connect.js.map +1 -1
  458. package/out/zero-protocol/src/data.d.ts +36 -0
  459. package/out/zero-protocol/src/data.d.ts.map +1 -0
  460. package/out/zero-protocol/src/data.js +4 -0
  461. package/out/zero-protocol/src/data.js.map +1 -0
  462. package/out/zero-protocol/src/delete-clients.d.ts +4 -4
  463. package/out/zero-protocol/src/delete-clients.d.ts.map +1 -1
  464. package/out/zero-protocol/src/down.d.ts +18 -16
  465. package/out/zero-protocol/src/down.d.ts.map +1 -1
  466. package/out/zero-protocol/src/down.js +2 -1
  467. package/out/zero-protocol/src/down.js.map +1 -1
  468. package/out/zero-protocol/src/mod.d.ts +1 -2
  469. package/out/zero-protocol/src/mod.d.ts.map +1 -1
  470. package/out/zero-protocol/src/mod.js +2 -2
  471. package/out/zero-protocol/src/mod.js.map +1 -1
  472. package/out/zero-protocol/src/ping.d.ts +1 -1
  473. package/out/zero-protocol/src/ping.d.ts.map +1 -1
  474. package/out/zero-protocol/src/poke.d.ts +26 -26
  475. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  476. package/out/zero-protocol/src/poke.js +8 -5
  477. package/out/zero-protocol/src/poke.js.map +1 -1
  478. package/out/zero-protocol/src/pong.d.ts +1 -1
  479. package/out/zero-protocol/src/pong.d.ts.map +1 -1
  480. package/out/zero-protocol/src/primary-key.d.ts +2 -3
  481. package/out/zero-protocol/src/primary-key.d.ts.map +1 -1
  482. package/out/zero-protocol/src/primary-key.js +1 -3
  483. package/out/zero-protocol/src/primary-key.js.map +1 -1
  484. package/out/zero-protocol/src/pull.d.ts +4 -4
  485. package/out/zero-protocol/src/pull.d.ts.map +1 -1
  486. package/out/zero-protocol/src/push.d.ts +105 -98
  487. package/out/zero-protocol/src/push.d.ts.map +1 -1
  488. package/out/zero-protocol/src/push.js +17 -13
  489. package/out/zero-protocol/src/push.js.map +1 -1
  490. package/out/zero-protocol/src/queries-patch.d.ts +4 -4
  491. package/out/zero-protocol/src/row-patch.d.ts +38 -0
  492. package/out/zero-protocol/src/row-patch.d.ts.map +1 -0
  493. package/out/zero-protocol/src/{entities-patch.js → row-patch.js} +10 -11
  494. package/out/zero-protocol/src/row-patch.js.map +1 -0
  495. package/out/zero-protocol/src/up.d.ts +28 -27
  496. package/out/zero-protocol/src/up.d.ts.map +1 -1
  497. package/out/zero-protocol/src/warm.d.ts +10 -0
  498. package/out/zero-protocol/src/warm.d.ts.map +1 -0
  499. package/out/zero-protocol/src/warm.js +6 -0
  500. package/out/zero-protocol/src/warm.js.map +1 -0
  501. package/out/zero-react/src/use-query.d.ts.map +1 -1
  502. package/out/zero.js +499 -208
  503. package/out/zero.js.map +4 -4
  504. package/out/zql/src/zql/builder/builder.d.ts +3 -3
  505. package/out/zql/src/zql/builder/builder.d.ts.map +1 -1
  506. package/out/zql/src/zql/builder/builder.js +1 -1
  507. package/out/zql/src/zql/builder/builder.js.map +1 -1
  508. package/out/zql/src/zql/builder/filter.d.ts +2 -2
  509. package/out/zql/src/zql/builder/filter.d.ts.map +1 -1
  510. package/out/zql/src/zql/builder/filter.js.map +1 -1
  511. package/out/zql/src/zql/ivm/array-view.d.ts +1 -1
  512. package/out/zql/src/zql/ivm/array-view.d.ts.map +1 -1
  513. package/out/zql/src/zql/ivm/array-view.js +232 -0
  514. package/out/zql/src/zql/ivm/array-view.js.map +1 -0
  515. package/out/zql/src/zql/ivm/change.d.ts +2 -1
  516. package/out/zql/src/zql/ivm/change.d.ts.map +1 -1
  517. package/out/zql/src/zql/ivm/data.d.ts +2 -33
  518. package/out/zql/src/zql/ivm/data.d.ts.map +1 -1
  519. package/out/zql/src/zql/ivm/data.js.map +1 -1
  520. package/out/zql/src/zql/ivm/filter.d.ts +2 -1
  521. package/out/zql/src/zql/ivm/filter.d.ts.map +1 -1
  522. package/out/zql/src/zql/ivm/filter.js.map +1 -1
  523. package/out/zql/src/zql/ivm/join.d.ts +1 -1
  524. package/out/zql/src/zql/ivm/join.d.ts.map +1 -1
  525. package/out/zql/src/zql/ivm/join.js +68 -24
  526. package/out/zql/src/zql/ivm/join.js.map +1 -1
  527. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts +1 -1
  528. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
  529. package/out/zql/src/zql/ivm/memory-source.d.ts +8 -6
  530. package/out/zql/src/zql/ivm/memory-source.d.ts.map +1 -1
  531. package/out/zql/src/zql/ivm/memory-source.js +2 -0
  532. package/out/zql/src/zql/ivm/memory-source.js.map +1 -1
  533. package/out/zql/src/zql/ivm/memory-storage.js +33 -0
  534. package/out/zql/src/zql/ivm/memory-storage.js.map +1 -0
  535. package/out/zql/src/zql/ivm/operator.d.ts +2 -1
  536. package/out/zql/src/zql/ivm/operator.d.ts.map +1 -1
  537. package/out/zql/src/zql/ivm/schema.d.ts +3 -3
  538. package/out/zql/src/zql/ivm/schema.d.ts.map +1 -1
  539. package/out/zql/src/zql/ivm/schema.js.map +1 -1
  540. package/out/zql/src/zql/ivm/skip.d.ts +2 -1
  541. package/out/zql/src/zql/ivm/skip.d.ts.map +1 -1
  542. package/out/zql/src/zql/ivm/skip.js.map +1 -1
  543. package/out/zql/src/zql/ivm/source.d.ts +2 -2
  544. package/out/zql/src/zql/ivm/source.d.ts.map +1 -1
  545. package/out/zql/src/zql/ivm/take.d.ts.map +1 -1
  546. package/out/zql/src/zql/ivm/take.js.map +1 -1
  547. package/out/zql/src/zql/query/normalize-table-schema.d.ts +48 -0
  548. package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +1 -0
  549. package/out/zql/src/zql/query/normalize-table-schema.js +116 -0
  550. package/out/zql/src/zql/query/normalize-table-schema.js.map +1 -0
  551. package/out/zql/src/zql/query/query-impl.d.ts +6 -5
  552. package/out/zql/src/zql/query/query-impl.d.ts.map +1 -1
  553. package/out/zql/src/zql/query/query-impl.js +263 -0
  554. package/out/zql/src/zql/query/query-impl.js.map +1 -0
  555. package/out/zql/src/zql/query/query.d.ts +1 -1
  556. package/out/zql/src/zql/query/query.d.ts.map +1 -1
  557. package/out/zql/src/zql/query/query.js +3 -0
  558. package/out/zql/src/zql/query/query.js.map +1 -0
  559. package/out/zql/src/zql/query/schema.d.ts +13 -4
  560. package/out/zql/src/zql/query/schema.d.ts.map +1 -1
  561. package/out/zql/src/zql/query/schema.js +7 -0
  562. package/out/zql/src/zql/query/schema.js.map +1 -0
  563. package/out/zql/src/zql/query/typed-view.js +2 -0
  564. package/out/zql/src/zql/query/typed-view.js.map +1 -0
  565. package/out/zqlite/src/db.d.ts +1 -1
  566. package/out/zqlite/src/db.d.ts.map +1 -1
  567. package/out/zqlite/src/db.js +1 -1
  568. package/out/zqlite/src/db.js.map +1 -1
  569. package/out/zqlite/src/table-source.d.ts +2 -2
  570. package/out/zqlite/src/table-source.d.ts.map +1 -1
  571. package/out/zqlite/src/table-source.js.map +1 -1
  572. package/package.json +10 -8
  573. package/deps/sqlite3/sqlite3.c +0 -260574
  574. package/deps/sqlite3/sqlite3.h +0 -13572
  575. package/deps/sqlite3/sqlite3ext.h +0 -719
  576. package/out/zero-cache/src/db/migration-lite.d.ts.map +0 -1
  577. package/out/zero-cache/src/db/migration-lite.js.map +0 -1
  578. package/out/zero-cache/src/db/migration.d.ts.map +0 -1
  579. package/out/zero-cache/src/db/migration.js.map +0 -1
  580. package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts +0 -6
  581. package/out/zero-cache/src/services/change-streamer/pg/schema/create.d.ts.map +0 -1
  582. package/out/zero-cache/src/services/change-streamer/pg/schema/create.js +0 -29
  583. package/out/zero-cache/src/services/change-streamer/pg/schema/create.js.map +0 -1
  584. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts +0 -6
  585. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.d.ts.map +0 -1
  586. package/out/zero-cache/src/services/change-streamer/pg/schema/lite.js.map +0 -1
  587. package/out/zero-cache/src/types/specs.d.ts +0 -29
  588. package/out/zero-cache/src/types/specs.d.ts.map +0 -1
  589. package/out/zero-cache/src/types/specs.js +0 -2
  590. package/out/zero-cache/src/types/specs.js.map +0 -1
  591. package/out/zero-client/src/client/make-id-from-primary-key.d.ts +0 -5
  592. package/out/zero-client/src/client/make-id-from-primary-key.d.ts.map +0 -1
  593. package/out/zero-protocol/src/entities-patch.d.ts +0 -66
  594. package/out/zero-protocol/src/entities-patch.d.ts.map +0 -1
  595. package/out/zero-protocol/src/entities-patch.js.map +0 -1
  596. package/out/zql/src/zql/ast/ast.d.ts +0 -84
  597. package/out/zql/src/zql/ast/ast.d.ts.map +0 -1
  598. package/out/zql/src/zql/ast/ast.js +0 -54
  599. package/out/zql/src/zql/ast/ast.js.map +0 -1
  600. package/tool/install-sqlite3.js +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zero.js","sourceRoot":"","sources":["../../../../../zero-client/src/client/zero.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { IDBNotFoundError, TransactionClosedError, dropAllDatabases, dropDatabase, getDefaultPuller, makeIDBName, } from '../../replicache/src/mod.js';
2
+ export { QueryImpl } from '../../zql/src/zql/query/query-impl.js';
3
+ export { Zero } from './client/zero.js';
4
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../zero-client/src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AAoDrC,OAAO,EAAC,SAAS,EAAC,MAAM,uCAAuC,CAAC;AAahE,OAAO,EAAC,IAAI,EAAc,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ // This is taken from https://github.com/ai/nanoid/blob/main/index.browser.js We
2
+ // copy this because we want to use `--platform=neutral` which doesn't work with
3
+ // the npm package.
4
+ // Also we changed the random number generator to use Math.random() for compat
5
+ // with React Native.
6
+ import { getNonCryptoRandomValues } from '../../../shared/src/random-values.js';
7
+ export function nanoid(size = 21) {
8
+ // Use our custom getRandomValues function to fill a Uint8Array with random values.
9
+ const randomBytes = getNonCryptoRandomValues(new Uint8Array(size));
10
+ return randomBytes.reduce((id, byte) => {
11
+ // It is incorrect to use bytes exceeding the alphabet size.
12
+ // The following mask reduces the random byte in the 0-255 value
13
+ // range to the 0-63 value range. Therefore, adding hacks, such
14
+ // as empty string fallback or magic numbers, is unneccessary because
15
+ // the bitmask trims bytes down to the alphabet size.
16
+ byte &= 63;
17
+ if (byte < 36) {
18
+ // `0-9a-z`
19
+ id += byte.toString(36);
20
+ }
21
+ else if (byte < 62) {
22
+ // `A-Z`
23
+ id += (byte - 26).toString(36).toUpperCase();
24
+ }
25
+ else if (byte > 62) {
26
+ id += '-';
27
+ }
28
+ else {
29
+ id += '_';
30
+ }
31
+ return id;
32
+ }, '');
33
+ }
34
+ //# sourceMappingURL=nanoid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanoid.js","sourceRoot":"","sources":["../../../../../zero-client/src/util/nanoid.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,mBAAmB;AACnB,8EAA8E;AAC9E,qBAAqB;AAErB,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAE9E,MAAM,UAAU,MAAM,CAAC,IAAI,GAAG,EAAE;IAC9B,mFAAmF;IACnF,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;QACrC,4DAA4D;QAC5D,gEAAgE;QAChE,+DAA+D;QAC/D,qEAAqE;QACrE,qDAAqD;QACrD,IAAI,IAAI,EAAE,CAAC;QACX,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YACd,WAAW;YACX,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YACrB,QAAQ;YACR,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YACrB,EAAE,IAAI,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,EAAE,IAAI,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function send(ws, data) {
2
+ ws.send(JSON.stringify(data));
3
+ }
4
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../../zero-client/src/util/socket.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,EAAa,EAAE,IAAc;IAChD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * are also required for recursive schema definitions.)
7
7
  */
8
8
  import * as v from '../../shared/src/valita.js';
9
- import type { CorrelatedSubQuery } from '../../zql/src/zql/ast/ast.js';
9
+ import type { Row } from './data.js';
10
10
  export declare const selectorSchema: v.Type<string>;
11
11
  export declare const orderingSchema: v.Type<readonly (readonly [string, "asc" | "desc"])[]>;
12
12
  export declare const primitiveSchema: v.UnionType<[v.Type<string>, v.Type<number>, v.Type<boolean>, v.Type<null>]>;
@@ -66,4 +66,90 @@ export declare const astSchema: v.ObjectType<{
66
66
  exclusive: boolean;
67
67
  }>;
68
68
  }, undefined>;
69
+ export type Bound = {
70
+ row: Row;
71
+ exclusive: boolean;
72
+ };
73
+ /**
74
+ * As in SQL you can have multiple orderings. We don't currently
75
+ * support ordering on anything other than the root query.
76
+ */
77
+ export type OrderPart = readonly [field: string, direction: 'asc' | 'desc'];
78
+ export type Ordering = readonly OrderPart[];
79
+ export type SimpleOperator = EqualityOps | OrderOps | LikeOps | InOps;
80
+ export type EqualityOps = '=' | '!=';
81
+ export type OrderOps = '<' | '>' | '<=' | '>=';
82
+ export type LikeOps = 'LIKE' | 'NOT LIKE' | 'ILIKE' | 'NOT ILIKE';
83
+ export type InOps = 'IN' | 'NOT IN';
84
+ export type AST = {
85
+ readonly schema?: string | undefined;
86
+ readonly table: string;
87
+ readonly alias?: string | undefined;
88
+ readonly where?: readonly Condition[] | undefined;
89
+ readonly related?: readonly CorrelatedSubQuery[] | undefined;
90
+ readonly start?: Bound | undefined;
91
+ readonly limit?: number | undefined;
92
+ readonly orderBy?: Ordering | undefined;
93
+ };
94
+ export type CorrelatedSubQuery = {
95
+ /**
96
+ * Only equality correlations are supported for now.
97
+ * E.g., direct foreign key relationships.
98
+ */
99
+ readonly correlation: {
100
+ readonly parentField: string;
101
+ readonly childField: string;
102
+ readonly op: '=';
103
+ };
104
+ readonly subquery: AST;
105
+ readonly hidden?: boolean | undefined;
106
+ };
107
+ export type ValuePosition = LiteralValue | Parameter;
108
+ export type LiteralValue = string | number | boolean | ReadonlyArray<string | number | boolean>;
109
+ /**
110
+ * Starting only with SimpleCondition for now.
111
+ * ivm1 supports Conjunctions and Disjunctions.
112
+ * We'll support them in the future.
113
+ */
114
+ export type Condition = SimpleCondition;
115
+ export type SimpleCondition = {
116
+ type: 'simple';
117
+ op: SimpleOperator;
118
+ /**
119
+ * Not a path yet as we're currently not allowing
120
+ * comparisons across tables. This will need to
121
+ * be a path through the tree in the near future.
122
+ */
123
+ field: string;
124
+ /**
125
+ * `null` is absent since we do not have an `IS` or `IS NOT`
126
+ * operator defined and `null != null` in SQL.
127
+ */
128
+ value: ValuePosition;
129
+ };
130
+ /**
131
+ * A parameter is a value that is not known at the time the query is written
132
+ * and is resolved at runtime.
133
+ *
134
+ * StaticParameters refer to something provided by the caller.
135
+ * StaticParameters are injected when the query pipeline is built from the AST
136
+ * and do not change for the life of that pipeline.
137
+ *
138
+ * An example StaticParameter is the current authentication data.
139
+ * When a user is authenticated, queries on the server have access
140
+ * to the user's authentication data in order to evaluate authorization rules.
141
+ * Authentication data doesn't change over the life of a query as a change
142
+ * in auth data would represent a log-in / log-out of the user.
143
+ *
144
+ * AncestorParameters refer to rows encountered while running the query.
145
+ * They are used by subqueries to refer to rows emitted by parent queries.
146
+ */
147
+ export type Parameter = StaticParameter;
148
+ type StaticParameter = {
149
+ type: 'static';
150
+ anchor: 'authData' | 'preMutationRow';
151
+ field: string;
152
+ };
153
+ export declare function normalizeAST(ast: AST): Required<AST>;
154
+ export {};
69
155
  //# sourceMappingURL=ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAErE,eAAO,MAAM,cAAc,gBAAa,CAAC;AAMzC,eAAO,MAAM,cAAc,wDAAyC,CAAC;AAErE,eAAO,MAAM,eAAe,8EAK3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,0CAA2C,CAAC;AAE1E,eAAO,MAAM,cAAc,qEAK1B,CAAC;AAEF,eAAO,MAAM,aAAa,yFAKzB,CAAC;AAEF,eAAO,MAAM,WAAW,+CAAgD,CAAC;AAEzE,eAAO,MAAM,oBAAoB,sQAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;aAehC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;aAAwB,CAAC;AAQrD,eAAO,MAAM,oCAAoC;;;;;;;aAO/C,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAG5D,CAAC;AAEL,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;aAgBpB,CAAC"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@
5
5
  * that the schemas satisfy the zql type definitions. (Incidentally, explicit types
6
6
  * are also required for recursive schema definitions.)
7
7
  */
8
+ import { compareUTF8 } from 'compare-utf8';
9
+ import { must } from '../../shared/src/must.js';
8
10
  import * as v from '../../shared/src/valita.js';
9
11
  export const selectorSchema = v.string();
10
12
  const orderingElementSchema = v.readonly(v.tuple([selectorSchema, v.union(v.literal('asc'), v.literal('desc'))]));
@@ -58,4 +60,55 @@ export const astSchema = v.object({
58
60
  })
59
61
  .optional(),
60
62
  });
63
+ export function normalizeAST(ast) {
64
+ return {
65
+ schema: ast.schema,
66
+ table: ast.table,
67
+ alias: ast.alias,
68
+ where: ast.where ? sortedWhere(ast.where) : undefined,
69
+ related: ast.related
70
+ ? sortedRelated(ast.related.map(r => ({
71
+ correlation: {
72
+ parentField: r.correlation.parentField,
73
+ childField: r.correlation.childField,
74
+ op: r.correlation.op,
75
+ },
76
+ hidden: r.hidden,
77
+ subquery: normalizeAST(r.subquery),
78
+ })))
79
+ : undefined,
80
+ start: ast.start,
81
+ limit: ast.limit,
82
+ orderBy: ast.orderBy,
83
+ };
84
+ }
85
+ function sortedWhere(where) {
86
+ return [...where].sort(cmpCondition);
87
+ }
88
+ function sortedRelated(related) {
89
+ return related.sort(cmpRelated);
90
+ }
91
+ function cmpCondition(a, b) {
92
+ return (compareUTF8MaybeNull(a.field, b.field) ||
93
+ compareUTF8MaybeNull(a.op, b.op) ||
94
+ // Comparing the same field with the same op more than once doesn't make logical
95
+ // sense, but is technically possible. Assume the values are of the same type and
96
+ // sort by their String forms.
97
+ compareUTF8MaybeNull(String(a.value), String(b.value)));
98
+ }
99
+ function cmpRelated(a, b) {
100
+ return compareUTF8(must(a.subquery.alias), must(b.subquery.alias));
101
+ }
102
+ function compareUTF8MaybeNull(a, b) {
103
+ if (a !== null && b !== null) {
104
+ return compareUTF8(a, b);
105
+ }
106
+ if (b !== null) {
107
+ return -1;
108
+ }
109
+ if (a !== null) {
110
+ return 1;
111
+ }
112
+ return 0;
113
+ }
61
114
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as v from '../../shared/src/valita.js';
2
2
  declare const changeDesiredQueriesBodySchema: v.ObjectType<{
3
- desiredQueriesPatch: v.ArrayType<[], v.UnionType<[v.ObjectType<{
3
+ desiredQueriesPatch: v.ArrayType<v.UnionType<[v.ObjectType<{
4
4
  op: v.Type<"put">;
5
5
  hash: v.Type<string>;
6
6
  ast: v.ObjectType<{
@@ -17,7 +17,7 @@ declare const changeDesiredQueriesBodySchema: v.ObjectType<{
17
17
  field: string;
18
18
  };
19
19
  }[]>;
20
- related: v.Optional<readonly import("../../zql/src/zql/ast/ast.js").CorrelatedSubQuery[]>;
20
+ related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
21
21
  limit: v.Optional<number>;
22
22
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
23
23
  start: v.Optional<{
@@ -32,8 +32,8 @@ declare const changeDesiredQueriesBodySchema: v.ObjectType<{
32
32
  op: v.Type<"clear">;
33
33
  }, undefined>]>>;
34
34
  }, undefined>;
35
- export declare const changeDesiredQueriesMessageSchema: v.ArrayType<[v.Type<"changeDesiredQueries">, v.ObjectType<{
36
- desiredQueriesPatch: v.ArrayType<[], v.UnionType<[v.ObjectType<{
35
+ export declare const changeDesiredQueriesMessageSchema: v.TupleType<[v.Type<"changeDesiredQueries">, v.ObjectType<{
36
+ desiredQueriesPatch: v.ArrayType<v.UnionType<[v.ObjectType<{
37
37
  op: v.Type<"put">;
38
38
  hash: v.Type<string>;
39
39
  ast: v.ObjectType<{
@@ -50,7 +50,7 @@ export declare const changeDesiredQueriesMessageSchema: v.ArrayType<[v.Type<"cha
50
50
  field: string;
51
51
  };
52
52
  }[]>;
53
- related: v.Optional<readonly import("../../zql/src/zql/ast/ast.js").CorrelatedSubQuery[]>;
53
+ related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
54
54
  limit: v.Optional<number>;
55
55
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
56
56
  start: v.Optional<{
@@ -64,7 +64,7 @@ export declare const changeDesiredQueriesMessageSchema: v.ArrayType<[v.Type<"cha
64
64
  }, undefined>, v.ObjectType<{
65
65
  op: v.Type<"clear">;
66
66
  }, undefined>]>>;
67
- }, undefined>], undefined>;
67
+ }, undefined>]>;
68
68
  export type ChangeDesiredQueriesBody = v.Infer<typeof changeDesiredQueriesBodySchema>;
69
69
  export type ChangeDesiredQueriesMessage = v.Infer<typeof changeDesiredQueriesMessageSchema>;
70
70
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"change-desired-queries.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/change-desired-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAElC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAG5C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC"}
1
+ {"version":3,"file":"change-desired-queries.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/change-desired-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAElC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAG5C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC"}
@@ -19,7 +19,7 @@ declare const patchOpSchema: v.UnionType<[v.ObjectType<{
19
19
  }, undefined>, v.ObjectType<{
20
20
  op: v.Type<"clear">;
21
21
  }, undefined>]>;
22
- export declare const clientsPatchSchema: v.ArrayType<[], v.UnionType<[v.ObjectType<{
22
+ export declare const clientsPatchSchema: v.ArrayType<v.UnionType<[v.ObjectType<{
23
23
  op: v.Type<"put">;
24
24
  clientID: v.Type<string>;
25
25
  }, undefined>, v.ObjectType<{
@@ -10,12 +10,12 @@ export declare const connectedBodySchema: v.ObjectType<{
10
10
  wsid: v.Type<string>;
11
11
  timestamp: v.Optional<number>;
12
12
  }, undefined>;
13
- export declare const connectedMessageSchema: v.ArrayType<[v.Type<"connected">, v.ObjectType<{
13
+ export declare const connectedMessageSchema: v.TupleType<[v.Type<"connected">, v.ObjectType<{
14
14
  wsid: v.Type<string>;
15
15
  timestamp: v.Optional<number>;
16
- }, undefined>], undefined>;
16
+ }, undefined>]>;
17
17
  declare const initConnectionBodySchema: v.ObjectType<{
18
- desiredQueriesPatch: v.ArrayType<[], v.UnionType<[v.ObjectType<{
18
+ desiredQueriesPatch: v.ArrayType<v.UnionType<[v.ObjectType<{
19
19
  op: v.Type<"put">;
20
20
  hash: v.Type<string>;
21
21
  ast: v.ObjectType<{
@@ -32,7 +32,7 @@ declare const initConnectionBodySchema: v.ObjectType<{
32
32
  field: string;
33
33
  };
34
34
  }[]>;
35
- related: v.Optional<readonly import("../../zql/src/zql/ast/ast.js").CorrelatedSubQuery[]>;
35
+ related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
36
36
  limit: v.Optional<number>;
37
37
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
38
38
  start: v.Optional<{
@@ -47,8 +47,8 @@ declare const initConnectionBodySchema: v.ObjectType<{
47
47
  op: v.Type<"clear">;
48
48
  }, undefined>]>>;
49
49
  }, undefined>;
50
- export declare const initConnectionMessageSchema: v.ArrayType<[v.Type<"initConnection">, v.ObjectType<{
51
- desiredQueriesPatch: v.ArrayType<[], v.UnionType<[v.ObjectType<{
50
+ export declare const initConnectionMessageSchema: v.TupleType<[v.Type<"initConnection">, v.ObjectType<{
51
+ desiredQueriesPatch: v.ArrayType<v.UnionType<[v.ObjectType<{
52
52
  op: v.Type<"put">;
53
53
  hash: v.Type<string>;
54
54
  ast: v.ObjectType<{
@@ -65,7 +65,7 @@ export declare const initConnectionMessageSchema: v.ArrayType<[v.Type<"initConne
65
65
  field: string;
66
66
  };
67
67
  }[]>;
68
- related: v.Optional<readonly import("../../zql/src/zql/ast/ast.js").CorrelatedSubQuery[]>;
68
+ related: v.Optional<readonly import("./ast.js").CorrelatedSubQuery[]>;
69
69
  limit: v.Optional<number>;
70
70
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
71
71
  start: v.Optional<{
@@ -79,10 +79,17 @@ export declare const initConnectionMessageSchema: v.ArrayType<[v.Type<"initConne
79
79
  }, undefined>, v.ObjectType<{
80
80
  op: v.Type<"clear">;
81
81
  }, undefined>]>>;
82
- }, undefined>], undefined>;
82
+ }, undefined>]>;
83
83
  export type ConnectedBody = v.Infer<typeof connectedBodySchema>;
84
84
  export type ConnectedMessage = v.Infer<typeof connectedMessageSchema>;
85
85
  export type InitConnectionBody = v.Infer<typeof initConnectionBodySchema>;
86
86
  export type InitConnectionMessage = v.Infer<typeof initConnectionMessageSchema>;
87
+ export declare function encodeSecProtocols(initConnectionMessage: InitConnectionMessage, authToken?: string | undefined): string;
88
+ /**
89
+ * The initConnectionMessage is purposely returned as a string
90
+ * since it is passed directly into the WebSocket message handler
91
+ * which does JSON.parse and Valita.parse on the message.
92
+ */
93
+ export declare function decodeSecProtocols(secProtocol: string): [initConnectionMessage: string, maybeAuthToken: string | undefined];
87
94
  export {};
88
95
  //# sourceMappingURL=connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB;;;aAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;0BAGjC,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE5B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAGtC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAGhD;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB;;;aAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;eAGjC,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE5B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAGtC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,EAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,UAQ/B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAClB,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,CAOrE"}
@@ -1,3 +1,4 @@
1
+ import { assert } from '../../shared/src/asserts.js';
1
2
  import * as v from '../../shared/src/valita.js';
2
3
  import { queriesPatchSchema } from './queries-patch.js';
3
4
  /**
@@ -22,4 +23,24 @@ export const initConnectionMessageSchema = v.tuple([
22
23
  v.literal('initConnection'),
23
24
  initConnectionBodySchema,
24
25
  ]);
26
+ export function encodeSecProtocols(initConnectionMessage, authToken) {
27
+ // base64 encoding the JSON before URI encoding it results in a smaller payload.
28
+ const protocols = [btoa(JSON.stringify(initConnectionMessage))];
29
+ if (authToken !== undefined) {
30
+ protocols.push(authToken);
31
+ }
32
+ return encodeURIComponent(protocols.join(','));
33
+ }
34
+ /**
35
+ * The initConnectionMessage is purposely returned as a string
36
+ * since it is passed directly into the WebSocket message handler
37
+ * which does JSON.parse and Valita.parse on the message.
38
+ */
39
+ export function decodeSecProtocols(secProtocol) {
40
+ const ret = decodeURIComponent(secProtocol)
41
+ .split(',')
42
+ .map((s, i) => (i === 0 ? atob(s) : s));
43
+ assert(ret.length === 1 || ret.length === 2);
44
+ return ret.length === 1 ? [ret[0], undefined] : [ret[0], ret[1]];
45
+ }
25
46
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,mBAAmB,EAAE,kBAAkB;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,wBAAwB;CACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../zero-protocol/src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,mBAAmB,EAAE,kBAAkB;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC3B,wBAAwB;CACzB,CAAC,CAAC;AAQH,MAAM,UAAU,kBAAkB,CAChC,qBAA4C,EAC5C,SAA8B;IAE9B,gFAAgF;IAChF,MAAM,SAAS,GAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB;IAEnB,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC;SACxC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import * as v from '../../shared/src/valita.js';
2
+ export declare const valueSchema: v.UnionType<[v.Type<null>, v.Type<boolean>, v.Type<number>, v.Type<string>, v.Type<undefined>]>;
3
+ export declare const rowSchema: v.Type<Record<string, string | number | boolean | null | undefined>>;
4
+ /**
5
+ * The data types that Zero can represent are limited by two things:
6
+ *
7
+ * 1. The underlying Replicache sync layer currently can only represent JSON
8
+ * types. This could possibly be expanded in the future, but we do want to be
9
+ * careful of adding encoding overhead. By using JSON, we are taking
10
+ * advantage of IndexedDB’s fast native JSValue [de]serialization which has
11
+ * historically been a perf advantage for us.
12
+ *
13
+ * 2. IDs in Zero need to be comparable because we use them for sorting and row
14
+ * identity. We could expand the set of allowed value types (to include,
15
+ * i.e., Objects) but we would then need to restrict IDs to only comparable
16
+ * types.
17
+ *
18
+ * These two facts leave us with the following allowed types. Zero's replication
19
+ * layer must convert other types into these for tables to be used with Zero.
20
+ *
21
+ * For developer convenience we also allow `undefined`, which we treat
22
+ * equivalently to `null`.
23
+ */
24
+ export type Value = v.Infer<typeof valueSchema>;
25
+ /**
26
+ * A Row is represented as a JS Object.
27
+ *
28
+ * We do everything in IVM as loosely typed values because these pipelines are
29
+ * going to be constructed at runtime by other code, so type-safety can't buy us
30
+ * anything.
31
+ *
32
+ * Also since the calling code on the client ultimately wants objects to work
33
+ * with we end up with a lot less copies by using objects throughout.
34
+ */
35
+ export type Row = v.Infer<typeof rowSchema>;
36
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,eAAO,MAAM,WAAW,iGAMvB,CAAC;AAEF,eAAO,MAAM,SAAS,sEAAwB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as v from '../../shared/src/valita.js';
2
+ export const valueSchema = v.union(v.null(), v.boolean(), v.number(), v.string(), v.undefined());
3
+ export const rowSchema = v.record(valueSchema);
4
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../zero-protocol/src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,EAAE,CACd,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import * as v from '../../shared/src/valita.js';
2
2
  declare const deleteClientsBodySchema: v.ObjectType<{
3
- clientIDs: v.ArrayType<[], v.Type<string>>;
3
+ clientIDs: v.ArrayType<v.Type<string>>;
4
4
  }, undefined>;
5
- export declare const deleteClientsMessageSchema: v.ArrayType<[v.Type<"deleteClients">, v.ObjectType<{
6
- clientIDs: v.ArrayType<[], v.Type<string>>;
7
- }, undefined>], undefined>;
5
+ export declare const deleteClientsMessageSchema: v.TupleType<[v.Type<"deleteClients">, v.ObjectType<{
6
+ clientIDs: v.ArrayType<v.Type<string>>;
7
+ }, undefined>]>;
8
8
  export type DeleteClientsBody = v.Infer<typeof deleteClientsBodySchema>;
9
9
  export type DeleteClientsMessage = v.Infer<typeof deleteClientsMessageSchema>;
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"delete-clients.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/delete-clients.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,QAAA,MAAM,uBAAuB;;aAE3B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;0BAGrC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"delete-clients.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/delete-clients.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,QAAA,MAAM,uBAAuB;;aAE3B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;eAGrC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}