@rocicorp/zero 0.26.1-canary.9 → 0.26.2-canary.1

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 (1113) hide show
  1. package/out/_virtual/_@oxc-project_runtime@0.115.0/helpers/usingCtx.js +57 -0
  2. package/out/_virtual/_rolldown/runtime.js +27 -0
  3. package/out/analyze-query/src/bin-analyze.js +195 -280
  4. package/out/analyze-query/src/bin-analyze.js.map +1 -1
  5. package/out/analyze-query/src/bin-transform.js +35 -40
  6. package/out/analyze-query/src/bin-transform.js.map +1 -1
  7. package/out/analyze-query/src/explain-queries.js +11 -13
  8. package/out/analyze-query/src/explain-queries.js.map +1 -1
  9. package/out/analyze-query/src/run-ast.d.ts.map +1 -1
  10. package/out/analyze-query/src/run-ast.js +68 -94
  11. package/out/analyze-query/src/run-ast.js.map +1 -1
  12. package/out/ast-to-zql/src/ast-to-zql.js +105 -153
  13. package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
  14. package/out/ast-to-zql/src/bin.js +57 -62
  15. package/out/ast-to-zql/src/bin.js.map +1 -1
  16. package/out/ast-to-zql/src/format.js +14 -13
  17. package/out/ast-to-zql/src/format.js.map +1 -1
  18. package/out/datadog/src/datadog-log-sink.js +148 -213
  19. package/out/datadog/src/datadog-log-sink.js.map +1 -1
  20. package/out/otel/src/enabled.js +9 -11
  21. package/out/otel/src/enabled.js.map +1 -1
  22. package/out/otel/src/log-options.js +25 -35
  23. package/out/otel/src/log-options.js.map +1 -1
  24. package/out/otel/src/maybe-time.js +13 -14
  25. package/out/otel/src/maybe-time.js.map +1 -1
  26. package/out/otel/src/span.js +23 -26
  27. package/out/otel/src/span.js.map +1 -1
  28. package/out/otel/src/test-log-config.js +11 -10
  29. package/out/otel/src/test-log-config.js.map +1 -1
  30. package/out/otel/src/version.js +6 -5
  31. package/out/otel/src/version.js.map +1 -1
  32. package/out/replicache/src/async-iterable-to-array.js +8 -9
  33. package/out/replicache/src/async-iterable-to-array.js.map +1 -1
  34. package/out/replicache/src/bg-interval.js +28 -35
  35. package/out/replicache/src/bg-interval.js.map +1 -1
  36. package/out/replicache/src/btree/diff.js +6 -5
  37. package/out/replicache/src/btree/diff.js.map +1 -1
  38. package/out/replicache/src/btree/node.js +281 -372
  39. package/out/replicache/src/btree/node.js.map +1 -1
  40. package/out/replicache/src/btree/read.js +155 -256
  41. package/out/replicache/src/btree/read.js.map +1 -1
  42. package/out/replicache/src/btree/splice.js +60 -80
  43. package/out/replicache/src/btree/splice.js.map +1 -1
  44. package/out/replicache/src/btree/write.js +134 -158
  45. package/out/replicache/src/btree/write.js.map +1 -1
  46. package/out/replicache/src/call-default-fetch.js +28 -32
  47. package/out/replicache/src/call-default-fetch.js.map +1 -1
  48. package/out/replicache/src/config.js +2 -0
  49. package/out/replicache/src/connection-loop-delegates.js +31 -33
  50. package/out/replicache/src/connection-loop-delegates.js.map +1 -1
  51. package/out/replicache/src/connection-loop.js +174 -240
  52. package/out/replicache/src/connection-loop.js.map +1 -1
  53. package/out/replicache/src/cookies.js +22 -32
  54. package/out/replicache/src/cookies.js.map +1 -1
  55. package/out/replicache/src/dag/chunk.js +44 -50
  56. package/out/replicache/src/dag/chunk.js.map +1 -1
  57. package/out/replicache/src/dag/gc.js +94 -114
  58. package/out/replicache/src/dag/gc.js.map +1 -1
  59. package/out/replicache/src/dag/key.js +9 -11
  60. package/out/replicache/src/dag/key.js.map +1 -1
  61. package/out/replicache/src/dag/lazy-store.js +458 -510
  62. package/out/replicache/src/dag/lazy-store.js.map +1 -1
  63. package/out/replicache/src/dag/store-impl.js +147 -178
  64. package/out/replicache/src/dag/store-impl.js.map +1 -1
  65. package/out/replicache/src/dag/store.js +19 -22
  66. package/out/replicache/src/dag/store.js.map +1 -1
  67. package/out/replicache/src/dag/visitor.js +23 -21
  68. package/out/replicache/src/dag/visitor.js.map +1 -1
  69. package/out/replicache/src/db/commit.js +209 -283
  70. package/out/replicache/src/db/commit.js.map +1 -1
  71. package/out/replicache/src/db/index.js +79 -122
  72. package/out/replicache/src/db/index.js.map +1 -1
  73. package/out/replicache/src/db/read.js +44 -60
  74. package/out/replicache/src/db/read.js.map +1 -1
  75. package/out/replicache/src/db/rebase.js +22 -77
  76. package/out/replicache/src/db/rebase.js.map +1 -1
  77. package/out/replicache/src/db/write.js +162 -296
  78. package/out/replicache/src/db/write.js.map +1 -1
  79. package/out/replicache/src/deleted-clients.js +59 -87
  80. package/out/replicache/src/deleted-clients.js.map +1 -1
  81. package/out/replicache/src/error-responses.js +18 -26
  82. package/out/replicache/src/error-responses.js.map +1 -1
  83. package/out/replicache/src/expo-sqlite.js +2 -0
  84. package/out/replicache/src/frozen-json.js +74 -108
  85. package/out/replicache/src/frozen-json.js.map +1 -1
  86. package/out/replicache/src/get-default-puller.js +34 -46
  87. package/out/replicache/src/get-default-puller.js.map +1 -1
  88. package/out/replicache/src/get-default-pusher.js +25 -33
  89. package/out/replicache/src/get-default-pusher.js.map +1 -1
  90. package/out/replicache/src/get-kv-store-provider.js +18 -20
  91. package/out/replicache/src/get-kv-store-provider.js.map +1 -1
  92. package/out/replicache/src/hash.js +29 -29
  93. package/out/replicache/src/hash.js.map +1 -1
  94. package/out/replicache/src/http-request-info.js +9 -8
  95. package/out/replicache/src/http-request-info.js.map +1 -1
  96. package/out/replicache/src/impl.js +2 -0
  97. package/out/replicache/src/index-defs.js +17 -28
  98. package/out/replicache/src/index-defs.js.map +1 -1
  99. package/out/replicache/src/kv/expo-sqlite/store.js +52 -50
  100. package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -1
  101. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +71 -68
  102. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -1
  103. package/out/replicache/src/kv/idb-store.js +144 -168
  104. package/out/replicache/src/kv/idb-store.js.map +1 -1
  105. package/out/replicache/src/kv/mem-store.js +57 -45
  106. package/out/replicache/src/kv/mem-store.js.map +1 -1
  107. package/out/replicache/src/kv/op-sqlite/store.js +56 -62
  108. package/out/replicache/src/kv/op-sqlite/store.js.map +1 -1
  109. package/out/replicache/src/kv/op-sqlite/types.d.ts.map +1 -1
  110. package/out/replicache/src/kv/op-sqlite/types.js +7 -6
  111. package/out/replicache/src/kv/op-sqlite/types.js.map +1 -1
  112. package/out/replicache/src/kv/read-impl.js +26 -25
  113. package/out/replicache/src/kv/read-impl.js.map +1 -1
  114. package/out/replicache/src/kv/sqlite-store.js +194 -207
  115. package/out/replicache/src/kv/sqlite-store.js.map +1 -1
  116. package/out/replicache/src/kv/throw-if-closed.js +12 -19
  117. package/out/replicache/src/kv/throw-if-closed.js.map +1 -1
  118. package/out/replicache/src/kv/write-impl-base.js +44 -56
  119. package/out/replicache/src/kv/write-impl-base.js.map +1 -1
  120. package/out/replicache/src/kv/write-impl.js +22 -26
  121. package/out/replicache/src/kv/write-impl.js.map +1 -1
  122. package/out/replicache/src/lazy.js +10 -11
  123. package/out/replicache/src/lazy.js.map +1 -1
  124. package/out/replicache/src/log-options.js +14 -7
  125. package/out/replicache/src/log-options.js.map +1 -1
  126. package/out/replicache/src/make-idb-name.js +14 -9
  127. package/out/replicache/src/make-idb-name.js.map +1 -1
  128. package/out/replicache/src/mutation-recovery.js +12 -0
  129. package/out/replicache/src/mutation-recovery.js.map +1 -0
  130. package/out/replicache/src/new-client-channel.js +34 -42
  131. package/out/replicache/src/new-client-channel.js.map +1 -1
  132. package/out/replicache/src/on-persist-channel.js +26 -29
  133. package/out/replicache/src/on-persist-channel.js.map +1 -1
  134. package/out/replicache/src/op-sqlite.js +2 -0
  135. package/out/replicache/src/patch-operation.js +27 -36
  136. package/out/replicache/src/patch-operation.js.map +1 -1
  137. package/out/replicache/src/pending-mutations.js +14 -12
  138. package/out/replicache/src/pending-mutations.js.map +1 -1
  139. package/out/replicache/src/persist/client-gc.js +36 -51
  140. package/out/replicache/src/persist/client-gc.js.map +1 -1
  141. package/out/replicache/src/persist/client-group-gc.js +29 -36
  142. package/out/replicache/src/persist/client-group-gc.js.map +1 -1
  143. package/out/replicache/src/persist/client-groups.js +80 -154
  144. package/out/replicache/src/persist/client-groups.js.map +1 -1
  145. package/out/replicache/src/persist/clients.js +212 -307
  146. package/out/replicache/src/persist/clients.js.map +1 -1
  147. package/out/replicache/src/persist/collect-idb-databases.js +109 -171
  148. package/out/replicache/src/persist/collect-idb-databases.js.map +1 -1
  149. package/out/replicache/src/persist/gather-mem-only-visitor.js +23 -24
  150. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +1 -1
  151. package/out/replicache/src/persist/gather-not-cached-visitor.js +35 -33
  152. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +1 -1
  153. package/out/replicache/src/persist/heartbeat.js +31 -41
  154. package/out/replicache/src/persist/heartbeat.js.map +1 -1
  155. package/out/replicache/src/persist/idb-databases-store-db-name.js +9 -12
  156. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +1 -1
  157. package/out/replicache/src/persist/idb-databases-store.js +78 -97
  158. package/out/replicache/src/persist/idb-databases-store.js.map +1 -1
  159. package/out/replicache/src/persist/make-client-id.js +13 -9
  160. package/out/replicache/src/persist/make-client-id.js.map +1 -1
  161. package/out/replicache/src/persist/persist.js +113 -174
  162. package/out/replicache/src/persist/persist.js.map +1 -1
  163. package/out/replicache/src/persist/refresh.js +94 -183
  164. package/out/replicache/src/persist/refresh.js.map +1 -1
  165. package/out/replicache/src/process-scheduler.js +122 -143
  166. package/out/replicache/src/process-scheduler.js.map +1 -1
  167. package/out/replicache/src/pusher.js +21 -26
  168. package/out/replicache/src/pusher.js.map +1 -1
  169. package/out/replicache/src/replicache-impl.js +844 -1184
  170. package/out/replicache/src/replicache-impl.js.map +1 -1
  171. package/out/replicache/src/report-error.js +9 -6
  172. package/out/replicache/src/report-error.js.map +1 -1
  173. package/out/replicache/src/request-idle.js +13 -11
  174. package/out/replicache/src/request-idle.js.map +1 -1
  175. package/out/replicache/src/scan-iterator.d.ts.map +1 -1
  176. package/out/replicache/src/scan-iterator.js +108 -135
  177. package/out/replicache/src/scan-iterator.js.map +1 -1
  178. package/out/replicache/src/scan-options.js +33 -39
  179. package/out/replicache/src/scan-options.js.map +1 -1
  180. package/out/replicache/src/set-interval-with-signal.js +11 -10
  181. package/out/replicache/src/set-interval-with-signal.js.map +1 -1
  182. package/out/replicache/src/sqlite.js +2 -0
  183. package/out/replicache/src/subscriptions.js +222 -338
  184. package/out/replicache/src/subscriptions.js.map +1 -1
  185. package/out/replicache/src/sync/diff.js +52 -65
  186. package/out/replicache/src/sync/diff.js.map +1 -1
  187. package/out/replicache/src/sync/ids.js +8 -9
  188. package/out/replicache/src/sync/ids.js.map +1 -1
  189. package/out/replicache/src/sync/patch.js +34 -45
  190. package/out/replicache/src/sync/patch.js.map +1 -1
  191. package/out/replicache/src/sync/pull-error.js +15 -15
  192. package/out/replicache/src/sync/pull-error.js.map +1 -1
  193. package/out/replicache/src/sync/pull.js +145 -283
  194. package/out/replicache/src/sync/pull.js.map +1 -1
  195. package/out/replicache/src/sync/push.js +64 -79
  196. package/out/replicache/src/sync/push.js.map +1 -1
  197. package/out/replicache/src/sync/request-id.js +23 -15
  198. package/out/replicache/src/sync/request-id.js.map +1 -1
  199. package/out/replicache/src/sync/sync-head-name.js +6 -5
  200. package/out/replicache/src/sync/sync-head-name.js.map +1 -1
  201. package/out/replicache/src/to-error.js +7 -8
  202. package/out/replicache/src/to-error.js.map +1 -1
  203. package/out/replicache/src/transaction-closed-error.js +15 -15
  204. package/out/replicache/src/transaction-closed-error.js.map +1 -1
  205. package/out/replicache/src/transactions.js +120 -140
  206. package/out/replicache/src/transactions.js.map +1 -1
  207. package/out/replicache/src/version.js +9 -5
  208. package/out/replicache/src/version.js.map +1 -1
  209. package/out/replicache/src/with-transactions.js +23 -20
  210. package/out/replicache/src/with-transactions.js.map +1 -1
  211. package/out/shared/src/abort-error.js +7 -6
  212. package/out/shared/src/abort-error.js.map +1 -1
  213. package/out/shared/src/arrays.js +35 -42
  214. package/out/shared/src/arrays.js.map +1 -1
  215. package/out/shared/src/asserts.js +21 -45
  216. package/out/shared/src/asserts.js.map +1 -1
  217. package/out/shared/src/bigint-json.js +42 -38
  218. package/out/shared/src/bigint-json.js.map +1 -1
  219. package/out/shared/src/binary-search.js +27 -18
  220. package/out/shared/src/binary-search.js.map +1 -1
  221. package/out/shared/src/broadcast-channel.js +20 -23
  222. package/out/shared/src/broadcast-channel.js.map +1 -1
  223. package/out/shared/src/browser-env.js +11 -17
  224. package/out/shared/src/browser-env.js.map +1 -1
  225. package/out/shared/src/btree-set.js +419 -481
  226. package/out/shared/src/btree-set.js.map +1 -1
  227. package/out/shared/src/cache.js +43 -36
  228. package/out/shared/src/cache.js.map +1 -1
  229. package/out/shared/src/centroid.js +24 -26
  230. package/out/shared/src/centroid.js.map +1 -1
  231. package/out/shared/src/config.js +6 -6
  232. package/out/shared/src/config.js.map +1 -1
  233. package/out/shared/src/custom-key-map.js +54 -58
  234. package/out/shared/src/custom-key-map.js.map +1 -1
  235. package/out/shared/src/custom-key-set.js +53 -51
  236. package/out/shared/src/custom-key-set.js.map +1 -1
  237. package/out/shared/src/deep-clone.js +30 -41
  238. package/out/shared/src/deep-clone.js.map +1 -1
  239. package/out/shared/src/deep-merge.js +25 -24
  240. package/out/shared/src/deep-merge.js.map +1 -1
  241. package/out/shared/src/document-visible.js +63 -70
  242. package/out/shared/src/document-visible.js.map +1 -1
  243. package/out/shared/src/dotenv.js +7 -3
  244. package/out/shared/src/dotenv.js.map +1 -1
  245. package/out/shared/src/error.js +43 -64
  246. package/out/shared/src/error.js.map +1 -1
  247. package/out/shared/src/has-own.js +6 -5
  248. package/out/shared/src/has-own.js.map +1 -1
  249. package/out/shared/src/hash.js +15 -14
  250. package/out/shared/src/hash.js.map +1 -1
  251. package/out/shared/src/iterables.js +34 -47
  252. package/out/shared/src/iterables.js.map +1 -1
  253. package/out/shared/src/json-schema.js +25 -30
  254. package/out/shared/src/json-schema.js.map +1 -1
  255. package/out/shared/src/json.js +90 -129
  256. package/out/shared/src/json.js.map +1 -1
  257. package/out/shared/src/logging-test-utils.js +9 -11
  258. package/out/shared/src/logging-test-utils.js.map +1 -1
  259. package/out/shared/src/logging.js +75 -95
  260. package/out/shared/src/logging.js.map +1 -1
  261. package/out/shared/src/must.js +7 -8
  262. package/out/shared/src/must.js.map +1 -1
  263. package/out/shared/src/navigator.js +6 -5
  264. package/out/shared/src/navigator.js.map +1 -1
  265. package/out/shared/src/object-traversal.js +23 -23
  266. package/out/shared/src/object-traversal.js.map +1 -1
  267. package/out/shared/src/objects.js +15 -18
  268. package/out/shared/src/objects.js.map +1 -1
  269. package/out/shared/src/options.js +225 -302
  270. package/out/shared/src/options.js.map +1 -1
  271. package/out/shared/src/parse-big-int.js +12 -11
  272. package/out/shared/src/parse-big-int.js.map +1 -1
  273. package/out/shared/src/promise-race.js +21 -17
  274. package/out/shared/src/promise-race.js.map +1 -1
  275. package/out/shared/src/queue.js +124 -124
  276. package/out/shared/src/queue.js.map +1 -1
  277. package/out/shared/src/rand.js +13 -7
  278. package/out/shared/src/rand.js.map +1 -1
  279. package/out/shared/src/random-uint64.js +8 -7
  280. package/out/shared/src/random-uint64.js.map +1 -1
  281. package/out/shared/src/random-values.js +8 -11
  282. package/out/shared/src/random-values.js.map +1 -1
  283. package/out/shared/src/record-proxy.js +68 -57
  284. package/out/shared/src/record-proxy.js.map +1 -1
  285. package/out/shared/src/resolved-promises.js +9 -11
  286. package/out/shared/src/resolved-promises.js.map +1 -1
  287. package/out/shared/src/sentinels.js +9 -12
  288. package/out/shared/src/sentinels.js.map +1 -1
  289. package/out/shared/src/set-utils.js +41 -63
  290. package/out/shared/src/set-utils.js.map +1 -1
  291. package/out/shared/src/size-of-value.js +55 -51
  292. package/out/shared/src/size-of-value.js.map +1 -1
  293. package/out/shared/src/sleep.js +50 -45
  294. package/out/shared/src/sleep.js.map +1 -1
  295. package/out/shared/src/string-compare.js +8 -11
  296. package/out/shared/src/string-compare.js.map +1 -1
  297. package/out/shared/src/subscribable.js +34 -33
  298. package/out/shared/src/subscribable.js.map +1 -1
  299. package/out/shared/src/tdigest-schema.js +11 -7
  300. package/out/shared/src/tdigest-schema.js.map +1 -1
  301. package/out/shared/src/tdigest.js +197 -270
  302. package/out/shared/src/tdigest.js.map +1 -1
  303. package/out/shared/src/valita.js +145 -174
  304. package/out/shared/src/valita.js.map +1 -1
  305. package/out/z2s/src/compiler.d.ts.map +1 -1
  306. package/out/z2s/src/compiler.js +238 -468
  307. package/out/z2s/src/compiler.js.map +1 -1
  308. package/out/z2s/src/sql.d.ts +0 -1
  309. package/out/z2s/src/sql.d.ts.map +1 -1
  310. package/out/z2s/src/sql.js +149 -194
  311. package/out/z2s/src/sql.js.map +1 -1
  312. package/out/zero/package.js +193 -0
  313. package/out/zero/package.js.map +1 -0
  314. package/out/zero/src/adapters/drizzle.js +1 -6
  315. package/out/zero/src/adapters/pg.js +1 -6
  316. package/out/zero/src/adapters/postgresjs.js +1 -6
  317. package/out/zero/src/adapters/prisma.js +1 -5
  318. package/out/zero/src/analyze-query.js +1 -1
  319. package/out/zero/src/ast-to-zql.js +1 -1
  320. package/out/zero/src/bindings.js +6 -21
  321. package/out/zero/src/build-schema.js +5 -1
  322. package/out/zero/src/build-schema.js.map +1 -1
  323. package/out/zero/src/change-protocol/v0.js +3 -5
  324. package/out/zero/src/cli.js +2 -2
  325. package/out/zero/src/deploy-permissions.js +1 -1
  326. package/out/zero/src/expo-sqlite.js +2 -4
  327. package/out/zero/src/op-sqlite.js +2 -4
  328. package/out/zero/src/pg.js +2 -20
  329. package/out/zero/src/react-native.js +16 -12
  330. package/out/zero/src/react-native.js.map +1 -1
  331. package/out/zero/src/react.js +3 -12
  332. package/out/zero/src/server/runner/main.js +2 -0
  333. package/out/zero/src/server.js +2 -17
  334. package/out/zero/src/solid.js +3 -12
  335. package/out/zero/src/sqlite.js +2 -6
  336. package/out/zero/src/transform-query.js +1 -1
  337. package/out/zero/src/zero-cache-dev.js +124 -151
  338. package/out/zero/src/zero-cache-dev.js.map +1 -1
  339. package/out/zero/src/zero-out.js +9 -6
  340. package/out/zero/src/zero-out.js.map +1 -1
  341. package/out/zero/src/zero.js +6 -55
  342. package/out/zero/src/zqlite.js +2 -7
  343. package/out/zero-cache/src/auth/auth.js +138 -172
  344. package/out/zero-cache/src/auth/auth.js.map +1 -1
  345. package/out/zero-cache/src/auth/jwt.js +25 -33
  346. package/out/zero-cache/src/auth/jwt.js.map +1 -1
  347. package/out/zero-cache/src/auth/load-permissions.js +54 -62
  348. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  349. package/out/zero-cache/src/auth/read-authorizer.js +70 -80
  350. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  351. package/out/zero-cache/src/auth/write-authorizer.js +284 -432
  352. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  353. package/out/zero-cache/src/config/network.js +31 -45
  354. package/out/zero-cache/src/config/network.js.map +1 -1
  355. package/out/zero-cache/src/config/normalize.js +81 -83
  356. package/out/zero-cache/src/config/normalize.js.map +1 -1
  357. package/out/zero-cache/src/config/server-context.js +32 -29
  358. package/out/zero-cache/src/config/server-context.js.map +1 -1
  359. package/out/zero-cache/src/config/zero-config.d.ts +4 -0
  360. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  361. package/out/zero-cache/src/config/zero-config.js +753 -816
  362. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  363. package/out/zero-cache/src/custom/fetch.js +183 -230
  364. package/out/zero-cache/src/custom/fetch.js.map +1 -1
  365. package/out/zero-cache/src/custom-queries/transform-query.js +93 -99
  366. package/out/zero-cache/src/custom-queries/transform-query.js.map +1 -1
  367. package/out/zero-cache/src/db/create.js +27 -29
  368. package/out/zero-cache/src/db/create.js.map +1 -1
  369. package/out/zero-cache/src/db/delete-lite-db.js +11 -7
  370. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -1
  371. package/out/zero-cache/src/db/lite-tables.d.ts +2 -1
  372. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  373. package/out/zero-cache/src/db/lite-tables.js +120 -156
  374. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  375. package/out/zero-cache/src/db/migration-lite.js +110 -178
  376. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  377. package/out/zero-cache/src/db/migration.js +82 -151
  378. package/out/zero-cache/src/db/migration.js.map +1 -1
  379. package/out/zero-cache/src/db/mode-enum.js +8 -9
  380. package/out/zero-cache/src/db/mode-enum.js.map +1 -1
  381. package/out/zero-cache/src/db/pg-copy.js +56 -54
  382. package/out/zero-cache/src/db/pg-copy.js.map +1 -1
  383. package/out/zero-cache/src/db/pg-to-lite.js +74 -110
  384. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  385. package/out/zero-cache/src/db/pg-type-parser.js +19 -36
  386. package/out/zero-cache/src/db/pg-type-parser.js.map +1 -1
  387. package/out/zero-cache/src/db/run-transaction.js +19 -20
  388. package/out/zero-cache/src/db/run-transaction.js.map +1 -1
  389. package/out/zero-cache/src/db/specs.d.ts +8 -2
  390. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  391. package/out/zero-cache/src/db/specs.js +42 -78
  392. package/out/zero-cache/src/db/specs.js.map +1 -1
  393. package/out/zero-cache/src/db/statements.js +52 -59
  394. package/out/zero-cache/src/db/statements.js.map +1 -1
  395. package/out/zero-cache/src/db/transaction-pool.js +376 -400
  396. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  397. package/out/zero-cache/src/db/warmup.js +13 -24
  398. package/out/zero-cache/src/db/warmup.js.map +1 -1
  399. package/out/zero-cache/src/observability/events.js +89 -99
  400. package/out/zero-cache/src/observability/events.js.map +1 -1
  401. package/out/zero-cache/src/observability/metrics.js +30 -54
  402. package/out/zero-cache/src/observability/metrics.js.map +1 -1
  403. package/out/zero-cache/src/scripts/decommission.js +42 -47
  404. package/out/zero-cache/src/scripts/decommission.js.map +1 -1
  405. package/out/zero-cache/src/scripts/deploy-permissions.js +106 -144
  406. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  407. package/out/zero-cache/src/scripts/permissions.js +86 -107
  408. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  409. package/out/zero-cache/src/server/anonymous-otel-start.js +306 -440
  410. package/out/zero-cache/src/server/anonymous-otel-start.js.map +1 -1
  411. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  412. package/out/zero-cache/src/server/change-streamer.js +57 -128
  413. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  414. package/out/zero-cache/src/server/inspector-delegate.js +89 -100
  415. package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
  416. package/out/zero-cache/src/server/logging.js +18 -26
  417. package/out/zero-cache/src/server/logging.js.map +1 -1
  418. package/out/zero-cache/src/server/main.js +85 -142
  419. package/out/zero-cache/src/server/main.js.map +1 -1
  420. package/out/zero-cache/src/server/mutator.js +16 -13
  421. package/out/zero-cache/src/server/mutator.js.map +1 -1
  422. package/out/zero-cache/src/server/otel-diag-logger.js +42 -49
  423. package/out/zero-cache/src/server/otel-diag-logger.js.map +1 -1
  424. package/out/zero-cache/src/server/otel-log-sink.js +34 -44
  425. package/out/zero-cache/src/server/otel-log-sink.js.map +1 -1
  426. package/out/zero-cache/src/server/otel-start.js +43 -51
  427. package/out/zero-cache/src/server/otel-start.js.map +1 -1
  428. package/out/zero-cache/src/server/priority-op.js +27 -25
  429. package/out/zero-cache/src/server/priority-op.js.map +1 -1
  430. package/out/zero-cache/src/server/reaper.js +32 -43
  431. package/out/zero-cache/src/server/reaper.js.map +1 -1
  432. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  433. package/out/zero-cache/src/server/replicator.js +41 -57
  434. package/out/zero-cache/src/server/replicator.js.map +1 -1
  435. package/out/zero-cache/src/server/runner/main.js +7 -8
  436. package/out/zero-cache/src/server/runner/main.js.map +1 -1
  437. package/out/zero-cache/src/server/runner/run-worker.js +56 -52
  438. package/out/zero-cache/src/server/runner/run-worker.js.map +1 -1
  439. package/out/zero-cache/src/server/runner/runtime.js +26 -32
  440. package/out/zero-cache/src/server/runner/runtime.js.map +1 -1
  441. package/out/zero-cache/src/server/runner/zero-dispatcher.js +22 -27
  442. package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
  443. package/out/zero-cache/src/server/syncer.js +79 -148
  444. package/out/zero-cache/src/server/syncer.js.map +1 -1
  445. package/out/zero-cache/src/server/worker-dispatcher.js +84 -113
  446. package/out/zero-cache/src/server/worker-dispatcher.js.map +1 -1
  447. package/out/zero-cache/src/server/worker-urls.d.ts +2 -1
  448. package/out/zero-cache/src/server/worker-urls.d.ts.map +1 -1
  449. package/out/zero-cache/src/server/worker-urls.js +14 -18
  450. package/out/zero-cache/src/server/worker-urls.js.map +1 -1
  451. package/out/zero-cache/src/server/write-worker.js +2 -0
  452. package/out/zero-cache/src/services/analyze.js +61 -129
  453. package/out/zero-cache/src/services/analyze.js.map +1 -1
  454. package/out/zero-cache/src/services/change-source/common/backfill-manager.js +420 -419
  455. package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -1
  456. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js +111 -114
  457. package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -1
  458. package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts +2 -0
  459. package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts.map +1 -1
  460. package/out/zero-cache/src/services/change-source/common/replica-schema.js +100 -115
  461. package/out/zero-cache/src/services/change-source/common/replica-schema.js.map +1 -1
  462. package/out/zero-cache/src/services/change-source/custom/change-source.js +154 -216
  463. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  464. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.js +11 -14
  465. package/out/zero-cache/src/services/change-source/pg/backfill-metadata.js.map +1 -1
  466. package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts.map +1 -1
  467. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js +169 -209
  468. package/out/zero-cache/src/services/change-source/pg/backfill-stream.js.map +1 -1
  469. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  470. package/out/zero-cache/src/services/change-source/pg/change-source.js +676 -835
  471. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  472. package/out/zero-cache/src/services/change-source/pg/decommission.js +19 -23
  473. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
  474. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +258 -411
  475. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  476. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js +59 -65
  477. package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.js.map +1 -1
  478. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js +218 -247
  479. package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.js.map +1 -1
  480. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +100 -142
  481. package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js.map +1 -1
  482. package/out/zero-cache/src/services/change-source/pg/lsn.js +17 -19
  483. package/out/zero-cache/src/services/change-source/pg/lsn.js.map +1 -1
  484. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +88 -98
  485. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  486. package/out/zero-cache/src/services/change-source/pg/schema/init.js +96 -177
  487. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  488. package/out/zero-cache/src/services/change-source/pg/schema/published.js +69 -107
  489. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  490. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +151 -212
  491. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  492. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +22 -53
  493. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  494. package/out/zero-cache/src/services/change-source/protocol/current/control.js +24 -12
  495. package/out/zero-cache/src/services/change-source/protocol/current/control.js.map +1 -1
  496. package/out/zero-cache/src/services/change-source/protocol/current/data.js +180 -290
  497. package/out/zero-cache/src/services/change-source/protocol/current/data.js.map +1 -1
  498. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js +21 -33
  499. package/out/zero-cache/src/services/change-source/protocol/current/downstream.js.map +1 -1
  500. package/out/zero-cache/src/services/change-source/protocol/current/json.js +7 -18
  501. package/out/zero-cache/src/services/change-source/protocol/current/json.js.map +1 -1
  502. package/out/zero-cache/src/services/change-source/protocol/current/path.js +24 -5
  503. package/out/zero-cache/src/services/change-source/protocol/current/path.js.map +1 -1
  504. package/out/zero-cache/src/services/change-source/protocol/current/status.js +25 -19
  505. package/out/zero-cache/src/services/change-source/protocol/current/status.js.map +1 -1
  506. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js +24 -16
  507. package/out/zero-cache/src/services/change-source/protocol/current/upstream.js.map +1 -1
  508. package/out/zero-cache/src/services/change-source/protocol/current.js +51 -46
  509. package/out/zero-cache/src/services/change-source/protocol/current.js.map +1 -1
  510. package/out/zero-cache/src/services/change-source/protocol/mod.js +2 -0
  511. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +165 -171
  512. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  513. package/out/zero-cache/src/services/change-streamer/broadcast.d.ts +100 -0
  514. package/out/zero-cache/src/services/change-streamer/broadcast.d.ts.map +1 -0
  515. package/out/zero-cache/src/services/change-streamer/broadcast.js +165 -0
  516. package/out/zero-cache/src/services/change-streamer/broadcast.js.map +1 -0
  517. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +154 -221
  518. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  519. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  520. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  521. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +341 -293
  522. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  523. package/out/zero-cache/src/services/change-streamer/change-streamer.js +17 -24
  524. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  525. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +17 -1
  526. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  527. package/out/zero-cache/src/services/change-streamer/forwarder.js +85 -56
  528. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  529. package/out/zero-cache/src/services/change-streamer/replica-monitor.js +49 -43
  530. package/out/zero-cache/src/services/change-streamer/replica-monitor.js.map +1 -1
  531. package/out/zero-cache/src/services/change-streamer/schema/init.js +61 -89
  532. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  533. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +20 -1
  534. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  535. package/out/zero-cache/src/services/change-streamer/schema/tables.js +131 -109
  536. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  537. package/out/zero-cache/src/services/change-streamer/snapshot.js +26 -28
  538. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
  539. package/out/zero-cache/src/services/change-streamer/storer.js +434 -513
  540. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  541. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +18 -0
  542. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  543. package/out/zero-cache/src/services/change-streamer/subscriber.js +143 -100
  544. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  545. package/out/zero-cache/src/services/heapz.js +18 -20
  546. package/out/zero-cache/src/services/heapz.js.map +1 -1
  547. package/out/zero-cache/src/services/http-service.js +59 -57
  548. package/out/zero-cache/src/services/http-service.js.map +1 -1
  549. package/out/zero-cache/src/services/life-cycle.js +182 -214
  550. package/out/zero-cache/src/services/life-cycle.js.map +1 -1
  551. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +102 -81
  552. package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
  553. package/out/zero-cache/src/services/litestream/commands.js +144 -205
  554. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  555. package/out/zero-cache/src/services/mutagen/error.js +10 -14
  556. package/out/zero-cache/src/services/mutagen/error.js.map +1 -1
  557. package/out/zero-cache/src/services/mutagen/mutagen.js +166 -264
  558. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  559. package/out/zero-cache/src/services/mutagen/pusher.js +372 -487
  560. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  561. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  562. package/out/zero-cache/src/services/replicator/change-processor.js +483 -595
  563. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  564. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +4 -2
  565. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  566. package/out/zero-cache/src/services/replicator/incremental-sync.js +118 -143
  567. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  568. package/out/zero-cache/src/services/replicator/notifier.js +52 -28
  569. package/out/zero-cache/src/services/replicator/notifier.js.map +1 -1
  570. package/out/zero-cache/src/services/replicator/replication-status.js +105 -128
  571. package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
  572. package/out/zero-cache/src/services/replicator/replicator.d.ts +2 -1
  573. package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
  574. package/out/zero-cache/src/services/replicator/replicator.js +32 -34
  575. package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
  576. package/out/zero-cache/src/services/replicator/schema/change-log.js +101 -133
  577. package/out/zero-cache/src/services/replicator/schema/change-log.js.map +1 -1
  578. package/out/zero-cache/src/services/replicator/schema/column-metadata.js +145 -174
  579. package/out/zero-cache/src/services/replicator/schema/column-metadata.js.map +1 -1
  580. package/out/zero-cache/src/services/replicator/schema/constants.js +11 -5
  581. package/out/zero-cache/src/services/replicator/schema/constants.js.map +1 -1
  582. package/out/zero-cache/src/services/replicator/schema/replication-state.js +56 -107
  583. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  584. package/out/zero-cache/src/services/replicator/schema/table-metadata.d.ts +28 -7
  585. package/out/zero-cache/src/services/replicator/schema/table-metadata.d.ts.map +1 -1
  586. package/out/zero-cache/src/services/replicator/schema/table-metadata.js +96 -50
  587. package/out/zero-cache/src/services/replicator/schema/table-metadata.js.map +1 -1
  588. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +69 -0
  589. package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +1 -0
  590. package/out/zero-cache/src/services/replicator/write-worker-client.js +96 -0
  591. package/out/zero-cache/src/services/replicator/write-worker-client.js.map +1 -0
  592. package/out/zero-cache/src/services/replicator/write-worker.js +68 -0
  593. package/out/zero-cache/src/services/replicator/write-worker.js.map +1 -0
  594. package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
  595. package/out/zero-cache/src/services/run-ast.js +79 -118
  596. package/out/zero-cache/src/services/run-ast.js.map +1 -1
  597. package/out/zero-cache/src/services/runner.js +39 -41
  598. package/out/zero-cache/src/services/runner.js.map +1 -1
  599. package/out/zero-cache/src/services/running-state.js +129 -134
  600. package/out/zero-cache/src/services/running-state.js.map +1 -1
  601. package/out/zero-cache/src/services/statz.js +139 -200
  602. package/out/zero-cache/src/services/statz.js.map +1 -1
  603. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js +46 -49
  604. package/out/zero-cache/src/services/view-syncer/active-users-gauge.js.map +1 -1
  605. package/out/zero-cache/src/services/view-syncer/client-handler.js +257 -299
  606. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  607. package/out/zero-cache/src/services/view-syncer/client-schema.js +52 -82
  608. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
  609. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +85 -107
  610. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  611. package/out/zero-cache/src/services/view-syncer/cvr-store.js +604 -757
  612. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  613. package/out/zero-cache/src/services/view-syncer/cvr.js +631 -739
  614. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  615. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +60 -40
  616. package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
  617. package/out/zero-cache/src/services/view-syncer/inspect-handler.js +95 -178
  618. package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
  619. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +3 -2
  620. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  621. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +574 -709
  622. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  623. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  624. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +246 -257
  625. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  626. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +59 -45
  627. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  628. package/out/zero-cache/src/services/view-syncer/schema/init.js +121 -189
  629. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  630. package/out/zero-cache/src/services/view-syncer/schema/types.js +138 -263
  631. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  632. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +3 -3
  633. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  634. package/out/zero-cache/src/services/view-syncer/snapshotter.js +322 -331
  635. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  636. package/out/zero-cache/src/services/view-syncer/tracer.js +7 -6
  637. package/out/zero-cache/src/services/view-syncer/tracer.js.map +1 -1
  638. package/out/zero-cache/src/services/view-syncer/ttl-clock.js +9 -11
  639. package/out/zero-cache/src/services/view-syncer/ttl-clock.js.map +1 -1
  640. package/out/zero-cache/src/services/view-syncer/view-syncer.js +1067 -1603
  641. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  642. package/out/zero-cache/src/types/error-with-level.js +19 -25
  643. package/out/zero-cache/src/types/error-with-level.js.map +1 -1
  644. package/out/zero-cache/src/types/http.js +17 -26
  645. package/out/zero-cache/src/types/http.js.map +1 -1
  646. package/out/zero-cache/src/types/lexi-version.js +28 -42
  647. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  648. package/out/zero-cache/src/types/lite.js +101 -121
  649. package/out/zero-cache/src/types/lite.js.map +1 -1
  650. package/out/zero-cache/src/types/names.js +6 -5
  651. package/out/zero-cache/src/types/names.js.map +1 -1
  652. package/out/zero-cache/src/types/pg-data-type.d.ts +1 -0
  653. package/out/zero-cache/src/types/pg-data-type.d.ts.map +1 -1
  654. package/out/zero-cache/src/types/pg-data-type.js +58 -73
  655. package/out/zero-cache/src/types/pg-data-type.js.map +1 -1
  656. package/out/zero-cache/src/types/pg-types.js +12 -19
  657. package/out/zero-cache/src/types/pg-types.js.map +1 -1
  658. package/out/zero-cache/src/types/pg.js +144 -218
  659. package/out/zero-cache/src/types/pg.js.map +1 -1
  660. package/out/zero-cache/src/types/processes.js +95 -90
  661. package/out/zero-cache/src/types/processes.js.map +1 -1
  662. package/out/zero-cache/src/types/profiler.js +32 -27
  663. package/out/zero-cache/src/types/profiler.js.map +1 -1
  664. package/out/zero-cache/src/types/row-key.js +42 -30
  665. package/out/zero-cache/src/types/row-key.js.map +1 -1
  666. package/out/zero-cache/src/types/shards.js +36 -45
  667. package/out/zero-cache/src/types/shards.js.map +1 -1
  668. package/out/zero-cache/src/types/sql.js +20 -9
  669. package/out/zero-cache/src/types/sql.js.map +1 -1
  670. package/out/zero-cache/src/types/state-version.js +17 -23
  671. package/out/zero-cache/src/types/state-version.js.map +1 -1
  672. package/out/zero-cache/src/types/streams.js +234 -270
  673. package/out/zero-cache/src/types/streams.js.map +1 -1
  674. package/out/zero-cache/src/types/strings.js +10 -13
  675. package/out/zero-cache/src/types/strings.js.map +1 -1
  676. package/out/zero-cache/src/types/subscription.d.ts +3 -1
  677. package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
  678. package/out/zero-cache/src/types/subscription.js +266 -214
  679. package/out/zero-cache/src/types/subscription.js.map +1 -1
  680. package/out/zero-cache/src/types/url-params.js +30 -39
  681. package/out/zero-cache/src/types/url-params.js.map +1 -1
  682. package/out/zero-cache/src/types/websocket-handoff.js +62 -75
  683. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  684. package/out/zero-cache/src/types/ws.js +43 -53
  685. package/out/zero-cache/src/types/ws.js.map +1 -1
  686. package/out/zero-cache/src/workers/connect-params.js +42 -43
  687. package/out/zero-cache/src/workers/connect-params.js.map +1 -1
  688. package/out/zero-cache/src/workers/connection.js +213 -282
  689. package/out/zero-cache/src/workers/connection.js.map +1 -1
  690. package/out/zero-cache/src/workers/mutator.js +22 -21
  691. package/out/zero-cache/src/workers/mutator.js.map +1 -1
  692. package/out/zero-cache/src/workers/replicator.d.ts +7 -0
  693. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  694. package/out/zero-cache/src/workers/replicator.js +92 -97
  695. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  696. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +121 -203
  697. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  698. package/out/zero-cache/src/workers/syncer.js +147 -201
  699. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  700. package/out/zero-client/src/client/active-clients-manager.js +178 -187
  701. package/out/zero-client/src/client/active-clients-manager.js.map +1 -1
  702. package/out/zero-client/src/client/bindings.js +11 -0
  703. package/out/zero-client/src/client/client-error-kind-enum.js +18 -29
  704. package/out/zero-client/src/client/client-error-kind-enum.js.map +1 -1
  705. package/out/zero-client/src/client/connection-manager.js +291 -346
  706. package/out/zero-client/src/client/connection-manager.js.map +1 -1
  707. package/out/zero-client/src/client/connection-status-enum.js +20 -15
  708. package/out/zero-client/src/client/connection-status-enum.js.map +1 -1
  709. package/out/zero-client/src/client/connection.js +92 -110
  710. package/out/zero-client/src/client/connection.js.map +1 -1
  711. package/out/zero-client/src/client/context.js +84 -100
  712. package/out/zero-client/src/client/context.js.map +1 -1
  713. package/out/zero-client/src/client/crud-impl.js +56 -88
  714. package/out/zero-client/src/client/crud-impl.js.map +1 -1
  715. package/out/zero-client/src/client/crud.js +127 -129
  716. package/out/zero-client/src/client/crud.js.map +1 -1
  717. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  718. package/out/zero-client/src/client/custom.js +50 -74
  719. package/out/zero-client/src/client/custom.js.map +1 -1
  720. package/out/zero-client/src/client/delete-clients-manager.js +72 -93
  721. package/out/zero-client/src/client/delete-clients-manager.js.map +1 -1
  722. package/out/zero-client/src/client/enable-analytics.js +8 -16
  723. package/out/zero-client/src/client/enable-analytics.js.map +1 -1
  724. package/out/zero-client/src/client/error.js +118 -133
  725. package/out/zero-client/src/client/error.js.map +1 -1
  726. package/out/zero-client/src/client/http-string.js +7 -7
  727. package/out/zero-client/src/client/http-string.js.map +1 -1
  728. package/out/zero-client/src/client/inspector/client-group.js +21 -26
  729. package/out/zero-client/src/client/inspector/client-group.js.map +1 -1
  730. package/out/zero-client/src/client/inspector/client.js +23 -26
  731. package/out/zero-client/src/client/inspector/client.js.map +1 -1
  732. package/out/zero-client/src/client/inspector/html-dialog-prompt.js +72 -73
  733. package/out/zero-client/src/client/inspector/html-dialog-prompt.js.map +1 -1
  734. package/out/zero-client/src/client/inspector/inspector.js +46 -51
  735. package/out/zero-client/src/client/inspector/inspector.js.map +1 -1
  736. package/out/zero-client/src/client/inspector/lazy-inspector.js +132 -192
  737. package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -1
  738. package/out/zero-client/src/client/inspector/query.js +72 -77
  739. package/out/zero-client/src/client/inspector/query.js.map +1 -1
  740. package/out/zero-client/src/client/ivm-branch.js +118 -145
  741. package/out/zero-client/src/client/ivm-branch.js.map +1 -1
  742. package/out/zero-client/src/client/keys.js +15 -31
  743. package/out/zero-client/src/client/keys.js.map +1 -1
  744. package/out/zero-client/src/client/log-options.js +43 -57
  745. package/out/zero-client/src/client/log-options.js.map +1 -1
  746. package/out/zero-client/src/client/make-mutate-property.js +46 -29
  747. package/out/zero-client/src/client/make-mutate-property.js.map +1 -1
  748. package/out/zero-client/src/client/make-replicache-mutators.js +80 -96
  749. package/out/zero-client/src/client/make-replicache-mutators.js.map +1 -1
  750. package/out/zero-client/src/client/metric-name-enum.js +11 -15
  751. package/out/zero-client/src/client/metric-name-enum.js.map +1 -1
  752. package/out/zero-client/src/client/metrics.js +210 -237
  753. package/out/zero-client/src/client/metrics.js.map +1 -1
  754. package/out/zero-client/src/client/mutation-tracker.js +264 -354
  755. package/out/zero-client/src/client/mutation-tracker.js.map +1 -1
  756. package/out/zero-client/src/client/mutator-proxy.js +122 -151
  757. package/out/zero-client/src/client/mutator-proxy.js.map +1 -1
  758. package/out/zero-client/src/client/options.js +7 -10
  759. package/out/zero-client/src/client/options.js.map +1 -1
  760. package/out/zero-client/src/client/query-manager.js +305 -373
  761. package/out/zero-client/src/client/query-manager.js.map +1 -1
  762. package/out/zero-client/src/client/reload-error-handler.js +80 -101
  763. package/out/zero-client/src/client/reload-error-handler.js.map +1 -1
  764. package/out/zero-client/src/client/server-option.js +30 -59
  765. package/out/zero-client/src/client/server-option.js.map +1 -1
  766. package/out/zero-client/src/client/update-needed-reason-type-enum.js +27 -9
  767. package/out/zero-client/src/client/update-needed-reason-type-enum.js.map +1 -1
  768. package/out/zero-client/src/client/version.js +9 -5
  769. package/out/zero-client/src/client/version.js.map +1 -1
  770. package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
  771. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  772. package/out/zero-client/src/client/zero-poke-handler.js +205 -293
  773. package/out/zero-client/src/client/zero-poke-handler.js.map +1 -1
  774. package/out/zero-client/src/client/zero-rep.js +61 -68
  775. package/out/zero-client/src/client/zero-rep.js.map +1 -1
  776. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  777. package/out/zero-client/src/client/zero.js +1367 -1834
  778. package/out/zero-client/src/client/zero.js.map +1 -1
  779. package/out/zero-client/src/mod.js +21 -0
  780. package/out/zero-client/src/util/nanoid.js +13 -18
  781. package/out/zero-client/src/util/nanoid.js.map +1 -1
  782. package/out/zero-client/src/util/socket.js +6 -5
  783. package/out/zero-client/src/util/socket.js.map +1 -1
  784. package/out/zero-pg/src/mod.js +10 -0
  785. package/out/zero-protocol/src/analyze-query-result.js +108 -148
  786. package/out/zero-protocol/src/analyze-query-result.js.map +1 -1
  787. package/out/zero-protocol/src/application-error.js +36 -34
  788. package/out/zero-protocol/src/application-error.js.map +1 -1
  789. package/out/zero-protocol/src/ast.js +236 -309
  790. package/out/zero-protocol/src/ast.js.map +1 -1
  791. package/out/zero-protocol/src/change-desired-queries.js +8 -13
  792. package/out/zero-protocol/src/change-desired-queries.js.map +1 -1
  793. package/out/zero-protocol/src/client-schema.js +21 -42
  794. package/out/zero-protocol/src/client-schema.js.map +1 -1
  795. package/out/zero-protocol/src/close-connection.js +20 -12
  796. package/out/zero-protocol/src/close-connection.js.map +1 -1
  797. package/out/zero-protocol/src/connect.js +37 -52
  798. package/out/zero-protocol/src/connect.js.map +1 -1
  799. package/out/zero-protocol/src/custom-queries.js +34 -65
  800. package/out/zero-protocol/src/custom-queries.js.map +1 -1
  801. package/out/zero-protocol/src/data.js +6 -9
  802. package/out/zero-protocol/src/data.js.map +1 -1
  803. package/out/zero-protocol/src/delete-clients.js +11 -17
  804. package/out/zero-protocol/src/delete-clients.js.map +1 -1
  805. package/out/zero-protocol/src/down.js +11 -23
  806. package/out/zero-protocol/src/down.js.map +1 -1
  807. package/out/zero-protocol/src/error-kind-enum.js +24 -41
  808. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  809. package/out/zero-protocol/src/error-origin-enum.js +8 -9
  810. package/out/zero-protocol/src/error-origin-enum.js.map +1 -1
  811. package/out/zero-protocol/src/error-reason-enum.js +12 -17
  812. package/out/zero-protocol/src/error-reason-enum.js.map +1 -1
  813. package/out/zero-protocol/src/error.js +76 -152
  814. package/out/zero-protocol/src/error.js.map +1 -1
  815. package/out/zero-protocol/src/inspect-down.js +51 -74
  816. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  817. package/out/zero-protocol/src/inspect-up.js +28 -46
  818. package/out/zero-protocol/src/inspect-up.js.map +1 -1
  819. package/out/zero-protocol/src/mutation-id.js +9 -9
  820. package/out/zero-protocol/src/mutation-id.js.map +1 -1
  821. package/out/zero-protocol/src/mutation-type-enum.js +7 -7
  822. package/out/zero-protocol/src/mutation-type-enum.js.map +1 -1
  823. package/out/zero-protocol/src/mutations-patch.js +21 -16
  824. package/out/zero-protocol/src/mutations-patch.js.map +1 -1
  825. package/out/zero-protocol/src/ping.js +8 -9
  826. package/out/zero-protocol/src/ping.js.map +1 -1
  827. package/out/zero-protocol/src/poke.js +53 -59
  828. package/out/zero-protocol/src/poke.js.map +1 -1
  829. package/out/zero-protocol/src/pong.js +8 -9
  830. package/out/zero-protocol/src/pong.js.map +1 -1
  831. package/out/zero-protocol/src/primary-key.js +9 -19
  832. package/out/zero-protocol/src/primary-key.js.map +1 -1
  833. package/out/zero-protocol/src/protocol-version.js +5 -11
  834. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  835. package/out/zero-protocol/src/pull.js +16 -28
  836. package/out/zero-protocol/src/pull.js.map +1 -1
  837. package/out/zero-protocol/src/push.js +162 -209
  838. package/out/zero-protocol/src/push.js.map +1 -1
  839. package/out/zero-protocol/src/queries-patch.js +22 -30
  840. package/out/zero-protocol/src/queries-patch.js.map +1 -1
  841. package/out/zero-protocol/src/query-hash.js +14 -17
  842. package/out/zero-protocol/src/query-hash.js.map +1 -1
  843. package/out/zero-protocol/src/row-patch.js +23 -30
  844. package/out/zero-protocol/src/row-patch.js.map +1 -1
  845. package/out/zero-protocol/src/up.js +11 -22
  846. package/out/zero-protocol/src/up.js.map +1 -1
  847. package/out/zero-protocol/src/update-auth.js +8 -13
  848. package/out/zero-protocol/src/update-auth.js.map +1 -1
  849. package/out/zero-protocol/src/version.js +8 -9
  850. package/out/zero-protocol/src/version.js.map +1 -1
  851. package/out/zero-react/src/bindings.js +12 -0
  852. package/out/zero-react/src/mod.js +5 -0
  853. package/out/zero-react/src/use-connection-state.js +14 -11
  854. package/out/zero-react/src/use-connection-state.js.map +1 -1
  855. package/out/zero-react/src/use-query.js +283 -281
  856. package/out/zero-react/src/use-query.js.map +1 -1
  857. package/out/zero-react/src/use-zero-online.js +17 -11
  858. package/out/zero-react/src/use-zero-online.js.map +1 -1
  859. package/out/zero-react/src/zero-provider.js +53 -69
  860. package/out/zero-react/src/zero-provider.js.map +1 -1
  861. package/out/zero-react/src/zero.js +22 -0
  862. package/out/zero-schema/src/builder/relationship-builder.js +25 -21
  863. package/out/zero-schema/src/builder/relationship-builder.js.map +1 -1
  864. package/out/zero-schema/src/builder/schema-builder.js +51 -79
  865. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  866. package/out/zero-schema/src/builder/table-builder.js +99 -116
  867. package/out/zero-schema/src/builder/table-builder.js.map +1 -1
  868. package/out/zero-schema/src/compiled-permissions.js +21 -25
  869. package/out/zero-schema/src/compiled-permissions.js.map +1 -1
  870. package/out/zero-schema/src/name-mapper.js +31 -47
  871. package/out/zero-schema/src/name-mapper.js.map +1 -1
  872. package/out/zero-schema/src/permissions.js +94 -181
  873. package/out/zero-schema/src/permissions.js.map +1 -1
  874. package/out/zero-schema/src/schema-config.js +26 -32
  875. package/out/zero-schema/src/schema-config.js.map +1 -1
  876. package/out/zero-server/src/adapters/drizzle.d.ts.map +1 -1
  877. package/out/zero-server/src/adapters/drizzle.js +79 -76
  878. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  879. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  880. package/out/zero-server/src/adapters/pg.js +79 -55
  881. package/out/zero-server/src/adapters/pg.js.map +1 -1
  882. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  883. package/out/zero-server/src/adapters/postgresjs.js +66 -40
  884. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  885. package/out/zero-server/src/adapters/prisma.d.ts.map +1 -1
  886. package/out/zero-server/src/adapters/prisma.js +75 -55
  887. package/out/zero-server/src/adapters/prisma.js.map +1 -1
  888. package/out/zero-server/src/custom.d.ts.map +1 -1
  889. package/out/zero-server/src/custom.js +188 -265
  890. package/out/zero-server/src/custom.js.map +1 -1
  891. package/out/zero-server/src/logging.js +6 -5
  892. package/out/zero-server/src/logging.js.map +1 -1
  893. package/out/zero-server/src/mod.js +8 -0
  894. package/out/zero-server/src/pg-query-executor.js +14 -17
  895. package/out/zero-server/src/pg-query-executor.js.map +1 -1
  896. package/out/zero-server/src/process-mutations.js +293 -365
  897. package/out/zero-server/src/process-mutations.js.map +1 -1
  898. package/out/zero-server/src/push-processor.js +33 -49
  899. package/out/zero-server/src/push-processor.js.map +1 -1
  900. package/out/zero-server/src/queries/process-queries.js +106 -96
  901. package/out/zero-server/src/queries/process-queries.js.map +1 -1
  902. package/out/zero-server/src/schema.js +98 -144
  903. package/out/zero-server/src/schema.js.map +1 -1
  904. package/out/zero-server/src/zql-database.d.ts.map +1 -1
  905. package/out/zero-server/src/zql-database.js +54 -69
  906. package/out/zero-server/src/zql-database.js.map +1 -1
  907. package/out/zero-solid/src/bindings.js +12 -0
  908. package/out/zero-solid/src/mod.js +5 -0
  909. package/out/zero-solid/src/solid-view.js +135 -227
  910. package/out/zero-solid/src/solid-view.js.map +1 -1
  911. package/out/zero-solid/src/use-connection-state.js +18 -14
  912. package/out/zero-solid/src/use-connection-state.js.map +1 -1
  913. package/out/zero-solid/src/use-query.js +55 -100
  914. package/out/zero-solid/src/use-query.js.map +1 -1
  915. package/out/zero-solid/src/use-zero-online.js +18 -12
  916. package/out/zero-solid/src/use-zero-online.js.map +1 -1
  917. package/out/zero-solid/src/use-zero.js +65 -77
  918. package/out/zero-solid/src/use-zero.js.map +1 -1
  919. package/out/zero-solid/src/zero.js +22 -0
  920. package/out/zero-types/src/format.js +8 -7
  921. package/out/zero-types/src/format.js.map +1 -1
  922. package/out/zero-types/src/name-mapper.js +34 -47
  923. package/out/zero-types/src/name-mapper.js.map +1 -1
  924. package/out/zql/src/builder/builder.d.ts.map +1 -1
  925. package/out/zql/src/builder/builder.js +315 -476
  926. package/out/zql/src/builder/builder.js.map +1 -1
  927. package/out/zql/src/builder/debug-delegate.js +69 -74
  928. package/out/zql/src/builder/debug-delegate.js.map +1 -1
  929. package/out/zql/src/builder/filter.js +116 -140
  930. package/out/zql/src/builder/filter.js.map +1 -1
  931. package/out/zql/src/builder/like.js +41 -46
  932. package/out/zql/src/builder/like.js.map +1 -1
  933. package/out/zql/src/error.js +10 -9
  934. package/out/zql/src/error.js.map +1 -1
  935. package/out/zql/src/ivm/array-view.js +89 -91
  936. package/out/zql/src/ivm/array-view.js.map +1 -1
  937. package/out/zql/src/ivm/constraint.js +65 -74
  938. package/out/zql/src/ivm/constraint.js.map +1 -1
  939. package/out/zql/src/ivm/data.js +61 -48
  940. package/out/zql/src/ivm/data.js.map +1 -1
  941. package/out/zql/src/ivm/exists.js +164 -213
  942. package/out/zql/src/ivm/exists.js.map +1 -1
  943. package/out/zql/src/ivm/fan-in.js +62 -59
  944. package/out/zql/src/ivm/fan-in.js.map +1 -1
  945. package/out/zql/src/ivm/fan-out.js +52 -61
  946. package/out/zql/src/ivm/fan-out.js.map +1 -1
  947. package/out/zql/src/ivm/filter-operators.js +91 -96
  948. package/out/zql/src/ivm/filter-operators.js.map +1 -1
  949. package/out/zql/src/ivm/filter-push.js +22 -26
  950. package/out/zql/src/ivm/filter-push.js.map +1 -1
  951. package/out/zql/src/ivm/filter.js +41 -35
  952. package/out/zql/src/ivm/filter.js.map +1 -1
  953. package/out/zql/src/ivm/flipped-join.js +282 -391
  954. package/out/zql/src/ivm/flipped-join.js.map +1 -1
  955. package/out/zql/src/ivm/join-utils.js +85 -115
  956. package/out/zql/src/ivm/join-utils.js.map +1 -1
  957. package/out/zql/src/ivm/join.js +162 -231
  958. package/out/zql/src/ivm/join.js.map +1 -1
  959. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +21 -25
  960. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
  961. package/out/zql/src/ivm/memory-source.js +364 -503
  962. package/out/zql/src/ivm/memory-source.js.map +1 -1
  963. package/out/zql/src/ivm/memory-storage.js +33 -34
  964. package/out/zql/src/ivm/memory-storage.js.map +1 -1
  965. package/out/zql/src/ivm/operator.js +13 -15
  966. package/out/zql/src/ivm/operator.js.map +1 -1
  967. package/out/zql/src/ivm/push-accumulated.js +267 -270
  968. package/out/zql/src/ivm/push-accumulated.js.map +1 -1
  969. package/out/zql/src/ivm/skip.js +91 -104
  970. package/out/zql/src/ivm/skip.js.map +1 -1
  971. package/out/zql/src/ivm/stream.js +10 -10
  972. package/out/zql/src/ivm/stream.js.map +1 -1
  973. package/out/zql/src/ivm/take.js +422 -569
  974. package/out/zql/src/ivm/take.js.map +1 -1
  975. package/out/zql/src/ivm/union-fan-in.js +157 -231
  976. package/out/zql/src/ivm/union-fan-in.js.map +1 -1
  977. package/out/zql/src/ivm/union-fan-out.js +38 -43
  978. package/out/zql/src/ivm/union-fan-out.js.map +1 -1
  979. package/out/zql/src/ivm/view-apply-change.js +166 -255
  980. package/out/zql/src/ivm/view-apply-change.js.map +1 -1
  981. package/out/zql/src/mutate/crud.js +35 -34
  982. package/out/zql/src/mutate/crud.js.map +1 -1
  983. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  984. package/out/zql/src/mutate/custom.js +7 -11
  985. package/out/zql/src/mutate/custom.js.map +1 -1
  986. package/out/zql/src/mutate/mutator-registry.js +67 -71
  987. package/out/zql/src/mutate/mutator-registry.js.map +1 -1
  988. package/out/zql/src/mutate/mutator.js +26 -25
  989. package/out/zql/src/mutate/mutator.js.map +1 -1
  990. package/out/zql/src/planner/planner-builder.js +134 -239
  991. package/out/zql/src/planner/planner-builder.js.map +1 -1
  992. package/out/zql/src/planner/planner-connection.js +222 -212
  993. package/out/zql/src/planner/planner-connection.js.map +1 -1
  994. package/out/zql/src/planner/planner-constraint.js +15 -7
  995. package/out/zql/src/planner/planner-constraint.js.map +1 -1
  996. package/out/zql/src/planner/planner-debug.js +199 -224
  997. package/out/zql/src/planner/planner-debug.js.map +1 -1
  998. package/out/zql/src/planner/planner-fan-in.js +146 -162
  999. package/out/zql/src/planner/planner-fan-in.js.map +1 -1
  1000. package/out/zql/src/planner/planner-fan-out.js +62 -74
  1001. package/out/zql/src/planner/planner-fan-out.js.map +1 -1
  1002. package/out/zql/src/planner/planner-graph.js +302 -334
  1003. package/out/zql/src/planner/planner-graph.js.map +1 -1
  1004. package/out/zql/src/planner/planner-join.js +255 -240
  1005. package/out/zql/src/planner/planner-join.js.map +1 -1
  1006. package/out/zql/src/planner/planner-node.js +10 -6
  1007. package/out/zql/src/planner/planner-node.js.map +1 -1
  1008. package/out/zql/src/planner/planner-source.js +15 -22
  1009. package/out/zql/src/planner/planner-source.js.map +1 -1
  1010. package/out/zql/src/planner/planner-terminus.js +28 -28
  1011. package/out/zql/src/planner/planner-terminus.js.map +1 -1
  1012. package/out/zql/src/query/complete-ordering.js +37 -61
  1013. package/out/zql/src/query/complete-ordering.js.map +1 -1
  1014. package/out/zql/src/query/create-builder.js +14 -22
  1015. package/out/zql/src/query/create-builder.js.map +1 -1
  1016. package/out/zql/src/query/error.js +10 -12
  1017. package/out/zql/src/query/error.js.map +1 -1
  1018. package/out/zql/src/query/escape-like.js +6 -5
  1019. package/out/zql/src/query/escape-like.js.map +1 -1
  1020. package/out/zql/src/query/expression.js +138 -157
  1021. package/out/zql/src/query/expression.js.map +1 -1
  1022. package/out/zql/src/query/measure-push-operator.js +35 -38
  1023. package/out/zql/src/query/measure-push-operator.js.map +1 -1
  1024. package/out/zql/src/query/metrics-delegate.js +7 -7
  1025. package/out/zql/src/query/metrics-delegate.js.map +1 -1
  1026. package/out/zql/src/query/named.js +52 -51
  1027. package/out/zql/src/query/named.js.map +1 -1
  1028. package/out/zql/src/query/query-delegate-base.js +190 -238
  1029. package/out/zql/src/query/query-delegate-base.js.map +1 -1
  1030. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  1031. package/out/zql/src/query/query-impl.js +271 -405
  1032. package/out/zql/src/query/query-impl.js.map +1 -1
  1033. package/out/zql/src/query/query-internals.js +16 -8
  1034. package/out/zql/src/query/query-internals.js.map +1 -1
  1035. package/out/zql/src/query/query-registry.js +83 -98
  1036. package/out/zql/src/query/query-registry.js.map +1 -1
  1037. package/out/zql/src/query/query.d.ts.map +1 -1
  1038. package/out/zql/src/query/query.js +2 -0
  1039. package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -1
  1040. package/out/zql/src/query/runnable-query-impl.js +30 -55
  1041. package/out/zql/src/query/runnable-query-impl.js.map +1 -1
  1042. package/out/zql/src/query/static-query.js +7 -14
  1043. package/out/zql/src/query/static-query.js.map +1 -1
  1044. package/out/zql/src/query/ttl.js +45 -67
  1045. package/out/zql/src/query/ttl.js.map +1 -1
  1046. package/out/zql/src/query/validate-input.js +23 -20
  1047. package/out/zql/src/query/validate-input.js.map +1 -1
  1048. package/out/zqlite/src/database-storage.js +99 -103
  1049. package/out/zqlite/src/database-storage.js.map +1 -1
  1050. package/out/zqlite/src/db.js +206 -249
  1051. package/out/zqlite/src/db.js.map +1 -1
  1052. package/out/zqlite/src/explain-queries.js +11 -13
  1053. package/out/zqlite/src/explain-queries.js.map +1 -1
  1054. package/out/zqlite/src/internal/sql-inline.js +54 -37
  1055. package/out/zqlite/src/internal/sql-inline.js.map +1 -1
  1056. package/out/zqlite/src/internal/sql.js +17 -15
  1057. package/out/zqlite/src/internal/sql.js.map +1 -1
  1058. package/out/zqlite/src/internal/statement-cache.js +117 -92
  1059. package/out/zqlite/src/internal/statement-cache.js.map +1 -1
  1060. package/out/zqlite/src/mod.js +5 -0
  1061. package/out/zqlite/src/query-builder.js +81 -172
  1062. package/out/zqlite/src/query-builder.js.map +1 -1
  1063. package/out/zqlite/src/query-delegate.js +45 -55
  1064. package/out/zqlite/src/query-delegate.js.map +1 -1
  1065. package/out/zqlite/src/resolve-scalar-subqueries.js +134 -124
  1066. package/out/zqlite/src/resolve-scalar-subqueries.js.map +1 -1
  1067. package/out/zqlite/src/sqlite-cost-model.js +92 -97
  1068. package/out/zqlite/src/sqlite-cost-model.js.map +1 -1
  1069. package/out/zqlite/src/sqlite-stat-fanout.js +304 -286
  1070. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -1
  1071. package/out/zqlite/src/table-source.js +281 -455
  1072. package/out/zqlite/src/table-source.js.map +1 -1
  1073. package/package.json +8 -7
  1074. package/out/replicache/src/db/index-operation-enum.js +0 -7
  1075. package/out/replicache/src/db/index-operation-enum.js.map +0 -1
  1076. package/out/replicache/src/db/meta-type-enum.js +0 -7
  1077. package/out/replicache/src/db/meta-type-enum.js.map +0 -1
  1078. package/out/replicache/src/format-version-enum.js +0 -11
  1079. package/out/replicache/src/format-version-enum.js.map +0 -1
  1080. package/out/replicache/src/http-status-unauthorized.js +0 -5
  1081. package/out/replicache/src/http-status-unauthorized.js.map +0 -1
  1082. package/out/replicache/src/invoke-kind-enum.js +0 -7
  1083. package/out/replicache/src/invoke-kind-enum.js.map +0 -1
  1084. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -9
  1085. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
  1086. package/out/zero/package.json.js +0 -9
  1087. package/out/zero/package.json.js.map +0 -1
  1088. package/out/zero/src/adapters/drizzle.js.map +0 -1
  1089. package/out/zero/src/adapters/pg.js.map +0 -1
  1090. package/out/zero/src/adapters/postgresjs.js.map +0 -1
  1091. package/out/zero/src/adapters/prisma.js.map +0 -1
  1092. package/out/zero/src/analyze-query.js.map +0 -1
  1093. package/out/zero/src/ast-to-zql.js.map +0 -1
  1094. package/out/zero/src/bindings.js.map +0 -1
  1095. package/out/zero/src/change-protocol/v0.js.map +0 -1
  1096. package/out/zero/src/cli.js.map +0 -1
  1097. package/out/zero/src/deploy-permissions.js.map +0 -1
  1098. package/out/zero/src/expo-sqlite.js.map +0 -1
  1099. package/out/zero/src/op-sqlite.js.map +0 -1
  1100. package/out/zero/src/pg.js.map +0 -1
  1101. package/out/zero/src/react.js.map +0 -1
  1102. package/out/zero/src/server.js.map +0 -1
  1103. package/out/zero/src/solid.js.map +0 -1
  1104. package/out/zero/src/sqlite.js.map +0 -1
  1105. package/out/zero/src/transform-query.js.map +0 -1
  1106. package/out/zero/src/zero.js.map +0 -1
  1107. package/out/zero/src/zqlite.js.map +0 -1
  1108. package/out/zero-cache/src/db/postgres-replica-identity-enum.js +0 -11
  1109. package/out/zero-cache/src/db/postgres-replica-identity-enum.js.map +0 -1
  1110. package/out/zero-cache/src/db/postgres-type-class-enum.js +0 -17
  1111. package/out/zero-cache/src/db/postgres-type-class-enum.js.map +0 -1
  1112. package/out/zero-cache/src/services/change-streamer/error-type-enum.js +0 -9
  1113. package/out/zero-cache/src/services/change-streamer/error-type-enum.js.map +0 -1
@@ -1,59 +1,70 @@
1
- const missing = Symbol();
2
- class RecordProxyHandler {
3
- #toValue;
4
- #onMissing;
5
- #cache = /* @__PURE__ */ new Map();
6
- /**
7
- * @param toValue - Function to transform source values to destination values
8
- * @param onMissing - Optional function called when accessing a non-existent
9
- * property. Can throw an error if desired.
10
- */
11
- constructor(toValue, onMissing) {
12
- this.#toValue = toValue;
13
- this.#onMissing = onMissing;
14
- }
15
- #getOwnValue(target, prop) {
16
- const v = this.#cache.get(prop);
17
- if (v !== void 0) {
18
- return v;
19
- }
20
- if (Object.hasOwn(target, prop)) {
21
- const value = this.#toValue(target[prop], prop);
22
- this.#cache.set(prop, value);
23
- return value;
24
- }
25
- return missing;
26
- }
27
- get(target, prop) {
28
- if (typeof prop !== "string") {
29
- return void 0;
30
- }
31
- const ownValue = this.#getOwnValue(target, prop);
32
- if (ownValue !== missing) {
33
- return ownValue;
34
- }
35
- this.#onMissing?.(prop);
36
- return target[prop];
37
- }
38
- getOwnPropertyDescriptor(target, p) {
39
- if (typeof p !== "string") {
40
- return void 0;
41
- }
42
- const value = this.#getOwnValue(target, p);
43
- if (value === missing) {
44
- return void 0;
45
- }
46
- const desc = Reflect.getOwnPropertyDescriptor(target, p);
47
- return { ...desc, value };
48
- }
49
- }
1
+ //#region ../shared/src/record-proxy.ts
2
+ var missing = Symbol();
3
+ /**
4
+ * A proxy handler that lazily transforms and caches record values.
5
+ *
6
+ * When a property is accessed, the handler transforms the source value using
7
+ * the provided `toValue` function and caches the result. Subsequent accesses
8
+ * return the cached value without re-transforming.
9
+ *
10
+ * @template Source - The type of values in the source record
11
+ * @template Dest - The type of transformed values
12
+ */
13
+ var RecordProxyHandler = class {
14
+ #toValue;
15
+ #onMissing;
16
+ #cache = /* @__PURE__ */ new Map();
17
+ /**
18
+ * @param toValue - Function to transform source values to destination values
19
+ * @param onMissing - Optional function called when accessing a non-existent
20
+ * property. Can throw an error if desired.
21
+ */
22
+ constructor(toValue, onMissing) {
23
+ this.#toValue = toValue;
24
+ this.#onMissing = onMissing;
25
+ }
26
+ #getOwnValue(target, prop) {
27
+ const v = this.#cache.get(prop);
28
+ if (v !== void 0) return v;
29
+ if (Object.hasOwn(target, prop)) {
30
+ const value = this.#toValue(target[prop], prop);
31
+ this.#cache.set(prop, value);
32
+ return value;
33
+ }
34
+ return missing;
35
+ }
36
+ get(target, prop) {
37
+ if (typeof prop !== "string") return;
38
+ const ownValue = this.#getOwnValue(target, prop);
39
+ if (ownValue !== missing) return ownValue;
40
+ this.#onMissing?.(prop);
41
+ return target[prop];
42
+ }
43
+ getOwnPropertyDescriptor(target, p) {
44
+ if (typeof p !== "string") return;
45
+ const value = this.#getOwnValue(target, p);
46
+ if (value === missing) return;
47
+ return {
48
+ ...Reflect.getOwnPropertyDescriptor(target, p),
49
+ value
50
+ };
51
+ }
52
+ };
53
+ /**
54
+ * Creates a proxy that lazily transforms and caches record values.
55
+ *
56
+ * @template Source - The type of values in the source record
57
+ * @template Dest - The type of transformed values
58
+ * @param target - The source record to proxy
59
+ * @param toValue - Function to transform source values to destination values
60
+ * @param onMissing - Optional function called when accessing a non-existent
61
+ * property. Can throw an error if desired.
62
+ * @returns A proxy that presents transformed values
63
+ */
50
64
  function recordProxy(target, toValue, onMissing) {
51
- return new Proxy(
52
- target,
53
- new RecordProxyHandler(toValue, onMissing)
54
- );
65
+ return new Proxy(target, new RecordProxyHandler(toValue, onMissing));
55
66
  }
56
- export {
57
- recordProxy
58
- };
59
- //# sourceMappingURL=record-proxy.js.map
67
+ //#endregion
68
+ export { recordProxy };
69
+
70
+ //# sourceMappingURL=record-proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-proxy.js","sources":["../../../../shared/src/record-proxy.ts"],"sourcesContent":["const missing = Symbol();\n\n/**\n * A proxy handler that lazily transforms and caches record values.\n *\n * When a property is accessed, the handler transforms the source value using\n * the provided `toValue` function and caches the result. Subsequent accesses\n * return the cached value without re-transforming.\n *\n * @template Source - The type of values in the source record\n * @template Dest - The type of transformed values\n */\nclass RecordProxyHandler<Source, Dest>\n implements ProxyHandler<Record<string, Source>>\n{\n readonly #toValue: (source: Source, prop: string) => Dest;\n readonly #onMissing: ((prop: string) => void) | undefined;\n readonly #cache: Map<string, Dest | typeof missing> = new Map();\n\n /**\n * @param toValue - Function to transform source values to destination values\n * @param onMissing - Optional function called when accessing a non-existent\n * property. Can throw an error if desired.\n */\n constructor(\n toValue: (source: Source, prop: string) => Dest,\n onMissing?: (prop: string) => void,\n ) {\n this.#toValue = toValue;\n this.#onMissing = onMissing;\n }\n\n #getOwnValue(\n target: Record<string, Source>,\n prop: string,\n ): Dest | typeof missing {\n const v = this.#cache.get(prop);\n if (v !== undefined) {\n return v;\n }\n\n if (Object.hasOwn(target, prop)) {\n const value = this.#toValue(target[prop], prop);\n this.#cache.set(prop, value);\n return value;\n }\n return missing;\n }\n\n get(target: Record<string, Source>, prop: string | symbol) {\n if (typeof prop !== 'string') {\n return undefined;\n }\n // Only transform own properties; return inherited properties as-is\n const ownValue = this.#getOwnValue(target, prop);\n if (ownValue !== missing) {\n return ownValue;\n }\n this.#onMissing?.(prop);\n\n // Inherited property - return without transformation\n return target[prop];\n }\n\n getOwnPropertyDescriptor(\n target: Record<string, Source>,\n p: string | symbol,\n ): PropertyDescriptor | undefined {\n if (typeof p !== 'string') {\n return undefined;\n }\n\n const value = this.#getOwnValue(target, p);\n if (value === missing) {\n return undefined;\n }\n const desc = Reflect.getOwnPropertyDescriptor(target, p);\n return {...desc, value};\n }\n}\n\n/**\n * Creates a proxy that lazily transforms and caches record values.\n *\n * @template Source - The type of values in the source record\n * @template Dest - The type of transformed values\n * @param target - The source record to proxy\n * @param toValue - Function to transform source values to destination values\n * @param onMissing - Optional function called when accessing a non-existent\n * property. Can throw an error if desired.\n * @returns A proxy that presents transformed values\n */\nexport function recordProxy<Source, Dest>(\n target: Record<string, Source>,\n toValue: (source: Source, prop: string) => Dest,\n onMissing?: (prop: string) => void,\n): Record<string, Dest> {\n return new Proxy(\n target,\n new RecordProxyHandler(toValue, onMissing),\n ) as unknown as Record<string, Dest>;\n}\n"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAA;AAYhB,MAAM,mBAEN;AAAA,EACW;AAAA,EACA;AAAA,EACA,6BAAiD,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO1D,YACE,SACA,WACA;AACA,SAAK,WAAW;AAChB,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,aACE,QACA,MACuB;AACvB,UAAM,IAAI,KAAK,OAAO,IAAI,IAAI;AAC9B,QAAI,MAAM,QAAW;AACnB,aAAO;AAAA,IACT;AAEA,QAAI,OAAO,OAAO,QAAQ,IAAI,GAAG;AAC/B,YAAM,QAAQ,KAAK,SAAS,OAAO,IAAI,GAAG,IAAI;AAC9C,WAAK,OAAO,IAAI,MAAM,KAAK;AAC3B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,QAAgC,MAAuB;AACzD,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,IACT;AAEA,UAAM,WAAW,KAAK,aAAa,QAAQ,IAAI;AAC/C,QAAI,aAAa,SAAS;AACxB,aAAO;AAAA,IACT;AACA,SAAK,aAAa,IAAI;AAGtB,WAAO,OAAO,IAAI;AAAA,EACpB;AAAA,EAEA,yBACE,QACA,GACgC;AAChC,QAAI,OAAO,MAAM,UAAU;AACzB,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,KAAK,aAAa,QAAQ,CAAC;AACzC,QAAI,UAAU,SAAS;AACrB,aAAO;AAAA,IACT;AACA,UAAM,OAAO,QAAQ,yBAAyB,QAAQ,CAAC;AACvD,WAAO,EAAC,GAAG,MAAM,MAAA;AAAA,EACnB;AACF;AAaO,SAAS,YACd,QACA,SACA,WACsB;AACtB,SAAO,IAAI;AAAA,IACT;AAAA,IACA,IAAI,mBAAmB,SAAS,SAAS;AAAA,EAAA;AAE7C;"}
1
+ {"version":3,"file":"record-proxy.js","names":["#toValue","#onMissing","#cache","#getOwnValue"],"sources":["../../../../shared/src/record-proxy.ts"],"sourcesContent":["const missing = Symbol();\n\n/**\n * A proxy handler that lazily transforms and caches record values.\n *\n * When a property is accessed, the handler transforms the source value using\n * the provided `toValue` function and caches the result. Subsequent accesses\n * return the cached value without re-transforming.\n *\n * @template Source - The type of values in the source record\n * @template Dest - The type of transformed values\n */\nclass RecordProxyHandler<Source, Dest> implements ProxyHandler<\n Record<string, Source>\n> {\n readonly #toValue: (source: Source, prop: string) => Dest;\n readonly #onMissing: ((prop: string) => void) | undefined;\n readonly #cache: Map<string, Dest | typeof missing> = new Map();\n\n /**\n * @param toValue - Function to transform source values to destination values\n * @param onMissing - Optional function called when accessing a non-existent\n * property. Can throw an error if desired.\n */\n constructor(\n toValue: (source: Source, prop: string) => Dest,\n onMissing?: (prop: string) => void,\n ) {\n this.#toValue = toValue;\n this.#onMissing = onMissing;\n }\n\n #getOwnValue(\n target: Record<string, Source>,\n prop: string,\n ): Dest | typeof missing {\n const v = this.#cache.get(prop);\n if (v !== undefined) {\n return v;\n }\n\n if (Object.hasOwn(target, prop)) {\n const value = this.#toValue(target[prop], prop);\n this.#cache.set(prop, value);\n return value;\n }\n return missing;\n }\n\n get(target: Record<string, Source>, prop: string | symbol) {\n if (typeof prop !== 'string') {\n return undefined;\n }\n // Only transform own properties; return inherited properties as-is\n const ownValue = this.#getOwnValue(target, prop);\n if (ownValue !== missing) {\n return ownValue;\n }\n this.#onMissing?.(prop);\n\n // Inherited property - return without transformation\n return target[prop];\n }\n\n getOwnPropertyDescriptor(\n target: Record<string, Source>,\n p: string | symbol,\n ): PropertyDescriptor | undefined {\n if (typeof p !== 'string') {\n return undefined;\n }\n\n const value = this.#getOwnValue(target, p);\n if (value === missing) {\n return undefined;\n }\n const desc = Reflect.getOwnPropertyDescriptor(target, p);\n return {...desc, value};\n }\n}\n\n/**\n * Creates a proxy that lazily transforms and caches record values.\n *\n * @template Source - The type of values in the source record\n * @template Dest - The type of transformed values\n * @param target - The source record to proxy\n * @param toValue - Function to transform source values to destination values\n * @param onMissing - Optional function called when accessing a non-existent\n * property. Can throw an error if desired.\n * @returns A proxy that presents transformed values\n */\nexport function recordProxy<Source, Dest>(\n target: Record<string, Source>,\n toValue: (source: Source, prop: string) => Dest,\n onMissing?: (prop: string) => void,\n): Record<string, Dest> {\n return new Proxy(\n target,\n new RecordProxyHandler(toValue, onMissing),\n ) as unknown as Record<string, Dest>;\n}\n"],"mappings":";AAAA,IAAM,UAAU,QAAQ;;;;;;;;;;;AAYxB,IAAM,qBAAN,MAEE;CACA;CACA;CACA,yBAAsD,IAAI,KAAK;;;;;;CAO/D,YACE,SACA,WACA;AACA,QAAA,UAAgB;AAChB,QAAA,YAAkB;;CAGpB,aACE,QACA,MACuB;EACvB,MAAM,IAAI,MAAA,MAAY,IAAI,KAAK;AAC/B,MAAI,MAAM,KAAA,EACR,QAAO;AAGT,MAAI,OAAO,OAAO,QAAQ,KAAK,EAAE;GAC/B,MAAM,QAAQ,MAAA,QAAc,OAAO,OAAO,KAAK;AAC/C,SAAA,MAAY,IAAI,MAAM,MAAM;AAC5B,UAAO;;AAET,SAAO;;CAGT,IAAI,QAAgC,MAAuB;AACzD,MAAI,OAAO,SAAS,SAClB;EAGF,MAAM,WAAW,MAAA,YAAkB,QAAQ,KAAK;AAChD,MAAI,aAAa,QACf,QAAO;AAET,QAAA,YAAkB,KAAK;AAGvB,SAAO,OAAO;;CAGhB,yBACE,QACA,GACgC;AAChC,MAAI,OAAO,MAAM,SACf;EAGF,MAAM,QAAQ,MAAA,YAAkB,QAAQ,EAAE;AAC1C,MAAI,UAAU,QACZ;AAGF,SAAO;GAAC,GADK,QAAQ,yBAAyB,QAAQ,EAAE;GACvC;GAAM;;;;;;;;;;;;;;AAe3B,SAAgB,YACd,QACA,SACA,WACsB;AACtB,QAAO,IAAI,MACT,QACA,IAAI,mBAAmB,SAAS,UAAU,CAC3C"}
@@ -1,12 +1,10 @@
1
- const promiseTrue = Promise.resolve(true);
2
- const promiseFalse = Promise.resolve(false);
1
+ //#region ../shared/src/resolved-promises.ts
2
+ var promiseTrue = Promise.resolve(true);
3
+ var promiseFalse = Promise.resolve(false);
3
4
  Promise.resolve(void 0);
4
- const promiseVoid = Promise.resolve();
5
- new Promise(() => {
6
- });
7
- export {
8
- promiseFalse,
9
- promiseTrue,
10
- promiseVoid
11
- };
12
- //# sourceMappingURL=resolved-promises.js.map
5
+ var promiseVoid = Promise.resolve();
6
+ new Promise(() => {});
7
+ //#endregion
8
+ export { promiseFalse, promiseTrue, promiseVoid };
9
+
10
+ //# sourceMappingURL=resolved-promises.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-promises.js","sources":["../../../../shared/src/resolved-promises.ts"],"sourcesContent":["export const promiseTrue = Promise.resolve(true as const);\nexport const promiseFalse = Promise.resolve(false as const);\nexport const promiseUndefined = Promise.resolve(undefined);\nexport const promiseVoid = Promise.resolve();\n\n/**\n * A promise that never resolves.\n */\nexport const promiseNever = new Promise<never>(() => {});\n"],"names":[],"mappings":"AAAO,MAAM,cAAc,QAAQ,QAAQ,IAAa;AACjD,MAAM,eAAe,QAAQ,QAAQ,KAAc;AAC1B,QAAQ,QAAQ,MAAS;AAClD,MAAM,cAAc,QAAQ,QAAA;AAKP,IAAI,QAAe,MAAM;AAAC,CAAC;"}
1
+ {"version":3,"file":"resolved-promises.js","names":[],"sources":["../../../../shared/src/resolved-promises.ts"],"sourcesContent":["export const promiseTrue = Promise.resolve(true as const);\nexport const promiseFalse = Promise.resolve(false as const);\nexport const promiseUndefined = Promise.resolve(undefined);\nexport const promiseVoid = Promise.resolve();\n\n/**\n * A promise that never resolves.\n */\nexport const promiseNever = new Promise<never>(() => {});\n"],"mappings":";AAAA,IAAa,cAAc,QAAQ,QAAQ,KAAc;AACzD,IAAa,eAAe,QAAQ,QAAQ,MAAe;AAC3B,QAAQ,QAAQ,KAAA,EAAU;AAC1D,IAAa,cAAc,QAAQ,SAAS;AAKhB,IAAI,cAAqB,GAAG"}
@@ -1,14 +1,11 @@
1
- function emptyFunction() {
2
- }
3
- const emptyObject = Object.freeze({});
4
- const emptyArray = Object.freeze([]);
1
+ //#region ../shared/src/sentinels.ts
2
+ function emptyFunction() {}
3
+ var emptyObject = Object.freeze({});
4
+ var emptyArray = Object.freeze([]);
5
5
  function identity(x) {
6
- return x;
6
+ return x;
7
7
  }
8
- export {
9
- emptyArray,
10
- emptyFunction,
11
- emptyObject,
12
- identity
13
- };
14
- //# sourceMappingURL=sentinels.js.map
8
+ //#endregion
9
+ export { emptyArray, emptyFunction, emptyObject, identity };
10
+
11
+ //# sourceMappingURL=sentinels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentinels.js","sources":["../../../../shared/src/sentinels.ts"],"sourcesContent":["export function emptyFunction() {}\nexport const emptyObject = Object.freeze({});\nexport const emptyArray = Object.freeze([]);\nexport function identity<T>(x: T): T {\n return x;\n}\n"],"names":[],"mappings":"AAAO,SAAS,gBAAgB;AAAC;AAC1B,MAAM,cAAc,OAAO,OAAO,CAAA,CAAE;AACpC,MAAM,aAAa,OAAO,OAAO,CAAA,CAAE;AACnC,SAAS,SAAY,GAAS;AACnC,SAAO;AACT;"}
1
+ {"version":3,"file":"sentinels.js","names":[],"sources":["../../../../shared/src/sentinels.ts"],"sourcesContent":["export function emptyFunction() {}\nexport const emptyObject = Object.freeze({});\nexport const emptyArray = Object.freeze([]);\nexport function identity<T>(x: T): T {\n return x;\n}\n"],"mappings":";AAAA,SAAgB,gBAAgB;AAChC,IAAa,cAAc,OAAO,OAAO,EAAE,CAAC;AAC5C,IAAa,aAAa,OAAO,OAAO,EAAE,CAAC;AAC3C,SAAgB,SAAY,GAAS;AACnC,QAAO"}
@@ -1,73 +1,51 @@
1
+ //#region ../shared/src/set-utils.ts
1
2
  function equals(a, b) {
2
- if (a.size !== b.size) {
3
- return false;
4
- }
5
- const iterator = a.keys();
6
- for (let { done, value } = iterator.next(); !done; { done, value } = iterator.next()) {
7
- if (!b.has(value)) {
8
- return false;
9
- }
10
- }
11
- return true;
3
+ if (a.size !== b.size) return false;
4
+ const iterator = a.keys();
5
+ for (let { done, value } = iterator.next(); !done; {done, value} = iterator.next()) if (!b.has(value)) return false;
6
+ return true;
12
7
  }
13
8
  function union(...sets) {
14
- const result = /* @__PURE__ */ new Set();
15
- for (const set of sets) {
16
- const iterator = set.keys();
17
- for (let { done, value } = iterator.next(); !done; { done, value } = iterator.next()) {
18
- result.add(value);
19
- }
20
- }
21
- return result;
9
+ const result = /* @__PURE__ */ new Set();
10
+ for (const set of sets) {
11
+ const iterator = set.keys();
12
+ for (let { done, value } = iterator.next(); !done; {done, value} = iterator.next()) result.add(value);
13
+ }
14
+ return result;
22
15
  }
23
16
  function intersection(a, b) {
24
- const result = /* @__PURE__ */ new Set();
25
- if (a.size > b.size) {
26
- const swap = a;
27
- a = b;
28
- b = swap;
29
- }
30
- const iterator = a.keys();
31
- for (let { done, value } = iterator.next(); !done; { done, value } = iterator.next()) {
32
- if (b.has(value)) {
33
- result.add(value);
34
- }
35
- }
36
- return result;
17
+ const result = /* @__PURE__ */ new Set();
18
+ if (a.size > b.size) {
19
+ const swap = a;
20
+ a = b;
21
+ b = swap;
22
+ }
23
+ const iterator = a.keys();
24
+ for (let { done, value } = iterator.next(); !done; {done, value} = iterator.next()) if (b.has(value)) result.add(value);
25
+ return result;
37
26
  }
27
+ /**
28
+ * Returns the elements in {@linkcode a} that are not in {@linkcode b}.
29
+ */
38
30
  function difference(a, b) {
39
- const result = /* @__PURE__ */ new Set();
40
- const iterator = a.keys();
41
- for (let { done, value } = iterator.next(); !done; { done, value } = iterator.next()) {
42
- if (!b.has(value)) {
43
- result.add(value);
44
- }
45
- }
46
- return result;
31
+ const result = /* @__PURE__ */ new Set();
32
+ const iterator = a.keys();
33
+ for (let { done, value } = iterator.next(); !done; {done, value} = iterator.next()) if (!b.has(value)) result.add(value);
34
+ return result;
47
35
  }
48
36
  function symmetricDifferences(a, b) {
49
- const onlyA = /* @__PURE__ */ new Set();
50
- const iteratorA = a.keys();
51
- for (let { done, value } = iteratorA.next(); !done; { done, value } = iteratorA.next()) {
52
- onlyA.add(value);
53
- }
54
- const onlyB = /* @__PURE__ */ new Set();
55
- const iteratorB = b.keys();
56
- for (let { done, value } = iteratorB.next(); !done; { done, value } = iteratorB.next()) {
57
- if (a.has(value)) {
58
- onlyA.delete(value);
59
- onlyB.delete(value);
60
- } else {
61
- onlyB.add(value);
62
- }
63
- }
64
- return [onlyA, onlyB];
37
+ const onlyA = /* @__PURE__ */ new Set();
38
+ const iteratorA = a.keys();
39
+ for (let { done, value } = iteratorA.next(); !done; {done, value} = iteratorA.next()) onlyA.add(value);
40
+ const onlyB = /* @__PURE__ */ new Set();
41
+ const iteratorB = b.keys();
42
+ for (let { done, value } = iteratorB.next(); !done; {done, value} = iteratorB.next()) if (a.has(value)) {
43
+ onlyA.delete(value);
44
+ onlyB.delete(value);
45
+ } else onlyB.add(value);
46
+ return [onlyA, onlyB];
65
47
  }
66
- export {
67
- difference,
68
- equals,
69
- intersection,
70
- symmetricDifferences,
71
- union
72
- };
73
- //# sourceMappingURL=set-utils.js.map
48
+ //#endregion
49
+ export { difference, equals, intersection, symmetricDifferences, union };
50
+
51
+ //# sourceMappingURL=set-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-utils.js","sources":["../../../../shared/src/set-utils.ts"],"sourcesContent":["// TODO: Change lib to pick up this type definition\n\ninterface ReadonlySetLike<T> {\n /**\n * Despite its name, returns an iterator of the values in the set-like.\n */\n keys(): Iterator<T>;\n /**\n * @returns a boolean indicating whether an element with the specified value exists in the set-like or not.\n */\n has(value: T): boolean;\n /**\n * @returns the number of (unique) elements in the set-like.\n */\n readonly size: number;\n}\n\nexport function equals<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): boolean {\n if (a.size !== b.size) {\n return false;\n }\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (!b.has(value)) {\n return false;\n }\n }\n return true;\n}\n\nexport function union<T>(...sets: ReadonlySetLike<T>[]): Set<T> {\n const result = new Set<T>();\n for (const set of sets) {\n const iterator = set.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n result.add(value);\n }\n }\n return result;\n}\n\nexport function intersection<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): Set<T> {\n const result = new Set<T>();\n if (a.size > b.size) {\n // Optimization: iterate over the smaller Set.\n const swap = a;\n a = b;\n b = swap;\n }\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (b.has(value)) {\n result.add(value);\n }\n }\n return result;\n}\n\n/**\n * Returns the elements in {@linkcode a} that are not in {@linkcode b}.\n */\nexport function difference<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): Set<T> {\n const result = new Set<T>();\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (!b.has(value)) {\n result.add(value);\n }\n }\n return result;\n}\n\nexport function symmetricDifferences<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): [onlyA: Set<T>, onlyB: Set<T>] {\n const onlyA = new Set<T>();\n const iteratorA = a.keys();\n for (\n let {done, value} = iteratorA.next();\n !done;\n {done, value} = iteratorA.next()\n ) {\n onlyA.add(value);\n }\n\n const onlyB = new Set<T>();\n const iteratorB = b.keys();\n for (\n let {done, value} = iteratorB.next();\n !done;\n {done, value} = iteratorB.next()\n ) {\n if (a.has(value)) {\n onlyA.delete(value);\n onlyB.delete(value);\n } else {\n onlyB.add(value);\n }\n }\n return [onlyA, onlyB];\n}\n"],"names":[],"mappings":"AAiBO,SAAS,OACd,GACA,GACS;AACT,MAAI,EAAE,SAAS,EAAE,MAAM;AACrB,WAAO;AAAA,EACT;AACA,QAAM,WAAW,EAAE,KAAA;AACnB,WACM,EAAC,MAAM,MAAA,IAAS,SAAS,KAAA,GAC7B,CAAC,MACD,EAAC,MAAM,MAAA,IAAS,SAAS,QACzB;AACA,QAAI,CAAC,EAAE,IAAI,KAAK,GAAG;AACjB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,SAAY,MAAoC;AAC9D,QAAM,6BAAa,IAAA;AACnB,aAAW,OAAO,MAAM;AACtB,UAAM,WAAW,IAAI,KAAA;AACrB,aACM,EAAC,MAAM,MAAA,IAAS,SAAS,KAAA,GAC7B,CAAC,MACD,EAAC,MAAM,MAAA,IAAS,SAAS,QACzB;AACA,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,aACd,GACA,GACQ;AACR,QAAM,6BAAa,IAAA;AACnB,MAAI,EAAE,OAAO,EAAE,MAAM;AAEnB,UAAM,OAAO;AACb,QAAI;AACJ,QAAI;AAAA,EACN;AACA,QAAM,WAAW,EAAE,KAAA;AACnB,WACM,EAAC,MAAM,MAAA,IAAS,SAAS,KAAA,GAC7B,CAAC,MACD,EAAC,MAAM,MAAA,IAAS,SAAS,QACzB;AACA,QAAI,EAAE,IAAI,KAAK,GAAG;AAChB,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACA,SAAO;AACT;AAKO,SAAS,WACd,GACA,GACQ;AACR,QAAM,6BAAa,IAAA;AACnB,QAAM,WAAW,EAAE,KAAA;AACnB,WACM,EAAC,MAAM,MAAA,IAAS,SAAS,KAAA,GAC7B,CAAC,MACD,EAAC,MAAM,MAAA,IAAS,SAAS,QACzB;AACA,QAAI,CAAC,EAAE,IAAI,KAAK,GAAG;AACjB,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,qBACd,GACA,GACgC;AAChC,QAAM,4BAAY,IAAA;AAClB,QAAM,YAAY,EAAE,KAAA;AACpB,WACM,EAAC,MAAM,MAAA,IAAS,UAAU,KAAA,GAC9B,CAAC,MACD,EAAC,MAAM,MAAA,IAAS,UAAU,QAC1B;AACA,UAAM,IAAI,KAAK;AAAA,EACjB;AAEA,QAAM,4BAAY,IAAA;AAClB,QAAM,YAAY,EAAE,KAAA;AACpB,WACM,EAAC,MAAM,MAAA,IAAS,UAAU,KAAA,GAC9B,CAAC,MACD,EAAC,MAAM,MAAA,IAAS,UAAU,QAC1B;AACA,QAAI,EAAE,IAAI,KAAK,GAAG;AAChB,YAAM,OAAO,KAAK;AAClB,YAAM,OAAO,KAAK;AAAA,IACpB,OAAO;AACL,YAAM,IAAI,KAAK;AAAA,IACjB;AAAA,EACF;AACA,SAAO,CAAC,OAAO,KAAK;AACtB;"}
1
+ {"version":3,"file":"set-utils.js","names":[],"sources":["../../../../shared/src/set-utils.ts"],"sourcesContent":["// TODO: Change lib to pick up this type definition\n\ninterface ReadonlySetLike<T> {\n /**\n * Despite its name, returns an iterator of the values in the set-like.\n */\n keys(): Iterator<T>;\n /**\n * @returns a boolean indicating whether an element with the specified value exists in the set-like or not.\n */\n has(value: T): boolean;\n /**\n * @returns the number of (unique) elements in the set-like.\n */\n readonly size: number;\n}\n\nexport function equals<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): boolean {\n if (a.size !== b.size) {\n return false;\n }\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (!b.has(value)) {\n return false;\n }\n }\n return true;\n}\n\nexport function union<T>(...sets: ReadonlySetLike<T>[]): Set<T> {\n const result = new Set<T>();\n for (const set of sets) {\n const iterator = set.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n result.add(value);\n }\n }\n return result;\n}\n\nexport function intersection<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): Set<T> {\n const result = new Set<T>();\n if (a.size > b.size) {\n // Optimization: iterate over the smaller Set.\n const swap = a;\n a = b;\n b = swap;\n }\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (b.has(value)) {\n result.add(value);\n }\n }\n return result;\n}\n\n/**\n * Returns the elements in {@linkcode a} that are not in {@linkcode b}.\n */\nexport function difference<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): Set<T> {\n const result = new Set<T>();\n const iterator = a.keys();\n for (\n let {done, value} = iterator.next();\n !done;\n {done, value} = iterator.next()\n ) {\n if (!b.has(value)) {\n result.add(value);\n }\n }\n return result;\n}\n\nexport function symmetricDifferences<T>(\n a: ReadonlySetLike<T>,\n b: ReadonlySetLike<T>,\n): [onlyA: Set<T>, onlyB: Set<T>] {\n const onlyA = new Set<T>();\n const iteratorA = a.keys();\n for (\n let {done, value} = iteratorA.next();\n !done;\n {done, value} = iteratorA.next()\n ) {\n onlyA.add(value);\n }\n\n const onlyB = new Set<T>();\n const iteratorB = b.keys();\n for (\n let {done, value} = iteratorB.next();\n !done;\n {done, value} = iteratorB.next()\n ) {\n if (a.has(value)) {\n onlyA.delete(value);\n onlyB.delete(value);\n } else {\n onlyB.add(value);\n }\n }\n return [onlyA, onlyB];\n}\n"],"mappings":";AAiBA,SAAgB,OACd,GACA,GACS;AACT,KAAI,EAAE,SAAS,EAAE,KACf,QAAO;CAET,MAAM,WAAW,EAAE,MAAM;AACzB,MACE,IAAI,EAAC,MAAM,UAAS,SAAS,MAAM,EACnC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,MAAM,CAE/B,KAAI,CAAC,EAAE,IAAI,MAAM,CACf,QAAO;AAGX,QAAO;;AAGT,SAAgB,MAAS,GAAG,MAAoC;CAC9D,MAAM,yBAAS,IAAI,KAAQ;AAC3B,MAAK,MAAM,OAAO,MAAM;EACtB,MAAM,WAAW,IAAI,MAAM;AAC3B,OACE,IAAI,EAAC,MAAM,UAAS,SAAS,MAAM,EACnC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,MAAM,CAE/B,QAAO,IAAI,MAAM;;AAGrB,QAAO;;AAGT,SAAgB,aACd,GACA,GACQ;CACR,MAAM,yBAAS,IAAI,KAAQ;AAC3B,KAAI,EAAE,OAAO,EAAE,MAAM;EAEnB,MAAM,OAAO;AACb,MAAI;AACJ,MAAI;;CAEN,MAAM,WAAW,EAAE,MAAM;AACzB,MACE,IAAI,EAAC,MAAM,UAAS,SAAS,MAAM,EACnC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,MAAM,CAE/B,KAAI,EAAE,IAAI,MAAM,CACd,QAAO,IAAI,MAAM;AAGrB,QAAO;;;;;AAMT,SAAgB,WACd,GACA,GACQ;CACR,MAAM,yBAAS,IAAI,KAAQ;CAC3B,MAAM,WAAW,EAAE,MAAM;AACzB,MACE,IAAI,EAAC,MAAM,UAAS,SAAS,MAAM,EACnC,CAAC,MACD,CAAC,MAAM,SAAS,SAAS,MAAM,CAE/B,KAAI,CAAC,EAAE,IAAI,MAAM,CACf,QAAO,IAAI,MAAM;AAGrB,QAAO;;AAGT,SAAgB,qBACd,GACA,GACgC;CAChC,MAAM,wBAAQ,IAAI,KAAQ;CAC1B,MAAM,YAAY,EAAE,MAAM;AAC1B,MACE,IAAI,EAAC,MAAM,UAAS,UAAU,MAAM,EACpC,CAAC,MACD,CAAC,MAAM,SAAS,UAAU,MAAM,CAEhC,OAAM,IAAI,MAAM;CAGlB,MAAM,wBAAQ,IAAI,KAAQ;CAC1B,MAAM,YAAY,EAAE,MAAM;AAC1B,MACE,IAAI,EAAC,MAAM,UAAS,UAAU,MAAM,EACpC,CAAC,MACD,CAAC,MAAM,SAAS,UAAU,MAAM,CAEhC,KAAI,EAAE,IAAI,MAAM,EAAE;AAChB,QAAM,OAAO,MAAM;AACnB,QAAM,OAAO,MAAM;OAEnB,OAAM,IAAI,MAAM;AAGpB,QAAO,CAAC,OAAO,MAAM"}
@@ -1,58 +1,62 @@
1
1
  import { hasOwn } from "./has-own.js";
2
- const SIZE_TAG = 1;
3
- const SIZE_INT32 = 4;
4
- const SIZE_SMI = 5;
5
- const SIZE_DOUBLE = 8;
2
+ //#region ../shared/src/size-of-value.ts
3
+ var SIZE_TAG = 1;
4
+ var SIZE_INT32 = 4;
5
+ var SIZE_SMI = 5;
6
+ var SIZE_DOUBLE = 8;
7
+ /**
8
+ * Gives a size of a value. The size is modelled after the size used by
9
+ * Chromium/V8's structuredClone algorithm. It does not match exactly so the
10
+ * size is just an approximation.
11
+ * https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/value-serializer.cc;l=102;drc=f0b6f7d12ea47ad7c08fb554f678c1e73801ca36;bpv=1;bpt=1
12
+ * For example we follow JSC/Mozilla for ints and skip the varint encoding.
13
+ *
14
+ * Mozilla does things similarly. Main difference is that there is no varint
15
+ * encoding and every value uses multiples of 64bits
16
+ * https://searchfox.org/mozilla-central/source/js/src/vm/StructuredClone.cpp#94
17
+ *
18
+ * And JSC:
19
+ * https://github.com/WebKit/WebKit/blob/main/Source/WebCore/bindings/js/SerializedScriptValue.cpp#L356
20
+ * - Use 1 byte tag
21
+ * - Numbers are either stored as Int32 or Float64
22
+ */
6
23
  function getSizeOfValue(value) {
7
- switch (typeof value) {
8
- case "string":
9
- return SIZE_TAG + SIZE_INT32 + value.length;
10
- case "number":
11
- if (isSmi(value)) {
12
- if (value <= -1073741824 || value >= 2 ** 30 - 1) {
13
- return SIZE_TAG + SIZE_SMI;
14
- }
15
- return SIZE_TAG + SIZE_INT32;
16
- }
17
- return SIZE_TAG + SIZE_DOUBLE;
18
- case "boolean":
19
- return SIZE_TAG;
20
- case "object":
21
- if (value === null) {
22
- return SIZE_TAG;
23
- }
24
- if (Array.isArray(value)) {
25
- let sum = 2 * SIZE_TAG + SIZE_INT32;
26
- for (const element of value) {
27
- sum += getSizeOfValue(element);
28
- }
29
- return sum;
30
- }
31
- {
32
- const val = value;
33
- let sum = 2 * SIZE_TAG + SIZE_INT32;
34
- for (const k in val) {
35
- if (hasOwn(val, k)) {
36
- const propertyValue = val[k];
37
- if (propertyValue !== void 0) {
38
- sum += getSizeOfValue(k) + getSizeOfValue(propertyValue);
39
- }
40
- }
41
- }
42
- return sum;
43
- }
44
- }
45
- throw new Error(`Invalid value. type: ${typeof value}, value: ${value}`);
24
+ switch (typeof value) {
25
+ case "string": return SIZE_TAG + SIZE_INT32 + value.length;
26
+ case "number":
27
+ if (isSmi(value)) {
28
+ if (value <= -(2 ** 30) || value >= 2 ** 30 - 1) return SIZE_TAG + SIZE_SMI;
29
+ return SIZE_TAG + SIZE_INT32;
30
+ }
31
+ return SIZE_TAG + SIZE_DOUBLE;
32
+ case "boolean": return SIZE_TAG;
33
+ case "object":
34
+ if (value === null) return SIZE_TAG;
35
+ if (Array.isArray(value)) {
36
+ let sum = 2 * SIZE_TAG + SIZE_INT32;
37
+ for (const element of value) sum += getSizeOfValue(element);
38
+ return sum;
39
+ }
40
+ {
41
+ const val = value;
42
+ let sum = 2 * SIZE_TAG + SIZE_INT32;
43
+ for (const k in val) if (hasOwn(val, k)) {
44
+ const propertyValue = val[k];
45
+ if (propertyValue !== void 0) sum += getSizeOfValue(k) + getSizeOfValue(propertyValue);
46
+ }
47
+ return sum;
48
+ }
49
+ }
50
+ throw new Error(`Invalid value. type: ${typeof value}, value: ${value}`);
46
51
  }
47
52
  function isSmi(value) {
48
- return value === (value | 0);
53
+ return value === (value | 0);
49
54
  }
50
- const entryFixed = 2 * SIZE_TAG + SIZE_INT32 + SIZE_TAG + SIZE_INT32;
55
+ var entryFixed = 2 * SIZE_TAG + SIZE_INT32 + SIZE_TAG + SIZE_INT32;
51
56
  function getSizeOfEntry(key, value) {
52
- return entryFixed + getSizeOfValue(key) + getSizeOfValue(value);
57
+ return entryFixed + getSizeOfValue(key) + getSizeOfValue(value);
53
58
  }
54
- export {
55
- getSizeOfEntry,
56
- getSizeOfValue
57
- };
58
- //# sourceMappingURL=size-of-value.js.map
59
+ //#endregion
60
+ export { getSizeOfEntry, getSizeOfValue };
61
+
62
+ //# sourceMappingURL=size-of-value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"size-of-value.js","sources":["../../../../shared/src/size-of-value.ts"],"sourcesContent":["import {hasOwn} from './has-own.ts';\nimport type {ReadonlyJSONObject} from './json.ts';\n\nconst SIZE_TAG = 1;\nconst SIZE_INT32 = 4;\nconst SIZE_SMI = 5;\nconst SIZE_DOUBLE = 8;\n\n/**\n * Gives a size of a value. The size is modelled after the size used by\n * Chromium/V8's structuredClone algorithm. It does not match exactly so the\n * size is just an approximation.\n * https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/value-serializer.cc;l=102;drc=f0b6f7d12ea47ad7c08fb554f678c1e73801ca36;bpv=1;bpt=1\n * For example we follow JSC/Mozilla for ints and skip the varint encoding.\n *\n * Mozilla does things similarly. Main difference is that there is no varint\n * encoding and every value uses multiples of 64bits\n * https://searchfox.org/mozilla-central/source/js/src/vm/StructuredClone.cpp#94\n *\n * And JSC:\n * https://github.com/WebKit/WebKit/blob/main/Source/WebCore/bindings/js/SerializedScriptValue.cpp#L356\n * - Use 1 byte tag\n * - Numbers are either stored as Int32 or Float64\n */\nexport function getSizeOfValue(value: unknown): number {\n switch (typeof value) {\n case 'string':\n // Assumes all strings are one byte strings. V8 writes OneByteString and\n // TwoByteString. We could check the string but it would require iterating\n // over all the characters.\n return SIZE_TAG + SIZE_INT32 + value.length;\n case 'number':\n if (isSmi(value)) {\n if (value <= -(2 ** 30) || value >= 2 ** 30 - 1) {\n return SIZE_TAG + SIZE_SMI;\n }\n return SIZE_TAG + SIZE_INT32;\n }\n return SIZE_TAG + SIZE_DOUBLE;\n case 'boolean':\n return SIZE_TAG;\n case 'object':\n if (value === null) {\n return SIZE_TAG;\n }\n\n if (Array.isArray(value)) {\n let sum = 2 * SIZE_TAG + SIZE_INT32;\n for (const element of value) {\n sum += getSizeOfValue(element);\n }\n return sum;\n }\n\n {\n const val = value as ReadonlyJSONObject;\n let sum: number = 2 * SIZE_TAG + SIZE_INT32;\n for (const k in val) {\n if (hasOwn(val, k)) {\n // Skip undefined values. undefined values in an object gets\n // stripped if we round trip through JSON.stringif which is what we\n // use when syncing.\n const propertyValue = val[k];\n if (propertyValue !== undefined) {\n sum += getSizeOfValue(k) + getSizeOfValue(propertyValue);\n }\n }\n }\n return sum;\n }\n }\n\n throw new Error(`Invalid value. type: ${typeof value}, value: ${value}`);\n}\n\nfunction isSmi(value: number): boolean {\n return value === (value | 0);\n}\n\nconst entryFixed = 2 * SIZE_TAG + SIZE_INT32 + SIZE_TAG + SIZE_INT32;\n\nexport function getSizeOfEntry<K, V>(key: K, value: V): number {\n // Entries are stored as [key, value, sizeOfEntry]\n return entryFixed + getSizeOfValue(key) + getSizeOfValue(value);\n}\n"],"names":[],"mappings":";AAGA,MAAM,WAAW;AACjB,MAAM,aAAa;AACnB,MAAM,WAAW;AACjB,MAAM,cAAc;AAkBb,SAAS,eAAe,OAAwB;AACrD,UAAQ,OAAO,OAAA;AAAA,IACb,KAAK;AAIH,aAAO,WAAW,aAAa,MAAM;AAAA,IACvC,KAAK;AACH,UAAI,MAAM,KAAK,GAAG;AAChB,YAAI,SAAS,eAAc,SAAS,KAAK,KAAK,GAAG;AAC/C,iBAAO,WAAW;AAAA,QACpB;AACA,eAAO,WAAW;AAAA,MACpB;AACA,aAAO,WAAW;AAAA,IACpB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,UAAI,UAAU,MAAM;AAClB,eAAO;AAAA,MACT;AAEA,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAI,MAAM,IAAI,WAAW;AACzB,mBAAW,WAAW,OAAO;AAC3B,iBAAO,eAAe,OAAO;AAAA,QAC/B;AACA,eAAO;AAAA,MACT;AAEA;AACE,cAAM,MAAM;AACZ,YAAI,MAAc,IAAI,WAAW;AACjC,mBAAW,KAAK,KAAK;AACnB,cAAI,OAAO,KAAK,CAAC,GAAG;AAIlB,kBAAM,gBAAgB,IAAI,CAAC;AAC3B,gBAAI,kBAAkB,QAAW;AAC/B,qBAAO,eAAe,CAAC,IAAI,eAAe,aAAa;AAAA,YACzD;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,EAAA;AAGJ,QAAM,IAAI,MAAM,wBAAwB,OAAO,KAAK,YAAY,KAAK,EAAE;AACzE;AAEA,SAAS,MAAM,OAAwB;AACrC,SAAO,WAAW,QAAQ;AAC5B;AAEA,MAAM,aAAa,IAAI,WAAW,aAAa,WAAW;AAEnD,SAAS,eAAqB,KAAQ,OAAkB;AAE7D,SAAO,aAAa,eAAe,GAAG,IAAI,eAAe,KAAK;AAChE;"}
1
+ {"version":3,"file":"size-of-value.js","names":[],"sources":["../../../../shared/src/size-of-value.ts"],"sourcesContent":["import {hasOwn} from './has-own.ts';\nimport type {ReadonlyJSONObject} from './json.ts';\n\nconst SIZE_TAG = 1;\nconst SIZE_INT32 = 4;\nconst SIZE_SMI = 5;\nconst SIZE_DOUBLE = 8;\n\n/**\n * Gives a size of a value. The size is modelled after the size used by\n * Chromium/V8's structuredClone algorithm. It does not match exactly so the\n * size is just an approximation.\n * https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/value-serializer.cc;l=102;drc=f0b6f7d12ea47ad7c08fb554f678c1e73801ca36;bpv=1;bpt=1\n * For example we follow JSC/Mozilla for ints and skip the varint encoding.\n *\n * Mozilla does things similarly. Main difference is that there is no varint\n * encoding and every value uses multiples of 64bits\n * https://searchfox.org/mozilla-central/source/js/src/vm/StructuredClone.cpp#94\n *\n * And JSC:\n * https://github.com/WebKit/WebKit/blob/main/Source/WebCore/bindings/js/SerializedScriptValue.cpp#L356\n * - Use 1 byte tag\n * - Numbers are either stored as Int32 or Float64\n */\nexport function getSizeOfValue(value: unknown): number {\n switch (typeof value) {\n case 'string':\n // Assumes all strings are one byte strings. V8 writes OneByteString and\n // TwoByteString. We could check the string but it would require iterating\n // over all the characters.\n return SIZE_TAG + SIZE_INT32 + value.length;\n case 'number':\n if (isSmi(value)) {\n if (value <= -(2 ** 30) || value >= 2 ** 30 - 1) {\n return SIZE_TAG + SIZE_SMI;\n }\n return SIZE_TAG + SIZE_INT32;\n }\n return SIZE_TAG + SIZE_DOUBLE;\n case 'boolean':\n return SIZE_TAG;\n case 'object':\n if (value === null) {\n return SIZE_TAG;\n }\n\n if (Array.isArray(value)) {\n let sum = 2 * SIZE_TAG + SIZE_INT32;\n for (const element of value) {\n sum += getSizeOfValue(element);\n }\n return sum;\n }\n\n {\n const val = value as ReadonlyJSONObject;\n let sum: number = 2 * SIZE_TAG + SIZE_INT32;\n for (const k in val) {\n if (hasOwn(val, k)) {\n // Skip undefined values. undefined values in an object gets\n // stripped if we round trip through JSON.stringif which is what we\n // use when syncing.\n const propertyValue = val[k];\n if (propertyValue !== undefined) {\n sum += getSizeOfValue(k) + getSizeOfValue(propertyValue);\n }\n }\n }\n return sum;\n }\n }\n\n throw new Error(`Invalid value. type: ${typeof value}, value: ${value}`);\n}\n\nfunction isSmi(value: number): boolean {\n return value === (value | 0);\n}\n\nconst entryFixed = 2 * SIZE_TAG + SIZE_INT32 + SIZE_TAG + SIZE_INT32;\n\nexport function getSizeOfEntry<K, V>(key: K, value: V): number {\n // Entries are stored as [key, value, sizeOfEntry]\n return entryFixed + getSizeOfValue(key) + getSizeOfValue(value);\n}\n"],"mappings":";;AAGA,IAAM,WAAW;AACjB,IAAM,aAAa;AACnB,IAAM,WAAW;AACjB,IAAM,cAAc;;;;;;;;;;;;;;;;;AAkBpB,SAAgB,eAAe,OAAwB;AACrD,SAAQ,OAAO,OAAf;EACE,KAAK,SAIH,QAAO,WAAW,aAAa,MAAM;EACvC,KAAK;AACH,OAAI,MAAM,MAAM,EAAE;AAChB,QAAI,SAAS,EAAE,KAAK,OAAO,SAAS,KAAK,KAAK,EAC5C,QAAO,WAAW;AAEpB,WAAO,WAAW;;AAEpB,UAAO,WAAW;EACpB,KAAK,UACH,QAAO;EACT,KAAK;AACH,OAAI,UAAU,KACZ,QAAO;AAGT,OAAI,MAAM,QAAQ,MAAM,EAAE;IACxB,IAAI,MAAM,IAAI,WAAW;AACzB,SAAK,MAAM,WAAW,MACpB,QAAO,eAAe,QAAQ;AAEhC,WAAO;;GAGT;IACE,MAAM,MAAM;IACZ,IAAI,MAAc,IAAI,WAAW;AACjC,SAAK,MAAM,KAAK,IACd,KAAI,OAAO,KAAK,EAAE,EAAE;KAIlB,MAAM,gBAAgB,IAAI;AAC1B,SAAI,kBAAkB,KAAA,EACpB,QAAO,eAAe,EAAE,GAAG,eAAe,cAAc;;AAI9D,WAAO;;;AAIb,OAAM,IAAI,MAAM,wBAAwB,OAAO,MAAM,WAAW,QAAQ;;AAG1E,SAAS,MAAM,OAAwB;AACrC,QAAO,WAAW,QAAQ;;AAG5B,IAAM,aAAa,IAAI,WAAW,aAAa,WAAW;AAE1D,SAAgB,eAAqB,KAAQ,OAAkB;AAE7D,QAAO,aAAa,eAAe,IAAI,GAAG,eAAe,MAAM"}
@@ -1,50 +1,55 @@
1
- import { resolver } from "@rocicorp/resolver";
2
1
  import { AbortError } from "./abort-error.js";
3
- const promiseVoid = Promise.resolve();
4
- const promiseNever = new Promise(() => void 0);
2
+ import { resolver } from "@rocicorp/resolver";
3
+ //#region ../shared/src/sleep.ts
4
+ var promiseVoid = Promise.resolve();
5
+ var promiseNever = new Promise(() => void 0);
6
+ /**
7
+ * Creates a promise that resolves after `ms` milliseconds. Note that if you
8
+ * pass in `0` no `setTimeout` is used and the promise resolves immediately. In
9
+ * other words no macro task is used in that case.
10
+ *
11
+ * Pass in an AbortSignal to clear the timeout.
12
+ */
5
13
  function sleep(ms, signal) {
6
- const newAbortError = () => new AbortError("Aborted");
7
- if (signal?.aborted) {
8
- return Promise.reject(newAbortError());
9
- }
10
- if (ms === 0) {
11
- return promiseVoid;
12
- }
13
- return new Promise((resolve, reject) => {
14
- let handleAbort;
15
- if (signal) {
16
- handleAbort = () => {
17
- clearTimeout(id);
18
- reject(newAbortError());
19
- };
20
- signal.addEventListener("abort", handleAbort, { once: true });
21
- }
22
- const id = setTimeout(() => {
23
- resolve();
24
- signal?.removeEventListener("abort", handleAbort);
25
- }, ms);
26
- });
14
+ const newAbortError = () => new AbortError("Aborted");
15
+ if (signal?.aborted) return Promise.reject(newAbortError());
16
+ if (ms === 0) return promiseVoid;
17
+ return new Promise((resolve, reject) => {
18
+ let handleAbort;
19
+ if (signal) {
20
+ handleAbort = () => {
21
+ clearTimeout(id);
22
+ reject(newAbortError());
23
+ };
24
+ signal.addEventListener("abort", handleAbort, { once: true });
25
+ }
26
+ const id = setTimeout(() => {
27
+ resolve();
28
+ signal?.removeEventListener("abort", handleAbort);
29
+ }, ms);
30
+ });
27
31
  }
32
+ /**
33
+ * Returns a pair of promises. The first promise resolves after `ms` milliseconds
34
+ * unless the AbortSignal is aborted. The second promise resolves when the AbortSignal
35
+ * is aborted.
36
+ */
28
37
  function sleepWithAbort(ms, signal) {
29
- if (ms === 0) {
30
- return [promiseVoid, promiseNever];
31
- }
32
- const { promise: abortedPromise, resolve: abortedResolve } = resolver();
33
- const sleepPromise = new Promise((resolve) => {
34
- const handleAbort = () => {
35
- clearTimeout(id);
36
- abortedResolve();
37
- };
38
- const id = setTimeout(() => {
39
- resolve();
40
- signal.removeEventListener("abort", handleAbort);
41
- }, ms);
42
- signal.addEventListener("abort", handleAbort, { once: true });
43
- });
44
- return [sleepPromise, abortedPromise];
38
+ if (ms === 0) return [promiseVoid, promiseNever];
39
+ const { promise: abortedPromise, resolve: abortedResolve } = resolver();
40
+ return [new Promise((resolve) => {
41
+ const handleAbort = () => {
42
+ clearTimeout(id);
43
+ abortedResolve();
44
+ };
45
+ const id = setTimeout(() => {
46
+ resolve();
47
+ signal.removeEventListener("abort", handleAbort);
48
+ }, ms);
49
+ signal.addEventListener("abort", handleAbort, { once: true });
50
+ }), abortedPromise];
45
51
  }
46
- export {
47
- sleep,
48
- sleepWithAbort
49
- };
50
- //# sourceMappingURL=sleep.js.map
52
+ //#endregion
53
+ export { sleep, sleepWithAbort };
54
+
55
+ //# sourceMappingURL=sleep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","sources":["../../../../shared/src/sleep.ts"],"sourcesContent":["import {resolver} from '@rocicorp/resolver';\nimport {AbortError} from './abort-error.ts';\n\nconst promiseVoid = Promise.resolve();\nconst promiseNever = new Promise<void>(() => undefined);\n\n/**\n * Creates a promise that resolves after `ms` milliseconds. Note that if you\n * pass in `0` no `setTimeout` is used and the promise resolves immediately. In\n * other words no macro task is used in that case.\n *\n * Pass in an AbortSignal to clear the timeout.\n */\nexport function sleep(ms: number, signal?: AbortSignal): Promise<void> {\n const newAbortError = () => new AbortError('Aborted');\n\n if (signal?.aborted) {\n return Promise.reject(newAbortError());\n }\n\n if (ms === 0) {\n return promiseVoid;\n }\n\n return new Promise((resolve, reject) => {\n let handleAbort: () => void;\n if (signal) {\n handleAbort = () => {\n clearTimeout(id);\n reject(newAbortError());\n };\n signal.addEventListener('abort', handleAbort, {once: true});\n }\n\n const id = setTimeout(() => {\n resolve();\n signal?.removeEventListener('abort', handleAbort);\n }, ms);\n });\n}\n\n/**\n * Returns a pair of promises. The first promise resolves after `ms` milliseconds\n * unless the AbortSignal is aborted. The second promise resolves when the AbortSignal\n * is aborted.\n */\nexport function sleepWithAbort(\n ms: number,\n signal: AbortSignal,\n): [ok: Promise<void>, aborted: Promise<void>] {\n if (ms === 0) {\n return [promiseVoid, promiseNever];\n }\n\n const {promise: abortedPromise, resolve: abortedResolve} = resolver<void>();\n\n const sleepPromise = new Promise<void>(resolve => {\n const handleAbort = () => {\n clearTimeout(id);\n abortedResolve();\n };\n\n const id = setTimeout(() => {\n resolve();\n signal.removeEventListener('abort', handleAbort);\n }, ms);\n\n signal.addEventListener('abort', handleAbort, {once: true});\n });\n\n return [sleepPromise, abortedPromise];\n}\n"],"names":[],"mappings":";;AAGA,MAAM,cAAc,QAAQ,QAAA;AAC5B,MAAM,eAAe,IAAI,QAAc,MAAM,MAAS;AAS/C,SAAS,MAAM,IAAY,QAAqC;AACrE,QAAM,gBAAgB,MAAM,IAAI,WAAW,SAAS;AAEpD,MAAI,QAAQ,SAAS;AACnB,WAAO,QAAQ,OAAO,eAAe;AAAA,EACvC;AAEA,MAAI,OAAO,GAAG;AACZ,WAAO;AAAA,EACT;AAEA,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,QAAI;AACJ,QAAI,QAAQ;AACV,oBAAc,MAAM;AAClB,qBAAa,EAAE;AACf,eAAO,eAAe;AAAA,MACxB;AACA,aAAO,iBAAiB,SAAS,aAAa,EAAC,MAAM,MAAK;AAAA,IAC5D;AAEA,UAAM,KAAK,WAAW,MAAM;AAC1B,cAAA;AACA,cAAQ,oBAAoB,SAAS,WAAW;AAAA,IAClD,GAAG,EAAE;AAAA,EACP,CAAC;AACH;AAOO,SAAS,eACd,IACA,QAC6C;AAC7C,MAAI,OAAO,GAAG;AACZ,WAAO,CAAC,aAAa,YAAY;AAAA,EACnC;AAEA,QAAM,EAAC,SAAS,gBAAgB,SAAS,eAAA,IAAkB,SAAA;AAE3D,QAAM,eAAe,IAAI,QAAc,CAAA,YAAW;AAChD,UAAM,cAAc,MAAM;AACxB,mBAAa,EAAE;AACf,qBAAA;AAAA,IACF;AAEA,UAAM,KAAK,WAAW,MAAM;AAC1B,cAAA;AACA,aAAO,oBAAoB,SAAS,WAAW;AAAA,IACjD,GAAG,EAAE;AAEL,WAAO,iBAAiB,SAAS,aAAa,EAAC,MAAM,MAAK;AAAA,EAC5D,CAAC;AAED,SAAO,CAAC,cAAc,cAAc;AACtC;"}
1
+ {"version":3,"file":"sleep.js","names":[],"sources":["../../../../shared/src/sleep.ts"],"sourcesContent":["import {resolver} from '@rocicorp/resolver';\nimport {AbortError} from './abort-error.ts';\n\nconst promiseVoid = Promise.resolve();\nconst promiseNever = new Promise<void>(() => undefined);\n\n/**\n * Creates a promise that resolves after `ms` milliseconds. Note that if you\n * pass in `0` no `setTimeout` is used and the promise resolves immediately. In\n * other words no macro task is used in that case.\n *\n * Pass in an AbortSignal to clear the timeout.\n */\nexport function sleep(ms: number, signal?: AbortSignal): Promise<void> {\n const newAbortError = () => new AbortError('Aborted');\n\n if (signal?.aborted) {\n return Promise.reject(newAbortError());\n }\n\n if (ms === 0) {\n return promiseVoid;\n }\n\n return new Promise((resolve, reject) => {\n let handleAbort: () => void;\n if (signal) {\n handleAbort = () => {\n clearTimeout(id);\n reject(newAbortError());\n };\n signal.addEventListener('abort', handleAbort, {once: true});\n }\n\n const id = setTimeout(() => {\n resolve();\n signal?.removeEventListener('abort', handleAbort);\n }, ms);\n });\n}\n\n/**\n * Returns a pair of promises. The first promise resolves after `ms` milliseconds\n * unless the AbortSignal is aborted. The second promise resolves when the AbortSignal\n * is aborted.\n */\nexport function sleepWithAbort(\n ms: number,\n signal: AbortSignal,\n): [ok: Promise<void>, aborted: Promise<void>] {\n if (ms === 0) {\n return [promiseVoid, promiseNever];\n }\n\n const {promise: abortedPromise, resolve: abortedResolve} = resolver<void>();\n\n const sleepPromise = new Promise<void>(resolve => {\n const handleAbort = () => {\n clearTimeout(id);\n abortedResolve();\n };\n\n const id = setTimeout(() => {\n resolve();\n signal.removeEventListener('abort', handleAbort);\n }, ms);\n\n signal.addEventListener('abort', handleAbort, {once: true});\n });\n\n return [sleepPromise, abortedPromise];\n}\n"],"mappings":";;;AAGA,IAAM,cAAc,QAAQ,SAAS;AACrC,IAAM,eAAe,IAAI,cAAoB,KAAA,EAAU;;;;;;;;AASvD,SAAgB,MAAM,IAAY,QAAqC;CACrE,MAAM,sBAAsB,IAAI,WAAW,UAAU;AAErD,KAAI,QAAQ,QACV,QAAO,QAAQ,OAAO,eAAe,CAAC;AAGxC,KAAI,OAAO,EACT,QAAO;AAGT,QAAO,IAAI,SAAS,SAAS,WAAW;EACtC,IAAI;AACJ,MAAI,QAAQ;AACV,uBAAoB;AAClB,iBAAa,GAAG;AAChB,WAAO,eAAe,CAAC;;AAEzB,UAAO,iBAAiB,SAAS,aAAa,EAAC,MAAM,MAAK,CAAC;;EAG7D,MAAM,KAAK,iBAAiB;AAC1B,YAAS;AACT,WAAQ,oBAAoB,SAAS,YAAY;KAChD,GAAG;GACN;;;;;;;AAQJ,SAAgB,eACd,IACA,QAC6C;AAC7C,KAAI,OAAO,EACT,QAAO,CAAC,aAAa,aAAa;CAGpC,MAAM,EAAC,SAAS,gBAAgB,SAAS,mBAAkB,UAAgB;AAgB3E,QAAO,CAdc,IAAI,SAAc,YAAW;EAChD,MAAM,oBAAoB;AACxB,gBAAa,GAAG;AAChB,mBAAgB;;EAGlB,MAAM,KAAK,iBAAiB;AAC1B,YAAS;AACT,UAAO,oBAAoB,SAAS,YAAY;KAC/C,GAAG;AAEN,SAAO,iBAAiB,SAAS,aAAa,EAAC,MAAM,MAAK,CAAC;GAC3D,EAEoB,eAAe"}