@multiplatform.one/frappe 6.1.0 → 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 +10 -2
  187. package/dist/esm/util.mjs.map +1 -1
  188. package/dist/esm/util.native.js +15 -2
  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 +10 -2
  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 +445 -37
  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 +1 -1
  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 +34 -7
  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
@@ -129,16 +129,14 @@ var BackfillManager = /* @__PURE__ */function () {
129
129
  function BackfillManager2(db, normalizedCache) {
130
130
  var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
131
131
  _class_call_check(this, BackfillManager2);
132
+ _define_property(this, "activeBackfills", /* @__PURE__ */new Map());
133
+ _define_property(this, "backfillQueue", /* @__PURE__ */new Map());
132
134
  _define_property(this, "db", void 0);
133
135
  _define_property(this, "normalizedCache", void 0);
134
136
  _define_property(this, "options", void 0);
135
- _define_property(this, "activeBackfills", void 0);
136
- _define_property(this, "backfillQueue", void 0);
137
137
  this.db = db;
138
138
  this.normalizedCache = normalizedCache;
139
139
  this.options = options;
140
- this.activeBackfills = /* @__PURE__ */new Map();
141
- this.backfillQueue = /* @__PURE__ */new Map();
142
140
  }
143
141
  _create_class(BackfillManager2, [{
144
142
  key: "backfill",
@@ -320,54 +318,62 @@ var BackfillManager = /* @__PURE__ */function () {
320
318
  return this.fullRefresh(subscription);
321
319
  }
322
320
  try {
323
- var response = await this.db.backfill({
324
- doctype: subscription.query.doctype,
325
- fields: subscription.query.fields,
326
- filters: subscription.query.filters,
327
- modifiedAfter: subscription.checkpoint,
328
- limit: this.options.pageSize || 200
329
- });
330
- if ("deleted" in response && Array.isArray(response.deleted)) {
331
- var deletedDocIds = response.deleted.filter(function (deletion) {
332
- return deletion === null || deletion === void 0 ? void 0 : deletion.name;
333
- }).map(function (deletion) {
334
- return deletion.name;
321
+ var _this_options_maxPages;
322
+ var maxPages = (_this_options_maxPages = this.options.maxPages) !== null && _this_options_maxPages !== void 0 ? _this_options_maxPages : 20;
323
+ for (var page = 0; page < maxPages; page++) {
324
+ var _response_checkpoint, _ref;
325
+ var _response_deleted;
326
+ var response = await this.db.backfill({
327
+ doctype: subscription.query.doctype,
328
+ fields: subscription.query.fields,
329
+ filters: subscription.query.filters,
330
+ modifiedAfter: subscription.checkpoint,
331
+ limit: this.options.pageSize || 200
335
332
  });
336
- if (deletedDocIds.length > 0) {
337
- subscription.removeDocuments(deletedDocIds, this.normalizedCache);
338
- }
339
- }
340
- var _iteratorNormalCompletion = true,
341
- _didIteratorError = false,
342
- _iteratorError = void 0;
343
- try {
344
- for (var _iterator = response.rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
345
- var doc = _step.value;
346
- var exists = subscription.getProgressiveCache().docIds.includes(doc.name);
347
- var matches = (0, import_filters.matchesFilters)(doc, subscription.query.filters);
348
- if (exists && !matches) {
349
- subscription.removeDocuments([doc.name], this.normalizedCache);
350
- } else if (!exists && matches) {
351
- subscription.needsRehydration = true;
352
- } else if (exists) {
353
- this.normalizedCache.upsert(doc);
333
+ if ("deleted" in response && Array.isArray(response.deleted)) {
334
+ var deletedDocIds = response.deleted.filter(function (deletion) {
335
+ return deletion === null || deletion === void 0 ? void 0 : deletion.name;
336
+ }).map(function (deletion) {
337
+ return deletion.name;
338
+ });
339
+ if (deletedDocIds.length > 0) {
340
+ subscription.removeDocuments(deletedDocIds, this.normalizedCache);
354
341
  }
355
342
  }
356
- } catch (err) {
357
- _didIteratorError = true;
358
- _iteratorError = err;
359
- } finally {
343
+ var _iteratorNormalCompletion = true,
344
+ _didIteratorError = false,
345
+ _iteratorError = void 0;
360
346
  try {
361
- if (!_iteratorNormalCompletion && _iterator.return != null) {
362
- _iterator.return();
347
+ for (var _iterator = response.rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
348
+ var doc = _step.value;
349
+ var exists = subscription.getProgressiveCache().docIds.includes(doc.name);
350
+ var matches = (0, import_filters.matchesFilters)(doc, subscription.query.filters);
351
+ if (exists && !matches) {
352
+ subscription.removeDocuments([doc.name], this.normalizedCache);
353
+ } else if (!exists && matches) {
354
+ subscription.needsRehydration = true;
355
+ } else if (exists) {
356
+ this.normalizedCache.upsert(doc);
357
+ }
363
358
  }
359
+ } catch (err) {
360
+ _didIteratorError = true;
361
+ _iteratorError = err;
364
362
  } finally {
365
- if (_didIteratorError) {
366
- throw _iteratorError;
363
+ try {
364
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
365
+ _iterator.return();
366
+ }
367
+ } finally {
368
+ if (_didIteratorError) {
369
+ throw _iteratorError;
370
+ }
367
371
  }
368
372
  }
373
+ subscription.checkpoint = (_response_checkpoint = response.checkpoint) !== null && _response_checkpoint !== void 0 ? _response_checkpoint : calculateCheckpointFromDocs(response.rows);
374
+ var madeProgress = response.rows.length > 0 || ((_ref = (_response_deleted = response.deleted) === null || _response_deleted === void 0 ? void 0 : _response_deleted.length) !== null && _ref !== void 0 ? _ref : 0) > 0;
375
+ if (!response.has_more || !response.checkpoint || !madeProgress) break;
369
376
  }
370
- subscription.checkpoint = calculateCheckpointFromDocs(response.rows);
371
377
  } catch (error) {
372
378
  console.error("Incremental backfill failed:", error);
373
379
  await this.fullRefresh(subscription);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","backfill_exports","__export","BackfillManager","BackfillReason","BackfillStrategy","module","exports","import_filters","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","log","console","BackfillReason2","BackfillStrategy2","BackfillManager2","db","normalizedCache","options","arguments","activeBackfills","Map","backfillQueue","backfill","subscription","reason","subscriptionId","id","has","queueBackfill","get","backfillPromise","performBackfill","set","backfillSucceeded","error","delete","queued","_$reason","shift","catch","backfillOne","getProgressiveCache","hasMore","fetchWithCursor","processDocuments","calculateCheckpoint","updateProgressiveCache","rehydrateCurrentPage","pageSize","viewWindow","currentPage","start","response","getDocList","query","doctype","fields","filters","orderBy","limitStart","limit","newDocIds","map","doc2","name","currentDocIds","docIds","updatedDocIds","splice","upsert","needsRehydration","strategy","determineStrategy","fullRefresh","incrementalBackfill","pageBackfill","gapBackfill","cursorFetch","nextCursor","checkpoint"],"sources":["../../../src/sync/backfill.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","backfill_exports","__export","BackfillManager","BackfillReason","BackfillStrategy","module","exports","import_filters","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","log","console","BackfillReason2","BackfillStrategy2","BackfillManager2","db","normalizedCache","options","arguments","Map","backfill","subscription","reason","subscriptionId","id","activeBackfills","has","queueBackfill","get","backfillPromise","performBackfill","set","backfillSucceeded","error","delete","queued","backfillQueue","_$reason","shift","catch","backfillOne","getProgressiveCache","hasMore","fetchWithCursor","processDocuments","calculateCheckpoint","updateProgressiveCache","rehydrateCurrentPage","pageSize","viewWindow","currentPage","start","response","getDocList","query","doctype","fields","filters","orderBy","limitStart","limit","newDocIds","map","doc2","name","currentDocIds","docIds","updatedDocIds","splice","upsert","needsRehydration","strategy","determineStrategy","fullRefresh","incrementalBackfill","pageBackfill","gapBackfill","cursorFetch","nextCursor","checkpoint","batchSize"],"sources":["../../../src/sync/backfill.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,30 @@ var import_rehydration = require("./rehydration.cjs");
35
35
  var import_subscriptionManager = require("./subscriptionManager.cjs");
36
36
  var import_types = require("./types.cjs");
37
37
  class SyncModule {
38
+ normalizedCache;
39
+ mutationJournal;
40
+ storeListeners = /* @__PURE__ */new Set();
41
+ /** Listeners registered via `subscribeRealtimeEvents`. */
42
+ realtimeEventListeners = /* @__PURE__ */new Set();
43
+ subscriptionManager;
44
+ /** Mutation engine for optimistic updates and conflict resolution. */
45
+ mutationEngine;
46
+ /** Realtime event handler for Socket.IO integration. */
47
+ realtimeHandler;
48
+ /** Persistence manager for state snapshots. */
49
+ persistenceManager;
50
+ /** Rehydration manager for intelligent subscription updates. */
51
+ rehydrationManager;
52
+ /** Cleanup functions returned by lifecycle subscriptions. */
53
+ cleanupFocus;
54
+ cleanupFocusReplay;
55
+ cleanupOnlineBackfill;
56
+ cleanupOnlineReplay;
57
+ /** Timer handle for periodic CDC polling. */
58
+ cdcIntervalHandle;
59
+ db;
60
+ realtime;
61
+ options;
38
62
  constructor(db, realtime, options = {}) {
39
63
  this.db = db;
40
64
  this.realtime = realtime;
@@ -48,40 +72,26 @@ class SyncModule {
48
72
  storage: typeof localStorage !== "undefined" ? localStorage : void 0
49
73
  });
50
74
  this.subscriptionManager = new import_subscriptionManager.SubscriptionManager(this.db, this.normalizedCache, this.options);
51
- this.rehydrationManager = new import_rehydration.RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal);
75
+ this.rehydrationManager = new import_rehydration.RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal, () => this.emit());
52
76
  this.mutationEngine = new import_mutationEngine.MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, this.options);
53
77
  const realtimeOptions = {
54
78
  ...this.options,
55
79
  onResetCache: () => this.resetCache(),
56
80
  onBackfillAll: () => this.backfill({
57
81
  scope: import_types.BackfillScope.All
58
- })
82
+ }),
83
+ // Realtime reconciliation mutates cache/membership outside the public
84
+ // mutate/backfill entry points — bridge those changes to store listeners.
85
+ onStoreChange: () => this.emit(),
86
+ onRealtimeEvent: event => {
87
+ this.options.onRealtimeEvent?.(event);
88
+ for (const listener of this.realtimeEventListeners) listener(event);
89
+ }
59
90
  };
60
91
  this.realtimeHandler = new import_realtime.RealtimeHandler(this.db, this.realtime, this.normalizedCache, this.subscriptionManager, this.rehydrationManager, realtimeOptions);
61
92
  this.persistenceManager = new import_persistence.PersistenceManager(this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.mutationEngine, realtimeOptions);
62
93
  this.setupWindowEvents();
63
94
  }
64
- db;
65
- realtime;
66
- options;
67
- normalizedCache;
68
- mutationJournal;
69
- storeListeners = /* @__PURE__ */new Set();
70
- subscriptionManager;
71
- /** Mutation engine for optimistic updates and conflict resolution. */
72
- mutationEngine;
73
- /** Realtime event handler for Socket.IO integration. */
74
- realtimeHandler;
75
- /** Persistence manager for state snapshots. */
76
- persistenceManager;
77
- /** Rehydration manager for intelligent subscription updates. */
78
- rehydrationManager;
79
- /** Cleanup functions returned by lifecycle subscriptions. */
80
- cleanupFocus;
81
- cleanupOnlineBackfill;
82
- cleanupOnlineReplay;
83
- /** Timer handle for periodic CDC polling. */
84
- cdcIntervalHandle;
85
95
  /**
86
96
  * Sets up lifecycle event listeners for sync triggers.
87
97
  * Stores cleanup functions returned by each subscription.
@@ -90,6 +100,9 @@ class SyncModule {
90
100
  this.cleanupFocus = (0, import_platform.onAppFocus)(() => this.backfill({
91
101
  scope: import_types.BackfillScope.All
92
102
  }));
103
+ this.cleanupFocusReplay = (0, import_platform.onAppFocus)(() => {
104
+ if (this.mutationJournal.listPending().length > 0) void this.replayPending();
105
+ });
93
106
  this.cleanupOnlineBackfill = (0, import_platform.onOnline)(() => this.backfill({
94
107
  scope: import_types.BackfillScope.All
95
108
  }));
@@ -102,17 +115,28 @@ class SyncModule {
102
115
  }
103
116
  /**
104
117
  * Creates a subscription, seeds cache with initial rows, and stores a backfill checkpoint.
118
+ *
119
+ * With persistence enabled, a query matching a subscription restored from
120
+ * the snapshot is re-adopted cache-first: the returned rows come from the
121
+ * restored cache and a background network refresh follows (`result.refresh`).
122
+ * If that refresh fails (offline), the cached membership keeps serving and
123
+ * the subscription is marked stale until the next successful backfill.
105
124
  */
106
125
  async subscribe(query) {
126
+ await this.persistenceManager.whenReady();
107
127
  const result = await this.subscriptionManager.subscribe(query);
128
+ this.realtimeHandler.watchDoctype(query.doctype);
108
129
  this.emit();
130
+ if (result.refresh) void result.refresh.then(() => this.emit());
109
131
  return result;
110
132
  }
111
133
  /**
112
134
  * Removes a subscription by id.
113
135
  */
114
136
  unsubscribe(subscriptionId) {
137
+ const subscription = this.subscriptionManager.getSubscription(subscriptionId);
115
138
  this.subscriptionManager.unsubscribe(subscriptionId);
139
+ if (subscription) this.realtimeHandler.unwatchDoctype(subscription.query.doctype);
116
140
  this.emit();
117
141
  }
118
142
  async mutate(mutation) {
@@ -190,6 +214,40 @@ class SyncModule {
190
214
  this.storeListeners.delete(listener);
191
215
  };
192
216
  }
217
+ /**
218
+ * Registers a listener for raw realtime events (doc_update, list_update,
219
+ * doc_deleted, connected, …). Useful for consumers that manage their own
220
+ * fetching (e.g. server-side paginated tables) but still want live
221
+ * invalidation hints. Returns an unsubscribe function.
222
+ */
223
+ subscribeRealtimeEvents(listener) {
224
+ this.realtimeEventListeners.add(listener);
225
+ return () => {
226
+ this.realtimeEventListeners.delete(listener);
227
+ };
228
+ }
229
+ /**
230
+ * Joins the realtime doctype room without creating a data subscription
231
+ * (refcounted). Pair with `unwatchDoctype` on cleanup. Used by consumers
232
+ * that fetch their own data but need the doctype's realtime hints.
233
+ */
234
+ watchDoctype(doctype) {
235
+ this.realtimeHandler.watchDoctype(doctype);
236
+ }
237
+ /** Releases one `watchDoctype` reference. */
238
+ unwatchDoctype(doctype) {
239
+ this.realtimeHandler.unwatchDoctype(doctype);
240
+ }
241
+ /**
242
+ * Live socket connection snapshot. `connected` is the state right now;
243
+ * `everConnected` distinguishes "reconnecting" from "realtime never up"
244
+ * (fixture mode, SSR, or no realtime module). Store listeners are
245
+ * notified on every flip, so read this inside a `subscribeStore` callback
246
+ * for a reactive indicator.
247
+ */
248
+ getConnectionState() {
249
+ return this.realtimeHandler.getConnectionState();
250
+ }
193
251
  /** Notifies listeners, schedules persistence, and broadcasts cross-tab changes. */
194
252
  emit() {
195
253
  for (const listener of this.storeListeners) listener();
@@ -198,6 +256,7 @@ class SyncModule {
198
256
  }
199
257
  /** Clears subscriptions, cache, journal, and temp id mappings. */
200
258
  resetCache() {
259
+ this.realtimeHandler.unwatchAll();
201
260
  this.subscriptionManager.clear();
202
261
  this.normalizedCache.clear();
203
262
  this.mutationJournal.clear();
@@ -207,6 +266,7 @@ class SyncModule {
207
266
  /** Cleanup and dispose of resources */
208
267
  async dispose() {
209
268
  this.storeListeners.clear();
269
+ this.realtimeEventListeners.clear();
210
270
  this.resetCache();
211
271
  this.mutationJournal.dispose();
212
272
  this.mutationEngine.dispose();
@@ -214,9 +274,11 @@ class SyncModule {
214
274
  this.persistenceManager.destroy();
215
275
  this.rehydrationManager.clear();
216
276
  this.cleanupFocus?.();
277
+ this.cleanupFocusReplay?.();
217
278
  this.cleanupOnlineBackfill?.();
218
279
  this.cleanupOnlineReplay?.();
219
280
  this.cleanupFocus = void 0;
281
+ this.cleanupFocusReplay = void 0;
220
282
  this.cleanupOnlineBackfill = void 0;
221
283
  this.cleanupOnlineReplay = void 0;
222
284
  if (this.cdcIntervalHandle) {
@@ -243,6 +305,8 @@ class SyncModule {
243
305
  tombstoneCount: sub.tombstones?.size ?? 0,
244
306
  checkpoint: sub.checkpoint,
245
307
  cursor: sub.cursor,
308
+ stale: sub.stale,
309
+ restored: this.subscriptionManager.isRestoredSubscription(sub.id),
246
310
  pageInfo
247
311
  };
248
312
  if (virtualSub) {
@@ -290,7 +354,9 @@ class SyncModule {
290
354
  connection: {
291
355
  socketConnected: this.realtimeHandler.getIsConnected(),
292
356
  isLeader: this.persistenceManager.getIsLeader(),
293
- isOnline: typeof navigator !== "undefined" ? navigator.onLine : true
357
+ // React Native has navigator but no onLine (undefined) — treat
358
+ // anything other than an explicit false as online.
359
+ isOnline: typeof navigator === "undefined" || navigator.onLine !== false
294
360
  }
295
361
  };
296
362
  }
@@ -75,25 +75,26 @@ var SyncModule = /* @__PURE__ */function () {
75
75
  var _this = this;
76
76
  var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
77
77
  _class_call_check(this, SyncModule2);
78
- _define_property(this, "db", void 0);
79
- _define_property(this, "realtime", void 0);
80
- _define_property(this, "options", void 0);
81
78
  _define_property(this, "normalizedCache", void 0);
82
79
  _define_property(this, "mutationJournal", void 0);
83
- _define_property(this, "storeListeners", void 0);
80
+ _define_property(this, "storeListeners", /* @__PURE__ */new Set());
81
+ _define_property(this, "realtimeEventListeners", /* @__PURE__ */new Set());
84
82
  _define_property(this, "subscriptionManager", void 0);
85
83
  _define_property(this, "mutationEngine", void 0);
86
84
  _define_property(this, "realtimeHandler", void 0);
87
85
  _define_property(this, "persistenceManager", void 0);
88
86
  _define_property(this, "rehydrationManager", void 0);
89
87
  _define_property(this, "cleanupFocus", void 0);
88
+ _define_property(this, "cleanupFocusReplay", void 0);
90
89
  _define_property(this, "cleanupOnlineBackfill", void 0);
91
90
  _define_property(this, "cleanupOnlineReplay", void 0);
92
91
  _define_property(this, "cdcIntervalHandle", void 0);
92
+ _define_property(this, "db", void 0);
93
+ _define_property(this, "realtime", void 0);
94
+ _define_property(this, "options", void 0);
93
95
  this.db = db;
94
96
  this.realtime = realtime;
95
97
  this.options = options;
96
- this.storeListeners = /* @__PURE__ */new Set();
97
98
  this.normalizedCache = new import_normalizedCache.NormalizedCache({
98
99
  maxSize: this.options.maxCacheSize
99
100
  });
@@ -103,7 +104,9 @@ var SyncModule = /* @__PURE__ */function () {
103
104
  storage: typeof localStorage !== "undefined" ? localStorage : void 0
104
105
  });
105
106
  this.subscriptionManager = new import_subscriptionManager.SubscriptionManager(this.db, this.normalizedCache, this.options);
106
- this.rehydrationManager = new import_rehydration.RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal);
107
+ this.rehydrationManager = new import_rehydration.RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal, function () {
108
+ return _this.emit();
109
+ });
107
110
  this.mutationEngine = new import_mutationEngine.MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, this.options);
108
111
  var realtimeOptions = {
109
112
  ...this.options,
@@ -114,6 +117,37 @@ var SyncModule = /* @__PURE__ */function () {
114
117
  return _this.backfill({
115
118
  scope: import_types.BackfillScope.All
116
119
  });
120
+ },
121
+ // Realtime reconciliation mutates cache/membership outside the public
122
+ // mutate/backfill entry points — bridge those changes to store listeners.
123
+ onStoreChange: function onStoreChange() {
124
+ return _this.emit();
125
+ },
126
+ onRealtimeEvent: function onRealtimeEvent(event) {
127
+ var _this_options_onRealtimeEvent, _this_options;
128
+ (_this_options_onRealtimeEvent = (_this_options = _this.options).onRealtimeEvent) === null || _this_options_onRealtimeEvent === void 0 ? void 0 : _this_options_onRealtimeEvent.call(_this_options, event);
129
+ var _iteratorNormalCompletion = true,
130
+ _didIteratorError = false,
131
+ _iteratorError = void 0;
132
+ try {
133
+ for (var _iterator = _this.realtimeEventListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
134
+ var listener = _step.value;
135
+ listener(event);
136
+ }
137
+ } catch (err) {
138
+ _didIteratorError = true;
139
+ _iteratorError = err;
140
+ } finally {
141
+ try {
142
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
143
+ _iterator.return();
144
+ }
145
+ } finally {
146
+ if (_didIteratorError) {
147
+ throw _iteratorError;
148
+ }
149
+ }
150
+ }
117
151
  }
118
152
  };
119
153
  this.realtimeHandler = new import_realtime.RealtimeHandler(this.db, this.realtime, this.normalizedCache, this.subscriptionManager, this.rehydrationManager, realtimeOptions);
@@ -134,6 +168,9 @@ var SyncModule = /* @__PURE__ */function () {
134
168
  scope: import_types.BackfillScope.All
135
169
  });
136
170
  });
171
+ this.cleanupFocusReplay = (0, import_platform.onAppFocus)(function () {
172
+ if (_this.mutationJournal.listPending().length > 0) void _this.replayPending();
173
+ });
137
174
  this.cleanupOnlineBackfill = (0, import_platform.onOnline)(function () {
138
175
  return _this.backfill({
139
176
  scope: import_types.BackfillScope.All
@@ -155,10 +192,22 @@ var SyncModule = /* @__PURE__ */function () {
155
192
  value: (
156
193
  /**
157
194
  * Creates a subscription, seeds cache with initial rows, and stores a backfill checkpoint.
195
+ *
196
+ * With persistence enabled, a query matching a subscription restored from
197
+ * the snapshot is re-adopted cache-first: the returned rows come from the
198
+ * restored cache and a background network refresh follows (`result.refresh`).
199
+ * If that refresh fails (offline), the cached membership keeps serving and
200
+ * the subscription is marked stale until the next successful backfill.
158
201
  */
159
202
  async function subscribe(query) {
203
+ var _this = this;
204
+ await this.persistenceManager.whenReady();
160
205
  var result = await this.subscriptionManager.subscribe(query);
206
+ this.realtimeHandler.watchDoctype(query.doctype);
161
207
  this.emit();
208
+ if (result.refresh) void result.refresh.then(function () {
209
+ return _this.emit();
210
+ });
162
211
  return result;
163
212
  })
164
213
  }, {
@@ -167,7 +216,9 @@ var SyncModule = /* @__PURE__ */function () {
167
216
  */
168
217
  key: "unsubscribe",
169
218
  value: function unsubscribe(subscriptionId) {
219
+ var subscription = this.subscriptionManager.getSubscription(subscriptionId);
170
220
  this.subscriptionManager.unsubscribe(subscriptionId);
221
+ if (subscription) this.realtimeHandler.unwatchDoctype(subscription.query.doctype);
171
222
  this.emit();
172
223
  }
173
224
  }, {
@@ -272,6 +323,49 @@ var SyncModule = /* @__PURE__ */function () {
272
323
  _this.storeListeners.delete(listener);
273
324
  };
274
325
  }
326
+ }, {
327
+ /**
328
+ * Registers a listener for raw realtime events (doc_update, list_update,
329
+ * doc_deleted, connected, …). Useful for consumers that manage their own
330
+ * fetching (e.g. server-side paginated tables) but still want live
331
+ * invalidation hints. Returns an unsubscribe function.
332
+ */
333
+ key: "subscribeRealtimeEvents",
334
+ value: function subscribeRealtimeEvents(listener) {
335
+ var _this = this;
336
+ this.realtimeEventListeners.add(listener);
337
+ return function () {
338
+ _this.realtimeEventListeners.delete(listener);
339
+ };
340
+ }
341
+ }, {
342
+ /**
343
+ * Joins the realtime doctype room without creating a data subscription
344
+ * (refcounted). Pair with `unwatchDoctype` on cleanup. Used by consumers
345
+ * that fetch their own data but need the doctype's realtime hints.
346
+ */
347
+ key: "watchDoctype",
348
+ value: function watchDoctype(doctype) {
349
+ this.realtimeHandler.watchDoctype(doctype);
350
+ }
351
+ }, {
352
+ /** Releases one `watchDoctype` reference. */
353
+ key: "unwatchDoctype",
354
+ value: function unwatchDoctype(doctype) {
355
+ this.realtimeHandler.unwatchDoctype(doctype);
356
+ }
357
+ }, {
358
+ /**
359
+ * Live socket connection snapshot. `connected` is the state right now;
360
+ * `everConnected` distinguishes "reconnecting" from "realtime never up"
361
+ * (fixture mode, SSR, or no realtime module). Store listeners are
362
+ * notified on every flip, so read this inside a `subscribeStore` callback
363
+ * for a reactive indicator.
364
+ */
365
+ key: "getConnectionState",
366
+ value: function getConnectionState() {
367
+ return this.realtimeHandler.getConnectionState();
368
+ }
275
369
  }, {
276
370
  key: "emit",
277
371
  value: (/** Notifies listeners, schedules persistence, and broadcasts cross-tab changes. */
@@ -305,6 +399,7 @@ var SyncModule = /* @__PURE__ */function () {
305
399
  /** Clears subscriptions, cache, journal, and temp id mappings. */
306
400
  key: "resetCache",
307
401
  value: function resetCache() {
402
+ this.realtimeHandler.unwatchAll();
308
403
  this.subscriptionManager.clear();
309
404
  this.normalizedCache.clear();
310
405
  this.mutationJournal.clear();
@@ -315,8 +410,9 @@ var SyncModule = /* @__PURE__ */function () {
315
410
  key: "dispose",
316
411
  value: (/** Cleanup and dispose of resources */
317
412
  async function dispose() {
318
- var _this_cleanupFocus, _this, _this_cleanupOnlineBackfill, _this1, _this_cleanupOnlineReplay, _this2;
413
+ var _this_cleanupFocus, _this, _this_cleanupFocusReplay, _this1, _this_cleanupOnlineBackfill, _this2, _this_cleanupOnlineReplay, _this3;
319
414
  this.storeListeners.clear();
415
+ this.realtimeEventListeners.clear();
320
416
  this.resetCache();
321
417
  this.mutationJournal.dispose();
322
418
  this.mutationEngine.dispose();
@@ -324,9 +420,11 @@ var SyncModule = /* @__PURE__ */function () {
324
420
  this.persistenceManager.destroy();
325
421
  this.rehydrationManager.clear();
326
422
  (_this_cleanupFocus = (_this = this).cleanupFocus) === null || _this_cleanupFocus === void 0 ? void 0 : _this_cleanupFocus.call(_this);
327
- (_this_cleanupOnlineBackfill = (_this1 = this).cleanupOnlineBackfill) === null || _this_cleanupOnlineBackfill === void 0 ? void 0 : _this_cleanupOnlineBackfill.call(_this1);
328
- (_this_cleanupOnlineReplay = (_this2 = this).cleanupOnlineReplay) === null || _this_cleanupOnlineReplay === void 0 ? void 0 : _this_cleanupOnlineReplay.call(_this2);
423
+ (_this_cleanupFocusReplay = (_this1 = this).cleanupFocusReplay) === null || _this_cleanupFocusReplay === void 0 ? void 0 : _this_cleanupFocusReplay.call(_this1);
424
+ (_this_cleanupOnlineBackfill = (_this2 = this).cleanupOnlineBackfill) === null || _this_cleanupOnlineBackfill === void 0 ? void 0 : _this_cleanupOnlineBackfill.call(_this2);
425
+ (_this_cleanupOnlineReplay = (_this3 = this).cleanupOnlineReplay) === null || _this_cleanupOnlineReplay === void 0 ? void 0 : _this_cleanupOnlineReplay.call(_this3);
329
426
  this.cleanupFocus = void 0;
427
+ this.cleanupFocusReplay = void 0;
330
428
  this.cleanupOnlineBackfill = void 0;
331
429
  this.cleanupOnlineReplay = void 0;
332
430
  if (this.cdcIntervalHandle) {
@@ -362,6 +460,8 @@ var SyncModule = /* @__PURE__ */function () {
362
460
  tombstoneCount: (_ref = (_sub_tombstones = sub.tombstones) === null || _sub_tombstones === void 0 ? void 0 : _sub_tombstones.size) !== null && _ref !== void 0 ? _ref : 0,
363
461
  checkpoint: sub.checkpoint,
364
462
  cursor: sub.cursor,
463
+ stale: sub.stale,
464
+ restored: this.subscriptionManager.isRestoredSubscription(sub.id),
365
465
  pageInfo
366
466
  };
367
467
  if (virtualSub) {
@@ -444,7 +544,9 @@ var SyncModule = /* @__PURE__ */function () {
444
544
  connection: {
445
545
  socketConnected: this.realtimeHandler.getIsConnected(),
446
546
  isLeader: this.persistenceManager.getIsLeader(),
447
- isOnline: typeof navigator !== "undefined" ? navigator.onLine : true
547
+ // React Native has navigator but no onLine (undefined) — treat
548
+ // anything other than an explicit false as online.
549
+ isOnline: typeof navigator === "undefined" || navigator.onLine !== false
448
550
  }
449
551
  };
450
552
  }