@multiplatform.one/frappe 6.1.0 → 6.4.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
@@ -1,873 +0,0 @@
1
- "use strict";
2
-
3
- var import_vitest = require("vitest");
4
- var import_normalizedCache = require("./normalizedCache.native.js");
5
- var import_types = require("./types.native.js");
6
- var import_virtualPageManager = require("./virtualPageManager.native.js");
7
- function getCache(sub) {
8
- return sub.progressiveCache;
9
- }
10
- function setCache(sub, patch) {
11
- var cache = sub.progressiveCache;
12
- Object.assign(cache, patch);
13
- }
14
- (0, import_vitest.describe)("VirtualPageManager", function () {
15
- var virtualPageManager;
16
- var mockNormalizedCache;
17
- var mockDb;
18
- var mockDocs = Array.from({
19
- length: 100
20
- }, function (_, i) {
21
- return {
22
- name: `doc-${i}`,
23
- doctype: "TestDoc",
24
- owner: "user",
25
- modified: new Date(2024, 0, 1, 0, 0, i).toISOString(),
26
- creation: new Date(2024, 0, 1).toISOString(),
27
- modified_by: "user",
28
- value: i,
29
- title: `Document ${i}`
30
- };
31
- });
32
- (0, import_vitest.beforeEach)(function () {
33
- mockNormalizedCache = {
34
- get: import_vitest.vi.fn(function (param) {
35
- var {
36
- name
37
- } = param;
38
- var doc = mockDocs.find(function (d) {
39
- return d.name === name;
40
- });
41
- return doc || null;
42
- }),
43
- upsert: import_vitest.vi.fn(),
44
- delete: import_vitest.vi.fn(),
45
- clear: import_vitest.vi.fn(),
46
- getAll: import_vitest.vi.fn(),
47
- hasDoc: import_vitest.vi.fn(),
48
- getAllByDoctype: import_vitest.vi.fn(),
49
- batchUpsert: import_vitest.vi.fn(),
50
- batchDelete: import_vitest.vi.fn(),
51
- clearByDoctype: import_vitest.vi.fn(),
52
- size: import_vitest.vi.fn(),
53
- sizeByDoctype: import_vitest.vi.fn()
54
- };
55
- mockDb = {
56
- getDocList: import_vitest.vi.fn(async function (doctype, options) {
57
- var _options_orderBy;
58
- var limit = (options === null || options === void 0 ? void 0 : options.limit) || 20;
59
- var start = (options === null || options === void 0 ? void 0 : options.limitStart) || 0;
60
- if (options === null || options === void 0 ? void 0 : options.cursor) {
61
- var cursorIdx = mockDocs.findIndex(function (d) {
62
- return d.name === options.cursor;
63
- });
64
- if (cursorIdx >= 0) start = cursorIdx + 1;
65
- }
66
- var result = mockDocs.slice(start, start + limit);
67
- if ((options === null || options === void 0 ? void 0 : (_options_orderBy = options.orderBy) === null || _options_orderBy === void 0 ? void 0 : _options_orderBy.order) === "desc") {
68
- return result.reverse();
69
- }
70
- return result;
71
- }),
72
- getCount: import_vitest.vi.fn(async function () {
73
- return mockDocs.length;
74
- }),
75
- getDoc: import_vitest.vi.fn(),
76
- createDoc: import_vitest.vi.fn(),
77
- updateDoc: import_vitest.vi.fn(),
78
- deleteDoc: import_vitest.vi.fn()
79
- };
80
- virtualPageManager = new import_virtualPageManager.VirtualPageManager(mockNormalizedCache, mockDb, {
81
- batchSize: 50
82
- });
83
- });
84
- (0, import_vitest.describe)("initializeSubscription", function () {
85
- (0, import_vitest.it)("should initialize a subscription with progressive cache", async function () {
86
- var query = {
87
- doctype: "TestDoc",
88
- limit: 20,
89
- orderBy: {
90
- field: "modified",
91
- order: import_types.Order.Asc
92
- }
93
- };
94
- var subscription = await virtualPageManager.initializeSubscription("sub-1", query);
95
- (0, import_vitest.expect)(subscription).toBeDefined();
96
- (0, import_vitest.expect)(subscription.id).toBe("sub-1");
97
- (0, import_vitest.expect)(subscription.query).toEqual(query);
98
- (0, import_vitest.expect)(getCache(subscription)).toBeDefined();
99
- (0, import_vitest.expect)(getCache(subscription).docIds).toHaveLength(50);
100
- (0, import_vitest.expect)(subscription.viewWindow.pageSize).toBe(20);
101
- (0, import_vitest.expect)(subscription.viewWindow.currentPage).toBe(1);
102
- });
103
- (0, import_vitest.it)("should fetch initial batch of documents", async function () {
104
- var query = {
105
- doctype: "TestDoc",
106
- limit: 10
107
- };
108
- await virtualPageManager.initializeSubscription("sub-2", query);
109
- (0, import_vitest.expect)(mockDb.getDocList).toHaveBeenCalledWith("TestDoc", {
110
- fields: void 0,
111
- filters: void 0,
112
- orderBy: void 0,
113
- cursor: void 0,
114
- limit: 50
115
- });
116
- });
117
- (0, import_vitest.it)("should store subscription for later retrieval", async function () {
118
- var query = {
119
- doctype: "TestDoc",
120
- limit: 20
121
- };
122
- await virtualPageManager.initializeSubscription("sub-3", query);
123
- var subscription = virtualPageManager.getSubscription("sub-3");
124
- (0, import_vitest.expect)(subscription).toBeDefined();
125
- (0, import_vitest.expect)(subscription === null || subscription === void 0 ? void 0 : subscription.id).toBe("sub-3");
126
- });
127
- });
128
- (0, import_vitest.describe)("getPage", function () {
129
- (0, import_vitest.it)("should return documents for requested page", async function () {
130
- var query = {
131
- doctype: "TestDoc",
132
- limit: 10
133
- };
134
- await virtualPageManager.initializeSubscription("sub-4", query);
135
- var page = await virtualPageManager.getPage("sub-4", 1);
136
- (0, import_vitest.expect)(page).toHaveLength(10);
137
- (0, import_vitest.expect)(page[0].name).toBe("doc-0");
138
- (0, import_vitest.expect)(page[9].name).toBe("doc-9");
139
- });
140
- (0, import_vitest.it)("should update current page in view window", async function () {
141
- var query = {
142
- doctype: "TestDoc",
143
- limit: 10
144
- };
145
- await virtualPageManager.initializeSubscription("sub-5", query);
146
- await virtualPageManager.getPage("sub-5", 3);
147
- var subscription = virtualPageManager.getSubscription("sub-5");
148
- (0, import_vitest.expect)(subscription === null || subscription === void 0 ? void 0 : subscription.viewWindow.currentPage).toBe(3);
149
- });
150
- (0, import_vitest.it)("should fetch more data when accessing pages beyond cache", async function () {
151
- var query = {
152
- doctype: "TestDoc",
153
- limit: 10
154
- };
155
- await virtualPageManager.initializeSubscription("sub-6", query);
156
- var page = await virtualPageManager.getPage("sub-6", 7);
157
- (0, import_vitest.expect)(mockDb.getDocList).toHaveBeenCalledTimes(2);
158
- (0, import_vitest.expect)(page).toHaveLength(10);
159
- (0, import_vitest.expect)(page[0].name).toBe("doc-60");
160
- });
161
- (0, import_vitest.it)("should return empty array for non-existent subscription", async function () {
162
- var page = await virtualPageManager.getPage("non-existent", 1);
163
- (0, import_vitest.expect)(page).toEqual([]);
164
- });
165
- });
166
- (0, import_vitest.describe)("getNextBatch", function () {
167
- (0, import_vitest.it)("should return documents after cursor", async function () {
168
- var query = {
169
- doctype: "TestDoc",
170
- limit: 20
171
- };
172
- await virtualPageManager.initializeSubscription("sub-7", query);
173
- var docs = await virtualPageManager.getNextBatch("sub-7", "doc-10", 5);
174
- (0, import_vitest.expect)(docs).toHaveLength(5);
175
- (0, import_vitest.expect)(docs[0].name).toBe("doc-11");
176
- (0, import_vitest.expect)(docs[4].name).toBe("doc-15");
177
- });
178
- (0, import_vitest.it)("should return empty array if cursor not found", async function () {
179
- var query = {
180
- doctype: "TestDoc",
181
- limit: 20
182
- };
183
- await virtualPageManager.initializeSubscription("sub-8", query);
184
- var docs = await virtualPageManager.getNextBatch("sub-8", "non-existent", 5);
185
- (0, import_vitest.expect)(docs).toEqual([]);
186
- });
187
- (0, import_vitest.it)("should fetch more data if needed", async function () {
188
- var query = {
189
- doctype: "TestDoc",
190
- limit: 10
191
- };
192
- await virtualPageManager.initializeSubscription("sub-9", query);
193
- var docs = await virtualPageManager.getNextBatch("sub-9", "doc-45", 10);
194
- (0, import_vitest.expect)(docs).toHaveLength(10);
195
- (0, import_vitest.expect)(docs[0].name).toBe("doc-46");
196
- (0, import_vitest.expect)(docs[9].name).toBe("doc-55");
197
- });
198
- });
199
- (0, import_vitest.describe)("getPageInfo", function () {
200
- (0, import_vitest.it)("should return correct page information", async function () {
201
- var query = {
202
- doctype: "TestDoc",
203
- limit: 10
204
- };
205
- await virtualPageManager.initializeSubscription("sub-10", query);
206
- var pageInfo = virtualPageManager.getPageInfo("sub-10");
207
- (0, import_vitest.expect)(pageInfo.currentPage).toBe(1);
208
- (0, import_vitest.expect)(pageInfo.pageSize).toBe(10);
209
- (0, import_vitest.expect)(pageInfo.itemsInCache).toBe(50);
210
- (0, import_vitest.expect)(pageInfo.knownPages).toBe(5);
211
- (0, import_vitest.expect)(pageInfo.hasMore).toBe(true);
212
- });
213
- (0, import_vitest.it)("should return default info for non-existent subscription", function () {
214
- var pageInfo = virtualPageManager.getPageInfo("non-existent");
215
- (0, import_vitest.expect)(pageInfo.currentPage).toBe(1);
216
- (0, import_vitest.expect)(pageInfo.knownPages).toBe(0);
217
- (0, import_vitest.expect)(pageInfo.totalPages).toBe("unknown");
218
- (0, import_vitest.expect)(pageInfo.hasMore).toBe(false);
219
- (0, import_vitest.expect)(pageInfo.itemsInCache).toBe(0);
220
- (0, import_vitest.expect)(pageInfo.pageSize).toBe(20);
221
- });
222
- (0, import_vitest.it)("should calculate total pages when count is known", async function () {
223
- var query = {
224
- doctype: "TestDoc",
225
- limit: 15
226
- };
227
- await virtualPageManager.initializeSubscription("sub-11", query);
228
- var subscription = virtualPageManager.getSubscription("sub-11");
229
- if (subscription) {
230
- setCache(subscription, {
231
- totalCount: 100
232
- });
233
- }
234
- var pageInfo = virtualPageManager.getPageInfo("sub-11");
235
- (0, import_vitest.expect)(pageInfo.totalPages).toBe(7);
236
- });
237
- });
238
- (0, import_vitest.describe)("getTotalPages", function () {
239
- (0, import_vitest.it)("should return total pages when all data is fetched", async function () {
240
- var query = {
241
- doctype: "TestDoc",
242
- limit: 100
243
- };
244
- await virtualPageManager.initializeSubscription("sub-12", query);
245
- var subscription = virtualPageManager.getSubscription("sub-12");
246
- if (subscription) {
247
- setCache(subscription, {
248
- hasMore: false,
249
- docIds: mockDocs.map(function (d) {
250
- return d.name;
251
- })
252
- });
253
- }
254
- var totalPages = await virtualPageManager.getTotalPages("sub-12");
255
- (0, import_vitest.expect)(totalPages).toBe(1);
256
- });
257
- (0, import_vitest.it)("should fetch count from server when needed", async function () {
258
- var query = {
259
- doctype: "TestDoc",
260
- limit: 10
261
- };
262
- await virtualPageManager.initializeSubscription("sub-13", query);
263
- var totalPages = await virtualPageManager.getTotalPages("sub-13");
264
- (0, import_vitest.expect)(mockDb.getCount).toHaveBeenCalledWith("TestDoc", void 0);
265
- (0, import_vitest.expect)(totalPages).toBe(10);
266
- });
267
- (0, import_vitest.it)("should return unknown for non-existent subscription", async function () {
268
- var totalPages = await virtualPageManager.getTotalPages("non-existent");
269
- (0, import_vitest.expect)(totalPages).toBe("unknown");
270
- });
271
- });
272
- (0, import_vitest.describe)("determineOptimisticPlacement", function () {
273
- (0, import_vitest.it)("should determine WITHIN_RANGE placement correctly", async function () {
274
- var query = {
275
- doctype: "TestDoc",
276
- limit: 20,
277
- orderBy: {
278
- field: "value",
279
- order: import_types.Order.Asc
280
- }
281
- };
282
- await virtualPageManager.initializeSubscription("sub-14", query);
283
- var subscription = virtualPageManager.getSubscription("sub-14");
284
- var newDoc = {
285
- name: "new-doc",
286
- doctype: "TestDoc",
287
- value: 25,
288
- owner: "user",
289
- modified: (/* @__PURE__ */new Date()).toISOString(),
290
- creation: (/* @__PURE__ */new Date()).toISOString(),
291
- modified_by: "user"
292
- };
293
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
294
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.WithinRange);
295
- (0, import_vitest.expect)(placement.position).toBeDefined();
296
- (0, import_vitest.expect)(placement.position).toBeGreaterThanOrEqual(25);
297
- (0, import_vitest.expect)(placement.position).toBeLessThanOrEqual(26);
298
- });
299
- (0, import_vitest.it)("should determine BEFORE_RANGE placement", async function () {
300
- var query = {
301
- doctype: "TestDoc",
302
- limit: 20,
303
- orderBy: {
304
- field: "value",
305
- order: import_types.Order.Asc
306
- }
307
- };
308
- await virtualPageManager.initializeSubscription("sub-15", query);
309
- var subscription = virtualPageManager.getSubscription("sub-15");
310
- var newDoc = {
311
- name: "new-doc",
312
- doctype: "TestDoc",
313
- value: -1,
314
- owner: "user",
315
- modified: (/* @__PURE__ */new Date()).toISOString(),
316
- creation: (/* @__PURE__ */new Date()).toISOString(),
317
- modified_by: "user"
318
- };
319
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
320
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.BeforeRange);
321
- });
322
- (0, import_vitest.it)("should determine AFTER_RANGE placement", async function () {
323
- var query = {
324
- doctype: "TestDoc",
325
- limit: 20,
326
- orderBy: {
327
- field: "value",
328
- order: import_types.Order.Asc
329
- }
330
- };
331
- await virtualPageManager.initializeSubscription("sub-16", query);
332
- var subscription = virtualPageManager.getSubscription("sub-16");
333
- var newDoc = {
334
- name: "new-doc",
335
- doctype: "TestDoc",
336
- value: 200,
337
- owner: "user",
338
- modified: (/* @__PURE__ */new Date()).toISOString(),
339
- creation: (/* @__PURE__ */new Date()).toISOString(),
340
- modified_by: "user"
341
- };
342
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
343
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.AfterRange);
344
- });
345
- (0, import_vitest.it)("should return UNCERTAIN when no sort field", async function () {
346
- var query = {
347
- doctype: "TestDoc",
348
- limit: 20
349
- };
350
- await virtualPageManager.initializeSubscription("sub-17", query);
351
- var subscription = virtualPageManager.getSubscription("sub-17");
352
- var newDoc = {
353
- name: "new-doc",
354
- doctype: "TestDoc",
355
- owner: "user",
356
- modified: (/* @__PURE__ */new Date()).toISOString(),
357
- creation: (/* @__PURE__ */new Date()).toISOString(),
358
- modified_by: "user"
359
- };
360
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
361
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.Uncertain);
362
- });
363
- (0, import_vitest.it)("should handle DESC order correctly", async function () {
364
- var query = {
365
- doctype: "TestDoc",
366
- limit: 20,
367
- orderBy: {
368
- field: "value",
369
- order: import_types.Order.Desc
370
- }
371
- };
372
- await virtualPageManager.initializeSubscription("sub-18", query);
373
- var subscription = virtualPageManager.getSubscription("sub-18");
374
- setCache(subscription, {
375
- docIds: mockDocs.slice(0, 50).reverse().map(function (d) {
376
- return d.name;
377
- })
378
- });
379
- var newDoc = {
380
- name: "new-doc",
381
- doctype: "TestDoc",
382
- value: 200,
383
- owner: "user",
384
- modified: (/* @__PURE__ */new Date()).toISOString(),
385
- creation: (/* @__PURE__ */new Date()).toISOString(),
386
- modified_by: "user"
387
- };
388
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
389
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.BeforeRange);
390
- });
391
- });
392
- (0, import_vitest.describe)("handleRemoteCreate", function () {
393
- (0, import_vitest.it)("should add document in correct position", async function () {
394
- var query = {
395
- doctype: "TestDoc",
396
- limit: 20,
397
- orderBy: {
398
- field: "value",
399
- order: import_types.Order.Asc
400
- }
401
- };
402
- await virtualPageManager.initializeSubscription("sub-19", query);
403
- var newDoc = {
404
- name: "new-doc",
405
- doctype: "TestDoc",
406
- value: 25,
407
- owner: "user",
408
- modified: (/* @__PURE__ */new Date()).toISOString(),
409
- creation: (/* @__PURE__ */new Date()).toISOString(),
410
- modified_by: "user"
411
- };
412
- var result = await virtualPageManager.handleRemoteCreate("sub-19", newDoc);
413
- var subscription = virtualPageManager.getSubscription("sub-19");
414
- (0, import_vitest.expect)(result).toBe(true);
415
- (0, import_vitest.expect)(getCache(subscription).docIds).toContain("new-doc");
416
- });
417
- (0, import_vitest.it)("should handle BEFORE_RANGE placement", async function () {
418
- var query = {
419
- doctype: "TestDoc",
420
- limit: 20,
421
- orderBy: {
422
- field: "value",
423
- order: import_types.Order.Asc
424
- }
425
- };
426
- await virtualPageManager.initializeSubscription("sub-20", query);
427
- var newDoc = {
428
- name: "new-doc",
429
- doctype: "TestDoc",
430
- value: -1,
431
- owner: "user",
432
- modified: (/* @__PURE__ */new Date()).toISOString(),
433
- creation: (/* @__PURE__ */new Date()).toISOString(),
434
- modified_by: "user"
435
- };
436
- var result = await virtualPageManager.handleRemoteCreate("sub-20", newDoc);
437
- var subscription = virtualPageManager.getSubscription("sub-20");
438
- (0, import_vitest.expect)(result).toBe(true);
439
- (0, import_vitest.expect)(getCache(subscription).docIds[0]).toBe("new-doc");
440
- });
441
- (0, import_vitest.it)("should handle UNCERTAIN placement", async function () {
442
- var query = {
443
- doctype: "TestDoc",
444
- limit: 20
445
- };
446
- await virtualPageManager.initializeSubscription("sub-21", query);
447
- var newDoc = {
448
- name: "new-doc",
449
- doctype: "TestDoc",
450
- owner: "user",
451
- modified: (/* @__PURE__ */new Date()).toISOString(),
452
- creation: (/* @__PURE__ */new Date()).toISOString(),
453
- modified_by: "user"
454
- };
455
- var result = await virtualPageManager.handleRemoteCreate("sub-21", newDoc);
456
- var subscription = virtualPageManager.getSubscription("sub-21");
457
- (0, import_vitest.expect)(result).toBe(false);
458
- (0, import_vitest.expect)(subscription.needsRehydration).toBe(true);
459
- });
460
- });
461
- (0, import_vitest.describe)("handleRemoteDelete", function () {
462
- (0, import_vitest.it)("should remove document from cache", async function () {
463
- var query = {
464
- doctype: "TestDoc",
465
- limit: 20
466
- };
467
- await virtualPageManager.initializeSubscription("sub-22", query);
468
- var result = await virtualPageManager.handleRemoteDelete("sub-22", "doc-10");
469
- var subscription = virtualPageManager.getSubscription("sub-22");
470
- (0, import_vitest.expect)(result).toBe(true);
471
- (0, import_vitest.expect)(getCache(subscription).docIds).not.toContain("doc-10");
472
- (0, import_vitest.expect)(subscription.pendingBackfill).toBe(true);
473
- });
474
- (0, import_vitest.it)("should return false for non-existent document", async function () {
475
- var query = {
476
- doctype: "TestDoc",
477
- limit: 20
478
- };
479
- await virtualPageManager.initializeSubscription("sub-23", query);
480
- var result = await virtualPageManager.handleRemoteDelete("sub-23", "non-existent");
481
- (0, import_vitest.expect)(result).toBe(false);
482
- });
483
- });
484
- (0, import_vitest.describe)("handleRemoteUpdate", function () {
485
- (0, import_vitest.it)("should update document position when sort value changes", async function () {
486
- var query = {
487
- doctype: "TestDoc",
488
- limit: 20,
489
- orderBy: {
490
- field: "value",
491
- order: import_types.Order.Asc
492
- }
493
- };
494
- await virtualPageManager.initializeSubscription("sub-24", query);
495
- var updatedDoc = {
496
- name: "doc-10",
497
- doctype: "TestDoc",
498
- value: 45,
499
- owner: "user",
500
- modified: (/* @__PURE__ */new Date()).toISOString(),
501
- creation: (/* @__PURE__ */new Date()).toISOString(),
502
- modified_by: "user"
503
- };
504
- var result = await virtualPageManager.handleRemoteUpdate("sub-24", updatedDoc);
505
- var subscription = virtualPageManager.getSubscription("sub-24");
506
- (0, import_vitest.expect)(result).toBe(true);
507
- var index = getCache(subscription).docIds.indexOf("doc-10");
508
- (0, import_vitest.expect)(index).toBeGreaterThan(10);
509
- });
510
- (0, import_vitest.it)("should handle document not in cache", async function () {
511
- var query = {
512
- doctype: "TestDoc",
513
- limit: 20,
514
- orderBy: {
515
- field: "value",
516
- order: import_types.Order.Asc
517
- }
518
- };
519
- await virtualPageManager.initializeSubscription("sub-25", query);
520
- var updatedDoc = {
521
- name: "doc-200",
522
- doctype: "TestDoc",
523
- value: 999,
524
- owner: "user",
525
- modified: (/* @__PURE__ */new Date()).toISOString(),
526
- creation: (/* @__PURE__ */new Date()).toISOString(),
527
- modified_by: "user"
528
- };
529
- var result = await virtualPageManager.handleRemoteUpdate("sub-25", updatedDoc);
530
- (0, import_vitest.expect)(result).toBe(false);
531
- });
532
- (0, import_vitest.it)("should not reposition if sort value unchanged", async function () {
533
- var query = {
534
- doctype: "TestDoc",
535
- limit: 20,
536
- orderBy: {
537
- field: "value",
538
- order: import_types.Order.Asc
539
- }
540
- };
541
- await virtualPageManager.initializeSubscription("sub-26", query);
542
- var subscription = virtualPageManager.getSubscription("sub-26");
543
- var originalIndex = getCache(subscription).docIds.indexOf("doc-10");
544
- var updatedDoc = {
545
- name: "doc-10",
546
- doctype: "TestDoc",
547
- value: 10,
548
- title: "Updated Title",
549
- owner: "user",
550
- modified: (/* @__PURE__ */new Date()).toISOString(),
551
- creation: (/* @__PURE__ */new Date()).toISOString(),
552
- modified_by: "user"
553
- };
554
- var result = await virtualPageManager.handleRemoteUpdate("sub-26", updatedDoc);
555
- var newIndex = getCache(subscription).docIds.indexOf("doc-10");
556
- (0, import_vitest.expect)(result).toBe(true);
557
- (0, import_vitest.expect)(newIndex).toBe(originalIndex);
558
- });
559
- });
560
- (0, import_vitest.describe)("invalidateCache", function () {
561
- (0, import_vitest.it)("should clear page cache and increment generation", async function () {
562
- var query = {
563
- doctype: "TestDoc",
564
- limit: 20
565
- };
566
- await virtualPageManager.initializeSubscription("sub-27", query);
567
- var system = virtualPageManager;
568
- var initialGeneration = system.cacheGeneration;
569
- virtualPageManager.invalidateCache();
570
- (0, import_vitest.expect)(system.cacheGeneration).toBe(initialGeneration + 1);
571
- (0, import_vitest.expect)(system.pageCache.size).toBe(0);
572
- });
573
- });
574
- (0, import_vitest.describe)("updateProgressiveCache", function () {
575
- (0, import_vitest.it)("should update subscription cache", async function () {
576
- var query = {
577
- doctype: "TestDoc",
578
- limit: 20
579
- };
580
- await virtualPageManager.initializeSubscription("sub-28", query);
581
- var newDocIds = ["doc-100", "doc-101", "doc-102"];
582
- virtualPageManager.updateProgressiveCache("sub-28", newDocIds, "cursor-102", false);
583
- var subscription = virtualPageManager.getSubscription("sub-28");
584
- (0, import_vitest.expect)(getCache(subscription).docIds).toEqual(newDocIds);
585
- (0, import_vitest.expect)(getCache(subscription).nextCursor).toBe("cursor-102");
586
- (0, import_vitest.expect)(getCache(subscription).hasMore).toBe(false);
587
- });
588
- (0, import_vitest.it)("should handle non-existent subscription", function () {
589
- (0, import_vitest.expect)(function () {
590
- virtualPageManager.updateProgressiveCache("non-existent", [], null, false);
591
- }).not.toThrow();
592
- });
593
- });
594
- (0, import_vitest.describe)("hybrid pagination", function () {
595
- var pageSize = 20;
596
- function createMockDbForHybrid() {
597
- var getDocList = import_vitest.vi.fn().mockImplementation(async function (_doctype, options) {
598
- var limit = (options === null || options === void 0 ? void 0 : options.limit) || pageSize;
599
- var start;
600
- if ((options === null || options === void 0 ? void 0 : options.limitStart) !== void 0 && (options === null || options === void 0 ? void 0 : options.limitStart) !== null) {
601
- start = options.limitStart;
602
- } else if (options === null || options === void 0 ? void 0 : options.cursor) {
603
- var match = String(options.cursor).match(/doc-(\d+)/);
604
- start = match ? Number.parseInt(match[1], 10) + 1 : 0;
605
- } else {
606
- start = 0;
607
- }
608
- return Array.from({
609
- length: limit
610
- }, function (_, i) {
611
- return {
612
- name: `doc-${start + i}`,
613
- doctype: "TestDoc",
614
- modified: "2026-01-01 00:00:00"
615
- };
616
- });
617
- });
618
- return {
619
- getDocList,
620
- getCount: import_vitest.vi.fn().mockResolvedValue(1e3),
621
- getDoc: import_vitest.vi.fn(),
622
- createDoc: import_vitest.vi.fn(),
623
- updateDoc: import_vitest.vi.fn(),
624
- deleteDoc: import_vitest.vi.fn()
625
- };
626
- }
627
- (0, import_vitest.beforeEach)(function () {
628
- mockNormalizedCache = new import_normalizedCache.NormalizedCache();
629
- mockDb = createMockDbForHybrid();
630
- virtualPageManager = new import_virtualPageManager.VirtualPageManager(mockNormalizedCache, mockDb, {
631
- batchSize: 100
632
- });
633
- });
634
- (0, import_vitest.it)("sequential page access uses cursor-based fetch", async function () {
635
- var query = {
636
- doctype: "TestDoc",
637
- limit: pageSize
638
- };
639
- await virtualPageManager.initializeSubscription("sub-h1", query);
640
- await virtualPageManager.getPage("sub-h1", 1);
641
- await virtualPageManager.getPage("sub-h1", 2);
642
- var calls = mockDb.getDocList.mock.calls;
643
- var _iteratorNormalCompletion = true,
644
- _didIteratorError = false,
645
- _iteratorError = void 0;
646
- try {
647
- for (var _iterator = calls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
648
- var [, options] = _step.value;
649
- (0, import_vitest.expect)(options).not.toHaveProperty("limitStart");
650
- }
651
- } catch (err) {
652
- _didIteratorError = true;
653
- _iteratorError = err;
654
- } finally {
655
- try {
656
- if (!_iteratorNormalCompletion && _iterator.return != null) {
657
- _iterator.return();
658
- }
659
- } finally {
660
- if (_didIteratorError) {
661
- throw _iteratorError;
662
- }
663
- }
664
- }
665
- });
666
- (0, import_vitest.it)("non-contiguous page jump uses offset-based fetch", async function () {
667
- var query = {
668
- doctype: "TestDoc",
669
- limit: pageSize
670
- };
671
- await virtualPageManager.initializeSubscription("sub-h2", query);
672
- await virtualPageManager.getPage("sub-h2", 1);
673
- await virtualPageManager.getPage("sub-h2", 50);
674
- var calls = mockDb.getDocList.mock.calls;
675
- var offsetCall = calls.find(function (call) {
676
- var _call_;
677
- return ((_call_ = call[1]) === null || _call_ === void 0 ? void 0 : _call_.limitStart) === (50 - 1) * pageSize;
678
- });
679
- (0, import_vitest.expect)(offsetCall).toBeDefined();
680
- (0, import_vitest.expect)(offsetCall[1]).toMatchObject({
681
- limitStart: 980,
682
- limit: pageSize
683
- });
684
- });
685
- (0, import_vitest.it)("after offset jump, contiguous access uses cursor", async function () {
686
- var query = {
687
- doctype: "TestDoc",
688
- limit: pageSize
689
- };
690
- await virtualPageManager.initializeSubscription("sub-h3", query);
691
- await virtualPageManager.getPage("sub-h3", 1);
692
- await virtualPageManager.getPage("sub-h3", 50);
693
- mockDb.getDocList.mockClear();
694
- await virtualPageManager.getPage("sub-h3", 51);
695
- var calls = mockDb.getDocList.mock.calls;
696
- (0, import_vitest.expect)(calls.length).toBeGreaterThan(0);
697
- var _iteratorNormalCompletion = true,
698
- _didIteratorError = false,
699
- _iteratorError = void 0;
700
- try {
701
- for (var _iterator = calls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
702
- var [, options] = _step.value;
703
- (0, import_vitest.expect)(options).not.toHaveProperty("limitStart");
704
- }
705
- } catch (err) {
706
- _didIteratorError = true;
707
- _iteratorError = err;
708
- } finally {
709
- try {
710
- if (!_iteratorNormalCompletion && _iterator.return != null) {
711
- _iterator.return();
712
- }
713
- } finally {
714
- if (_didIteratorError) {
715
- throw _iteratorError;
716
- }
717
- }
718
- }
719
- });
720
- (0, import_vitest.it)("gap placeholders after offset jump", async function () {
721
- var query = {
722
- doctype: "TestDoc",
723
- limit: pageSize
724
- };
725
- await virtualPageManager.initializeSubscription("sub-h4", query);
726
- await virtualPageManager.getPage("sub-h4", 1);
727
- await virtualPageManager.getPage("sub-h4", 50);
728
- var subscription = virtualPageManager.getSubscription("sub-h4");
729
- var docIds = getCache(subscription).docIds;
730
- var limitStart = (50 - 1) * pageSize;
731
- (0, import_vitest.expect)(docIds.length).toBeGreaterThanOrEqual(limitStart + pageSize);
732
- var gapRange = docIds.slice(pageSize, limitStart);
733
- (0, import_vitest.expect)(gapRange.some(function (id) {
734
- return id === "";
735
- })).toBe(true);
736
- (0, import_vitest.expect)(docIds[limitStart]).not.toBe("");
737
- (0, import_vitest.expect)(docIds.slice(limitStart, limitStart + pageSize).every(function (id) {
738
- return id !== "";
739
- })).toBe(true);
740
- });
741
- (0, import_vitest.it)("mapIdsToDocuments filters gaps", async function () {
742
- var query = {
743
- doctype: "TestDoc",
744
- limit: pageSize
745
- };
746
- await virtualPageManager.initializeSubscription("sub-h5", query);
747
- await virtualPageManager.getPage("sub-h5", 1);
748
- await virtualPageManager.getPage("sub-h5", 50);
749
- var page = await virtualPageManager.getPage("sub-h5", 50);
750
- (0, import_vitest.expect)(page.every(function (doc) {
751
- return doc !== void 0 && doc !== null;
752
- })).toBe(true);
753
- (0, import_vitest.expect)(page.length).toBe(pageSize);
754
- (0, import_vitest.expect)(page[0].name).toBe("doc-980");
755
- });
756
- (0, import_vitest.it)("getPageIslands returns correct islands", async function () {
757
- var query = {
758
- doctype: "TestDoc",
759
- limit: pageSize
760
- };
761
- await virtualPageManager.initializeSubscription("sub-h6", query);
762
- await virtualPageManager.getPage("sub-h6", 1);
763
- await virtualPageManager.getPage("sub-h6", 50);
764
- var islands = virtualPageManager.getPageIslands("sub-h6");
765
- (0, import_vitest.expect)(islands.length).toBe(2);
766
- var cursorIsland = islands.find(function (i) {
767
- return i.fetchedVia === "cursor";
768
- });
769
- var offsetIsland = islands.find(function (i) {
770
- return i.fetchedVia === "offset";
771
- });
772
- (0, import_vitest.expect)(cursorIsland).toBeDefined();
773
- (0, import_vitest.expect)(offsetIsland).toBeDefined();
774
- (0, import_vitest.expect)(offsetIsland).toMatchObject({
775
- startPage: 50,
776
- endPage: 50,
777
- startIndex: 980,
778
- endIndex: 1e3,
779
- fetchedVia: "offset"
780
- });
781
- });
782
- (0, import_vitest.it)("island merging when adjacent pages fetched", async function () {
783
- var query = {
784
- doctype: "TestDoc",
785
- limit: pageSize
786
- };
787
- await virtualPageManager.initializeSubscription("sub-h7", query);
788
- await virtualPageManager.getPage("sub-h7", 1);
789
- await virtualPageManager.getPage("sub-h7", 2);
790
- await virtualPageManager.getPage("sub-h7", 3);
791
- var islands = virtualPageManager.getPageIslands("sub-h7");
792
- (0, import_vitest.expect)(islands.length).toBe(1);
793
- (0, import_vitest.expect)(islands[0].startPage).toBe(1);
794
- (0, import_vitest.expect)(islands[0].endPage).toBeGreaterThanOrEqual(3);
795
- (0, import_vitest.expect)(islands[0].fetchedVia).toBe("cursor");
796
- });
797
- });
798
- (0, import_vitest.describe)("edge cases and error handling", function () {
799
- (0, import_vitest.it)("should handle empty progressive cache", async function () {
800
- var query = {
801
- doctype: "TestDoc",
802
- limit: 20,
803
- orderBy: {
804
- field: "value",
805
- order: import_types.Order.Asc
806
- }
807
- };
808
- await virtualPageManager.initializeSubscription("sub-29", query);
809
- var subscription = virtualPageManager.getSubscription("sub-29");
810
- setCache(subscription, {
811
- docIds: []
812
- });
813
- var newDoc = {
814
- name: "new-doc",
815
- doctype: "TestDoc",
816
- value: 10,
817
- owner: "user",
818
- modified: (/* @__PURE__ */new Date()).toISOString(),
819
- creation: (/* @__PURE__ */new Date()).toISOString(),
820
- modified_by: "user"
821
- };
822
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
823
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.WithinRange);
824
- (0, import_vitest.expect)(placement.position).toBe(0);
825
- });
826
- (0, import_vitest.it)("should handle null values in comparison", async function () {
827
- var query = {
828
- doctype: "TestDoc",
829
- limit: 20,
830
- orderBy: {
831
- field: "value",
832
- order: import_types.Order.Asc
833
- }
834
- };
835
- await virtualPageManager.initializeSubscription("sub-30", query);
836
- var subscription = virtualPageManager.getSubscription("sub-30");
837
- var newDoc = {
838
- name: "new-doc",
839
- doctype: "TestDoc",
840
- value: null,
841
- owner: "user",
842
- modified: (/* @__PURE__ */new Date()).toISOString(),
843
- creation: (/* @__PURE__ */new Date()).toISOString(),
844
- modified_by: "user"
845
- };
846
- var placement = virtualPageManager.determineOptimisticPlacement(subscription, newDoc);
847
- (0, import_vitest.expect)(placement.strategy).toBe(import_virtualPageManager.PlacementStrategy.WithinRange);
848
- (0, import_vitest.expect)(placement.position).toBe(0);
849
- });
850
- (0, import_vitest.it)("should limit cache size appropriately", async function () {
851
- var query = {
852
- doctype: "TestDoc",
853
- limit: 10,
854
- orderBy: {
855
- field: "value",
856
- order: import_types.Order.Asc
857
- }
858
- };
859
- await virtualPageManager.initializeSubscription("sub-31", query);
860
- var subscription = virtualPageManager.getSubscription("sub-31");
861
- var bigCache = Array.from({
862
- length: 1001
863
- }, function (_, i) {
864
- return `doc-${i % 100}`;
865
- });
866
- setCache(subscription, {
867
- docIds: bigCache
868
- });
869
- (0, import_vitest.expect)(virtualPageManager.shouldLimitCacheSize(subscription)).toBe(true);
870
- });
871
- });
872
- });
873
- //# sourceMappingURL=virtualPageManager.spec.native.js.map