@multiplatform.one/frappe 6.0.4 → 6.3.0

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 (792) hide show
  1. package/README.md +38 -12
  2. package/dist/cjs/auth.cjs +1 -1
  3. package/dist/cjs/auth.native.js.map +1 -1
  4. package/dist/cjs/call.cjs +1 -1
  5. package/dist/cjs/call.native.js.map +1 -1
  6. package/dist/cjs/collection.cjs +18 -4
  7. package/dist/cjs/collection.native.js +18 -4
  8. package/dist/cjs/collection.native.js.map +1 -1
  9. package/dist/cjs/core/http.cjs +92 -9
  10. package/dist/cjs/core/http.native.js +96 -7
  11. package/dist/cjs/core/http.native.js.map +1 -1
  12. package/dist/cjs/db.cjs +7 -7
  13. package/dist/cjs/db.native.js +4 -4
  14. package/dist/cjs/db.native.js.map +1 -1
  15. package/dist/cjs/doctype.cjs +97 -39
  16. package/dist/cjs/doctype.native.js +116 -46
  17. package/dist/cjs/doctype.native.js.map +1 -1
  18. package/dist/cjs/file.cjs +1 -1
  19. package/dist/cjs/file.native.js.map +1 -1
  20. package/dist/cjs/fixtureDb.cjs +3 -2
  21. package/dist/cjs/fixtureDb.native.js +2 -1
  22. package/dist/cjs/fixtureDb.native.js.map +1 -1
  23. package/dist/cjs/frappeApp.cjs +15 -14
  24. package/dist/cjs/frappeApp.native.js +16 -14
  25. package/dist/cjs/frappeApp.native.js.map +1 -1
  26. package/dist/cjs/frappeReact.cjs +198 -18
  27. package/dist/cjs/frappeReact.native.js +241 -18
  28. package/dist/cjs/frappeReact.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +9 -4
  30. package/dist/cjs/index.native.js +9 -4
  31. package/dist/cjs/index.native.js.map +1 -1
  32. package/dist/cjs/pacer.cjs +2 -2
  33. package/dist/cjs/pacer.native.js +2 -2
  34. package/dist/cjs/pacer.native.js.map +1 -1
  35. package/dist/cjs/realtime.cjs +186 -46
  36. package/dist/cjs/realtime.native.js +268 -48
  37. package/dist/cjs/realtime.native.js.map +1 -1
  38. package/dist/cjs/sync/backfill.cjs +32 -27
  39. package/dist/cjs/sync/backfill.native.js +49 -43
  40. package/dist/cjs/sync/backfill.native.js.map +1 -1
  41. package/dist/cjs/sync/index.cjs +90 -24
  42. package/dist/cjs/sync/index.native.js +112 -10
  43. package/dist/cjs/sync/index.native.js.map +1 -1
  44. package/dist/cjs/sync/merge.cjs +0 -3
  45. package/dist/cjs/sync/merge.native.js +0 -3
  46. package/dist/cjs/sync/merge.native.js.map +1 -1
  47. package/dist/cjs/sync/mutationEngine.cjs +25 -19
  48. package/dist/cjs/sync/mutationEngine.native.js +16 -13
  49. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  50. package/dist/cjs/sync/mutationJournal.cjs +9 -4
  51. package/dist/cjs/sync/mutationJournal.native.js +7 -4
  52. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  53. package/dist/cjs/sync/normalizedCache.cjs +7 -3
  54. package/dist/cjs/sync/normalizedCache.native.js +7 -2
  55. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  56. package/dist/cjs/sync/persistence.cjs +63 -31
  57. package/dist/cjs/sync/persistence.native.js +120 -63
  58. package/dist/cjs/sync/persistence.native.js.map +1 -1
  59. package/dist/cjs/sync/realtime.cjs +124 -13
  60. package/dist/cjs/sync/realtime.native.js +163 -20
  61. package/dist/cjs/sync/realtime.native.js.map +1 -1
  62. package/dist/cjs/sync/rehydration.cjs +16 -10
  63. package/dist/cjs/sync/rehydration.native.js +16 -14
  64. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  65. package/dist/cjs/sync/storage.cjs +3 -3
  66. package/dist/cjs/sync/storage.native.js +1 -1
  67. package/dist/cjs/sync/storage.native.js.map +1 -1
  68. package/dist/cjs/sync/subscriptionManager.cjs +255 -65
  69. package/dist/cjs/sync/subscriptionManager.native.js +330 -93
  70. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  71. package/dist/cjs/sync/types.cjs +2 -0
  72. package/dist/cjs/sync/types.native.js +2 -0
  73. package/dist/cjs/sync/types.native.js.map +1 -1
  74. package/dist/cjs/sync/virtualPageManager.cjs +9 -9
  75. package/dist/cjs/sync/virtualPageManager.native.js +5 -9
  76. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  77. package/dist/cjs/useLiveQuery.cjs +52 -0
  78. package/dist/cjs/useLiveQuery.native.js +59 -0
  79. package/dist/cjs/useLiveQuery.native.js.map +1 -0
  80. package/dist/cjs/util.cjs +11 -2
  81. package/dist/cjs/util.native.js +16 -2
  82. package/dist/cjs/util.native.js.map +1 -1
  83. package/dist/esm/auth.mjs +1 -1
  84. package/dist/esm/auth.mjs.map +1 -1
  85. package/dist/esm/auth.native.js.map +1 -1
  86. package/dist/esm/call.mjs +1 -1
  87. package/dist/esm/call.mjs.map +1 -1
  88. package/dist/esm/call.native.js.map +1 -1
  89. package/dist/esm/collection.mjs +18 -4
  90. package/dist/esm/collection.mjs.map +1 -1
  91. package/dist/esm/collection.native.js +18 -4
  92. package/dist/esm/collection.native.js.map +1 -1
  93. package/dist/esm/core/http.mjs +93 -10
  94. package/dist/esm/core/http.mjs.map +1 -1
  95. package/dist/esm/core/http.native.js +97 -8
  96. package/dist/esm/core/http.native.js.map +1 -1
  97. package/dist/esm/db.mjs +7 -7
  98. package/dist/esm/db.mjs.map +1 -1
  99. package/dist/esm/db.native.js +4 -4
  100. package/dist/esm/db.native.js.map +1 -1
  101. package/dist/esm/doctype.mjs +96 -39
  102. package/dist/esm/doctype.mjs.map +1 -1
  103. package/dist/esm/doctype.native.js +115 -46
  104. package/dist/esm/doctype.native.js.map +1 -1
  105. package/dist/esm/file.mjs +1 -1
  106. package/dist/esm/file.mjs.map +1 -1
  107. package/dist/esm/file.native.js.map +1 -1
  108. package/dist/esm/fixtureDb.mjs +3 -2
  109. package/dist/esm/fixtureDb.mjs.map +1 -1
  110. package/dist/esm/fixtureDb.native.js +2 -1
  111. package/dist/esm/fixtureDb.native.js.map +1 -1
  112. package/dist/esm/frappeApp.mjs +15 -14
  113. package/dist/esm/frappeApp.mjs.map +1 -1
  114. package/dist/esm/frappeApp.native.js +16 -14
  115. package/dist/esm/frappeApp.native.js.map +1 -1
  116. package/dist/esm/frappeReact.mjs +197 -19
  117. package/dist/esm/frappeReact.mjs.map +1 -1
  118. package/dist/esm/frappeReact.native.js +240 -19
  119. package/dist/esm/frappeReact.native.js.map +1 -1
  120. package/dist/esm/index.mjs +5 -4
  121. package/dist/esm/index.mjs.map +1 -1
  122. package/dist/esm/index.native.js +5 -4
  123. package/dist/esm/index.native.js.map +1 -1
  124. package/dist/esm/pacer.mjs +1 -1
  125. package/dist/esm/pacer.native.js +1 -1
  126. package/dist/esm/realtime.mjs +187 -47
  127. package/dist/esm/realtime.mjs.map +1 -1
  128. package/dist/esm/realtime.native.js +269 -49
  129. package/dist/esm/realtime.native.js.map +1 -1
  130. package/dist/esm/sync/backfill.mjs +32 -27
  131. package/dist/esm/sync/backfill.mjs.map +1 -1
  132. package/dist/esm/sync/backfill.native.js +49 -43
  133. package/dist/esm/sync/backfill.native.js.map +1 -1
  134. package/dist/esm/sync/index.mjs +90 -24
  135. package/dist/esm/sync/index.mjs.map +1 -1
  136. package/dist/esm/sync/index.native.js +112 -10
  137. package/dist/esm/sync/index.native.js.map +1 -1
  138. package/dist/esm/sync/merge.mjs +1 -1
  139. package/dist/esm/sync/merge.mjs.map +1 -1
  140. package/dist/esm/sync/merge.native.js +1 -1
  141. package/dist/esm/sync/merge.native.js.map +1 -1
  142. package/dist/esm/sync/mutationEngine.mjs +25 -19
  143. package/dist/esm/sync/mutationEngine.mjs.map +1 -1
  144. package/dist/esm/sync/mutationEngine.native.js +16 -13
  145. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  146. package/dist/esm/sync/mutationJournal.mjs +9 -4
  147. package/dist/esm/sync/mutationJournal.mjs.map +1 -1
  148. package/dist/esm/sync/mutationJournal.native.js +7 -4
  149. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  150. package/dist/esm/sync/normalizedCache.mjs +7 -3
  151. package/dist/esm/sync/normalizedCache.mjs.map +1 -1
  152. package/dist/esm/sync/normalizedCache.native.js +7 -2
  153. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  154. package/dist/esm/sync/persistence.mjs +64 -32
  155. package/dist/esm/sync/persistence.mjs.map +1 -1
  156. package/dist/esm/sync/persistence.native.js +121 -64
  157. package/dist/esm/sync/persistence.native.js.map +1 -1
  158. package/dist/esm/sync/realtime.mjs +124 -13
  159. package/dist/esm/sync/realtime.mjs.map +1 -1
  160. package/dist/esm/sync/realtime.native.js +163 -20
  161. package/dist/esm/sync/realtime.native.js.map +1 -1
  162. package/dist/esm/sync/rehydration.mjs +16 -10
  163. package/dist/esm/sync/rehydration.mjs.map +1 -1
  164. package/dist/esm/sync/rehydration.native.js +16 -14
  165. package/dist/esm/sync/rehydration.native.js.map +1 -1
  166. package/dist/esm/sync/storage.mjs +3 -3
  167. package/dist/esm/sync/storage.mjs.map +1 -1
  168. package/dist/esm/sync/storage.native.js +1 -1
  169. package/dist/esm/sync/storage.native.js.map +1 -1
  170. package/dist/esm/sync/subscriptionManager.mjs +255 -65
  171. package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
  172. package/dist/esm/sync/subscriptionManager.native.js +330 -93
  173. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  174. package/dist/esm/sync/types.mjs +2 -0
  175. package/dist/esm/sync/types.mjs.map +1 -1
  176. package/dist/esm/sync/types.native.js +2 -0
  177. package/dist/esm/sync/types.native.js.map +1 -1
  178. package/dist/esm/sync/virtualPageManager.mjs +9 -9
  179. package/dist/esm/sync/virtualPageManager.mjs.map +1 -1
  180. package/dist/esm/sync/virtualPageManager.native.js +5 -9
  181. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  182. package/dist/esm/useLiveQuery.mjs +26 -0
  183. package/dist/esm/useLiveQuery.mjs.map +1 -0
  184. package/dist/esm/useLiveQuery.native.js +30 -0
  185. package/dist/esm/useLiveQuery.native.js.map +1 -0
  186. package/dist/esm/util.mjs +11 -3
  187. package/dist/esm/util.mjs.map +1 -1
  188. package/dist/esm/util.native.js +16 -3
  189. package/dist/esm/util.native.js.map +1 -1
  190. package/dist/jsx/auth.mjs +1 -1
  191. package/dist/jsx/auth.mjs.map +1 -1
  192. package/dist/jsx/auth.native.js.map +1 -1
  193. package/dist/jsx/call.mjs +1 -1
  194. package/dist/jsx/call.mjs.map +1 -1
  195. package/dist/jsx/call.native.js.map +1 -1
  196. package/dist/jsx/collection.mjs +18 -4
  197. package/dist/jsx/collection.mjs.map +1 -1
  198. package/dist/jsx/collection.native.js +18 -4
  199. package/dist/jsx/collection.native.js.map +1 -1
  200. package/dist/jsx/core/http.mjs +93 -10
  201. package/dist/jsx/core/http.mjs.map +1 -1
  202. package/dist/jsx/core/http.native.js +96 -7
  203. package/dist/jsx/core/http.native.js.map +1 -1
  204. package/dist/jsx/db.mjs +7 -7
  205. package/dist/jsx/db.mjs.map +1 -1
  206. package/dist/jsx/db.native.js +4 -4
  207. package/dist/jsx/db.native.js.map +1 -1
  208. package/dist/jsx/doctype.mjs +96 -39
  209. package/dist/jsx/doctype.mjs.map +1 -1
  210. package/dist/jsx/doctype.native.js +116 -46
  211. package/dist/jsx/doctype.native.js.map +1 -1
  212. package/dist/jsx/file.mjs +1 -1
  213. package/dist/jsx/file.mjs.map +1 -1
  214. package/dist/jsx/file.native.js.map +1 -1
  215. package/dist/jsx/fixtureDb.mjs +3 -2
  216. package/dist/jsx/fixtureDb.mjs.map +1 -1
  217. package/dist/jsx/fixtureDb.native.js +2 -1
  218. package/dist/jsx/fixtureDb.native.js.map +1 -1
  219. package/dist/jsx/frappeApp.mjs +15 -14
  220. package/dist/jsx/frappeApp.mjs.map +1 -1
  221. package/dist/jsx/frappeApp.native.js +16 -14
  222. package/dist/jsx/frappeApp.native.js.map +1 -1
  223. package/dist/jsx/frappeReact.mjs +197 -19
  224. package/dist/jsx/frappeReact.mjs.map +1 -1
  225. package/dist/jsx/frappeReact.native.js +241 -18
  226. package/dist/jsx/frappeReact.native.js.map +1 -1
  227. package/dist/jsx/index.js +5 -4
  228. package/dist/jsx/index.js.map +1 -1
  229. package/dist/jsx/index.mjs +5 -4
  230. package/dist/jsx/index.mjs.map +1 -1
  231. package/dist/jsx/index.native.js +9 -4
  232. package/dist/jsx/index.native.js.map +1 -1
  233. package/dist/jsx/pacer.mjs +1 -1
  234. package/dist/jsx/pacer.native.js +2 -2
  235. package/dist/jsx/pacer.native.js.map +1 -1
  236. package/dist/jsx/realtime.mjs +187 -47
  237. package/dist/jsx/realtime.mjs.map +1 -1
  238. package/dist/jsx/realtime.native.js +268 -48
  239. package/dist/jsx/realtime.native.js.map +1 -1
  240. package/dist/jsx/sync/backfill.mjs +32 -27
  241. package/dist/jsx/sync/backfill.mjs.map +1 -1
  242. package/dist/jsx/sync/backfill.native.js +49 -43
  243. package/dist/jsx/sync/backfill.native.js.map +1 -1
  244. package/dist/jsx/sync/index.mjs +90 -24
  245. package/dist/jsx/sync/index.mjs.map +1 -1
  246. package/dist/jsx/sync/index.native.js +112 -10
  247. package/dist/jsx/sync/index.native.js.map +1 -1
  248. package/dist/jsx/sync/merge.mjs +1 -1
  249. package/dist/jsx/sync/merge.mjs.map +1 -1
  250. package/dist/jsx/sync/merge.native.js +0 -3
  251. package/dist/jsx/sync/merge.native.js.map +1 -1
  252. package/dist/jsx/sync/mutationEngine.mjs +25 -19
  253. package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
  254. package/dist/jsx/sync/mutationEngine.native.js +16 -13
  255. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  256. package/dist/jsx/sync/mutationJournal.mjs +9 -4
  257. package/dist/jsx/sync/mutationJournal.mjs.map +1 -1
  258. package/dist/jsx/sync/mutationJournal.native.js +7 -4
  259. package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
  260. package/dist/jsx/sync/normalizedCache.mjs +7 -3
  261. package/dist/jsx/sync/normalizedCache.mjs.map +1 -1
  262. package/dist/jsx/sync/normalizedCache.native.js +7 -2
  263. package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
  264. package/dist/jsx/sync/persistence.mjs +64 -32
  265. package/dist/jsx/sync/persistence.mjs.map +1 -1
  266. package/dist/jsx/sync/persistence.native.js +120 -63
  267. package/dist/jsx/sync/persistence.native.js.map +1 -1
  268. package/dist/jsx/sync/realtime.mjs +124 -13
  269. package/dist/jsx/sync/realtime.mjs.map +1 -1
  270. package/dist/jsx/sync/realtime.native.js +163 -20
  271. package/dist/jsx/sync/realtime.native.js.map +1 -1
  272. package/dist/jsx/sync/rehydration.mjs +16 -10
  273. package/dist/jsx/sync/rehydration.mjs.map +1 -1
  274. package/dist/jsx/sync/rehydration.native.js +16 -14
  275. package/dist/jsx/sync/rehydration.native.js.map +1 -1
  276. package/dist/jsx/sync/storage.mjs +3 -3
  277. package/dist/jsx/sync/storage.mjs.map +1 -1
  278. package/dist/jsx/sync/storage.native.js +1 -1
  279. package/dist/jsx/sync/storage.native.js.map +1 -1
  280. package/dist/jsx/sync/subscriptionManager.mjs +255 -65
  281. package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
  282. package/dist/jsx/sync/subscriptionManager.native.js +330 -93
  283. package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
  284. package/dist/jsx/sync/types.mjs +2 -0
  285. package/dist/jsx/sync/types.mjs.map +1 -1
  286. package/dist/jsx/sync/types.native.js +2 -0
  287. package/dist/jsx/sync/types.native.js.map +1 -1
  288. package/dist/jsx/sync/virtualPageManager.mjs +9 -9
  289. package/dist/jsx/sync/virtualPageManager.mjs.map +1 -1
  290. package/dist/jsx/sync/virtualPageManager.native.js +5 -9
  291. package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
  292. package/dist/jsx/useLiveQuery.mjs +26 -0
  293. package/dist/jsx/useLiveQuery.mjs.map +1 -0
  294. package/dist/jsx/useLiveQuery.native.js +59 -0
  295. package/dist/jsx/useLiveQuery.native.js.map +1 -0
  296. package/dist/jsx/util.mjs +11 -3
  297. package/dist/jsx/util.mjs.map +1 -1
  298. package/dist/jsx/util.native.js +16 -2
  299. package/dist/jsx/util.native.js.map +1 -1
  300. package/package.json +20 -17
  301. package/src/auth.ts +5 -1
  302. package/src/call.ts +5 -1
  303. package/src/collection.spec.ts +55 -0
  304. package/src/collection.ts +33 -4
  305. package/src/core/http.spec.ts +66 -0
  306. package/src/core/http.ts +115 -9
  307. package/src/core/httpNative.spec.ts +234 -0
  308. package/src/core/types.ts +2 -0
  309. package/src/db.spec.ts +91 -51
  310. package/src/db.ts +27 -8
  311. package/src/doctype.spec.ts +247 -39
  312. package/src/doctype.ts +203 -53
  313. package/src/file.ts +5 -1
  314. package/src/fixtureDb.ts +13 -2
  315. package/src/frappeApp.ts +18 -19
  316. package/src/frappeReact.spec.ts +565 -1
  317. package/src/frappeReact.ts +446 -38
  318. package/src/frappeReactLiveQueryGc.spec.ts +320 -0
  319. package/src/frappeReactNative.spec.ts +65 -0
  320. package/src/index.ts +10 -9
  321. package/src/pacer.ts +2 -2
  322. package/src/realtime.spec.ts +464 -20
  323. package/src/realtime.ts +284 -46
  324. package/src/sync/backfill.spec.ts +43 -0
  325. package/src/sync/backfill.ts +59 -39
  326. package/src/sync/debug.spec.ts +36 -0
  327. package/src/sync/filterValidation.spec.ts +197 -0
  328. package/src/sync/index.ts +98 -7
  329. package/src/sync/merge.ts +3 -3
  330. package/src/sync/mutationEngine.spec.ts +36 -4
  331. package/src/sync/mutationEngine.ts +30 -11
  332. package/src/sync/mutationJournal.ts +18 -4
  333. package/src/sync/normalizedCache.spec.ts +102 -0
  334. package/src/sync/normalizedCache.ts +19 -3
  335. package/src/sync/offlineRestore.spec.ts +423 -0
  336. package/src/sync/persistence.spec.ts +39 -7
  337. package/src/sync/persistence.ts +90 -18
  338. package/src/sync/persistenceGjs.spec.ts +143 -0
  339. package/src/sync/persistenceNative.spec.ts +139 -0
  340. package/src/sync/realtime.spec.ts +18 -1
  341. package/src/sync/realtime.ts +161 -13
  342. package/src/sync/rehydration.ts +23 -5
  343. package/src/sync/storage.ts +5 -4
  344. package/src/sync/subscriptionManager.spec.ts +94 -0
  345. package/src/sync/subscriptionManager.ts +304 -82
  346. package/src/sync/syncModule.spec.ts +137 -0
  347. package/src/sync/types.ts +39 -0
  348. package/src/sync/virtualPageManager.ts +8 -4
  349. package/src/useLiveQuery.ts +58 -0
  350. package/src/util.spec.ts +35 -4
  351. package/src/util.ts +37 -2
  352. package/types/auth.d.ts +13 -0
  353. package/types/auth.d.ts.map +1 -0
  354. package/types/call.d.ts +10 -0
  355. package/types/call.d.ts.map +1 -0
  356. package/types/collection.d.ts +127 -0
  357. package/types/collection.d.ts.map +1 -0
  358. package/types/common/types.d.ts +35 -0
  359. package/types/common/types.d.ts.map +1 -0
  360. package/types/core/http.d.ts +86 -0
  361. package/types/core/http.d.ts.map +1 -0
  362. package/types/core/types.d.ts +74 -0
  363. package/types/core/types.d.ts.map +1 -0
  364. package/types/core/wire.d.ts +405 -0
  365. package/types/core/wire.d.ts.map +1 -0
  366. package/types/db.d.ts +244 -0
  367. package/types/db.d.ts.map +1 -0
  368. package/types/devtools/FrappeDevtoolsPanel.d.ts +7 -0
  369. package/types/devtools/FrappeDevtoolsPanel.d.ts.map +1 -0
  370. package/types/devtools/index.d.ts +4 -0
  371. package/types/devtools/index.d.ts.map +1 -0
  372. package/types/devtools/plugin.d.ts +9 -0
  373. package/types/devtools/plugin.d.ts.map +1 -0
  374. package/types/devtools/theme.d.ts +15 -0
  375. package/types/devtools/theme.d.ts.map +1 -0
  376. package/types/doctype.d.ts +256 -0
  377. package/types/doctype.d.ts.map +1 -0
  378. package/types/file.d.ts +15 -0
  379. package/types/file.d.ts.map +1 -0
  380. package/types/fixtureDb.d.ts +76 -0
  381. package/types/fixtureDb.d.ts.map +1 -0
  382. package/types/fixtures.d.ts +55 -0
  383. package/types/fixtures.d.ts.map +1 -0
  384. package/types/frappeApp.d.ts +45 -0
  385. package/types/frappeApp.d.ts.map +1 -0
  386. package/types/frappeReact.d.ts +270 -0
  387. package/types/frappeReact.d.ts.map +1 -0
  388. package/types/index.d.ts +44 -0
  389. package/types/index.d.ts.map +1 -0
  390. package/types/optimistic.d.ts +38 -0
  391. package/types/optimistic.d.ts.map +1 -0
  392. package/types/pacer.d.ts +193 -0
  393. package/types/pacer.d.ts.map +1 -0
  394. package/types/plugin/index.d.ts +11 -0
  395. package/types/plugin/index.d.ts.map +1 -0
  396. package/types/realtime.d.ts +121 -0
  397. package/types/realtime.d.ts.map +1 -0
  398. package/types/sync/backfill.d.ts +60 -0
  399. package/types/sync/backfill.d.ts.map +1 -0
  400. package/types/sync/filters.d.ts +101 -0
  401. package/types/sync/filters.d.ts.map +1 -0
  402. package/types/sync/index.d.ts +181 -0
  403. package/types/sync/index.d.ts.map +1 -0
  404. package/types/sync/merge.d.ts +59 -0
  405. package/types/sync/merge.d.ts.map +1 -0
  406. package/types/sync/mutationEngine.d.ts +117 -0
  407. package/types/sync/mutationEngine.d.ts.map +1 -0
  408. package/types/sync/mutationJournal.d.ts +60 -0
  409. package/types/sync/mutationJournal.d.ts.map +1 -0
  410. package/types/sync/normalizedCache.d.ts +59 -0
  411. package/types/sync/normalizedCache.d.ts.map +1 -0
  412. package/types/sync/persistence.d.ts +185 -0
  413. package/types/sync/persistence.d.ts.map +1 -0
  414. package/types/sync/realtime.d.ts +121 -0
  415. package/types/sync/realtime.d.ts.map +1 -0
  416. package/types/sync/rehydration.d.ts +109 -0
  417. package/types/sync/rehydration.d.ts.map +1 -0
  418. package/types/sync/storage.d.ts +65 -0
  419. package/types/sync/storage.d.ts.map +1 -0
  420. package/types/sync/subscriptionManager.d.ts +161 -0
  421. package/types/sync/subscriptionManager.d.ts.map +1 -0
  422. package/types/sync/types.d.ts +435 -0
  423. package/types/sync/types.d.ts.map +1 -0
  424. package/types/sync/virtualPageManager.d.ts +190 -0
  425. package/types/sync/virtualPageManager.d.ts.map +1 -0
  426. package/types/useLiveQuery.d.ts +16 -0
  427. package/types/useLiveQuery.d.ts.map +1 -0
  428. package/types/util.d.ts +24 -0
  429. package/types/util.d.ts.map +1 -0
  430. package/dist/cjs/auth.spec.cjs +0 -322
  431. package/dist/cjs/auth.spec.native.js +0 -329
  432. package/dist/cjs/auth.spec.native.js.map +0 -1
  433. package/dist/cjs/call.spec.cjs +0 -427
  434. package/dist/cjs/call.spec.native.js +0 -430
  435. package/dist/cjs/call.spec.native.js.map +0 -1
  436. package/dist/cjs/collection.spec.cjs +0 -186
  437. package/dist/cjs/collection.spec.native.js +0 -216
  438. package/dist/cjs/collection.spec.native.js.map +0 -1
  439. package/dist/cjs/common/types.spec.cjs +0 -266
  440. package/dist/cjs/common/types.spec.native.js +0 -271
  441. package/dist/cjs/common/types.spec.native.js.map +0 -1
  442. package/dist/cjs/core/http.spec.cjs +0 -1259
  443. package/dist/cjs/core/http.spec.native.js +0 -1401
  444. package/dist/cjs/core/http.spec.native.js.map +0 -1
  445. package/dist/cjs/core/wire.spec.cjs +0 -478
  446. package/dist/cjs/core/wire.spec.native.js +0 -482
  447. package/dist/cjs/core/wire.spec.native.js.map +0 -1
  448. package/dist/cjs/db.spec.cjs +0 -862
  449. package/dist/cjs/db.spec.native.js +0 -865
  450. package/dist/cjs/db.spec.native.js.map +0 -1
  451. package/dist/cjs/doctype.spec.cjs +0 -460
  452. package/dist/cjs/doctype.spec.native.js +0 -538
  453. package/dist/cjs/doctype.spec.native.js.map +0 -1
  454. package/dist/cjs/file.spec.cjs +0 -315
  455. package/dist/cjs/file.spec.native.js +0 -342
  456. package/dist/cjs/file.spec.native.js.map +0 -1
  457. package/dist/cjs/frappeApp.spec.cjs +0 -306
  458. package/dist/cjs/frappeApp.spec.native.js +0 -308
  459. package/dist/cjs/frappeApp.spec.native.js.map +0 -1
  460. package/dist/cjs/frappeReact.spec.cjs +0 -531
  461. package/dist/cjs/frappeReact.spec.native.js +0 -670
  462. package/dist/cjs/frappeReact.spec.native.js.map +0 -1
  463. package/dist/cjs/optimistic.spec.cjs +0 -11
  464. package/dist/cjs/optimistic.spec.native.js +0 -19
  465. package/dist/cjs/optimistic.spec.native.js.map +0 -1
  466. package/dist/cjs/pacer.spec.cjs +0 -470
  467. package/dist/cjs/pacer.spec.native.js +0 -537
  468. package/dist/cjs/pacer.spec.native.js.map +0 -1
  469. package/dist/cjs/realtime.spec.cjs +0 -326
  470. package/dist/cjs/realtime.spec.native.js +0 -392
  471. package/dist/cjs/realtime.spec.native.js.map +0 -1
  472. package/dist/cjs/sync/backfill.spec.cjs +0 -586
  473. package/dist/cjs/sync/backfill.spec.native.js +0 -712
  474. package/dist/cjs/sync/backfill.spec.native.js.map +0 -1
  475. package/dist/cjs/sync/debug.spec.cjs +0 -125
  476. package/dist/cjs/sync/debug.spec.native.js +0 -133
  477. package/dist/cjs/sync/debug.spec.native.js.map +0 -1
  478. package/dist/cjs/sync/filters.spec.cjs +0 -168
  479. package/dist/cjs/sync/filters.spec.native.js +0 -173
  480. package/dist/cjs/sync/filters.spec.native.js.map +0 -1
  481. package/dist/cjs/sync/merge.spec.cjs +0 -908
  482. package/dist/cjs/sync/merge.spec.native.js +0 -937
  483. package/dist/cjs/sync/merge.spec.native.js.map +0 -1
  484. package/dist/cjs/sync/multiOrderBy.spec.cjs +0 -165
  485. package/dist/cjs/sync/multiOrderBy.spec.native.js +0 -229
  486. package/dist/cjs/sync/multiOrderBy.spec.native.js.map +0 -1
  487. package/dist/cjs/sync/mutationEngine.spec.cjs +0 -1158
  488. package/dist/cjs/sync/mutationEngine.spec.native.js +0 -1173
  489. package/dist/cjs/sync/mutationEngine.spec.native.js.map +0 -1
  490. package/dist/cjs/sync/mutationJournal.spec.cjs +0 -330
  491. package/dist/cjs/sync/mutationJournal.spec.native.js +0 -333
  492. package/dist/cjs/sync/mutationJournal.spec.native.js.map +0 -1
  493. package/dist/cjs/sync/mutations.spec.cjs +0 -327
  494. package/dist/cjs/sync/mutations.spec.native.js +0 -330
  495. package/dist/cjs/sync/mutations.spec.native.js.map +0 -1
  496. package/dist/cjs/sync/normalizedCache.spec.cjs +0 -302
  497. package/dist/cjs/sync/normalizedCache.spec.native.js +0 -311
  498. package/dist/cjs/sync/normalizedCache.spec.native.js.map +0 -1
  499. package/dist/cjs/sync/persistence.spec.cjs +0 -562
  500. package/dist/cjs/sync/persistence.spec.native.js +0 -572
  501. package/dist/cjs/sync/persistence.spec.native.js.map +0 -1
  502. package/dist/cjs/sync/realtime.spec.cjs +0 -499
  503. package/dist/cjs/sync/realtime.spec.native.js +0 -512
  504. package/dist/cjs/sync/realtime.spec.native.js.map +0 -1
  505. package/dist/cjs/sync/rehydration.spec.cjs +0 -731
  506. package/dist/cjs/sync/rehydration.spec.native.js +0 -736
  507. package/dist/cjs/sync/rehydration.spec.native.js.map +0 -1
  508. package/dist/cjs/sync/storage.spec.cjs +0 -446
  509. package/dist/cjs/sync/storage.spec.native.js +0 -470
  510. package/dist/cjs/sync/storage.spec.native.js.map +0 -1
  511. package/dist/cjs/sync/subscriptionManager.spec.cjs +0 -1102
  512. package/dist/cjs/sync/subscriptionManager.spec.native.js +0 -1136
  513. package/dist/cjs/sync/subscriptionManager.spec.native.js.map +0 -1
  514. package/dist/cjs/sync/subscriptions.spec.cjs +0 -937
  515. package/dist/cjs/sync/subscriptions.spec.native.js +0 -969
  516. package/dist/cjs/sync/subscriptions.spec.native.js.map +0 -1
  517. package/dist/cjs/sync/syncModule.spec.cjs +0 -206
  518. package/dist/cjs/sync/syncModule.spec.native.js +0 -222
  519. package/dist/cjs/sync/syncModule.spec.native.js.map +0 -1
  520. package/dist/cjs/sync/types.spec.cjs +0 -246
  521. package/dist/cjs/sync/types.spec.native.js +0 -256
  522. package/dist/cjs/sync/types.spec.native.js.map +0 -1
  523. package/dist/cjs/sync/virtualPageManager.spec.cjs +0 -801
  524. package/dist/cjs/sync/virtualPageManager.spec.native.js +0 -873
  525. package/dist/cjs/sync/virtualPageManager.spec.native.js.map +0 -1
  526. package/dist/cjs/util.spec.cjs +0 -43
  527. package/dist/cjs/util.spec.native.js +0 -48
  528. package/dist/cjs/util.spec.native.js.map +0 -1
  529. package/dist/esm/auth.spec.mjs +0 -323
  530. package/dist/esm/auth.spec.mjs.map +0 -1
  531. package/dist/esm/auth.spec.native.js +0 -327
  532. package/dist/esm/auth.spec.native.js.map +0 -1
  533. package/dist/esm/call.spec.mjs +0 -428
  534. package/dist/esm/call.spec.mjs.map +0 -1
  535. package/dist/esm/call.spec.native.js +0 -428
  536. package/dist/esm/call.spec.native.js.map +0 -1
  537. package/dist/esm/collection.spec.mjs +0 -187
  538. package/dist/esm/collection.spec.mjs.map +0 -1
  539. package/dist/esm/collection.spec.native.js +0 -214
  540. package/dist/esm/collection.spec.native.js.map +0 -1
  541. package/dist/esm/common/types.spec.mjs +0 -267
  542. package/dist/esm/common/types.spec.mjs.map +0 -1
  543. package/dist/esm/common/types.spec.native.js +0 -269
  544. package/dist/esm/common/types.spec.native.js.map +0 -1
  545. package/dist/esm/core/http.spec.mjs +0 -1260
  546. package/dist/esm/core/http.spec.mjs.map +0 -1
  547. package/dist/esm/core/http.spec.native.js +0 -1399
  548. package/dist/esm/core/http.spec.native.js.map +0 -1
  549. package/dist/esm/core/wire.spec.mjs +0 -479
  550. package/dist/esm/core/wire.spec.mjs.map +0 -1
  551. package/dist/esm/core/wire.spec.native.js +0 -480
  552. package/dist/esm/core/wire.spec.native.js.map +0 -1
  553. package/dist/esm/db.spec.mjs +0 -863
  554. package/dist/esm/db.spec.mjs.map +0 -1
  555. package/dist/esm/db.spec.native.js +0 -863
  556. package/dist/esm/db.spec.native.js.map +0 -1
  557. package/dist/esm/doctype.spec.mjs +0 -461
  558. package/dist/esm/doctype.spec.mjs.map +0 -1
  559. package/dist/esm/doctype.spec.native.js +0 -536
  560. package/dist/esm/doctype.spec.native.js.map +0 -1
  561. package/dist/esm/file.spec.mjs +0 -316
  562. package/dist/esm/file.spec.mjs.map +0 -1
  563. package/dist/esm/file.spec.native.js +0 -340
  564. package/dist/esm/file.spec.native.js.map +0 -1
  565. package/dist/esm/frappeApp.spec.mjs +0 -307
  566. package/dist/esm/frappeApp.spec.mjs.map +0 -1
  567. package/dist/esm/frappeApp.spec.native.js +0 -306
  568. package/dist/esm/frappeApp.spec.native.js.map +0 -1
  569. package/dist/esm/frappeReact.spec.mjs +0 -532
  570. package/dist/esm/frappeReact.spec.mjs.map +0 -1
  571. package/dist/esm/frappeReact.spec.native.js +0 -668
  572. package/dist/esm/frappeReact.spec.native.js.map +0 -1
  573. package/dist/esm/optimistic.spec.mjs +0 -12
  574. package/dist/esm/optimistic.spec.mjs.map +0 -1
  575. package/dist/esm/optimistic.spec.native.js +0 -17
  576. package/dist/esm/optimistic.spec.native.js.map +0 -1
  577. package/dist/esm/pacer.spec.mjs +0 -447
  578. package/dist/esm/pacer.spec.mjs.map +0 -1
  579. package/dist/esm/pacer.spec.native.js +0 -511
  580. package/dist/esm/pacer.spec.native.js.map +0 -1
  581. package/dist/esm/realtime.spec.mjs +0 -327
  582. package/dist/esm/realtime.spec.mjs.map +0 -1
  583. package/dist/esm/realtime.spec.native.js +0 -390
  584. package/dist/esm/realtime.spec.native.js.map +0 -1
  585. package/dist/esm/sync/backfill.spec.mjs +0 -563
  586. package/dist/esm/sync/backfill.spec.mjs.map +0 -1
  587. package/dist/esm/sync/backfill.spec.native.js +0 -686
  588. package/dist/esm/sync/backfill.spec.native.js.map +0 -1
  589. package/dist/esm/sync/debug.spec.mjs +0 -102
  590. package/dist/esm/sync/debug.spec.mjs.map +0 -1
  591. package/dist/esm/sync/debug.spec.native.js +0 -107
  592. package/dist/esm/sync/debug.spec.native.js.map +0 -1
  593. package/dist/esm/sync/filters.spec.mjs +0 -169
  594. package/dist/esm/sync/filters.spec.mjs.map +0 -1
  595. package/dist/esm/sync/filters.spec.native.js +0 -171
  596. package/dist/esm/sync/filters.spec.native.js.map +0 -1
  597. package/dist/esm/sync/merge.spec.mjs +0 -909
  598. package/dist/esm/sync/merge.spec.mjs.map +0 -1
  599. package/dist/esm/sync/merge.spec.native.js +0 -935
  600. package/dist/esm/sync/merge.spec.native.js.map +0 -1
  601. package/dist/esm/sync/multiOrderBy.spec.mjs +0 -166
  602. package/dist/esm/sync/multiOrderBy.spec.mjs.map +0 -1
  603. package/dist/esm/sync/multiOrderBy.spec.native.js +0 -227
  604. package/dist/esm/sync/multiOrderBy.spec.native.js.map +0 -1
  605. package/dist/esm/sync/mutationEngine.spec.mjs +0 -1159
  606. package/dist/esm/sync/mutationEngine.spec.mjs.map +0 -1
  607. package/dist/esm/sync/mutationEngine.spec.native.js +0 -1171
  608. package/dist/esm/sync/mutationEngine.spec.native.js.map +0 -1
  609. package/dist/esm/sync/mutationJournal.spec.mjs +0 -331
  610. package/dist/esm/sync/mutationJournal.spec.mjs.map +0 -1
  611. package/dist/esm/sync/mutationJournal.spec.native.js +0 -331
  612. package/dist/esm/sync/mutationJournal.spec.native.js.map +0 -1
  613. package/dist/esm/sync/mutations.spec.mjs +0 -328
  614. package/dist/esm/sync/mutations.spec.mjs.map +0 -1
  615. package/dist/esm/sync/mutations.spec.native.js +0 -328
  616. package/dist/esm/sync/mutations.spec.native.js.map +0 -1
  617. package/dist/esm/sync/normalizedCache.spec.mjs +0 -303
  618. package/dist/esm/sync/normalizedCache.spec.mjs.map +0 -1
  619. package/dist/esm/sync/normalizedCache.spec.native.js +0 -309
  620. package/dist/esm/sync/normalizedCache.spec.native.js.map +0 -1
  621. package/dist/esm/sync/persistence.spec.mjs +0 -563
  622. package/dist/esm/sync/persistence.spec.mjs.map +0 -1
  623. package/dist/esm/sync/persistence.spec.native.js +0 -570
  624. package/dist/esm/sync/persistence.spec.native.js.map +0 -1
  625. package/dist/esm/sync/realtime.spec.mjs +0 -500
  626. package/dist/esm/sync/realtime.spec.mjs.map +0 -1
  627. package/dist/esm/sync/realtime.spec.native.js +0 -510
  628. package/dist/esm/sync/realtime.spec.native.js.map +0 -1
  629. package/dist/esm/sync/rehydration.spec.mjs +0 -732
  630. package/dist/esm/sync/rehydration.spec.mjs.map +0 -1
  631. package/dist/esm/sync/rehydration.spec.native.js +0 -734
  632. package/dist/esm/sync/rehydration.spec.native.js.map +0 -1
  633. package/dist/esm/sync/storage.spec.mjs +0 -423
  634. package/dist/esm/sync/storage.spec.mjs.map +0 -1
  635. package/dist/esm/sync/storage.spec.native.js +0 -444
  636. package/dist/esm/sync/storage.spec.native.js.map +0 -1
  637. package/dist/esm/sync/subscriptionManager.spec.mjs +0 -1079
  638. package/dist/esm/sync/subscriptionManager.spec.mjs.map +0 -1
  639. package/dist/esm/sync/subscriptionManager.spec.native.js +0 -1110
  640. package/dist/esm/sync/subscriptionManager.spec.native.js.map +0 -1
  641. package/dist/esm/sync/subscriptions.spec.mjs +0 -914
  642. package/dist/esm/sync/subscriptions.spec.mjs.map +0 -1
  643. package/dist/esm/sync/subscriptions.spec.native.js +0 -943
  644. package/dist/esm/sync/subscriptions.spec.native.js.map +0 -1
  645. package/dist/esm/sync/syncModule.spec.mjs +0 -207
  646. package/dist/esm/sync/syncModule.spec.mjs.map +0 -1
  647. package/dist/esm/sync/syncModule.spec.native.js +0 -220
  648. package/dist/esm/sync/syncModule.spec.native.js.map +0 -1
  649. package/dist/esm/sync/types.spec.mjs +0 -247
  650. package/dist/esm/sync/types.spec.mjs.map +0 -1
  651. package/dist/esm/sync/types.spec.native.js +0 -254
  652. package/dist/esm/sync/types.spec.native.js.map +0 -1
  653. package/dist/esm/sync/virtualPageManager.spec.mjs +0 -802
  654. package/dist/esm/sync/virtualPageManager.spec.mjs.map +0 -1
  655. package/dist/esm/sync/virtualPageManager.spec.native.js +0 -871
  656. package/dist/esm/sync/virtualPageManager.spec.native.js.map +0 -1
  657. package/dist/esm/util.spec.mjs +0 -20
  658. package/dist/esm/util.spec.mjs.map +0 -1
  659. package/dist/esm/util.spec.native.js +0 -22
  660. package/dist/esm/util.spec.native.js.map +0 -1
  661. package/dist/jsx/auth.spec.mjs +0 -323
  662. package/dist/jsx/auth.spec.mjs.map +0 -1
  663. package/dist/jsx/auth.spec.native.js +0 -329
  664. package/dist/jsx/auth.spec.native.js.map +0 -1
  665. package/dist/jsx/call.spec.mjs +0 -428
  666. package/dist/jsx/call.spec.mjs.map +0 -1
  667. package/dist/jsx/call.spec.native.js +0 -430
  668. package/dist/jsx/call.spec.native.js.map +0 -1
  669. package/dist/jsx/collection.spec.mjs +0 -187
  670. package/dist/jsx/collection.spec.mjs.map +0 -1
  671. package/dist/jsx/collection.spec.native.js +0 -216
  672. package/dist/jsx/collection.spec.native.js.map +0 -1
  673. package/dist/jsx/common/types.spec.mjs +0 -267
  674. package/dist/jsx/common/types.spec.mjs.map +0 -1
  675. package/dist/jsx/common/types.spec.native.js +0 -271
  676. package/dist/jsx/common/types.spec.native.js.map +0 -1
  677. package/dist/jsx/core/http.spec.mjs +0 -1260
  678. package/dist/jsx/core/http.spec.mjs.map +0 -1
  679. package/dist/jsx/core/http.spec.native.js +0 -1401
  680. package/dist/jsx/core/http.spec.native.js.map +0 -1
  681. package/dist/jsx/core/wire.spec.mjs +0 -479
  682. package/dist/jsx/core/wire.spec.mjs.map +0 -1
  683. package/dist/jsx/core/wire.spec.native.js +0 -482
  684. package/dist/jsx/core/wire.spec.native.js.map +0 -1
  685. package/dist/jsx/db.spec.mjs +0 -863
  686. package/dist/jsx/db.spec.mjs.map +0 -1
  687. package/dist/jsx/db.spec.native.js +0 -865
  688. package/dist/jsx/db.spec.native.js.map +0 -1
  689. package/dist/jsx/doctype.spec.mjs +0 -461
  690. package/dist/jsx/doctype.spec.mjs.map +0 -1
  691. package/dist/jsx/doctype.spec.native.js +0 -538
  692. package/dist/jsx/doctype.spec.native.js.map +0 -1
  693. package/dist/jsx/file.spec.mjs +0 -316
  694. package/dist/jsx/file.spec.mjs.map +0 -1
  695. package/dist/jsx/file.spec.native.js +0 -342
  696. package/dist/jsx/file.spec.native.js.map +0 -1
  697. package/dist/jsx/frappeApp.spec.mjs +0 -307
  698. package/dist/jsx/frappeApp.spec.mjs.map +0 -1
  699. package/dist/jsx/frappeApp.spec.native.js +0 -308
  700. package/dist/jsx/frappeApp.spec.native.js.map +0 -1
  701. package/dist/jsx/frappeReact.spec.mjs +0 -532
  702. package/dist/jsx/frappeReact.spec.mjs.map +0 -1
  703. package/dist/jsx/frappeReact.spec.native.js +0 -670
  704. package/dist/jsx/frappeReact.spec.native.js.map +0 -1
  705. package/dist/jsx/optimistic.spec.mjs +0 -12
  706. package/dist/jsx/optimistic.spec.mjs.map +0 -1
  707. package/dist/jsx/optimistic.spec.native.js +0 -19
  708. package/dist/jsx/optimistic.spec.native.js.map +0 -1
  709. package/dist/jsx/pacer.spec.mjs +0 -447
  710. package/dist/jsx/pacer.spec.mjs.map +0 -1
  711. package/dist/jsx/pacer.spec.native.js +0 -537
  712. package/dist/jsx/pacer.spec.native.js.map +0 -1
  713. package/dist/jsx/realtime.spec.mjs +0 -327
  714. package/dist/jsx/realtime.spec.mjs.map +0 -1
  715. package/dist/jsx/realtime.spec.native.js +0 -392
  716. package/dist/jsx/realtime.spec.native.js.map +0 -1
  717. package/dist/jsx/sync/backfill.spec.mjs +0 -563
  718. package/dist/jsx/sync/backfill.spec.mjs.map +0 -1
  719. package/dist/jsx/sync/backfill.spec.native.js +0 -712
  720. package/dist/jsx/sync/backfill.spec.native.js.map +0 -1
  721. package/dist/jsx/sync/debug.spec.mjs +0 -102
  722. package/dist/jsx/sync/debug.spec.mjs.map +0 -1
  723. package/dist/jsx/sync/debug.spec.native.js +0 -133
  724. package/dist/jsx/sync/debug.spec.native.js.map +0 -1
  725. package/dist/jsx/sync/filters.spec.mjs +0 -169
  726. package/dist/jsx/sync/filters.spec.mjs.map +0 -1
  727. package/dist/jsx/sync/filters.spec.native.js +0 -173
  728. package/dist/jsx/sync/filters.spec.native.js.map +0 -1
  729. package/dist/jsx/sync/merge.spec.mjs +0 -909
  730. package/dist/jsx/sync/merge.spec.mjs.map +0 -1
  731. package/dist/jsx/sync/merge.spec.native.js +0 -937
  732. package/dist/jsx/sync/merge.spec.native.js.map +0 -1
  733. package/dist/jsx/sync/multiOrderBy.spec.mjs +0 -166
  734. package/dist/jsx/sync/multiOrderBy.spec.mjs.map +0 -1
  735. package/dist/jsx/sync/multiOrderBy.spec.native.js +0 -229
  736. package/dist/jsx/sync/multiOrderBy.spec.native.js.map +0 -1
  737. package/dist/jsx/sync/mutationEngine.spec.mjs +0 -1159
  738. package/dist/jsx/sync/mutationEngine.spec.mjs.map +0 -1
  739. package/dist/jsx/sync/mutationEngine.spec.native.js +0 -1173
  740. package/dist/jsx/sync/mutationEngine.spec.native.js.map +0 -1
  741. package/dist/jsx/sync/mutationJournal.spec.mjs +0 -331
  742. package/dist/jsx/sync/mutationJournal.spec.mjs.map +0 -1
  743. package/dist/jsx/sync/mutationJournal.spec.native.js +0 -333
  744. package/dist/jsx/sync/mutationJournal.spec.native.js.map +0 -1
  745. package/dist/jsx/sync/mutations.spec.mjs +0 -328
  746. package/dist/jsx/sync/mutations.spec.mjs.map +0 -1
  747. package/dist/jsx/sync/mutations.spec.native.js +0 -330
  748. package/dist/jsx/sync/mutations.spec.native.js.map +0 -1
  749. package/dist/jsx/sync/normalizedCache.spec.mjs +0 -303
  750. package/dist/jsx/sync/normalizedCache.spec.mjs.map +0 -1
  751. package/dist/jsx/sync/normalizedCache.spec.native.js +0 -311
  752. package/dist/jsx/sync/normalizedCache.spec.native.js.map +0 -1
  753. package/dist/jsx/sync/persistence.spec.mjs +0 -563
  754. package/dist/jsx/sync/persistence.spec.mjs.map +0 -1
  755. package/dist/jsx/sync/persistence.spec.native.js +0 -572
  756. package/dist/jsx/sync/persistence.spec.native.js.map +0 -1
  757. package/dist/jsx/sync/realtime.spec.mjs +0 -500
  758. package/dist/jsx/sync/realtime.spec.mjs.map +0 -1
  759. package/dist/jsx/sync/realtime.spec.native.js +0 -512
  760. package/dist/jsx/sync/realtime.spec.native.js.map +0 -1
  761. package/dist/jsx/sync/rehydration.spec.mjs +0 -732
  762. package/dist/jsx/sync/rehydration.spec.mjs.map +0 -1
  763. package/dist/jsx/sync/rehydration.spec.native.js +0 -736
  764. package/dist/jsx/sync/rehydration.spec.native.js.map +0 -1
  765. package/dist/jsx/sync/storage.spec.mjs +0 -423
  766. package/dist/jsx/sync/storage.spec.mjs.map +0 -1
  767. package/dist/jsx/sync/storage.spec.native.js +0 -470
  768. package/dist/jsx/sync/storage.spec.native.js.map +0 -1
  769. package/dist/jsx/sync/subscriptionManager.spec.mjs +0 -1079
  770. package/dist/jsx/sync/subscriptionManager.spec.mjs.map +0 -1
  771. package/dist/jsx/sync/subscriptionManager.spec.native.js +0 -1136
  772. package/dist/jsx/sync/subscriptionManager.spec.native.js.map +0 -1
  773. package/dist/jsx/sync/subscriptions.spec.mjs +0 -914
  774. package/dist/jsx/sync/subscriptions.spec.mjs.map +0 -1
  775. package/dist/jsx/sync/subscriptions.spec.native.js +0 -969
  776. package/dist/jsx/sync/subscriptions.spec.native.js.map +0 -1
  777. package/dist/jsx/sync/syncModule.spec.mjs +0 -207
  778. package/dist/jsx/sync/syncModule.spec.mjs.map +0 -1
  779. package/dist/jsx/sync/syncModule.spec.native.js +0 -222
  780. package/dist/jsx/sync/syncModule.spec.native.js.map +0 -1
  781. package/dist/jsx/sync/types.spec.mjs +0 -247
  782. package/dist/jsx/sync/types.spec.mjs.map +0 -1
  783. package/dist/jsx/sync/types.spec.native.js +0 -256
  784. package/dist/jsx/sync/types.spec.native.js.map +0 -1
  785. package/dist/jsx/sync/virtualPageManager.spec.mjs +0 -802
  786. package/dist/jsx/sync/virtualPageManager.spec.mjs.map +0 -1
  787. package/dist/jsx/sync/virtualPageManager.spec.native.js +0 -873
  788. package/dist/jsx/sync/virtualPageManager.spec.native.js.map +0 -1
  789. package/dist/jsx/util.spec.mjs +0 -20
  790. package/dist/jsx/util.spec.mjs.map +0 -1
  791. package/dist/jsx/util.spec.native.js +0 -48
  792. package/dist/jsx/util.spec.native.js.map +0 -1
@@ -3,6 +3,25 @@ import { extractSingleName, matchesFilters } from "./filters.mjs";
3
3
  import { BackfillScope, Order } from "./types.mjs";
4
4
  import { VirtualPageManager } from "./virtualPageManager.mjs";
5
5
  class SubscriptionManager {
6
+ subscriptions = /* @__PURE__ */new Map();
7
+ virtualPageManager;
8
+ backfillManager;
9
+ /** Maps a stable query key to an existing subscriptionId for dedup */
10
+ queryKeyToSubId = /* @__PURE__ */new Map();
11
+ /** Reference counts per subscriptionId for shared subscription lifecycle */
12
+ subRefCounts = /* @__PURE__ */new Map();
13
+ /**
14
+ * Subscriptions restored from a persisted snapshot (or detached on
15
+ * unsubscribe while persistence is on) that no live query has re-adopted
16
+ * yet. They serve cache-first renders on re-subscribe, are excluded from
17
+ * backfill fan-out, and are GC'd after `restoredSubscriptionTTL`.
18
+ */
19
+ restoredByQueryKey = /* @__PURE__ */new Map();
20
+ /** Restore/detach timestamps per restored subscriptionId (for TTL GC). */
21
+ restoredAt = /* @__PURE__ */new Map();
22
+ db;
23
+ normalizedCache;
24
+ options;
6
25
  constructor(db, normalizedCache, options = {}) {
7
26
  this.db = db;
8
27
  this.normalizedCache = normalizedCache;
@@ -11,19 +30,10 @@ class SubscriptionManager {
11
30
  batchSize: this.options.batchSize
12
31
  });
13
32
  this.backfillManager = new BackfillManager(this.db, this.normalizedCache, {
14
- pageSize: this.options.pageSize
33
+ pageSize: this.options.pageSize,
34
+ maxPages: this.options.backfillMaxPages
15
35
  });
16
36
  }
17
- db;
18
- normalizedCache;
19
- options;
20
- subscriptions = /* @__PURE__ */new Map();
21
- virtualPageManager;
22
- backfillManager;
23
- /** Maps a stable query key to an existing subscriptionId for dedup */
24
- queryKeyToSubId = /* @__PURE__ */new Map();
25
- /** Reference counts per subscriptionId for shared subscription lifecycle */
26
- subRefCounts = /* @__PURE__ */new Map();
27
37
  async subscribe(query) {
28
38
  const queryKey = JSON.stringify(query);
29
39
  const existingId = this.queryKeyToSubId.get(queryKey);
@@ -37,7 +47,55 @@ class SubscriptionManager {
37
47
  checkpoint: checkpoint2
38
48
  };
39
49
  }
50
+ const adopted = this.adoptRestoredSubscription(queryKey, query);
51
+ if (adopted) return adopted;
40
52
  const subscriptionId = cryptoRandomId();
53
+ const {
54
+ rows,
55
+ cursor,
56
+ checkpoint
57
+ } = await this.fetchInitialRows(query);
58
+ const subscription = {
59
+ id: subscriptionId,
60
+ query,
61
+ checkpoint,
62
+ // For CDC backfill
63
+ cursor,
64
+ // For stable pagination
65
+ docIds: rows.map(row => row.name),
66
+ tombstones: /* @__PURE__ */new Map()
67
+ };
68
+ if (rows.length > 0) {
69
+ subscription.boundaries = {
70
+ firstItem: rows[0],
71
+ lastItem: rows[rows.length - 1],
72
+ offset: query.limitStart || 0,
73
+ pageSize: query.limit || 20
74
+ };
75
+ }
76
+ subscription.metadata = {
77
+ itemsBeforePage: 0,
78
+ itemsAfterPage: 0
79
+ };
80
+ this.subscriptions.set(subscriptionId, subscription);
81
+ this.queryKeyToSubId.set(queryKey, subscriptionId);
82
+ this.subRefCounts.set(subscriptionId, 1);
83
+ if (query.progressive) {
84
+ this.virtualPageManager.registerSubscription(subscriptionId, subscription, subscription.docIds, cursor);
85
+ }
86
+ return {
87
+ subscriptionId,
88
+ rows,
89
+ checkpoint
90
+ };
91
+ }
92
+ /**
93
+ * Performs the initial subscription fetch (single doc via getDoc, lists via
94
+ * getDocList), seeds the normalized cache, and computes the CDC checkpoint
95
+ * as the max `modified` across returned rows. Shared by fresh subscribes
96
+ * and adopted-subscription refreshes so both have identical semantics.
97
+ */
98
+ async fetchInitialRows(query) {
41
99
  const queryFields = query.fields?.length ? Array.from(/* @__PURE__ */new Set([...query.fields, "modified", "name"])) : void 0;
42
100
  let rows = [];
43
101
  let cursor;
@@ -78,44 +136,147 @@ class SubscriptionManager {
78
136
  if (!row.modified) continue;
79
137
  if (!checkpoint || row.modified > checkpoint) checkpoint = row.modified;
80
138
  }
81
- const subscription = {
82
- id: subscriptionId,
83
- query,
84
- checkpoint,
85
- // For CDC backfill
139
+ return {
140
+ rows,
86
141
  cursor,
87
- // For stable pagination
88
- docIds: rows.map(row => row.name),
89
- tombstones: /* @__PURE__ */new Map()
142
+ checkpoint
90
143
  };
91
- if (rows.length > 0) {
92
- subscription.boundaries = {
93
- firstItem: rows[0],
94
- lastItem: rows[rows.length - 1],
95
- offset: query.limitStart || 0,
96
- pageSize: query.limit || 20
144
+ }
145
+ /**
146
+ * Re-adopts a subscription restored from a persisted snapshot when an
147
+ * identical query subscribes: the cached membership renders immediately and
148
+ * a background refresh re-seeds from the network. Progressive queries are
149
+ * excluded their VirtualPageManager state is not persisted, so they take
150
+ * the fresh-subscribe path.
151
+ */
152
+ adoptRestoredSubscription(queryKey, query) {
153
+ if (query.progressive) return void 0;
154
+ const restoredId = this.restoredByQueryKey.get(queryKey);
155
+ if (!restoredId) return void 0;
156
+ const subscription = this.subscriptions.get(restoredId);
157
+ this.restoredByQueryKey.delete(queryKey);
158
+ this.restoredAt.delete(restoredId);
159
+ if (!subscription) return void 0;
160
+ this.queryKeyToSubId.set(queryKey, restoredId);
161
+ this.subRefCounts.set(restoredId, 1);
162
+ const refresh = this.refreshAdoptedSubscription(subscription);
163
+ const rows = this.getDocsForSubscription(restoredId);
164
+ return {
165
+ subscriptionId: restoredId,
166
+ rows,
167
+ checkpoint: subscription.checkpoint,
168
+ refresh
169
+ };
170
+ }
171
+ /**
172
+ * Network refresh for an adopted subscription with fresh-subscribe
173
+ * semantics: an authoritative page fetch replaces membership and recomputes
174
+ * the checkpoint (identical to what a brand-new subscribe would produce).
175
+ * On failure (offline) the cached membership and the restored CDC
176
+ * checkpoint are kept and the subscription is marked stale — the next
177
+ * backfill trigger drains changes from that checkpoint. Never rejects.
178
+ */
179
+ async refreshAdoptedSubscription(subscription) {
180
+ try {
181
+ const {
182
+ rows,
183
+ cursor,
184
+ checkpoint
185
+ } = await this.fetchInitialRows(subscription.query);
186
+ subscription.checkpoint = checkpoint;
187
+ subscription.cursor = cursor;
188
+ subscription.docIds = rows.map(row => row.name);
189
+ if (rows.length > 0) {
190
+ subscription.boundaries = {
191
+ firstItem: rows[0],
192
+ lastItem: rows[rows.length - 1],
193
+ offset: subscription.query.limitStart || 0,
194
+ pageSize: subscription.query.limit || 20
195
+ };
196
+ }
197
+ subscription.metadata = {
198
+ itemsBeforePage: 0,
199
+ itemsAfterPage: 0
200
+ };
201
+ subscription.stale = false;
202
+ return {
203
+ ok: true
204
+ };
205
+ } catch (error) {
206
+ subscription.stale = true;
207
+ return {
208
+ ok: false,
209
+ error
97
210
  };
98
211
  }
99
- subscription.metadata = {
100
- itemsBeforePage: 0,
101
- itemsAfterPage: 0
102
- };
103
- this.subscriptions.set(subscriptionId, subscription);
104
- this.queryKeyToSubId.set(queryKey, subscriptionId);
105
- this.subRefCounts.set(subscriptionId, 1);
106
- if (query.progressive) {
107
- this.virtualPageManager.registerSubscription(subscriptionId, subscription, subscription.docIds, cursor);
212
+ }
213
+ /**
214
+ * Registers a subscription restored from a persisted snapshot. Restored
215
+ * subscriptions are dormant: they hold the persisted query, CDC checkpoint,
216
+ * and membership for cache-first re-adoption, but are skipped by backfill
217
+ * fan-out until adopted. Duplicate snapshot entries for the same query
218
+ * (accumulated by pre-GC versions) collapse last-wins.
219
+ */
220
+ restoreSubscription(snapshotSub) {
221
+ if (!snapshotSub?.id || !snapshotSub.query?.doctype) return;
222
+ if (this.subscriptions.has(snapshotSub.id)) return;
223
+ const queryKey = JSON.stringify(snapshotSub.query);
224
+ const activeId = this.queryKeyToSubId.get(queryKey);
225
+ if (activeId && this.subscriptions.has(activeId)) return;
226
+ const previousId = this.restoredByQueryKey.get(queryKey);
227
+ if (previousId) {
228
+ this.subscriptions.delete(previousId);
229
+ this.restoredAt.delete(previousId);
108
230
  }
109
- return {
110
- subscriptionId,
111
- rows,
112
- checkpoint
231
+ const subscription = {
232
+ id: snapshotSub.id,
233
+ query: snapshotSub.query,
234
+ checkpoint: snapshotSub.checkpoint,
235
+ cursor: snapshotSub.cursor,
236
+ docIds: Array.isArray(snapshotSub.docIds) ? snapshotSub.docIds : [],
237
+ tombstones: /* @__PURE__ */new Map(),
238
+ metadata: {
239
+ itemsBeforePage: 0,
240
+ itemsAfterPage: 0
241
+ }
113
242
  };
243
+ this.subscriptions.set(subscription.id, subscription);
244
+ this.restoredByQueryKey.set(queryKey, subscription.id);
245
+ this.restoredAt.set(subscription.id, Date.now());
246
+ }
247
+ /** True when the subscription came from a snapshot and is not yet adopted. */
248
+ isRestoredSubscription(subscriptionId) {
249
+ return this.restoredAt.has(subscriptionId);
250
+ }
251
+ /**
252
+ * Drops restored subscriptions that no query re-adopted within
253
+ * `restoredSubscriptionTTL` (default 30 minutes). Called before every
254
+ * persistence snapshot so expired entries also leave the snapshot.
255
+ */
256
+ gcRestoredSubscriptions(now = Date.now()) {
257
+ const ttl = this.options.restoredSubscriptionTTL ?? 30 * 60 * 1e3;
258
+ for (const [subscriptionId, restoredAtMs] of this.restoredAt) {
259
+ if (now - restoredAtMs <= ttl) continue;
260
+ this.restoredAt.delete(subscriptionId);
261
+ this.subscriptions.delete(subscriptionId);
262
+ for (const [key, id] of this.restoredByQueryKey) {
263
+ if (id === subscriptionId) {
264
+ this.restoredByQueryKey.delete(key);
265
+ break;
266
+ }
267
+ }
268
+ }
114
269
  }
115
270
  /**
116
271
  * Removes a subscription by id. Cached docs remain until evicted by
117
272
  * realtime/backfill or explicit resets. This keeps other subs fast if they
118
273
  * share the same doctypes.
274
+ *
275
+ * With persistence enabled (`persistKey`), the released subscription is
276
+ * detached into the restored pool instead of deleted: its query,
277
+ * checkpoint, and membership stay in the snapshot so a remount (or a
278
+ * cold offline reload) can re-adopt it cache-first. Detached subscriptions
279
+ * are excluded from backfill and GC'd after `restoredSubscriptionTTL`.
119
280
  */
120
281
  unsubscribe(subscriptionId) {
121
282
  const refCount = (this.subRefCounts.get(subscriptionId) || 1) - 1;
@@ -124,12 +285,20 @@ class SubscriptionManager {
124
285
  return;
125
286
  }
126
287
  this.subRefCounts.delete(subscriptionId);
288
+ let queryKey;
127
289
  for (const [key, id] of this.queryKeyToSubId) {
128
290
  if (id === subscriptionId) {
291
+ queryKey = key;
129
292
  this.queryKeyToSubId.delete(key);
130
293
  break;
131
294
  }
132
295
  }
296
+ const subscription = this.subscriptions.get(subscriptionId);
297
+ if (this.options.persistKey && subscription && queryKey && !subscription.query.progressive && !this.restoredByQueryKey.has(queryKey)) {
298
+ this.restoredByQueryKey.set(queryKey, subscriptionId);
299
+ this.restoredAt.set(subscriptionId, Date.now());
300
+ return;
301
+ }
133
302
  this.subscriptions.delete(subscriptionId);
134
303
  }
135
304
  /** Returns subscription metadata by id. */
@@ -195,7 +364,10 @@ class SubscriptionManager {
195
364
  */
196
365
  async backfill(args) {
197
366
  if (args.scope === BackfillScope.All) {
198
- for (const subscription of this.subscriptions.values()) await this.backfillSub(subscription, args.pageSize);
367
+ for (const subscription of this.subscriptions.values()) {
368
+ if (this.restoredAt.has(subscription.id)) continue;
369
+ await this.backfillSub(subscription, args.pageSize);
370
+ }
199
371
  return;
200
372
  }
201
373
  if (args.scope === BackfillScope.Subscriptions) {
@@ -207,7 +379,10 @@ class SubscriptionManager {
207
379
  }
208
380
  if (args.scope === BackfillScope.Doctypes) {
209
381
  const set = new Set(args.doctypes || []);
210
- for (const subscription of this.subscriptions.values()) if (set.has(subscription.query.doctype)) await this.backfillSub(subscription, args.pageSize);
382
+ for (const subscription of this.subscriptions.values()) {
383
+ if (this.restoredAt.has(subscription.id)) continue;
384
+ if (set.has(subscription.query.doctype)) await this.backfillSub(subscription, args.pageSize);
385
+ }
211
386
  return;
212
387
  }
213
388
  if (args.scope === BackfillScope.Docs) {
@@ -221,7 +396,9 @@ class SubscriptionManager {
221
396
  * Backfills one subscription using CDC checkpoint and updates membership.
222
397
  *
223
398
  * Algorithm
224
- * - Query backfill using checkpoint for CDC (Change Data Capture)
399
+ * - Query backfill using checkpoint for CDC (Change Data Capture),
400
+ * draining follow-up pages while the server reports has_more (bounded)
401
+ * so reconnect catch-up is complete rather than one page deep
225
402
  * - Upsert each row to cache
226
403
  * - For each row: test client-side filters; add/remove membership accordingly
227
404
  * - Track tombstones for deleted documents
@@ -229,29 +406,39 @@ class SubscriptionManager {
229
406
  * - If no filters were specified, derive membership directly from returned rows
230
407
  */
231
408
  async backfillSub(subscription, pageSize = this.options.pageSize ?? 200) {
232
- const response = await this.db.backfill({
233
- doctype: subscription.query.doctype,
234
- fields: subscription.query.fields,
235
- filters: subscription.query.filters,
236
- modifiedAfter: subscription.checkpoint,
237
- // CDC checkpoint
238
- limit: pageSize
239
- });
240
- if (response.deleted && Array.isArray(response.deleted)) {
241
- for (const deleted of response.deleted) {
242
- if (!deleted?.name) continue;
243
- const deletedDoctype = deleted.doctype || subscription.query.doctype;
244
- if (deletedDoctype === subscription.query.doctype && subscription.tombstones) {
245
- subscription.tombstones.set(deleted.name, Date.now());
246
- }
247
- this.normalizedCache.remove({
248
- doctype: deletedDoctype,
249
- name: deleted.name
250
- });
251
- if (deletedDoctype === subscription.query.doctype) subscription.docIds = subscription.docIds.filter(currentName => currentName !== deleted.name);
409
+ const maxPages = this.options.backfillMaxPages ?? 20;
410
+ const rows = [];
411
+ const deleted = [];
412
+ for (let page = 0; page < maxPages; page++) {
413
+ const response = await this.db.backfill({
414
+ doctype: subscription.query.doctype,
415
+ fields: subscription.query.fields,
416
+ filters: subscription.query.filters,
417
+ modifiedAfter: subscription.checkpoint,
418
+ // CDC checkpoint
419
+ limit: pageSize
420
+ });
421
+ if (Array.isArray(response.deleted)) {
422
+ deleted.push(...response.deleted);
252
423
  }
424
+ rows.push(...response.rows);
425
+ if (response.checkpoint) subscription.checkpoint = response.checkpoint;
426
+ const madeProgress = response.rows.length > 0 || (response.deleted?.length ?? 0) > 0;
427
+ if (!response.has_more || !response.checkpoint || !madeProgress) break;
253
428
  }
254
- for (const row of response.rows) {
429
+ for (const deletedRef of deleted) {
430
+ if (!deletedRef?.name) continue;
431
+ const deletedDoctype = deletedRef.doctype || subscription.query.doctype;
432
+ if (deletedDoctype === subscription.query.doctype && subscription.tombstones) {
433
+ subscription.tombstones.set(deletedRef.name, Date.now());
434
+ }
435
+ this.normalizedCache.remove({
436
+ doctype: deletedDoctype,
437
+ name: deletedRef.name
438
+ });
439
+ if (deletedDoctype === subscription.query.doctype) subscription.docIds = subscription.docIds.filter(currentName => currentName !== deletedRef.name);
440
+ }
441
+ for (const row of rows) {
255
442
  if (!row.doctype) row.doctype = subscription.query.doctype;
256
443
  this.normalizedCache.upsert(row);
257
444
  const name = row.name;
@@ -260,8 +447,7 @@ class SubscriptionManager {
260
447
  if (match && !subscription.docIds.includes(name)) subscription.docIds.push(name);
261
448
  if (!match) subscription.docIds = subscription.docIds.filter(currentName => currentName !== name);
262
449
  }
263
- if (response.checkpoint) subscription.checkpoint = response.checkpoint;
264
- if (response.rows.length && !subscription.query.filters) subscription.docIds = response.rows.map(row => row.name);
450
+ if (rows.length && !subscription.query.filters) subscription.docIds = rows.map(row => row.name);
265
451
  if (subscription.docIds.length > 0) {
266
452
  const firstDoc = this.normalizedCache.get({
267
453
  doctype: subscription.query.doctype,
@@ -282,9 +468,10 @@ class SubscriptionManager {
282
468
  }
283
469
  this.resortSubscriptionDocIds(subscription);
284
470
  this.cleanupTombstones(subscription.id);
471
+ subscription.stale = false;
285
472
  if (this.options.onBackfill) this.options.onBackfill({
286
473
  doctype: subscription.query.doctype,
287
- fetched: response.rows.length,
474
+ fetched: rows.length,
288
475
  checkpoint: subscription.checkpoint
289
476
  });
290
477
  }
@@ -324,6 +511,7 @@ class SubscriptionManager {
324
511
  updateSubscriptionMembership(doc) {
325
512
  const subscriptionsNeedingRehydration = [];
326
513
  for (const subscription of this.subscriptions.values()) {
514
+ if (this.restoredAt.has(subscription.id)) continue;
327
515
  if (subscription.query.doctype !== doc.doctype) continue;
328
516
  const match = matchesFilters(doc, subscription.query.filters);
329
517
  const isExisting = subscription.docIds.includes(doc.name);
@@ -424,6 +612,8 @@ class SubscriptionManager {
424
612
  this.subscriptions.clear();
425
613
  this.queryKeyToSubId.clear();
426
614
  this.subRefCounts.clear();
615
+ this.restoredByQueryKey.clear();
616
+ this.restoredAt.clear();
427
617
  }
428
618
  /**
429
619
  * Cleans up expired tombstones based on age and count limits.
@@ -1 +1 @@
1
- {"version":3,"names":["BackfillManager","extractSingleName","matchesFilters","BackfillScope","Order","VirtualPageManager","SubscriptionManager","constructor","db","normalizedCache","options","virtualPageManager","batchSize","backfillManager","pageSize","subscriptions","Map","queryKeyToSubId","subRefCounts","subscribe","query","queryKey","JSON","stringify","existingId","get","has","set","rows2","getDocsForSubscription","checkpoint2","checkpoint","subscriptionId","rows","cryptoRandomId","queryFields","fields","length","Array","from","Set","cursor","singleName","filters","document","getDoc","doctype","error","errorWithStatus","status","listOptions","orderBy","useCursorPagination","response","getDocList","data","row","upsert","modified","subscription","id","docIds","map","name","tombstones","boundaries","firstItem","lastItem","offset","limitStart","limit","metadata","itemsBeforePage","itemsAfterPage","progressive","registerSubscription","unsubscribe","refCount","delete","key","getSubscription","virtualSub","getProgressiveCache","filter","id2","out2","push","out","getPage","page","getNextBatch","cursorDocId","getPageInfo","backfill","args","scope","All","values","backfillSub","Subscriptions","Doctypes","doctypes","Docs","docTarget","docs","modifiedAfter","deleted","isArray","deletedDoctype","Date","now","remove","currentName","match","includes","firstDoc","lastDoc","resortSubscriptionDocIds","cleanupTombstones","onBackfill","fetched","orderByArray","sort","firstId","secondId","secondDoc","orderByField","field","ascending","order","Desc","firstValue","secondValue","firstIsNullish","secondIsNullish","updateSubscriptionMembership","doc","subscriptionsNeedingRehydration","isExisting","handleRemoteCreate","docId","handleRemoteDelete","handleRemoteUpdate","removeFromAllSubscriptions","affectedSubscriptions","hadDocument","getAllSubscriptions","getVirtualPageManager","insertDocumentIntoSubscription","insertIndex","findInsertionIndex","splice","left","right","mid","Math","floor","midDoc","comparison","compareDocuments","doc1","doc2","value1","value2","isAsc","isNull1","isNull2","name1","name2","clear","maxAge","tombstoneMaxAge","maxCount","tombstoneMaxCount","subscriptionsToClean","Boolean","size","timestamp","entries","a","b","toRemove","slice","crypto","randomUUID","random","toString"],"sources":["../../../src/sync/subscriptionManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BackfillManager","extractSingleName","matchesFilters","BackfillScope","Order","VirtualPageManager","SubscriptionManager","subscriptions","Map","virtualPageManager","backfillManager","queryKeyToSubId","subRefCounts","restoredByQueryKey","restoredAt","db","normalizedCache","options","constructor","batchSize","pageSize","maxPages","backfillMaxPages","subscribe","query","queryKey","JSON","stringify","existingId","get","has","set","rows2","getDocsForSubscription","checkpoint2","checkpoint","subscriptionId","rows","adopted","adoptRestoredSubscription","cryptoRandomId","cursor","fetchInitialRows","subscription","id","docIds","map","row","name","tombstones","length","boundaries","firstItem","lastItem","offset","limitStart","limit","metadata","itemsBeforePage","itemsAfterPage","progressive","registerSubscription","queryFields","fields","Array","from","Set","singleName","filters","document","getDoc","doctype","error","errorWithStatus","status","listOptions","orderBy","useCursorPagination","response","getDocList","data","upsert","modified","restoredId","delete","refresh","refreshAdoptedSubscription","stale","ok","restoreSubscription","snapshotSub","activeId","previousId","isArray","Date","now","isRestoredSubscription","gcRestoredSubscriptions","ttl","restoredSubscriptionTTL","restoredAtMs","key","unsubscribe","refCount","persistKey","getSubscription","virtualSub","getProgressiveCache","filter","id2","out2","push","out","getPage","page","getNextBatch","cursorDocId","getPageInfo","backfill","args","scope","All","values","backfillSub","Subscriptions","Doctypes","doctypes","Docs","docTarget","docs","deleted","modifiedAfter","madeProgress","has_more","deletedRef","deletedDoctype","remove","currentName","match","includes","firstDoc","lastDoc","resortSubscriptionDocIds","cleanupTombstones","onBackfill","fetched","orderByArray","sort","firstId","secondId","secondDoc","orderByField","field","ascending","order","Desc","firstValue","secondValue","firstIsNullish","secondIsNullish","updateSubscriptionMembership","doc","subscriptionsNeedingRehydration","isExisting","handleRemoteCreate","docId","handleRemoteDelete","handleRemoteUpdate","removeFromAllSubscriptions","affectedSubscriptions","hadDocument","getAllSubscriptions","getVirtualPageManager","insertDocumentIntoSubscription","insertIndex","findInsertionIndex","splice","left","right","mid","Math","floor","midDoc","comparison","compareDocuments","doc1","doc2","value1","value2","isAsc","isNull1","isNull2","name1","name2","clear","maxAge","tombstoneMaxAge","maxCount","tombstoneMaxCount","subscriptionsToClean","Boolean","size","timestamp","entries","a","b","toRemove","slice","crypto","randomUUID","random","toString"],"sources":["../../../src/sync/subscriptionManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}