@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
@@ -24,10 +24,13 @@ var frappeReact_exports = {};
24
24
  __export(frappeReact_exports, {
25
25
  __getActiveSyncModule: () => __getActiveSyncModule,
26
26
  useFrappeCollection: () => useFrappeCollection,
27
+ useFrappeConnection: () => useFrappeConnection,
28
+ useFrappeDoctypeEvents: () => useFrappeDoctypeEvents,
27
29
  useFrappeInfiniteList: () => useFrappeInfiniteList,
28
30
  useInfiniteScroll: () => useInfiniteScroll
29
31
  });
30
32
  module.exports = __toCommonJS(frappeReact_exports);
33
+ var import_platform = require("@multiplatform.one/platform");
31
34
  var import_react = require("react");
32
35
  var import_collection = require("./collection.cjs");
33
36
  var import_http = require("./core/http.cjs");
@@ -56,10 +59,12 @@ function getSyncModule(config) {
56
59
  const key = config.baseURL;
57
60
  let sync = syncModuleCache.get(key);
58
61
  if (!sync) {
62
+ console.debug(`[frappe-sync] SyncModule created for ${key} (persistKey=${config.syncOptions?.persistKey ?? "none"}, cdcInterval=${config.syncOptions?.cdcInterval ?? "off"})`);
59
63
  const authConfig = config.auth ? {
60
64
  useToken: config.auth.useToken,
61
65
  token: config.auth.token,
62
- type: config.auth.type
66
+ type: config.auth.type,
67
+ sessionId: config.auth.sessionId
63
68
  } : void 0;
64
69
  const http = new import_http.HttpClient(config.baseURL, authConfig);
65
70
  const db = new import_db.DbModule(http, {
@@ -68,33 +73,208 @@ function getSyncModule(config) {
68
73
  const realtimeConfig = {
69
74
  baseURL: config.baseURL,
70
75
  socketPort: config.socketPort,
71
- auth: authConfig
76
+ auth: authConfig,
77
+ socketOptions: config.socketOptions
72
78
  };
73
79
  sync = new import_sync.SyncModule(db, new import_realtime.RealtimeModule(realtimeConfig), config.syncOptions);
74
80
  syncModuleCache.set(key, sync);
75
81
  }
76
82
  return sync;
77
83
  }
84
+ const sharedCollectionCaches = /* @__PURE__ */new WeakMap();
85
+ const SHARED_COLLECTION_GC_MS = 1e3;
86
+ const SHARED_COLLECTION_GC_FORCE_MS = 3e4;
87
+ function collectionIsCleanedUp(collection) {
88
+ return collection.status === "cleaned-up";
89
+ }
90
+ function collectionOptionsKey(doctype, options) {
91
+ return [doctype, JSON.stringify(options?.fields), JSON.stringify(options?.filters), JSON.stringify(options?.orderBy), String(options?.limit), String(options?.id)].join("|");
92
+ }
93
+ function scheduleEntryGc(cache, key, entry) {
94
+ if (entry.gcTimer) clearTimeout(entry.gcTimer);
95
+ entry.gcTimer = setTimeout(() => {
96
+ entry.gcTimer = void 0;
97
+ if (entry.refCount > 0 || entry.cleaned) return;
98
+ const subscriberCount = entry.collection.subscriberCount ?? 0;
99
+ if (subscriberCount > 0) {
100
+ entry.gcForceDeadline ??= Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
101
+ if (Date.now() < entry.gcForceDeadline) {
102
+ scheduleEntryGc(cache, key, entry);
103
+ return;
104
+ }
105
+ }
106
+ entry.cleaned = true;
107
+ entry.gcForceDeadline = void 0;
108
+ if (cache.get(key) === entry) cache.delete(key);
109
+ Promise.resolve(entry.collection.cleanup?.()).catch(() => {});
110
+ }, SHARED_COLLECTION_GC_MS);
111
+ }
112
+ function getOrCreateSharedCollection(syncModule, doctype, options, key) {
113
+ let existingCache = sharedCollectionCaches.get(syncModule);
114
+ if (!existingCache) {
115
+ existingCache = /* @__PURE__ */new Map();
116
+ sharedCollectionCaches.set(syncModule, existingCache);
117
+ }
118
+ const cache = existingCache;
119
+ let entry = cache.get(key);
120
+ if (entry && !entry.cleaned && collectionIsCleanedUp(entry.collection)) {
121
+ entry.cleaned = true;
122
+ if (entry.gcTimer) {
123
+ clearTimeout(entry.gcTimer);
124
+ entry.gcTimer = void 0;
125
+ }
126
+ }
127
+ if (!entry || entry.cleaned) {
128
+ const created = {
129
+ collection: void 0,
130
+ refCount: 0,
131
+ gcTimer: void 0,
132
+ gcForceDeadline: void 0,
133
+ errorHandlers: /* @__PURE__ */new Set(),
134
+ hasSyncError: false,
135
+ lastSyncError: void 0,
136
+ cleaned: false
137
+ };
138
+ created.collection = (0, import_collection.createFrappeCollection)(doctype, {
139
+ ...options,
140
+ sync: syncModule,
141
+ onSyncError: error => {
142
+ created.hasSyncError = true;
143
+ created.lastSyncError = error;
144
+ for (const handler of created.errorHandlers) handler(error);
145
+ }
146
+ });
147
+ cache.set(key, created);
148
+ scheduleEntryGc(cache, key, created);
149
+ entry = created;
150
+ }
151
+ return {
152
+ cache,
153
+ entry
154
+ };
155
+ }
156
+ function retainSharedCollection(entry, onSyncError) {
157
+ entry.refCount++;
158
+ if (entry.gcTimer) {
159
+ clearTimeout(entry.gcTimer);
160
+ entry.gcTimer = void 0;
161
+ }
162
+ entry.gcForceDeadline = void 0;
163
+ entry.errorHandlers.add(onSyncError);
164
+ if (entry.hasSyncError) onSyncError(entry.lastSyncError);
165
+ }
166
+ function releaseSharedCollection(cache, key, entry, onSyncError) {
167
+ entry.errorHandlers.delete(onSyncError);
168
+ entry.refCount = Math.max(0, entry.refCount - 1);
169
+ if (entry.refCount > 0 || entry.cleaned) return;
170
+ if (entry.hasSyncError) {
171
+ entry.cleaned = true;
172
+ if (entry.gcTimer) {
173
+ clearTimeout(entry.gcTimer);
174
+ entry.gcTimer = void 0;
175
+ }
176
+ entry.gcForceDeadline = void 0;
177
+ if (cache.get(key) === entry) cache.delete(key);
178
+ cleanupEntryCollectionWhenIdle(entry);
179
+ return;
180
+ }
181
+ scheduleEntryGc(cache, key, entry);
182
+ }
183
+ function cleanupEntryCollectionWhenIdle(entry) {
184
+ const deadline = Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
185
+ const tick = () => {
186
+ entry.gcTimer = void 0;
187
+ const subscriberCount = entry.collection.subscriberCount ?? 0;
188
+ if (subscriberCount > 0 && Date.now() < deadline) {
189
+ entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
190
+ return;
191
+ }
192
+ Promise.resolve(entry.collection.cleanup?.()).catch(() => {});
193
+ };
194
+ entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
195
+ }
78
196
  function useFrappeCollection(config, doctype, options) {
79
- const collectionRef = (0, import_react.useRef)(void 0);
80
- const configKeyRef = (0, import_react.useRef)("");
81
- const configKey = config ? `${config.baseURL}:${config.fixtures ? "fixture" : "live"}:${doctype}:${JSON.stringify(options?.fields)}:${JSON.stringify(options?.filters)}` : "";
82
- const needsCollection = config && (configKey !== configKeyRef.current || !collectionRef.current);
83
- if (needsCollection) {
197
+ const errorHandlerRef = (0, import_react.useRef)(options?.onSyncError);
198
+ errorHandlerRef.current = options?.onSyncError;
199
+ const stableErrorHandler = (0, import_react.useCallback)(error => {
200
+ errorHandlerRef.current?.(error);
201
+ }, []);
202
+ const [, setStaleEntryBump] = (0, import_react.useState)(0);
203
+ let cache;
204
+ let key = "";
205
+ let entry;
206
+ if (config && doctype) {
84
207
  const syncModule = getSyncModule(config);
85
208
  if (syncModule) {
86
- collectionRef.current = (0, import_collection.createFrappeCollection)(doctype, {
87
- ...options,
88
- sync: syncModule
89
- });
90
- configKeyRef.current = configKey;
209
+ key = collectionOptionsKey(doctype, options);
210
+ ({
211
+ cache,
212
+ entry
213
+ } = getOrCreateSharedCollection(syncModule, doctype, options, key));
91
214
  }
92
215
  }
93
- if (!config) {
94
- collectionRef.current = void 0;
95
- configKeyRef.current = "";
96
- }
97
- return collectionRef.current;
216
+ (0, import_react.useEffect)(() => {
217
+ if (!entry || !cache) return;
218
+ if (entry.cleaned || collectionIsCleanedUp(entry.collection)) {
219
+ setStaleEntryBump(n => n + 1);
220
+ return;
221
+ }
222
+ const retained = entry;
223
+ const retainedCache = cache;
224
+ const retainedKey = key;
225
+ retainSharedCollection(retained, stableErrorHandler);
226
+ const unsubscribeStatus = retained.collection.on?.("status:change", event => {
227
+ if (event?.status !== "cleaned-up" || retained.cleaned) return;
228
+ retained.cleaned = true;
229
+ setStaleEntryBump(n => n + 1);
230
+ });
231
+ return () => {
232
+ unsubscribeStatus?.();
233
+ releaseSharedCollection(retainedCache, retainedKey, retained, stableErrorHandler);
234
+ };
235
+ }, [entry, stableErrorHandler]);
236
+ return entry ? entry.collection : void 0;
237
+ }
238
+ const DISCONNECTED_STATE = Object.freeze({
239
+ connected: false,
240
+ everConnected: false
241
+ });
242
+ function useFrappeConnection(config) {
243
+ const [state, setState] = (0, import_react.useState)(DISCONNECTED_STATE);
244
+ (0, import_react.useEffect)(() => {
245
+ if (!config || config.fixtures || !(0, import_util.isBrowser)()) return;
246
+ const syncModule = getSyncModule(config);
247
+ if (!syncModule) return;
248
+ const read = () => {
249
+ const next = syncModule.getConnectionState();
250
+ setState(prev => prev.connected === next.connected && prev.everConnected === next.everConnected ? prev : next);
251
+ };
252
+ read();
253
+ return syncModule.subscribeStore(read);
254
+ }, [config?.baseURL, !!config?.fixtures]);
255
+ return state;
256
+ }
257
+ function useFrappeDoctypeEvents(config, doctype, onEvent, enabled = true) {
258
+ const handlerRef = (0, import_react.useRef)(onEvent);
259
+ handlerRef.current = onEvent;
260
+ (0, import_react.useEffect)(() => {
261
+ if (!enabled || !config || config.fixtures || !doctype || !(0, import_util.isBrowser)()) return;
262
+ const syncModule = getSyncModule(config);
263
+ if (!syncModule) return;
264
+ syncModule.watchDoctype(doctype);
265
+ const unsubscribe = syncModule.subscribeRealtimeEvents(event => {
266
+ const payload = event.payload;
267
+ if (payload?.doctype && payload.doctype !== doctype) return;
268
+ handlerRef.current({
269
+ type: event.type,
270
+ payload: event.payload
271
+ });
272
+ });
273
+ return () => {
274
+ unsubscribe();
275
+ syncModule.unwatchDoctype(doctype);
276
+ };
277
+ }, [enabled, config?.baseURL, !!config?.fixtures, doctype]);
98
278
  }
99
279
  function useInfiniteScroll(config) {
100
280
  const {
@@ -126,7 +306,7 @@ function useInfiniteScroll(config) {
126
306
  }
127
307
  }, [hasMore, isLoading, isLoadingMore, onLoadMore, debounceMs]);
128
308
  (0, import_react.useEffect)(() => {
129
- if (!(0, import_util.isBrowser)() || !enabled) return;
309
+ if (!import_platform.isWindowDefined || typeof IntersectionObserver === "undefined" || !enabled) return;
130
310
  const node = sentinelNodeRef.current;
131
311
  if (!node) return;
132
312
  if (observerRef.current) {
@@ -26,10 +26,13 @@ var frappeReact_exports = {};
26
26
  __export(frappeReact_exports, {
27
27
  __getActiveSyncModule: () => __getActiveSyncModule,
28
28
  useFrappeCollection: () => useFrappeCollection,
29
+ useFrappeConnection: () => useFrappeConnection,
30
+ useFrappeDoctypeEvents: () => useFrappeDoctypeEvents,
29
31
  useFrappeInfiniteList: () => useFrappeInfiniteList,
30
32
  useInfiniteScroll: () => useInfiniteScroll
31
33
  });
32
34
  module.exports = __toCommonJS(frappeReact_exports);
35
+ var import_platform = require("@multiplatform.one/platform");
33
36
  var import_react = require("react");
34
37
  var import_collection = require("./collection.native.js");
35
38
  var import_http = require("./core/http.native.js");
@@ -88,10 +91,14 @@ function getSyncModule(config) {
88
91
  var key = config.baseURL;
89
92
  var sync1 = syncModuleCache.get(key);
90
93
  if (!sync1) {
94
+ var _ref, _ref1;
95
+ var _config_syncOptions, _config_syncOptions1;
96
+ console.debug(`[frappe-sync] SyncModule created for ${key} (persistKey=${(_ref = (_config_syncOptions = config.syncOptions) === null || _config_syncOptions === void 0 ? void 0 : _config_syncOptions.persistKey) !== null && _ref !== void 0 ? _ref : "none"}, cdcInterval=${(_ref1 = (_config_syncOptions1 = config.syncOptions) === null || _config_syncOptions1 === void 0 ? void 0 : _config_syncOptions1.cdcInterval) !== null && _ref1 !== void 0 ? _ref1 : "off"})`);
91
97
  var authConfig = config.auth ? {
92
98
  useToken: config.auth.useToken,
93
99
  token: config.auth.token,
94
- type: config.auth.type
100
+ type: config.auth.type,
101
+ sessionId: config.auth.sessionId
95
102
  } : void 0;
96
103
  var http = new import_http.HttpClient(config.baseURL, authConfig);
97
104
  var db1 = new import_db.DbModule(http, {
@@ -100,33 +107,249 @@ function getSyncModule(config) {
100
107
  var realtimeConfig = {
101
108
  baseURL: config.baseURL,
102
109
  socketPort: config.socketPort,
103
- auth: authConfig
110
+ auth: authConfig,
111
+ socketOptions: config.socketOptions
104
112
  };
105
113
  sync1 = new import_sync.SyncModule(db1, new import_realtime.RealtimeModule(realtimeConfig), config.syncOptions);
106
114
  syncModuleCache.set(key, sync1);
107
115
  }
108
116
  return sync1;
109
117
  }
118
+ var sharedCollectionCaches = /* @__PURE__ */new WeakMap();
119
+ var SHARED_COLLECTION_GC_MS = 1e3;
120
+ var SHARED_COLLECTION_GC_FORCE_MS = 3e4;
121
+ function collectionIsCleanedUp(collection) {
122
+ return collection.status === "cleaned-up";
123
+ }
124
+ function collectionOptionsKey(doctype, options) {
125
+ return [doctype, JSON.stringify(options === null || options === void 0 ? void 0 : options.fields), JSON.stringify(options === null || options === void 0 ? void 0 : options.filters), JSON.stringify(options === null || options === void 0 ? void 0 : options.orderBy), String(options === null || options === void 0 ? void 0 : options.limit), String(options === null || options === void 0 ? void 0 : options.id)].join("|");
126
+ }
127
+ function scheduleEntryGc(cache, key, entry) {
128
+ if (entry.gcTimer) clearTimeout(entry.gcTimer);
129
+ entry.gcTimer = setTimeout(function () {
130
+ var _entry_collection_subscriberCount;
131
+ var _entry_collection_cleanup, _entry_collection;
132
+ entry.gcTimer = void 0;
133
+ if (entry.refCount > 0 || entry.cleaned) return;
134
+ var subscriberCount = (_entry_collection_subscriberCount = entry.collection.subscriberCount) !== null && _entry_collection_subscriberCount !== void 0 ? _entry_collection_subscriberCount : 0;
135
+ if (subscriberCount > 0) {
136
+ var _entry, _gcForceDeadline;
137
+ (_gcForceDeadline = (_entry = entry).gcForceDeadline) !== null && _gcForceDeadline !== void 0 ? _gcForceDeadline : _entry.gcForceDeadline = Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
138
+ if (Date.now() < entry.gcForceDeadline) {
139
+ scheduleEntryGc(cache, key, entry);
140
+ return;
141
+ }
142
+ }
143
+ entry.cleaned = true;
144
+ entry.gcForceDeadline = void 0;
145
+ if (cache.get(key) === entry) cache.delete(key);
146
+ Promise.resolve((_entry_collection_cleanup = (_entry_collection = entry.collection).cleanup) === null || _entry_collection_cleanup === void 0 ? void 0 : _entry_collection_cleanup.call(_entry_collection)).catch(function () {});
147
+ }, SHARED_COLLECTION_GC_MS);
148
+ }
149
+ function getOrCreateSharedCollection(syncModule, doctype, options, key) {
150
+ var existingCache = sharedCollectionCaches.get(syncModule);
151
+ if (!existingCache) {
152
+ existingCache = /* @__PURE__ */new Map();
153
+ sharedCollectionCaches.set(syncModule, existingCache);
154
+ }
155
+ var cache = existingCache;
156
+ var entry = cache.get(key);
157
+ if (entry && !entry.cleaned && collectionIsCleanedUp(entry.collection)) {
158
+ entry.cleaned = true;
159
+ if (entry.gcTimer) {
160
+ clearTimeout(entry.gcTimer);
161
+ entry.gcTimer = void 0;
162
+ }
163
+ }
164
+ if (!entry || entry.cleaned) {
165
+ var created = {
166
+ collection: void 0,
167
+ refCount: 0,
168
+ gcTimer: void 0,
169
+ gcForceDeadline: void 0,
170
+ errorHandlers: /* @__PURE__ */new Set(),
171
+ hasSyncError: false,
172
+ lastSyncError: void 0,
173
+ cleaned: false
174
+ };
175
+ created.collection = (0, import_collection.createFrappeCollection)(doctype, {
176
+ ...options,
177
+ sync: syncModule,
178
+ onSyncError: function onSyncError(error) {
179
+ created.hasSyncError = true;
180
+ created.lastSyncError = error;
181
+ var _iteratorNormalCompletion = true,
182
+ _didIteratorError = false,
183
+ _iteratorError = void 0;
184
+ try {
185
+ for (var _iterator = created.errorHandlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
186
+ var handler = _step.value;
187
+ handler(error);
188
+ }
189
+ } catch (err) {
190
+ _didIteratorError = true;
191
+ _iteratorError = err;
192
+ } finally {
193
+ try {
194
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
195
+ _iterator.return();
196
+ }
197
+ } finally {
198
+ if (_didIteratorError) {
199
+ throw _iteratorError;
200
+ }
201
+ }
202
+ }
203
+ }
204
+ });
205
+ cache.set(key, created);
206
+ scheduleEntryGc(cache, key, created);
207
+ entry = created;
208
+ }
209
+ return {
210
+ cache,
211
+ entry
212
+ };
213
+ }
214
+ function retainSharedCollection(entry, onSyncError) {
215
+ entry.refCount++;
216
+ if (entry.gcTimer) {
217
+ clearTimeout(entry.gcTimer);
218
+ entry.gcTimer = void 0;
219
+ }
220
+ entry.gcForceDeadline = void 0;
221
+ entry.errorHandlers.add(onSyncError);
222
+ if (entry.hasSyncError) onSyncError(entry.lastSyncError);
223
+ }
224
+ function releaseSharedCollection(cache, key, entry, onSyncError) {
225
+ entry.errorHandlers.delete(onSyncError);
226
+ entry.refCount = Math.max(0, entry.refCount - 1);
227
+ if (entry.refCount > 0 || entry.cleaned) return;
228
+ if (entry.hasSyncError) {
229
+ entry.cleaned = true;
230
+ if (entry.gcTimer) {
231
+ clearTimeout(entry.gcTimer);
232
+ entry.gcTimer = void 0;
233
+ }
234
+ entry.gcForceDeadline = void 0;
235
+ if (cache.get(key) === entry) cache.delete(key);
236
+ cleanupEntryCollectionWhenIdle(entry);
237
+ return;
238
+ }
239
+ scheduleEntryGc(cache, key, entry);
240
+ }
241
+ function cleanupEntryCollectionWhenIdle(entry) {
242
+ var deadline = Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
243
+ var tick = function tick1() {
244
+ var _entry_collection_subscriberCount;
245
+ var _entry_collection_cleanup, _entry_collection;
246
+ entry.gcTimer = void 0;
247
+ var subscriberCount = (_entry_collection_subscriberCount = entry.collection.subscriberCount) !== null && _entry_collection_subscriberCount !== void 0 ? _entry_collection_subscriberCount : 0;
248
+ if (subscriberCount > 0 && Date.now() < deadline) {
249
+ entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
250
+ return;
251
+ }
252
+ Promise.resolve((_entry_collection_cleanup = (_entry_collection = entry.collection).cleanup) === null || _entry_collection_cleanup === void 0 ? void 0 : _entry_collection_cleanup.call(_entry_collection)).catch(function () {});
253
+ };
254
+ entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
255
+ }
110
256
  function useFrappeCollection(config, doctype, options) {
111
- var collectionRef = (0, import_react.useRef)(void 0);
112
- var configKeyRef = (0, import_react.useRef)("");
113
- var configKey = config ? `${config.baseURL}:${config.fixtures ? "fixture" : "live"}:${doctype}:${JSON.stringify(options === null || options === void 0 ? void 0 : options.fields)}:${JSON.stringify(options === null || options === void 0 ? void 0 : options.filters)}` : "";
114
- var needsCollection = config && (configKey !== configKeyRef.current || !collectionRef.current);
115
- if (needsCollection) {
257
+ var errorHandlerRef = (0, import_react.useRef)(options === null || options === void 0 ? void 0 : options.onSyncError);
258
+ errorHandlerRef.current = options === null || options === void 0 ? void 0 : options.onSyncError;
259
+ var stableErrorHandler = (0, import_react.useCallback)(function (error) {
260
+ var _errorHandlerRef_current;
261
+ (_errorHandlerRef_current = errorHandlerRef.current) === null || _errorHandlerRef_current === void 0 ? void 0 : _errorHandlerRef_current.call(errorHandlerRef, error);
262
+ }, []);
263
+ var [, setStaleEntryBump] = (0, import_react.useState)(0);
264
+ var cache;
265
+ var key = "";
266
+ var entry;
267
+ if (config && doctype) {
116
268
  var syncModule = getSyncModule(config);
117
269
  if (syncModule) {
118
- collectionRef.current = (0, import_collection.createFrappeCollection)(doctype, {
119
- ...options,
120
- sync: syncModule
121
- });
122
- configKeyRef.current = configKey;
270
+ key = collectionOptionsKey(doctype, options);
271
+ ({
272
+ cache,
273
+ entry
274
+ } = getOrCreateSharedCollection(syncModule, doctype, options, key));
123
275
  }
124
276
  }
125
- if (!config) {
126
- collectionRef.current = void 0;
127
- configKeyRef.current = "";
128
- }
129
- return collectionRef.current;
277
+ (0, import_react.useEffect)(function () {
278
+ var _retained_collection_on, _retained_collection;
279
+ if (!entry || !cache) return;
280
+ if (entry.cleaned || collectionIsCleanedUp(entry.collection)) {
281
+ setStaleEntryBump(function (n) {
282
+ return n + 1;
283
+ });
284
+ return;
285
+ }
286
+ var retained = entry;
287
+ var retainedCache = cache;
288
+ var retainedKey = key;
289
+ retainSharedCollection(retained, stableErrorHandler);
290
+ var unsubscribeStatus = (_retained_collection_on = (_retained_collection = retained.collection).on) === null || _retained_collection_on === void 0 ? void 0 : _retained_collection_on.call(_retained_collection, "status:change", function (event) {
291
+ if ((event === null || event === void 0 ? void 0 : event.status) !== "cleaned-up" || retained.cleaned) return;
292
+ retained.cleaned = true;
293
+ setStaleEntryBump(function (n) {
294
+ return n + 1;
295
+ });
296
+ });
297
+ return function () {
298
+ unsubscribeStatus === null || unsubscribeStatus === void 0 ? void 0 : unsubscribeStatus();
299
+ releaseSharedCollection(retainedCache, retainedKey, retained, stableErrorHandler);
300
+ };
301
+ },
302
+ // eslint-disable-next-line react-hooks/exhaustive-deps
303
+ [entry, stableErrorHandler]);
304
+ return entry ? entry.collection : void 0;
305
+ }
306
+ var DISCONNECTED_STATE = Object.freeze({
307
+ connected: false,
308
+ everConnected: false
309
+ });
310
+ function useFrappeConnection(config) {
311
+ var [state, setState] = (0, import_react.useState)(DISCONNECTED_STATE);
312
+ (0, import_react.useEffect)(function () {
313
+ if (!config || config.fixtures || !(0, import_util.isBrowser)()) return;
314
+ var syncModule = getSyncModule(config);
315
+ if (!syncModule) return;
316
+ var read = function read2() {
317
+ var next = syncModule.getConnectionState();
318
+ setState(function (prev) {
319
+ return prev.connected === next.connected && prev.everConnected === next.everConnected ? prev : next;
320
+ });
321
+ };
322
+ read();
323
+ return syncModule.subscribeStore(read);
324
+ },
325
+ // eslint-disable-next-line react-hooks/exhaustive-deps
326
+ [config === null || config === void 0 ? void 0 : config.baseURL, !!(config === null || config === void 0 ? void 0 : config.fixtures)]);
327
+ return state;
328
+ }
329
+ function useFrappeDoctypeEvents(config, doctype, onEvent) {
330
+ var enabled = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
331
+ var handlerRef = (0, import_react.useRef)(onEvent);
332
+ handlerRef.current = onEvent;
333
+ (0, import_react.useEffect)(function () {
334
+ if (!enabled || !config || config.fixtures || !doctype || !(0, import_util.isBrowser)()) return;
335
+ var syncModule = getSyncModule(config);
336
+ if (!syncModule) return;
337
+ syncModule.watchDoctype(doctype);
338
+ var unsubscribe = syncModule.subscribeRealtimeEvents(function (event) {
339
+ var payload = event.payload;
340
+ if ((payload === null || payload === void 0 ? void 0 : payload.doctype) && payload.doctype !== doctype) return;
341
+ handlerRef.current({
342
+ type: event.type,
343
+ payload: event.payload
344
+ });
345
+ });
346
+ return function () {
347
+ unsubscribe();
348
+ syncModule.unwatchDoctype(doctype);
349
+ };
350
+ },
351
+ // eslint-disable-next-line react-hooks/exhaustive-deps
352
+ [enabled, config === null || config === void 0 ? void 0 : config.baseURL, !!(config === null || config === void 0 ? void 0 : config.fixtures), doctype]);
130
353
  }
131
354
  function useInfiniteScroll(config) {
132
355
  var {
@@ -158,7 +381,7 @@ function useInfiniteScroll(config) {
158
381
  }
159
382
  }, [hasMore, isLoading, isLoadingMore, onLoadMore, debounceMs]);
160
383
  (0, import_react.useEffect)(function () {
161
- if (!(0, import_util.isBrowser)() || !enabled) return;
384
+ if (!import_platform.isWindowDefined || typeof IntersectionObserver === "undefined" || !enabled) return;
162
385
  var node = sentinelNodeRef.current;
163
386
  if (!node) return;
164
387
  if (observerRef.current) {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","frappeReact_exports","__export","__getActiveSyncModule","useFrappeCollection","useFrappeInfiniteList","useInfiniteScroll","module","exports","import_react","require","import_collection","import_http","import_db","import_fixtureDb","import_realtime","import_sync","import_util","_instanceof","left","right","Symbol","hasInstance","syncModuleCache","Map","fixtureSyncModuleCache","WeakMap","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","values","iterator","_step","next","done","sync","err","return","getSyncModule","config","isBrowser","fixtures","get","db","FixtureDbModule","SyncModule","syncOptions","set","key","baseURL","sync1","authConfig","auth","useToken","token","type","http","HttpClient","db1","DbModule","appName","realtimeConfig","socketPort","RealtimeModule","doctype","options","collectionRef","useRef","configKeyRef","configKey","JSON","stringify","fields","filters","needsCollection","current","syncModule","createFrappeCollection","hasMore","isLoading","onLoadMore","root","rootMargin","threshold","debounceMs","enabled","isVisible","setIsVisible","useState","isLoadingMore","setIsLoadingMore","observerRef","sentinelNodeRef","debounceTimerRef","lastLoadTimeRef","loadMore","useCallback","now","Date","useEffect","node","disconnect","IntersectionObserver","entries","_ref","entry","visible","isIntersecting","clearTimeout","setTimeout","observe","sentinelRef","_config_auth","orderBy","pageSize","transform","items","setItems","setHasMore","setIsLoading","error","setError","subscriptionIdRef","syncModuleRef","filtersKey","cancelled","result","subscribe","limit","progressive","unsubscribe","subscriptionId","docs","getDocsForSubscription","pageInfo","getPageInfo","map","Error","String","unsubStore","subscribeStore","subId","currentDocs","lastDoc","length","getNextBatch","name","refresh"],"sources":["../../src/frappeReact.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","frappeReact_exports","__export","__getActiveSyncModule","useFrappeCollection","useFrappeConnection","useFrappeDoctypeEvents","useFrappeInfiniteList","useInfiniteScroll","module","exports","import_platform","require","import_react","import_collection","import_http","import_db","import_fixtureDb","import_realtime","import_sync","import_util","_instanceof","left","right","Symbol","hasInstance","syncModuleCache","Map","fixtureSyncModuleCache","WeakMap","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","values","iterator","_step","next","done","sync","err","return","getSyncModule","config","isBrowser","fixtures","get","db","FixtureDbModule","SyncModule","syncOptions","set","key","baseURL","sync1","_ref","_ref1","_config_syncOptions","_config_syncOptions1","console","debug","persistKey","cdcInterval","authConfig","auth","useToken","token","type","sessionId","http","HttpClient","db1","DbModule","appName","realtimeConfig","socketPort","socketOptions","RealtimeModule","sharedCollectionCaches","SHARED_COLLECTION_GC_MS","SHARED_COLLECTION_GC_FORCE_MS","collectionIsCleanedUp","collection","status","collectionOptionsKey","doctype","options","JSON","stringify","fields","filters","orderBy","String","limit","id","join","scheduleEntryGc","cache","entry","gcTimer","clearTimeout","setTimeout","_entry_collection_subscriberCount","_entry_collection_cleanup","_entry_collection","refCount","cleaned","subscriberCount","_entry","_gcForceDeadline","gcForceDeadline","Date","now","delete","Promise","resolve","cleanup","call","catch","getOrCreateSharedCollection","syncModule","existingCache","created","errorHandlers","Set","hasSyncError","lastSyncError","createFrappeCollection","onSyncError","error","handler","retainSharedCollection","add","releaseSharedCollection","Math","max","cleanupEntryCollectionWhenIdle","deadline","tick","tick1","errorHandlerRef","useRef","current","stableErrorHandler","useCallback","_errorHandlerRef_current","setStaleEntryBump","useState","useEffect","_retained_collection_on","_retained_collection","n","retained","retainedCache","retainedKey","unsubscribeStatus","on","event","DISCONNECTED_STATE","Object","freeze","connected","everConnected","state","setState","read","read2","getConnectionState","prev","subscribeStore","onEvent","enabled","arguments","length","handlerRef","watchDoctype","unsubscribe","subscribeRealtimeEvents","payload","unwatchDoctype","hasMore","isLoading","onLoadMore","root","rootMargin","threshold","debounceMs","isVisible","setIsVisible","isLoadingMore","setIsLoadingMore","observerRef","sentinelNodeRef","debounceTimerRef","lastLoadTimeRef","loadMore","isWindowDefined","IntersectionObserver","node","disconnect","entries","visible","isIntersecting","observe","sentinelRef","_config_auth","pageSize","transform","items","setItems","setHasMore","setIsLoading","setError","subscriptionIdRef","syncModuleRef","filtersKey","cancelled","result","subscribe","progressive","subscriptionId","docs","getDocsForSubscription","pageInfo","getPageInfo","map","Error"],"sources":["../../src/frappeReact.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}