@rocicorp/zero 0.5.2024103100 → 0.5.2024110200

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 (512) hide show
  1. package/out/{chunk-TBA526RR.js → chunk-INJ4WJHS.js} +87 -67
  2. package/out/chunk-INJ4WJHS.js.map +7 -0
  3. package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
  4. package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
  5. package/out/internal.js +1 -1
  6. package/out/react.js.map +2 -2
  7. package/out/shared/src/valita.d.ts +7 -0
  8. package/out/shared/src/valita.d.ts.map +1 -1
  9. package/out/shared/src/valita.js +28 -0
  10. package/out/shared/src/valita.js.map +1 -1
  11. package/out/solid.js +2 -2
  12. package/out/solid.js.map +2 -2
  13. package/out/zero-advanced/src/mod.d.ts +7 -7
  14. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  15. package/out/zero-cache/src/config/config-query.d.ts +6 -6
  16. package/out/zero-cache/src/config/config-query.d.ts.map +1 -1
  17. package/out/zero-cache/src/config/config-query.js +1 -1
  18. package/out/zero-cache/src/config/config-query.js.map +1 -1
  19. package/out/zero-cache/src/config/define-config.d.ts +3 -3
  20. package/out/zero-cache/src/config/define-config.d.ts.map +1 -1
  21. package/out/zero-cache/src/config/define-config.js +1 -0
  22. package/out/zero-cache/src/config/define-config.js.map +1 -1
  23. package/out/zero-cache/src/config/refs.js +1 -1
  24. package/out/zero-cache/src/config/refs.js.map +1 -1
  25. package/out/zero-cache/src/services/mutagen/write-authorizer.js +2 -2
  26. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  27. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
  28. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  29. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
  30. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  31. package/out/zero-cache/src/types/lite.d.ts +1 -1
  32. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  33. package/out/zero-cache/src/types/lite.js +0 -1
  34. package/out/zero-cache/src/types/lite.js.map +1 -1
  35. package/out/zero-client/src/client/context.d.ts +4 -4
  36. package/out/zero-client/src/client/context.d.ts.map +1 -1
  37. package/out/zero-client/src/client/crud.d.ts +4 -4
  38. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  39. package/out/zero-client/src/client/keys.d.ts +1 -1
  40. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  41. package/out/zero-client/src/client/normalized-schema.d.ts +2 -2
  42. package/out/zero-client/src/client/normalized-schema.d.ts.map +1 -1
  43. package/out/zero-client/src/client/normalized-schema.js +1 -1
  44. package/out/zero-client/src/client/normalized-schema.js.map +1 -1
  45. package/out/zero-client/src/client/options.d.ts +1 -1
  46. package/out/zero-client/src/client/options.d.ts.map +1 -1
  47. package/out/zero-client/src/client/query-manager.d.ts +1 -1
  48. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  49. package/out/zero-client/src/client/zero.d.ts +2 -9
  50. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  51. package/out/zero-client/src/mod.d.ts +6 -7
  52. package/out/zero-client/src/mod.d.ts.map +1 -1
  53. package/out/zero-react/src/use-query.d.ts +2 -1
  54. package/out/zero-react/src/use-query.d.ts.map +1 -1
  55. package/out/zero-react/src/use-zero.d.ts +2 -1
  56. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  57. package/out/zero-schema/src/mod.d.ts +4 -0
  58. package/out/zero-schema/src/mod.d.ts.map +1 -0
  59. package/out/zero-schema/src/mod.js +4 -0
  60. package/out/zero-schema/src/mod.js.map +1 -0
  61. package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
  62. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
  63. package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.js +3 -3
  64. package/out/zero-schema/src/normalize-table-schema.js.map +1 -0
  65. package/out/zero-schema/src/schema.d.ts +9 -0
  66. package/out/zero-schema/src/schema.d.ts.map +1 -0
  67. package/out/zero-schema/src/schema.js +4 -0
  68. package/out/zero-schema/src/schema.js.map +1 -0
  69. package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +39 -3
  70. package/out/zero-schema/src/table-schema.d.ts.map +1 -0
  71. package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
  72. package/out/zero-schema/src/table-schema.js.map +1 -0
  73. package/out/zero-solid/src/create-zero.d.ts +2 -1
  74. package/out/zero-solid/src/create-zero.d.ts.map +1 -1
  75. package/out/zero.js +2 -6
  76. package/out/zql/src/{zql/builder → builder}/builder.d.ts +4 -4
  77. package/out/zql/src/builder/builder.d.ts.map +1 -0
  78. package/out/zql/src/{zql/builder → builder}/builder.js +7 -3
  79. package/out/zql/src/builder/builder.js.map +1 -0
  80. package/out/zql/src/builder/error.d.ts.map +1 -0
  81. package/out/zql/src/builder/error.js.map +1 -0
  82. package/out/zql/src/{zql/builder → builder}/filter.d.ts +2 -2
  83. package/out/zql/src/builder/filter.d.ts.map +1 -0
  84. package/out/zql/src/{zql/builder → builder}/filter.js +1 -1
  85. package/out/zql/src/builder/filter.js.map +1 -0
  86. package/out/zql/src/builder/like.d.ts.map +1 -0
  87. package/out/zql/src/{zql/builder → builder}/like.js +1 -1
  88. package/out/zql/src/builder/like.js.map +1 -0
  89. package/out/zql/src/ivm/array-view.d.ts.map +1 -0
  90. package/out/zql/src/{zql/ivm → ivm}/array-view.js +1 -1
  91. package/out/zql/src/ivm/array-view.js.map +1 -0
  92. package/out/zql/src/{zql/ivm → ivm}/change.d.ts +1 -1
  93. package/out/zql/src/ivm/change.d.ts.map +1 -0
  94. package/out/zql/src/ivm/change.js.map +1 -0
  95. package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
  96. package/out/zql/src/ivm/data.d.ts.map +1 -0
  97. package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
  98. package/out/zql/src/ivm/data.js.map +1 -0
  99. package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +2 -2
  100. package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
  101. package/out/zql/src/{zql/ivm → ivm}/fan-in.js +5 -8
  102. package/out/zql/src/ivm/fan-in.js.map +1 -0
  103. package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +1 -1
  104. package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
  105. package/out/zql/src/{zql/ivm → ivm}/fan-out.js +4 -0
  106. package/out/zql/src/ivm/fan-out.js.map +1 -0
  107. package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +3 -3
  108. package/out/zql/src/ivm/filter.d.ts.map +1 -0
  109. package/out/zql/src/{zql/ivm → ivm}/filter.js +1 -1
  110. package/out/zql/src/ivm/filter.js.map +1 -0
  111. package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
  112. package/out/zql/src/ivm/join.d.ts.map +1 -0
  113. package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
  114. package/out/zql/src/ivm/join.js.map +1 -0
  115. package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
  116. package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
  117. package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
  118. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
  119. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  120. package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +6 -6
  121. package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
  122. package/out/zql/src/{zql/ivm → ivm}/memory-source.js +12 -17
  123. package/out/zql/src/ivm/memory-source.js.map +1 -0
  124. package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
  125. package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
  126. package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
  127. package/out/zql/src/ivm/operator.d.ts.map +1 -0
  128. package/out/zql/src/ivm/operator.js.map +1 -0
  129. package/out/zql/src/ivm/schema.d.ts +15 -0
  130. package/out/zql/src/ivm/schema.d.ts.map +1 -0
  131. package/out/zql/src/ivm/schema.js +2 -0
  132. package/out/zql/src/ivm/schema.js.map +1 -0
  133. package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
  134. package/out/zql/src/ivm/skip.d.ts.map +1 -0
  135. package/out/zql/src/{zql/ivm → ivm}/skip.js +1 -1
  136. package/out/zql/src/ivm/skip.js.map +1 -0
  137. package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
  138. package/out/zql/src/ivm/source.d.ts.map +1 -0
  139. package/out/zql/src/ivm/source.js.map +1 -0
  140. package/out/zql/src/ivm/stream.d.ts.map +1 -0
  141. package/out/zql/src/ivm/stream.js.map +1 -0
  142. package/out/zql/src/{zql/ivm → ivm}/take.d.ts +2 -2
  143. package/out/zql/src/ivm/take.d.ts.map +1 -0
  144. package/out/zql/src/{zql/ivm → ivm}/take.js +2 -2
  145. package/out/zql/src/ivm/take.js.map +1 -0
  146. package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
  147. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
  148. package/out/zql/src/{zql/ivm → ivm}/view-apply-change.js +2 -2
  149. package/out/zql/src/ivm/view-apply-change.js.map +1 -0
  150. package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
  151. package/out/zql/src/ivm/view.d.ts.map +1 -0
  152. package/out/zql/src/{zql/ivm → ivm}/view.js.map +1 -1
  153. package/out/zql/src/query/auth-query.d.ts +20 -0
  154. package/out/zql/src/query/auth-query.d.ts.map +1 -0
  155. package/out/zql/src/query/auth-query.js +26 -0
  156. package/out/zql/src/query/auth-query.js.map +1 -0
  157. package/out/zql/src/query/escape-like.d.ts.map +1 -0
  158. package/out/zql/src/query/expression.d.ts +24 -0
  159. package/out/zql/src/query/expression.d.ts.map +1 -0
  160. package/out/zql/src/{zql/query → query}/expression.js +7 -1
  161. package/out/zql/src/query/expression.js.map +1 -0
  162. package/out/zql/src/{zql/query → query}/query-impl.d.ts +5 -5
  163. package/out/zql/src/query/query-impl.d.ts.map +1 -0
  164. package/out/zql/src/{zql/query → query}/query-impl.js +6 -4
  165. package/out/zql/src/query/query-impl.js.map +1 -0
  166. package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
  167. package/out/zql/src/query/query-internal.d.ts.map +1 -0
  168. package/out/zql/src/query/query-internal.js.map +1 -0
  169. package/out/zql/src/{zql/query → query}/query.d.ts +11 -26
  170. package/out/zql/src/query/query.d.ts.map +1 -0
  171. package/out/zql/src/query/query.js.map +1 -0
  172. package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
  173. package/out/zql/src/query/typed-view.d.ts.map +1 -0
  174. package/out/zql/src/query/typed-view.js.map +1 -0
  175. package/out/zqlite/src/table-source.d.ts +14 -2
  176. package/out/zqlite/src/table-source.d.ts.map +1 -1
  177. package/out/zqlite/src/table-source.js +38 -18
  178. package/out/zqlite/src/table-source.js.map +1 -1
  179. package/package.json +10 -1
  180. package/out/chunk-TBA526RR.js.map +0 -7
  181. package/out/replicache/src/async-iterable-to-array.js +0 -8
  182. package/out/replicache/src/async-iterable-to-array.js.map +0 -1
  183. package/out/replicache/src/bg-interval.js +0 -38
  184. package/out/replicache/src/bg-interval.js.map +0 -1
  185. package/out/replicache/src/binary-search.js +0 -31
  186. package/out/replicache/src/binary-search.js.map +0 -1
  187. package/out/replicache/src/broadcast-channel.js +0 -29
  188. package/out/replicache/src/broadcast-channel.js.map +0 -1
  189. package/out/replicache/src/btree/diff.js +0 -6
  190. package/out/replicache/src/btree/diff.js.map +0 -1
  191. package/out/replicache/src/btree/node.js +0 -392
  192. package/out/replicache/src/btree/node.js.map +0 -1
  193. package/out/replicache/src/btree/read.js +0 -227
  194. package/out/replicache/src/btree/read.js.map +0 -1
  195. package/out/replicache/src/btree/splice.js +0 -79
  196. package/out/replicache/src/btree/splice.js.map +0 -1
  197. package/out/replicache/src/btree/write.js +0 -154
  198. package/out/replicache/src/btree/write.js.map +0 -1
  199. package/out/replicache/src/call-default-fetch.js +0 -37
  200. package/out/replicache/src/call-default-fetch.js.map +0 -1
  201. package/out/replicache/src/config.js +0 -13
  202. package/out/replicache/src/config.js.map +0 -1
  203. package/out/replicache/src/connection-loop-delegates.js +0 -30
  204. package/out/replicache/src/connection-loop-delegates.js.map +0 -1
  205. package/out/replicache/src/connection-loop.js +0 -268
  206. package/out/replicache/src/connection-loop.js.map +0 -1
  207. package/out/replicache/src/cookies.js +0 -41
  208. package/out/replicache/src/cookies.js.map +0 -1
  209. package/out/replicache/src/dag/chunk.js +0 -60
  210. package/out/replicache/src/dag/chunk.js.map +0 -1
  211. package/out/replicache/src/dag/gc.js +0 -126
  212. package/out/replicache/src/dag/gc.js.map +0 -1
  213. package/out/replicache/src/dag/key-type-enum.js +0 -6
  214. package/out/replicache/src/dag/key-type-enum.js.map +0 -1
  215. package/out/replicache/src/dag/key.js +0 -54
  216. package/out/replicache/src/dag/key.js.map +0 -1
  217. package/out/replicache/src/dag/lazy-store.js +0 -532
  218. package/out/replicache/src/dag/lazy-store.js.map +0 -1
  219. package/out/replicache/src/dag/store-impl.js +0 -175
  220. package/out/replicache/src/dag/store-impl.js.map +0 -1
  221. package/out/replicache/src/dag/store.js +0 -22
  222. package/out/replicache/src/dag/store.js.map +0 -1
  223. package/out/replicache/src/dag/visitor.js +0 -22
  224. package/out/replicache/src/dag/visitor.js.map +0 -1
  225. package/out/replicache/src/db/commit.js +0 -443
  226. package/out/replicache/src/db/commit.js.map +0 -1
  227. package/out/replicache/src/db/index-operation-enum.js +0 -4
  228. package/out/replicache/src/db/index-operation-enum.js.map +0 -1
  229. package/out/replicache/src/db/index.js +0 -170
  230. package/out/replicache/src/db/index.js.map +0 -1
  231. package/out/replicache/src/db/meta-type-enum.js +0 -7
  232. package/out/replicache/src/db/meta-type-enum.js.map +0 -1
  233. package/out/replicache/src/db/read.js +0 -59
  234. package/out/replicache/src/db/read.js.map +0 -1
  235. package/out/replicache/src/db/rebase.js +0 -56
  236. package/out/replicache/src/db/rebase.js.map +0 -1
  237. package/out/replicache/src/db/scan.js +0 -2
  238. package/out/replicache/src/db/scan.js.map +0 -1
  239. package/out/replicache/src/db/write.js +0 -260
  240. package/out/replicache/src/db/write.js.map +0 -1
  241. package/out/replicache/src/error-responses.js +0 -30
  242. package/out/replicache/src/error-responses.js.map +0 -1
  243. package/out/replicache/src/filter-async-iterable.js +0 -15
  244. package/out/replicache/src/filter-async-iterable.js.map +0 -1
  245. package/out/replicache/src/format-version-enum.js +0 -9
  246. package/out/replicache/src/format-version-enum.js.map +0 -1
  247. package/out/replicache/src/format-version.js +0 -8
  248. package/out/replicache/src/format-version.js.map +0 -1
  249. package/out/replicache/src/frozen-json.js +0 -151
  250. package/out/replicache/src/frozen-json.js.map +0 -1
  251. package/out/replicache/src/get-default-puller.js +0 -74
  252. package/out/replicache/src/get-default-puller.js.map +0 -1
  253. package/out/replicache/src/get-default-pusher.js +0 -36
  254. package/out/replicache/src/get-default-pusher.js.map +0 -1
  255. package/out/replicache/src/hash.js +0 -73
  256. package/out/replicache/src/hash.js.map +0 -1
  257. package/out/replicache/src/http-request-info.js +0 -7
  258. package/out/replicache/src/http-request-info.js.map +0 -1
  259. package/out/replicache/src/impl.js +0 -2
  260. package/out/replicache/src/impl.js.map +0 -1
  261. package/out/replicache/src/index-defs.js +0 -28
  262. package/out/replicache/src/index-defs.js.map +0 -1
  263. package/out/replicache/src/invoke-kind-enum.js +0 -4
  264. package/out/replicache/src/invoke-kind-enum.js.map +0 -1
  265. package/out/replicache/src/iterable-union.js +0 -5
  266. package/out/replicache/src/iterable-union.js.map +0 -1
  267. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
  268. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  269. package/out/replicache/src/kv/idb-store.js +0 -179
  270. package/out/replicache/src/kv/idb-store.js.map +0 -1
  271. package/out/replicache/src/kv/mem-store.js +0 -61
  272. package/out/replicache/src/kv/mem-store.js.map +0 -1
  273. package/out/replicache/src/kv/read-impl.js +0 -23
  274. package/out/replicache/src/kv/read-impl.js.map +0 -1
  275. package/out/replicache/src/kv/store.js +0 -2
  276. package/out/replicache/src/kv/store.js.map +0 -1
  277. package/out/replicache/src/kv/write-impl-base.js +0 -48
  278. package/out/replicache/src/kv/write-impl-base.js.map +0 -1
  279. package/out/replicache/src/kv/write-impl.js +0 -25
  280. package/out/replicache/src/kv/write-impl.js.map +0 -1
  281. package/out/replicache/src/lazy.js +0 -10
  282. package/out/replicache/src/lazy.js.map +0 -1
  283. package/out/replicache/src/log-options.js +0 -13
  284. package/out/replicache/src/log-options.js.map +0 -1
  285. package/out/replicache/src/merge-async-iterables.js +0 -61
  286. package/out/replicache/src/merge-async-iterables.js.map +0 -1
  287. package/out/replicache/src/mod.js +0 -14
  288. package/out/replicache/src/mod.js.map +0 -1
  289. package/out/replicache/src/mutation-recovery.js +0 -439
  290. package/out/replicache/src/mutation-recovery.js.map +0 -1
  291. package/out/replicache/src/new-client-channel.js +0 -77
  292. package/out/replicache/src/new-client-channel.js.map +0 -1
  293. package/out/replicache/src/on-persist-channel.js +0 -33
  294. package/out/replicache/src/on-persist-channel.js.map +0 -1
  295. package/out/replicache/src/patch-operation.js +0 -37
  296. package/out/replicache/src/patch-operation.js.map +0 -1
  297. package/out/replicache/src/pending-mutations.js +0 -18
  298. package/out/replicache/src/pending-mutations.js.map +0 -1
  299. package/out/replicache/src/persist/client-gc.js +0 -38
  300. package/out/replicache/src/persist/client-gc.js.map +0 -1
  301. package/out/replicache/src/persist/client-group-gc.js +0 -38
  302. package/out/replicache/src/persist/client-group-gc.js.map +0 -1
  303. package/out/replicache/src/persist/client-groups.js +0 -180
  304. package/out/replicache/src/persist/client-groups.js.map +0 -1
  305. package/out/replicache/src/persist/clients.js +0 -390
  306. package/out/replicache/src/persist/clients.js.map +0 -1
  307. package/out/replicache/src/persist/collect-idb-databases.js +0 -174
  308. package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
  309. package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
  310. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  311. package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
  312. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  313. package/out/replicache/src/persist/heartbeat.js +0 -37
  314. package/out/replicache/src/persist/heartbeat.js.map +0 -1
  315. package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
  316. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  317. package/out/replicache/src/persist/idb-databases-store.js +0 -90
  318. package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
  319. package/out/replicache/src/persist/make-client-id.js +0 -13
  320. package/out/replicache/src/persist/make-client-id.js.map +0 -1
  321. package/out/replicache/src/persist/persist.js +0 -132
  322. package/out/replicache/src/persist/persist.js.map +0 -1
  323. package/out/replicache/src/persist/refresh.js +0 -147
  324. package/out/replicache/src/persist/refresh.js.map +0 -1
  325. package/out/replicache/src/process-scheduler.js +0 -93
  326. package/out/replicache/src/process-scheduler.js.map +0 -1
  327. package/out/replicache/src/puller.js +0 -2
  328. package/out/replicache/src/puller.js.map +0 -1
  329. package/out/replicache/src/pusher.js +0 -32
  330. package/out/replicache/src/pusher.js.map +0 -1
  331. package/out/replicache/src/replicache-impl.js +0 -1007
  332. package/out/replicache/src/replicache-impl.js.map +0 -1
  333. package/out/replicache/src/replicache-options.js +0 -2
  334. package/out/replicache/src/replicache-options.js.map +0 -1
  335. package/out/replicache/src/replicache.js +0 -387
  336. package/out/replicache/src/replicache.js.map +0 -1
  337. package/out/replicache/src/request-idle.js +0 -15
  338. package/out/replicache/src/request-idle.js.map +0 -1
  339. package/out/replicache/src/scan-iterator.js +0 -202
  340. package/out/replicache/src/scan-iterator.js.map +0 -1
  341. package/out/replicache/src/scan-options.js +0 -45
  342. package/out/replicache/src/scan-options.js.map +0 -1
  343. package/out/replicache/src/set-interval-with-signal.js +0 -7
  344. package/out/replicache/src/set-interval-with-signal.js.map +0 -1
  345. package/out/replicache/src/size-of-value.js +0 -77
  346. package/out/replicache/src/size-of-value.js.map +0 -1
  347. package/out/replicache/src/subscriptions.js +0 -357
  348. package/out/replicache/src/subscriptions.js.map +0 -1
  349. package/out/replicache/src/sync/diff.js +0 -75
  350. package/out/replicache/src/sync/diff.js.map +0 -1
  351. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
  352. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
  353. package/out/replicache/src/sync/ids.js +0 -4
  354. package/out/replicache/src/sync/ids.js.map +0 -1
  355. package/out/replicache/src/sync/patch.js +0 -41
  356. package/out/replicache/src/sync/patch.js.map +0 -1
  357. package/out/replicache/src/sync/pull-error.js +0 -16
  358. package/out/replicache/src/sync/pull-error.js.map +0 -1
  359. package/out/replicache/src/sync/pull.js +0 -375
  360. package/out/replicache/src/sync/pull.js.map +0 -1
  361. package/out/replicache/src/sync/push.js +0 -141
  362. package/out/replicache/src/sync/push.js.map +0 -1
  363. package/out/replicache/src/sync/request-id.js +0 -31
  364. package/out/replicache/src/sync/request-id.js.map +0 -1
  365. package/out/replicache/src/sync/sync-head-name.js +0 -2
  366. package/out/replicache/src/sync/sync-head-name.js.map +0 -1
  367. package/out/replicache/src/test-license-key.js +0 -3
  368. package/out/replicache/src/test-license-key.js.map +0 -1
  369. package/out/replicache/src/to-error.js +0 -7
  370. package/out/replicache/src/to-error.js.map +0 -1
  371. package/out/replicache/src/transaction-closed-error.js +0 -17
  372. package/out/replicache/src/transaction-closed-error.js.map +0 -1
  373. package/out/replicache/src/transactions.js +0 -144
  374. package/out/replicache/src/transactions.js.map +0 -1
  375. package/out/replicache/src/types.js +0 -2
  376. package/out/replicache/src/types.js.map +0 -1
  377. package/out/replicache/src/version.js +0 -6
  378. package/out/replicache/src/version.js.map +0 -1
  379. package/out/replicache/src/with-transactions.js +0 -28
  380. package/out/replicache/src/with-transactions.js.map +0 -1
  381. package/out/shared/src/browser-env.js +0 -14
  382. package/out/shared/src/browser-env.js.map +0 -1
  383. package/out/shared/src/document-visible.js +0 -76
  384. package/out/shared/src/document-visible.js.map +0 -1
  385. package/out/shared/src/navigator.js +0 -3
  386. package/out/shared/src/navigator.js.map +0 -1
  387. package/out/shared/src/random-uint64.js +0 -8
  388. package/out/shared/src/random-uint64.js.map +0 -1
  389. package/out/shared/src/types.js +0 -2
  390. package/out/shared/src/types.js.map +0 -1
  391. package/out/zero-client/src/client/context.js +0 -113
  392. package/out/zero-client/src/client/context.js.map +0 -1
  393. package/out/zero-client/src/client/crud.js +0 -181
  394. package/out/zero-client/src/client/crud.js.map +0 -1
  395. package/out/zero-client/src/client/enable-analytics.js +0 -21
  396. package/out/zero-client/src/client/enable-analytics.js.map +0 -1
  397. package/out/zero-client/src/client/http-string.js +0 -14
  398. package/out/zero-client/src/client/http-string.js.map +0 -1
  399. package/out/zero-client/src/client/keys.js +0 -32
  400. package/out/zero-client/src/client/keys.js.map +0 -1
  401. package/out/zero-client/src/client/log-options.js +0 -57
  402. package/out/zero-client/src/client/log-options.js.map +0 -1
  403. package/out/zero-client/src/client/metrics.js +0 -268
  404. package/out/zero-client/src/client/metrics.js.map +0 -1
  405. package/out/zero-client/src/client/options.js +0 -2
  406. package/out/zero-client/src/client/options.js.map +0 -1
  407. package/out/zero-client/src/client/query-manager.js +0 -146
  408. package/out/zero-client/src/client/query-manager.js.map +0 -1
  409. package/out/zero-client/src/client/reload-error-handler.js +0 -23
  410. package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
  411. package/out/zero-client/src/client/replicache-types.js +0 -2
  412. package/out/zero-client/src/client/replicache-types.js.map +0 -1
  413. package/out/zero-client/src/client/server-error.js +0 -22
  414. package/out/zero-client/src/client/server-error.js.map +0 -1
  415. package/out/zero-client/src/client/server-option.js +0 -37
  416. package/out/zero-client/src/client/server-option.js.map +0 -1
  417. package/out/zero-client/src/client/version.js +0 -6
  418. package/out/zero-client/src/client/version.js.map +0 -1
  419. package/out/zero-client/src/client/zero-poke-handler.js +0 -240
  420. package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
  421. package/out/zero-client/src/client/zero.js +0 -1233
  422. package/out/zero-client/src/client/zero.js.map +0 -1
  423. package/out/zero-client/src/mod.js +0 -7
  424. package/out/zero-client/src/mod.js.map +0 -1
  425. package/out/zero-client/src/util/nanoid.js +0 -34
  426. package/out/zero-client/src/util/nanoid.js.map +0 -1
  427. package/out/zero-client/src/util/socket.js +0 -4
  428. package/out/zero-client/src/util/socket.js.map +0 -1
  429. package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
  430. package/out/zql/src/zql/builder/builder.js.map +0 -1
  431. package/out/zql/src/zql/builder/error.d.ts.map +0 -1
  432. package/out/zql/src/zql/builder/error.js.map +0 -1
  433. package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
  434. package/out/zql/src/zql/builder/filter.js.map +0 -1
  435. package/out/zql/src/zql/builder/like.d.ts.map +0 -1
  436. package/out/zql/src/zql/builder/like.js.map +0 -1
  437. package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
  438. package/out/zql/src/zql/ivm/array-view.js.map +0 -1
  439. package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
  440. package/out/zql/src/zql/ivm/change.js.map +0 -1
  441. package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
  442. package/out/zql/src/zql/ivm/data.js.map +0 -1
  443. package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
  444. package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
  445. package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
  446. package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
  447. package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
  448. package/out/zql/src/zql/ivm/filter.js.map +0 -1
  449. package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
  450. package/out/zql/src/zql/ivm/join.js.map +0 -1
  451. package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
  452. package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
  453. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
  454. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  455. package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
  456. package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
  457. package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
  458. package/out/zql/src/zql/ivm/memory-storage.js +0 -33
  459. package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
  460. package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
  461. package/out/zql/src/zql/ivm/operator.js.map +0 -1
  462. package/out/zql/src/zql/ivm/schema.d.ts +0 -29
  463. package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
  464. package/out/zql/src/zql/ivm/schema.js +0 -3
  465. package/out/zql/src/zql/ivm/schema.js.map +0 -1
  466. package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
  467. package/out/zql/src/zql/ivm/skip.js.map +0 -1
  468. package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
  469. package/out/zql/src/zql/ivm/source.js.map +0 -1
  470. package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
  471. package/out/zql/src/zql/ivm/stream.js.map +0 -1
  472. package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
  473. package/out/zql/src/zql/ivm/take.js.map +0 -1
  474. package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
  475. package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
  476. package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
  477. package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
  478. package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
  479. package/out/zql/src/zql/query/escape-like.js +0 -4
  480. package/out/zql/src/zql/query/escape-like.js.map +0 -1
  481. package/out/zql/src/zql/query/expression.d.ts +0 -25
  482. package/out/zql/src/zql/query/expression.d.ts.map +0 -1
  483. package/out/zql/src/zql/query/expression.js.map +0 -1
  484. package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
  485. package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
  486. package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
  487. package/out/zql/src/zql/query/query-impl.js.map +0 -1
  488. package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
  489. package/out/zql/src/zql/query/query-internal.js.map +0 -1
  490. package/out/zql/src/zql/query/query.d.ts.map +0 -1
  491. package/out/zql/src/zql/query/query.js.map +0 -1
  492. package/out/zql/src/zql/query/schema.d.ts.map +0 -1
  493. package/out/zql/src/zql/query/schema.js.map +0 -1
  494. package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
  495. package/out/zql/src/zql/query/typed-view.js.map +0 -1
  496. /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
  497. /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
  498. /package/out/zql/src/{zql/builder → builder}/like.d.ts +0 -0
  499. /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
  500. /package/out/zql/src/{zql/ivm → ivm}/change.js +0 -0
  501. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
  502. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
  503. /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
  504. /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
  505. /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
  506. /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
  507. /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
  508. /package/out/zql/src/{zql/ivm → ivm}/view.js +0 -0
  509. /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
  510. /package/out/zql/src/{zql/query → query}/query-internal.js +0 -0
  511. /package/out/zql/src/{zql/query → query}/query.js +0 -0
  512. /package/out/zql/src/{zql/query → query}/typed-view.js +0 -0
@@ -1,439 +0,0 @@
1
- import { assert, assertNotUndefined } from '../../shared/src/asserts.js';
2
- import { throwChunkHasher } from './dag/chunk.js';
3
- import { LazyStore } from './dag/lazy-store.js';
4
- import { StoreImpl } from './dag/store-impl.js';
5
- import { DEFAULT_HEAD_NAME } from './db/commit.js';
6
- import { isClientStateNotFoundResponse, isVersionNotSupportedResponse, } from './error-responses.js';
7
- import * as FormatVersion from './format-version-enum.js';
8
- import { parseReplicacheFormatVersion as parseFormatVersion } from './format-version.js';
9
- import { assertHash, newRandomHash } from './hash.js';
10
- import { getClientGroups, disableClientGroup as persistDisableClientGroup, setClientGroups, } from './persist/client-groups.js';
11
- import { assertClientV4, getClients, setClients, } from './persist/clients.js';
12
- import { beginPullV0, beginPullV1 } from './sync/pull.js';
13
- import { PUSH_VERSION_DD31, PUSH_VERSION_SDD, push } from './sync/push.js';
14
- import { withRead, withWrite } from './with-transactions.js';
15
- const MUTATION_RECOVERY_LAZY_STORE_SOURCE_CHUNK_CACHE_SIZE_LIMIT = 10 * 2 ** 20; // 10 MB
16
- export class MutationRecovery {
17
- #recoveringMutations = false;
18
- #options;
19
- constructor(options) {
20
- this.#options = options;
21
- }
22
- async recoverMutations(preReadClientMap, ready, perdag, idbDatabase, idbDatabases, createStore) {
23
- const { lc, enableMutationRecovery, isPushDisabled, delegate } = this.#options;
24
- if (!enableMutationRecovery ||
25
- this.#recoveringMutations ||
26
- !delegate.online ||
27
- delegate.closed ||
28
- isPushDisabled()) {
29
- return false;
30
- }
31
- const stepDescription = 'Recovering mutations.';
32
- lc.debug?.('Start:', stepDescription);
33
- try {
34
- this.#recoveringMutations = true;
35
- await ready;
36
- await recoverMutationsFromPerdag(idbDatabase, this.#options, perdag, preReadClientMap);
37
- for (const database of Object.values(await idbDatabases.getDatabases())) {
38
- if (delegate.closed) {
39
- lc.debug?.('Exiting early due to close:', stepDescription);
40
- return true;
41
- }
42
- if (database.replicacheName === delegate.name &&
43
- database.name !== delegate.idbName) {
44
- switch (database.replicacheFormatVersion) {
45
- case FormatVersion.SDD:
46
- case FormatVersion.DD31:
47
- case FormatVersion.V6:
48
- case FormatVersion.V7:
49
- await recoverMutationsWithNewPerdag(database, this.#options, undefined, createStore);
50
- }
51
- }
52
- }
53
- }
54
- catch (e) {
55
- logMutationRecoveryError(e, lc, stepDescription, delegate);
56
- }
57
- finally {
58
- lc.debug?.('End:', stepDescription);
59
- this.#recoveringMutations = false;
60
- }
61
- return true;
62
- }
63
- }
64
- function logMutationRecoveryError(e, lc, stepDescription, closedDelegate) {
65
- if (closedDelegate.closed) {
66
- lc.debug?.(`Mutation recovery error likely due to close during:\n${stepDescription}\nError:\n`, e);
67
- }
68
- else {
69
- lc.error?.(`Mutation recovery error during:\n${stepDescription}\nError:\n`, e);
70
- }
71
- }
72
- /**
73
- * @returns When mutations are recovered the resulting updated client map.
74
- * Otherwise undefined, which can be because there were no mutations to
75
- * recover, or because an error occurred when trying to recover the
76
- * mutations.
77
- */
78
- async function recoverMutationsOfClientV4(client, clientID, perdag, database, options, formatVersion) {
79
- assert(database.replicacheFormatVersion === FormatVersion.SDD);
80
- assertClientV4(client);
81
- const { delegate, lc, wrapInOnlineCheck, wrapInReauthRetries, isPushDisabled, isPullDisabled, } = options;
82
- const selfClientID = delegate.clientID;
83
- if (selfClientID === clientID) {
84
- return;
85
- }
86
- if (client.lastServerAckdMutationID >= client.mutationID) {
87
- return;
88
- }
89
- const stepDescription = `Recovering mutations for ${clientID}.`;
90
- lc.debug?.('Start:', stepDescription);
91
- const lazyDagForOtherClient = new LazyStore(perdag, MUTATION_RECOVERY_LAZY_STORE_SOURCE_CHUNK_CACHE_SIZE_LIMIT, throwChunkHasher, assertHash);
92
- try {
93
- await withWrite(lazyDagForOtherClient, write => write.setHead(DEFAULT_HEAD_NAME, client.headHash));
94
- if (isPushDisabled()) {
95
- lc.debug?.(`Cannot recover mutations for client ${clientID} because push is disabled.`);
96
- return;
97
- }
98
- const { pusher } = delegate;
99
- const pushDescription = 'recoveringMutationsPush';
100
- const pushSucceeded = await wrapInOnlineCheck(async () => {
101
- const { result: pusherResult } = await wrapInReauthRetries(async (requestID, requestLc) => {
102
- assertNotUndefined(lazyDagForOtherClient);
103
- const pusherResult = await push(requestID, lazyDagForOtherClient, requestLc, await delegate.profileID, undefined, clientID, pusher, database.schemaVersion, PUSH_VERSION_SDD);
104
- return {
105
- result: pusherResult,
106
- httpRequestInfo: pusherResult?.httpRequestInfo,
107
- };
108
- }, pushDescription, lc);
109
- return (!!pusherResult && pusherResult.httpRequestInfo.httpStatusCode === 200);
110
- }, pushDescription);
111
- if (!pushSucceeded) {
112
- lc.debug?.(`Failed to recover mutations for client ${clientID} due to a push error.`);
113
- return;
114
- }
115
- if (isPullDisabled()) {
116
- lc.debug?.(`Cannot confirm mutations were recovered for client ${clientID} ` +
117
- `because pull is disabled.`);
118
- return;
119
- }
120
- const { puller } = delegate;
121
- const pullDescription = 'recoveringMutationsPull';
122
- let pullResponse;
123
- const pullSucceeded = await wrapInOnlineCheck(async () => {
124
- const { result: beginPullResponse } = await wrapInReauthRetries(async (requestID, requestLc) => {
125
- const beginPullResponse = await beginPullV0(await delegate.profileID, clientID, database.schemaVersion, puller, requestID, lazyDagForOtherClient, formatVersion, requestLc, false);
126
- return {
127
- result: beginPullResponse,
128
- httpRequestInfo: beginPullResponse.httpRequestInfo,
129
- };
130
- }, pullDescription, lc);
131
- ({ pullResponse } = beginPullResponse);
132
- return (!!pullResponse &&
133
- beginPullResponse.httpRequestInfo.httpStatusCode === 200);
134
- }, pullDescription);
135
- if (!pullSucceeded) {
136
- lc.debug?.(`Failed to recover mutations for client ${clientID} due to a pull error.`);
137
- return;
138
- }
139
- if (lc.debug && pullResponse) {
140
- if (isClientStateNotFoundResponse(pullResponse)) {
141
- lc.debug?.(`Client ${selfClientID} cannot recover mutations for client ` +
142
- `${clientID}. The client no longer exists on the server.`);
143
- }
144
- else if (isVersionNotSupportedResponse(pullResponse)) {
145
- lc.debug?.(`Version is not supported on the server. versionType: ${pullResponse.versionType}. Cannot recover mutations for client ${clientID}.`);
146
- }
147
- else {
148
- lc.debug?.(`Client ${selfClientID} recovered mutations for client ` +
149
- `${clientID}. Details`, {
150
- mutationID: client.mutationID,
151
- lastServerAckdMutationID: client.lastServerAckdMutationID,
152
- lastMutationID: pullResponse.lastMutationID,
153
- });
154
- }
155
- }
156
- return await withWrite(perdag, async (dagWrite) => {
157
- const clients = await getClients(dagWrite);
158
- const clientToUpdate = clients.get(clientID);
159
- if (!clientToUpdate) {
160
- return clients;
161
- }
162
- assertClientV4(clientToUpdate);
163
- const setNewClients = async (newClients) => {
164
- await setClients(newClients, dagWrite);
165
- return newClients;
166
- };
167
- if (isClientStateNotFoundResponse(pullResponse) ||
168
- // Even though SDD did not have VersionNotSupported we can still get
169
- // this if the server was upgraded to handle this. It seems better to
170
- // delete the client at this point.
171
- isVersionNotSupportedResponse(pullResponse)) {
172
- const newClients = new Map(clients);
173
- newClients.delete(clientID);
174
- return setNewClients(newClients);
175
- }
176
- assert(pullResponse);
177
- if (clientToUpdate.lastServerAckdMutationID >= pullResponse.lastMutationID) {
178
- return clients;
179
- }
180
- const newClients = new Map(clients).set(clientID, {
181
- ...clientToUpdate,
182
- lastServerAckdMutationID: pullResponse.lastMutationID,
183
- });
184
- return setNewClients(newClients);
185
- });
186
- }
187
- catch (e) {
188
- logMutationRecoveryError(e, lc, stepDescription, delegate);
189
- }
190
- finally {
191
- await lazyDagForOtherClient.close();
192
- lc.debug?.('End:', stepDescription);
193
- }
194
- return;
195
- }
196
- async function recoverMutationsWithNewPerdag(database, options, preReadClientMap, createStore) {
197
- const perKvStore = createStore(database.name);
198
- const perdag = new StoreImpl(perKvStore, newRandomHash, assertHash);
199
- try {
200
- await recoverMutationsFromPerdag(database, options, perdag, preReadClientMap);
201
- }
202
- finally {
203
- await perdag.close();
204
- }
205
- }
206
- function recoverMutationsFromPerdag(database, options, perdag, preReadClientMap) {
207
- if (database.replicacheFormatVersion >= FormatVersion.DD31) {
208
- return recoverMutationsFromPerdagDD31(database, options, perdag);
209
- }
210
- return recoverMutationsFromPerdagSDD(database, options, perdag, preReadClientMap);
211
- }
212
- async function recoverMutationsFromPerdagSDD(database, options, perdag, preReadClientMap) {
213
- const { delegate, lc } = options;
214
- const stepDescription = `Recovering mutations from db ${database.name}.`;
215
- lc.debug?.('Start:', stepDescription);
216
- try {
217
- const formatVersion = parseFormatVersion(database.replicacheFormatVersion);
218
- let clientMap = preReadClientMap || (await withRead(perdag, read => getClients(read)));
219
- const clientIDsVisited = new Set();
220
- while (clientMap) {
221
- let newClientMap;
222
- for (const [clientID, client] of clientMap) {
223
- if (delegate.closed) {
224
- lc.debug?.('Exiting early due to close:', stepDescription);
225
- return;
226
- }
227
- if (!clientIDsVisited.has(clientID)) {
228
- clientIDsVisited.add(clientID);
229
- newClientMap = await recoverMutationsOfClientV4(client, clientID, perdag, database, options, formatVersion);
230
- if (newClientMap) {
231
- break;
232
- }
233
- }
234
- }
235
- clientMap = newClientMap;
236
- }
237
- }
238
- catch (e) {
239
- logMutationRecoveryError(e, lc, stepDescription, delegate);
240
- }
241
- lc.debug?.('End:', stepDescription);
242
- }
243
- async function recoverMutationsFromPerdagDD31(database, options, perdag) {
244
- const { delegate, lc } = options;
245
- const stepDescription = `Recovering mutations from db ${database.name}.`;
246
- lc.debug?.('Start:', stepDescription);
247
- try {
248
- const formatVersion = parseFormatVersion(database.replicacheFormatVersion);
249
- let clientGroups = await withRead(perdag, read => getClientGroups(read));
250
- const clientGroupIDsVisited = new Set();
251
- while (clientGroups) {
252
- let newClientGroups;
253
- for (const [clientGroupID, clientGroup] of clientGroups) {
254
- if (delegate.closed) {
255
- lc.debug?.('Exiting early due to close:', stepDescription);
256
- return;
257
- }
258
- if (!clientGroupIDsVisited.has(clientGroupID)) {
259
- clientGroupIDsVisited.add(clientGroupID);
260
- newClientGroups = await recoverMutationsOfClientGroupDD31(clientGroup, clientGroupID, perdag, database, options, formatVersion);
261
- if (newClientGroups) {
262
- break;
263
- }
264
- }
265
- }
266
- clientGroups = newClientGroups;
267
- }
268
- }
269
- catch (e) {
270
- logMutationRecoveryError(e, lc, stepDescription, delegate);
271
- }
272
- lc.debug?.('End:', stepDescription);
273
- }
274
- function isResponseThatShouldDisableClientGroup(response) {
275
- return (isClientStateNotFoundResponse(response) ||
276
- isVersionNotSupportedResponse(response));
277
- }
278
- async function disableClientGroup(lc, selfClientGroupID, clientGroupID, response, perdag) {
279
- if (isClientStateNotFoundResponse(response)) {
280
- lc.debug?.(`Client group ${selfClientGroupID} cannot recover mutations for client group ${clientGroupID}. The client group is unknown on the server. Marking it as disabled.`);
281
- }
282
- else if (isVersionNotSupportedResponse(response)) {
283
- lc.debug?.(`Client group ${selfClientGroupID} cannot recover mutations for client group ${clientGroupID}. The client group's version is not supported on the server. versionType: ${response.versionType}. Marking it as disabled.`);
284
- }
285
- // The client group is not the main client group so we do not need the
286
- // Replicache instance to update its internal _isClientGroupDisabled
287
- // property.
288
- await withWrite(perdag, perdagWrite => persistDisableClientGroup(clientGroupID, perdagWrite));
289
- }
290
- /**
291
- * @returns When mutations are recovered the resulting updated client group map.
292
- * Otherwise undefined, which can be because there were no mutations to
293
- * recover, or because an error occurred when trying to recover the mutations.
294
- */
295
- async function recoverMutationsOfClientGroupDD31(clientGroup, clientGroupID, perdag, database, options, formatVersion) {
296
- assert(database.replicacheFormatVersion >= FormatVersion.DD31);
297
- const { delegate, lc, wrapInOnlineCheck, wrapInReauthRetries, isPushDisabled, isPullDisabled, clientGroupIDPromise, } = options;
298
- const selfClientGroupID = await clientGroupIDPromise;
299
- assertNotUndefined(selfClientGroupID);
300
- if (selfClientGroupID === clientGroupID) {
301
- return;
302
- }
303
- let clientID;
304
- // If all local mutations have been applied then exit.
305
- let allAckd = true;
306
- for (const [cid, mutationID] of Object.entries(clientGroup.mutationIDs)) {
307
- // if not present then the server has not acknowledged this client's mutations.
308
- if (!clientGroup.lastServerAckdMutationIDs[cid] ||
309
- clientGroup.lastServerAckdMutationIDs[cid] < mutationID) {
310
- clientID = cid;
311
- allAckd = false;
312
- break;
313
- }
314
- }
315
- if (allAckd) {
316
- return;
317
- }
318
- if (clientGroup.disabled) {
319
- lc.debug?.(`Not recovering mutations for client group ${clientGroupID} because group is disabled.`);
320
- return;
321
- }
322
- const stepDescription = `Recovering mutations for client group ${clientGroupID}.`;
323
- lc.debug?.('Start:', stepDescription);
324
- const lazyDagForOtherClientGroup = new LazyStore(perdag, MUTATION_RECOVERY_LAZY_STORE_SOURCE_CHUNK_CACHE_SIZE_LIMIT, throwChunkHasher, assertHash);
325
- try {
326
- await withWrite(lazyDagForOtherClientGroup, write => write.setHead(DEFAULT_HEAD_NAME, clientGroup.headHash));
327
- if (isPushDisabled()) {
328
- lc.debug?.(`Cannot recover mutations for client group ${clientGroupID} because push is disabled.`);
329
- return;
330
- }
331
- const { pusher } = delegate;
332
- const pushDescription = 'recoveringMutationsPush';
333
- const pushSucceeded = await wrapInOnlineCheck(async () => {
334
- const { result: pusherResult } = await wrapInReauthRetries(async (requestID, requestLc) => {
335
- assert(clientID);
336
- assert(lazyDagForOtherClientGroup);
337
- const pusherResult = await push(requestID, lazyDagForOtherClientGroup, requestLc, await delegate.profileID, clientGroupID,
338
- // TODO(DD31): clientID is not needed in DD31. It is currently kept for debugging purpose.
339
- clientID, pusher, database.schemaVersion, PUSH_VERSION_DD31);
340
- return {
341
- result: pusherResult,
342
- httpRequestInfo: pusherResult?.httpRequestInfo,
343
- };
344
- }, pushDescription, lc);
345
- if (!pusherResult) {
346
- return false;
347
- }
348
- const pusherResponse = pusherResult.response;
349
- if (isResponseThatShouldDisableClientGroup(pusherResponse)) {
350
- await disableClientGroup(lc, selfClientGroupID, clientGroupID, pusherResponse, perdag);
351
- return false;
352
- }
353
- return pusherResult.httpRequestInfo.httpStatusCode === 200;
354
- }, pushDescription);
355
- if (!pushSucceeded) {
356
- lc.debug?.(`Failed to recover mutations for client ${clientGroupID} due to a push error.`);
357
- return;
358
- }
359
- if (isPullDisabled()) {
360
- lc.debug?.(`Cannot confirm mutations were recovered for client ${clientGroupID} ` +
361
- `because pull is disabled.`);
362
- return;
363
- }
364
- const { puller } = delegate;
365
- const pullDescription = 'recoveringMutationsPull';
366
- let okPullResponse;
367
- const pullSucceeded = await wrapInOnlineCheck(async () => {
368
- const { result: beginPullResponse } = await wrapInReauthRetries(async (requestID, requestLc) => {
369
- assert(clientID);
370
- const beginPullResponse = await beginPullV1(await delegate.profileID, clientID, clientGroupID, database.schemaVersion, puller, requestID, lazyDagForOtherClientGroup, formatVersion, requestLc, false);
371
- return {
372
- result: beginPullResponse,
373
- httpRequestInfo: beginPullResponse.httpRequestInfo,
374
- };
375
- }, pullDescription, lc);
376
- const { pullResponse } = beginPullResponse;
377
- if (isResponseThatShouldDisableClientGroup(pullResponse)) {
378
- await disableClientGroup(lc, selfClientGroupID, clientGroupID, pullResponse, perdag);
379
- return false;
380
- }
381
- if (!pullResponse ||
382
- beginPullResponse.httpRequestInfo.httpStatusCode !== 200) {
383
- return false;
384
- }
385
- okPullResponse = pullResponse;
386
- return true;
387
- }, pullDescription);
388
- if (!pullSucceeded) {
389
- lc.debug?.(`Failed to recover mutations for client ${clientGroupID} due to a pull error.`);
390
- return;
391
- }
392
- // TODO(arv): Refactor to make pullResponse a const.
393
- // pullResponse must be non undefined because pullSucceeded is true.
394
- assert(okPullResponse);
395
- lc.debug?.(`Client group ${selfClientGroupID} recovered mutations for client group ${clientGroupID}. Details`, {
396
- mutationIDs: clientGroup.mutationIDs,
397
- lastServerAckdMutationIDs: clientGroup.lastServerAckdMutationIDs,
398
- lastMutationIDChanges: okPullResponse.lastMutationIDChanges,
399
- });
400
- return await withWrite(perdag, async (dagWrite) => {
401
- const clientGroups = await getClientGroups(dagWrite);
402
- const clientGroupToUpdate = clientGroups.get(clientGroupID);
403
- if (!clientGroupToUpdate) {
404
- return clientGroups;
405
- }
406
- assert(okPullResponse);
407
- const lastServerAckdMutationIDsUpdates = {};
408
- let anyMutationIDsUpdated = false;
409
- for (const [clientID, lastMutationIDChange] of Object.entries(okPullResponse.lastMutationIDChanges)) {
410
- if ((clientGroupToUpdate.lastServerAckdMutationIDs[clientID] ?? 0) <
411
- lastMutationIDChange) {
412
- lastServerAckdMutationIDsUpdates[clientID] = lastMutationIDChange;
413
- anyMutationIDsUpdated = true;
414
- }
415
- }
416
- if (!anyMutationIDsUpdated) {
417
- return clientGroups;
418
- }
419
- const newClientGroups = new Map(clientGroups).set(clientGroupID, {
420
- ...clientGroupToUpdate,
421
- lastServerAckdMutationIDs: {
422
- ...clientGroupToUpdate.lastServerAckdMutationIDs,
423
- ...lastServerAckdMutationIDsUpdates,
424
- },
425
- });
426
- await setClientGroups(newClientGroups, dagWrite);
427
- return newClientGroups;
428
- });
429
- }
430
- catch (e) {
431
- logMutationRecoveryError(e, lc, stepDescription, delegate);
432
- }
433
- finally {
434
- await lazyDagForOtherClientGroup.close();
435
- lc.debug?.('End:', stepDescription);
436
- }
437
- return;
438
- }
439
- //# sourceMappingURL=mutation-recovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation-recovery.js","sourceRoot":"","sources":["../../../../replicache/src/mutation-recovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAGL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,4BAA4B,IAAI,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AAGpD,OAAO,EAGL,eAAe,EACf,kBAAkB,IAAI,yBAAyB,EAC/C,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAE3D,MAAM,0DAA0D,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ;AA0CzF,MAAM,OAAO,gBAAgB;IAC3B,oBAAoB,GAAG,KAAK,CAAC;IACpB,QAAQ,CAA0B;IAE3C,YAAY,OAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,gBAAuC,EACvC,KAAuB,EACvB,MAAa,EACb,WAA8B,EAC9B,YAA+B,EAC/B,WAAwB;QAExB,MAAM,EAAC,EAAE,EAAE,sBAAsB,EAAE,cAAc,EAAE,QAAQ,EAAC,GAC1D,IAAI,CAAC,QAAQ,CAAC;QAEhB,IACE,CAAC,sBAAsB;YACvB,IAAI,CAAC,oBAAoB;YACzB,CAAC,QAAQ,CAAC,MAAM;YAChB,QAAQ,CAAC,MAAM;YACf,cAAc,EAAE,EAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,eAAe,GAAG,uBAAuB,CAAC;QAChD,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,MAAM,KAAK,CAAC;YACZ,MAAM,0BAA0B,CAC9B,WAAW,EACX,IAAI,CAAC,QAAQ,EACb,MAAM,EACN,gBAAgB,CACjB,CAAC;YACF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;gBACxE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,EAAE,CAAC,KAAK,EAAE,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;oBAC3D,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IACE,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,IAAI;oBACzC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAClC,CAAC;oBACD,QAAQ,QAAQ,CAAC,uBAAuB,EAAE,CAAC;wBACzC,KAAK,aAAa,CAAC,GAAG,CAAC;wBACvB,KAAK,aAAa,CAAC,IAAI,CAAC;wBACxB,KAAK,aAAa,CAAC,EAAE,CAAC;wBACtB,KAAK,aAAa,CAAC,EAAE;4BACnB,MAAM,6BAA6B,CACjC,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,WAAW,CACZ,CAAC;oBACN,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,SAAS,wBAAwB,CAC/B,CAAU,EACV,EAAc,EACd,eAAuB,EACvB,cAAiC;IAEjC,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,EAAE,CAAC,KAAK,EAAE,CACR,wDAAwD,eAAe,YAAY,EACnF,CAAC,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,KAAK,EAAE,CACR,oCAAoC,eAAe,YAAY,EAC/D,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAc,EACd,QAAkB,EAClB,MAAa,EACb,QAA2B,EAC3B,OAAgC,EAChC,aAAiC;IAEjC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/D,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,EACJ,QAAQ,EACR,EAAE,EACF,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,GAAG,OAAO,CAAC;IACZ,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACvC,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACzD,OAAO;IACT,CAAC;IACD,MAAM,eAAe,GAAG,4BAA4B,QAAQ,GAAG,CAAC;IAChE,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CACzC,MAAM,EACN,0DAA0D,EAC1D,gBAAgB,EAChB,UAAU,CACX,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAClD,CAAC;QAEF,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CACR,uCAAuC,QAAQ,4BAA4B,CAC5E,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;QAE1B,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvD,MAAM,EAAC,MAAM,EAAE,YAAY,EAAC,GAAG,MAAM,mBAAmB,CACtD,KAAK,EAAE,SAAiB,EAAE,SAAqB,EAAE,EAAE;gBACjD,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;gBAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,CAC7B,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,MAAM,QAAQ,CAAC,SAAS,EACxB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,CAAC,aAAa,EACtB,gBAAgB,CACjB,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,YAAY;oBACpB,eAAe,EAAE,YAAY,EAAE,eAAe;iBAC/C,CAAC;YACJ,CAAC,EACD,eAAe,EACf,EAAE,CACH,CAAC;YAEF,OAAO,CACL,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,eAAe,CAAC,cAAc,KAAK,GAAG,CACtE,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,EAAE,CAAC,KAAK,EAAE,CACR,0CAA0C,QAAQ,uBAAuB,CAC1E,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CACR,sDAAsD,QAAQ,GAAG;gBAC/D,2BAA2B,CAC9B,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;QAE1B,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAClD,IAAI,YAAwC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvD,MAAM,EAAC,MAAM,EAAE,iBAAiB,EAAC,GAAG,MAAM,mBAAmB,CAC3D,KAAK,EAAE,SAAiB,EAAE,SAAqB,EAAE,EAAE;gBACjD,MAAM,iBAAiB,GAAG,MAAM,WAAW,CACzC,MAAM,QAAQ,CAAC,SAAS,EACxB,QAAQ,EACR,QAAQ,CAAC,aAAa,EACtB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,KAAK,CACN,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,iBAAiB;oBACzB,eAAe,EAAE,iBAAiB,CAAC,eAAe;iBACnD,CAAC;YACJ,CAAC,EACD,eAAe,EACf,EAAE,CACH,CAAC;YACF,CAAC,EAAC,YAAY,EAAC,GAAG,iBAAiB,CAAC,CAAC;YACrC,OAAO,CACL,CAAC,CAAC,YAAY;gBACd,iBAAiB,CAAC,eAAe,CAAC,cAAc,KAAK,GAAG,CACzD,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,EAAE,CAAC,KAAK,EAAE,CACR,0CAA0C,QAAQ,uBAAuB,CAC1E,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,6BAA6B,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,EAAE,CAAC,KAAK,EAAE,CACR,UAAU,YAAY,uCAAuC;oBAC3D,GAAG,QAAQ,8CAA8C,CAC5D,CAAC;YACJ,CAAC;iBAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,EAAE,CAAC,KAAK,EAAE,CACR,wDAAwD,YAAY,CAAC,WAAW,yCAAyC,QAAQ,GAAG,CACrI,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,KAAK,EAAE,CACR,UAAU,YAAY,kCAAkC;oBACtD,GAAG,QAAQ,YAAY,EACzB;oBACE,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;oBACzD,cAAc,EAAE,YAAY,CAAC,cAAc;iBAC5C,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;YAC9C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,cAAc,CAAC,cAAc,CAAC,CAAC;YAE/B,MAAM,aAAa,GAAG,KAAK,EAAE,UAAqB,EAAE,EAAE;gBACpD,MAAM,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACvC,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC;YAEF,IACE,6BAA6B,CAAC,YAAY,CAAC;gBAC3C,oEAAoE;gBACpE,qEAAqE;gBACrE,mCAAmC;gBACnC,6BAA6B,CAAC,YAAY,CAAC,EAC3C,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,CAAC,YAAY,CAAC,CAAC;YACrB,IACE,cAAc,CAAC,wBAAwB,IAAI,YAAY,CAAC,cAAc,EACtE,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAChD,GAAG,cAAc;gBACjB,wBAAwB,EAAE,YAAY,CAAC,cAAc;aACtD,CAAC,CAAC;YACH,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;YAAS,CAAC;QACT,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACpC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtC,CAAC;IACD,OAAO;AACT,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,QAA2B,EAC3B,OAAgC,EAChC,gBAAuC,EACvC,WAAwB;IAExB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,0BAA0B,CAC9B,QAAQ,EACR,OAAO,EACP,MAAM,EACN,gBAAgB,CACjB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,QAA2B,EAC3B,OAAgC,EAChC,MAAa,EACb,gBAAuC;IAEvC,IAAI,QAAQ,CAAC,uBAAuB,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QAC3D,OAAO,8BAA8B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,6BAA6B,CAClC,QAAQ,EACR,OAAO,EACP,MAAM,EACN,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,QAA2B,EAC3B,OAAgC,EAChC,MAAa,EACb,gBAAuC;IAEvC,MAAM,EAAC,QAAQ,EAAE,EAAE,EAAC,GAAG,OAAO,CAAC;IAC/B,MAAM,eAAe,GAAG,gCAAgC,QAAQ,CAAC,IAAI,GAAG,CAAC;IACzE,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC3E,IAAI,SAAS,GACX,gBAAgB,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAY,CAAC;QAC7C,OAAO,SAAS,EAAE,CAAC;YACjB,IAAI,YAAmC,CAAC;YACxC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC3C,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,EAAE,CAAC,KAAK,EAAE,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/B,YAAY,GAAG,MAAM,0BAA0B,CAC7C,MAAM,EACN,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,CACd,CAAC;oBACF,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,QAA2B,EAC3B,OAAgC,EAChC,MAAa;IAEb,MAAM,EAAC,QAAQ,EAAE,EAAE,EAAC,GAAG,OAAO,CAAC;IAC/B,MAAM,eAAe,GAAG,gCAAgC,QAAQ,CAAC,IAAI,GAAG,CAAC;IACzE,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC3E,IAAI,YAAY,GAA+B,MAAM,QAAQ,CAC3D,MAAM,EACN,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAC9B,CAAC;QACF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAiB,CAAC;QACvD,OAAO,YAAY,EAAE,CAAC;YACpB,IAAI,eAA2C,CAAC;YAChD,KAAK,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;gBACxD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,EAAE,CAAC,KAAK,EAAE,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC9C,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACzC,eAAe,GAAG,MAAM,iCAAiC,CACvD,WAAW,EACX,aAAa,EACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,CACd,CAAC;oBACF,IAAI,eAAe,EAAE,CAAC;wBACpB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,YAAY,GAAG,eAAe,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,sCAAsC,CAC7C,QAAmD;IAEnD,OAAO,CACL,6BAA6B,CAAC,QAAQ,CAAC;QACvC,6BAA6B,CAAC,QAAQ,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAAc,EACd,iBAAyB,EACzB,aAAqB,EACrB,QAAmE,EACnE,MAAa;IAEb,IAAI,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,EAAE,CAAC,KAAK,EAAE,CACR,gBAAgB,iBAAiB,8CAA8C,aAAa,sEAAsE,CACnK,CAAC;IACJ,CAAC;SAAM,IAAI,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,EAAE,CAAC,KAAK,EAAE,CACR,gBAAgB,iBAAiB,8CAA8C,aAAa,6EAA6E,QAAQ,CAAC,WAAW,2BAA2B,CACzN,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,oEAAoE;IACpE,YAAY;IACZ,MAAM,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CACpC,yBAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CACtD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iCAAiC,CAC9C,WAAwB,EACxB,aAA4B,EAC5B,MAAa,EACb,QAA2B,EAC3B,OAAgC,EAChC,aAAiC;IAEjC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAE/D,MAAM,EACJ,QAAQ,EACR,EAAE,EACF,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,GAAG,OAAO,CAAC;IAEZ,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;IACrD,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACtC,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,QAA8B,CAAC;IAEnC,sDAAsD;IACtD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QACxE,+EAA+E;QAC/E,IACE,CAAC,WAAW,CAAC,yBAAyB,CAAC,GAAG,CAAC;YAC3C,WAAW,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,UAAU,EACvD,CAAC;YACD,QAAQ,GAAG,GAAG,CAAC;YACf,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,EAAE,CAAC,KAAK,EAAE,CACR,6CAA6C,aAAa,6BAA6B,CACxF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,yCAAyC,aAAa,GAAG,CAAC;IAClF,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CAC9C,MAAM,EACN,0DAA0D,EAC1D,gBAAgB,EAChB,UAAU,CACX,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAClD,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAAC,CACvD,CAAC;QAEF,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CACR,6CAA6C,aAAa,4BAA4B,CACvF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;QAE1B,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvD,MAAM,EAAC,MAAM,EAAE,YAAY,EAAC,GAAG,MAAM,mBAAmB,CACtD,KAAK,EAAE,SAAiB,EAAE,SAAqB,EAAE,EAAE;gBACjD,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjB,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBACnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAC7B,SAAS,EACT,0BAA0B,EAC1B,SAAS,EACT,MAAM,QAAQ,CAAC,SAAS,EACxB,aAAa;gBACb,0FAA0F;gBAC1F,QAAQ,EACR,MAAM,EACN,QAAQ,CAAC,aAAa,EACtB,iBAAiB,CAClB,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,YAAY;oBACpB,eAAe,EAAE,YAAY,EAAE,eAAe;iBAC/C,CAAC;YACJ,CAAC,EACD,eAAe,EACf,EAAE,CACH,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC;YAC7C,IAAI,sCAAsC,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3D,MAAM,kBAAkB,CACtB,EAAE,EACF,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,CACP,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,YAAY,CAAC,eAAe,CAAC,cAAc,KAAK,GAAG,CAAC;QAC7D,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,EAAE,CAAC,KAAK,EAAE,CACR,0CAA0C,aAAa,uBAAuB,CAC/E,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CACR,sDAAsD,aAAa,GAAG;gBACpE,2BAA2B,CAC9B,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;QAE1B,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAClD,IAAI,cAA4C,CAAC;QACjD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvD,MAAM,EAAC,MAAM,EAAE,iBAAiB,EAAC,GAAG,MAAM,mBAAmB,CAC3D,KAAK,EAAE,SAAiB,EAAE,SAAqB,EAAE,EAAE;gBACjD,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjB,MAAM,iBAAiB,GAAG,MAAM,WAAW,CACzC,MAAM,QAAQ,CAAC,SAAS,EACxB,QAAQ,EACR,aAAa,EACb,QAAQ,CAAC,aAAa,EACtB,MAAM,EACN,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,KAAK,CACN,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,iBAAiB;oBACzB,eAAe,EAAE,iBAAiB,CAAC,eAAe;iBACnD,CAAC;YACJ,CAAC,EACD,eAAe,EACf,EAAE,CACH,CAAC;YACF,MAAM,EAAC,YAAY,EAAC,GAAG,iBAAiB,CAAC;YACzC,IAAI,sCAAsC,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzD,MAAM,kBAAkB,CACtB,EAAE,EACF,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,MAAM,CACP,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IACE,CAAC,YAAY;gBACb,iBAAiB,CAAC,eAAe,CAAC,cAAc,KAAK,GAAG,EACxD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,cAAc,GAAG,YAAY,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,EAAE,CAAC,KAAK,EAAE,CACR,0CAA0C,aAAa,uBAAuB,CAC/E,CAAC;YACF,OAAO;QACT,CAAC;QAED,oDAAoD;QACpD,oEAAoE;QACpE,MAAM,CAAC,cAAc,CAAC,CAAC;QACvB,EAAE,CAAC,KAAK,EAAE,CACR,gBAAgB,iBAAiB,yCAAyC,aAAa,YAAY,EACnG;YACE,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,yBAAyB,EAAE,WAAW,CAAC,yBAAyB;YAChE,qBAAqB,EAAE,cAAc,CAAC,qBAAqB;SAC5D,CACF,CAAC;QAEF,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;YAC9C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,cAAc,CAAC,CAAC;YACvB,MAAM,gCAAgC,GAA6B,EAAE,CAAC;YACtE,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,KAAK,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,MAAM,CAAC,OAAO,CAC3D,cAAc,CAAC,qBAAqB,CACrC,EAAE,CAAC;gBACF,IACE,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC9D,oBAAoB,EACpB,CAAC;oBACD,gCAAgC,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC;oBAClE,qBAAqB,GAAG,IAAI,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE;gBAC/D,GAAG,mBAAmB;gBACtB,yBAAyB,EAAE;oBACzB,GAAG,mBAAmB,CAAC,yBAAyB;oBAChD,GAAG,gCAAgC;iBACpC;aACF,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACjD,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;YAAS,CAAC;QACT,MAAM,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACzC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtC,CAAC;IACD,OAAO;AACT,CAAC"}
@@ -1,77 +0,0 @@
1
- import { BroadcastChannel } from './broadcast-channel.js';
2
- import { getClientGroup } from './persist/client-groups.js';
3
- import { withRead } from './with-transactions.js';
4
- // Older clients (<= replicache@13.0.1), listened on this channel name
5
- // and *asserted* that the messages received were an array containing exactly
6
- // one string.
7
- function makeChannelNameV0(replicacheName) {
8
- return `replicache-new-client-group:${replicacheName}`;
9
- }
10
- // This channel name was introduced when we first needed to change the message
11
- // format. The design of the messages sent on this channel allows for
12
- // the message content to be extended in the future in a way that is
13
- // forward and backwards compatible. The message format can be extended
14
- // by adding new *optional* fields.
15
- function makeChannelNameV1(replicacheName) {
16
- return `replicache-new-client-group-v1:${replicacheName}`;
17
- }
18
- export { makeChannelNameV0 as makeChannelNameV0ForTesting, makeChannelNameV1 as makeChannelNameV1ForTesting, };
19
- function isNewClientChannelMessageV1(message) {
20
- return (typeof message === 'object' &&
21
- typeof message.clientGroupID === 'string' &&
22
- typeof message.idbName === 'string');
23
- }
24
- export function initNewClientChannel(replicacheName, idbName, signal, clientGroupID, isNewClientGroup, onUpdateNeeded, perdag) {
25
- if (signal.aborted) {
26
- return;
27
- }
28
- const channelV1 = new BroadcastChannel(makeChannelNameV1(replicacheName));
29
- if (isNewClientGroup) {
30
- channelV1.postMessage({ clientGroupID, idbName });
31
- // Send expected format to V0 channel for old clients.
32
- const channelV0 = new BroadcastChannel(makeChannelNameV0(replicacheName));
33
- channelV0.postMessage([clientGroupID]);
34
- channelV0.close();
35
- }
36
- channelV1.onmessage = async (e) => {
37
- const { data } = e;
38
- if (isNewClientChannelMessageV1(data)) {
39
- const { clientGroupID: newClientGroupID, idbName: newClientIDBName } = data;
40
- if (newClientGroupID !== clientGroupID) {
41
- if (newClientIDBName === idbName) {
42
- // Check if this client can see the new client's newClientGroupID in its
43
- // perdag. It should be able to if the clients share persistent
44
- // storage. However, with `ReplicacheOption.kvStore`
45
- // and `IDBStoreWithMemFallback` clients may not actually share
46
- // persistent storage. If storage is not shared, then there is no point
47
- // in updating, since clients cannot sync locally. If clients do update
48
- // in this case, they can continually cause each other to update, since
49
- // on each update the clients get assigned a new client group.
50
- const updateNeeded = await withRead(perdag, async (perdagRead) => (await getClientGroup(newClientGroupID, perdagRead)) !==
51
- undefined);
52
- if (updateNeeded) {
53
- onUpdateNeeded();
54
- }
55
- }
56
- else {
57
- // Idb name is different, indicating new schema or format version.
58
- // Update to get assigned to newClientIDBName, and hopefully
59
- // newClientGroupID.
60
- // If storage is not actually shared (i.e. due to
61
- // `ReplicacheOption.kvStore`
62
- // or `IDBStoreWithMemFallback`) the new client will not
63
- // get assigned to newClientGroupID, but should get the
64
- // newClientIDBName.
65
- // Note: we don't try to read from newClientIDBName to see
66
- // if this client shares storage with the new client, because
67
- // the newClientIDBName may have a format version this client
68
- // cannot read.
69
- onUpdateNeeded();
70
- return;
71
- }
72
- }
73
- }
74
- };
75
- signal.addEventListener('abort', () => channelV1.close(), { once: true });
76
- }
77
- //# sourceMappingURL=new-client-channel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-client-channel.js","sourceRoot":"","sources":["../../../../replicache/src/new-client-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,sEAAsE;AACtE,6EAA6E;AAC7E,cAAc;AACd,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,OAAO,+BAA+B,cAAc,EAAE,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,sEAAsE;AACtE,oEAAoE;AACpE,wEAAwE;AACxE,mCAAmC;AACnC,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,OAAO,kCAAkC,cAAc,EAAE,CAAC;AAC5D,CAAC;AAED,OAAO,EACL,iBAAiB,IAAI,2BAA2B,EAChD,iBAAiB,IAAI,2BAA2B,GACjD,CAAC;AAKF,SAAS,2BAA2B,CAClC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAQ,OAAoC,CAAC,aAAa,KAAK,QAAQ;QACvE,OAAQ,OAA8B,CAAC,OAAO,KAAK,QAAQ,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAsB,EACtB,OAAe,EACf,MAAmB,EACnB,aAAqB,EACrB,gBAAyB,EACzB,cAA0B,EAC1B,MAAa;IAEb,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1E,IAAI,gBAAgB,EAAE,CAAC;QACrB,SAAS,CAAC,WAAW,CAAC,EAAC,aAAa,EAAE,OAAO,EAAC,CAAC,CAAC;QAChD,sDAAsD;QACtD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1E,SAAS,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACvC,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,SAAS,GAAG,KAAK,EAAE,CAAe,EAAE,EAAE;QAC9C,MAAM,EAAC,IAAI,EAAC,GAAG,CAAC,CAAC;QACjB,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,EAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAC,GAAG,IAAI,CAAC;YAC1E,IAAI,gBAAgB,KAAK,aAAa,EAAE,CAAC;gBACvC,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;oBACjC,wEAAwE;oBACxE,+DAA+D;oBAC/D,oDAAoD;oBACpD,+DAA+D;oBAC/D,wEAAwE;oBACxE,wEAAwE;oBACxE,uEAAuE;oBACvE,8DAA8D;oBAC9D,MAAM,YAAY,GAAG,MAAM,QAAQ,CACjC,MAAM,EACN,KAAK,EAAE,UAAgB,EAAE,EAAE,CACzB,CAAC,MAAM,cAAc,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;wBACpD,SAAS,CACZ,CAAC;oBACF,IAAI,YAAY,EAAE,CAAC;wBACjB,cAAc,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kEAAkE;oBAClE,4DAA4D;oBAC5D,oBAAoB;oBACpB,iDAAiD;oBACjD,6BAA6B;oBAC7B,wDAAwD;oBACxD,uDAAuD;oBACvD,oBAAoB;oBACpB,0DAA0D;oBAC1D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,eAAe;oBACf,cAAc,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,33 +0,0 @@
1
- import { assertObject, assertString } from '../../shared/src/asserts.js';
2
- import { BroadcastChannel } from './broadcast-channel.js';
3
- function makeChannelName(replicacheName) {
4
- return `replicache-on-persist:${replicacheName}`;
5
- }
6
- function assertPersistInfo(value) {
7
- assertObject(value);
8
- assertString(value.clientGroupID);
9
- assertString(value.clientID);
10
- }
11
- export function initOnPersistChannel(replicacheName, signal, handlePersist) {
12
- if (signal.aborted) {
13
- return () => undefined;
14
- }
15
- const channel = new BroadcastChannel(makeChannelName(replicacheName));
16
- channel.onmessage = e => {
17
- const { data } = e;
18
- assertPersistInfo(data);
19
- handlePersist({
20
- clientGroupID: data.clientGroupID,
21
- clientID: data.clientID,
22
- });
23
- };
24
- signal.addEventListener('abort', () => channel.close(), { once: true });
25
- return (persistInfo) => {
26
- if (signal.aborted) {
27
- return;
28
- }
29
- channel.postMessage(persistInfo);
30
- handlePersist(persistInfo);
31
- };
32
- }
33
- //# sourceMappingURL=on-persist-channel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"on-persist-channel.js","sourceRoot":"","sources":["../../../../replicache/src/on-persist-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAGxD,SAAS,eAAe,CAAC,cAAsB;IAC7C,OAAO,yBAAyB,cAAc,EAAE,CAAC;AACnD,CAAC;AAWD,SAAS,iBAAiB,CAAC,KAAc;IACvC,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAsB,EACtB,MAAmB,EACnB,aAA4B;IAE5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;IAEtE,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;QACtB,MAAM,EAAC,IAAI,EAAC,GAAG,CAAC,CAAC;QACjB,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,aAAa,CAAC;YACZ,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAEtE,OAAO,CAAC,WAAwB,EAAE,EAAE;QAClC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC"}
@@ -1,37 +0,0 @@
1
- import { assertArray, assertObject, assertString, } from '../../shared/src/asserts.js';
2
- import { assertJSONObject, assertJSONValue, } from '../../shared/src/json.js';
3
- export function assertPatchOperations(p) {
4
- assertArray(p);
5
- for (const item of p) {
6
- assertPatchOperation(item);
7
- }
8
- }
9
- function assertPatchOperation(p) {
10
- assertObject(p);
11
- switch (p.op) {
12
- case 'put':
13
- assertString(p.key);
14
- assertJSONValue(p.value);
15
- break;
16
- case 'update':
17
- assertString(p.key);
18
- if (p.merge !== undefined) {
19
- assertJSONObject(p.merge);
20
- }
21
- if (p.constrain !== undefined) {
22
- assertArray(p.constrain);
23
- for (const key of p.constrain) {
24
- assertString(key);
25
- }
26
- }
27
- break;
28
- case 'del':
29
- assertString(p.key);
30
- break;
31
- case 'clear':
32
- break;
33
- default:
34
- throw new Error(`unknown patch op \`${p.op}\`, expected one of \`put\`, \`del\`, \`clear\``);
35
- }
36
- }
37
- //# sourceMappingURL=patch-operation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patch-operation.js","sourceRoot":"","sources":["../../../../replicache/src/patch-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAwClC,MAAM,UAAU,qBAAqB,CACnC,CAAU;IAEV,WAAW,CAAC,CAAC,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAU;IACtC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,KAAK;YACR,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzB,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1B,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC9B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC9B,YAAY,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,MAAM;QACR,KAAK,KAAK;YACR,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CACb,sBAAsB,CAAC,CAAC,EAAE,iDAAiD,CAC5E,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -1,18 +0,0 @@
1
- import { mustGetHeadHash } from './dag/store.js';
2
- import { DEFAULT_HEAD_NAME, localMutationsDD31 } from './db/commit.js';
3
- /**
4
- * This returns the pending changes with the oldest mutations first.
5
- */
6
- export async function pendingMutationsForAPI(dagRead) {
7
- const mainHeadHash = await mustGetHeadHash(DEFAULT_HEAD_NAME, dagRead);
8
- const pending = await localMutationsDD31(mainHeadHash, dagRead);
9
- return pending
10
- .map(p => ({
11
- id: p.meta.mutationID,
12
- name: p.meta.mutatorName,
13
- args: p.meta.mutatorArgsJSON,
14
- clientID: p.meta.clientID,
15
- }))
16
- .reverse();
17
- }
18
- //# sourceMappingURL=pending-mutations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pending-mutations.js","sourceRoot":"","sources":["../../../../replicache/src/pending-mutations.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAY,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAUrE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAa;IAEb,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACT,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;QACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;QACxB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe;QAC5B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;KAC1B,CAAC,CAAC;SACF,OAAO,EAAE,CAAC;AACf,CAAC"}