@multiplatform.one/frappe 6.1.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (792) hide show
  1. package/README.md +38 -12
  2. package/dist/cjs/auth.cjs +1 -1
  3. package/dist/cjs/auth.native.js.map +1 -1
  4. package/dist/cjs/call.cjs +1 -1
  5. package/dist/cjs/call.native.js.map +1 -1
  6. package/dist/cjs/collection.cjs +18 -4
  7. package/dist/cjs/collection.native.js +18 -4
  8. package/dist/cjs/collection.native.js.map +1 -1
  9. package/dist/cjs/core/http.cjs +92 -9
  10. package/dist/cjs/core/http.native.js +96 -7
  11. package/dist/cjs/core/http.native.js.map +1 -1
  12. package/dist/cjs/db.cjs +7 -7
  13. package/dist/cjs/db.native.js +4 -4
  14. package/dist/cjs/db.native.js.map +1 -1
  15. package/dist/cjs/doctype.cjs +97 -39
  16. package/dist/cjs/doctype.native.js +116 -46
  17. package/dist/cjs/doctype.native.js.map +1 -1
  18. package/dist/cjs/file.cjs +1 -1
  19. package/dist/cjs/file.native.js.map +1 -1
  20. package/dist/cjs/fixtureDb.cjs +3 -2
  21. package/dist/cjs/fixtureDb.native.js +2 -1
  22. package/dist/cjs/fixtureDb.native.js.map +1 -1
  23. package/dist/cjs/frappeApp.cjs +15 -14
  24. package/dist/cjs/frappeApp.native.js +16 -14
  25. package/dist/cjs/frappeApp.native.js.map +1 -1
  26. package/dist/cjs/frappeReact.cjs +198 -18
  27. package/dist/cjs/frappeReact.native.js +241 -18
  28. package/dist/cjs/frappeReact.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +9 -4
  30. package/dist/cjs/index.native.js +9 -4
  31. package/dist/cjs/index.native.js.map +1 -1
  32. package/dist/cjs/pacer.cjs +2 -2
  33. package/dist/cjs/pacer.native.js +2 -2
  34. package/dist/cjs/pacer.native.js.map +1 -1
  35. package/dist/cjs/realtime.cjs +186 -46
  36. package/dist/cjs/realtime.native.js +268 -48
  37. package/dist/cjs/realtime.native.js.map +1 -1
  38. package/dist/cjs/sync/backfill.cjs +32 -27
  39. package/dist/cjs/sync/backfill.native.js +49 -43
  40. package/dist/cjs/sync/backfill.native.js.map +1 -1
  41. package/dist/cjs/sync/index.cjs +90 -24
  42. package/dist/cjs/sync/index.native.js +112 -10
  43. package/dist/cjs/sync/index.native.js.map +1 -1
  44. package/dist/cjs/sync/merge.cjs +0 -3
  45. package/dist/cjs/sync/merge.native.js +0 -3
  46. package/dist/cjs/sync/merge.native.js.map +1 -1
  47. package/dist/cjs/sync/mutationEngine.cjs +25 -19
  48. package/dist/cjs/sync/mutationEngine.native.js +16 -13
  49. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  50. package/dist/cjs/sync/mutationJournal.cjs +9 -4
  51. package/dist/cjs/sync/mutationJournal.native.js +7 -4
  52. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  53. package/dist/cjs/sync/normalizedCache.cjs +7 -3
  54. package/dist/cjs/sync/normalizedCache.native.js +7 -2
  55. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  56. package/dist/cjs/sync/persistence.cjs +63 -31
  57. package/dist/cjs/sync/persistence.native.js +120 -63
  58. package/dist/cjs/sync/persistence.native.js.map +1 -1
  59. package/dist/cjs/sync/realtime.cjs +124 -13
  60. package/dist/cjs/sync/realtime.native.js +163 -20
  61. package/dist/cjs/sync/realtime.native.js.map +1 -1
  62. package/dist/cjs/sync/rehydration.cjs +16 -10
  63. package/dist/cjs/sync/rehydration.native.js +16 -14
  64. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  65. package/dist/cjs/sync/storage.cjs +3 -3
  66. package/dist/cjs/sync/storage.native.js +1 -1
  67. package/dist/cjs/sync/storage.native.js.map +1 -1
  68. package/dist/cjs/sync/subscriptionManager.cjs +255 -65
  69. package/dist/cjs/sync/subscriptionManager.native.js +330 -93
  70. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  71. package/dist/cjs/sync/types.cjs +2 -0
  72. package/dist/cjs/sync/types.native.js +2 -0
  73. package/dist/cjs/sync/types.native.js.map +1 -1
  74. package/dist/cjs/sync/virtualPageManager.cjs +9 -9
  75. package/dist/cjs/sync/virtualPageManager.native.js +5 -9
  76. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  77. package/dist/cjs/useLiveQuery.cjs +52 -0
  78. package/dist/cjs/useLiveQuery.native.js +59 -0
  79. package/dist/cjs/useLiveQuery.native.js.map +1 -0
  80. package/dist/cjs/util.cjs +11 -2
  81. package/dist/cjs/util.native.js +16 -2
  82. package/dist/cjs/util.native.js.map +1 -1
  83. package/dist/esm/auth.mjs +1 -1
  84. package/dist/esm/auth.mjs.map +1 -1
  85. package/dist/esm/auth.native.js.map +1 -1
  86. package/dist/esm/call.mjs +1 -1
  87. package/dist/esm/call.mjs.map +1 -1
  88. package/dist/esm/call.native.js.map +1 -1
  89. package/dist/esm/collection.mjs +18 -4
  90. package/dist/esm/collection.mjs.map +1 -1
  91. package/dist/esm/collection.native.js +18 -4
  92. package/dist/esm/collection.native.js.map +1 -1
  93. package/dist/esm/core/http.mjs +93 -10
  94. package/dist/esm/core/http.mjs.map +1 -1
  95. package/dist/esm/core/http.native.js +97 -8
  96. package/dist/esm/core/http.native.js.map +1 -1
  97. package/dist/esm/db.mjs +7 -7
  98. package/dist/esm/db.mjs.map +1 -1
  99. package/dist/esm/db.native.js +4 -4
  100. package/dist/esm/db.native.js.map +1 -1
  101. package/dist/esm/doctype.mjs +96 -39
  102. package/dist/esm/doctype.mjs.map +1 -1
  103. package/dist/esm/doctype.native.js +115 -46
  104. package/dist/esm/doctype.native.js.map +1 -1
  105. package/dist/esm/file.mjs +1 -1
  106. package/dist/esm/file.mjs.map +1 -1
  107. package/dist/esm/file.native.js.map +1 -1
  108. package/dist/esm/fixtureDb.mjs +3 -2
  109. package/dist/esm/fixtureDb.mjs.map +1 -1
  110. package/dist/esm/fixtureDb.native.js +2 -1
  111. package/dist/esm/fixtureDb.native.js.map +1 -1
  112. package/dist/esm/frappeApp.mjs +15 -14
  113. package/dist/esm/frappeApp.mjs.map +1 -1
  114. package/dist/esm/frappeApp.native.js +16 -14
  115. package/dist/esm/frappeApp.native.js.map +1 -1
  116. package/dist/esm/frappeReact.mjs +197 -19
  117. package/dist/esm/frappeReact.mjs.map +1 -1
  118. package/dist/esm/frappeReact.native.js +240 -19
  119. package/dist/esm/frappeReact.native.js.map +1 -1
  120. package/dist/esm/index.mjs +5 -4
  121. package/dist/esm/index.mjs.map +1 -1
  122. package/dist/esm/index.native.js +5 -4
  123. package/dist/esm/index.native.js.map +1 -1
  124. package/dist/esm/pacer.mjs +1 -1
  125. package/dist/esm/pacer.native.js +1 -1
  126. package/dist/esm/realtime.mjs +187 -47
  127. package/dist/esm/realtime.mjs.map +1 -1
  128. package/dist/esm/realtime.native.js +269 -49
  129. package/dist/esm/realtime.native.js.map +1 -1
  130. package/dist/esm/sync/backfill.mjs +32 -27
  131. package/dist/esm/sync/backfill.mjs.map +1 -1
  132. package/dist/esm/sync/backfill.native.js +49 -43
  133. package/dist/esm/sync/backfill.native.js.map +1 -1
  134. package/dist/esm/sync/index.mjs +90 -24
  135. package/dist/esm/sync/index.mjs.map +1 -1
  136. package/dist/esm/sync/index.native.js +112 -10
  137. package/dist/esm/sync/index.native.js.map +1 -1
  138. package/dist/esm/sync/merge.mjs +1 -1
  139. package/dist/esm/sync/merge.mjs.map +1 -1
  140. package/dist/esm/sync/merge.native.js +1 -1
  141. package/dist/esm/sync/merge.native.js.map +1 -1
  142. package/dist/esm/sync/mutationEngine.mjs +25 -19
  143. package/dist/esm/sync/mutationEngine.mjs.map +1 -1
  144. package/dist/esm/sync/mutationEngine.native.js +16 -13
  145. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  146. package/dist/esm/sync/mutationJournal.mjs +9 -4
  147. package/dist/esm/sync/mutationJournal.mjs.map +1 -1
  148. package/dist/esm/sync/mutationJournal.native.js +7 -4
  149. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  150. package/dist/esm/sync/normalizedCache.mjs +7 -3
  151. package/dist/esm/sync/normalizedCache.mjs.map +1 -1
  152. package/dist/esm/sync/normalizedCache.native.js +7 -2
  153. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  154. package/dist/esm/sync/persistence.mjs +64 -32
  155. package/dist/esm/sync/persistence.mjs.map +1 -1
  156. package/dist/esm/sync/persistence.native.js +121 -64
  157. package/dist/esm/sync/persistence.native.js.map +1 -1
  158. package/dist/esm/sync/realtime.mjs +124 -13
  159. package/dist/esm/sync/realtime.mjs.map +1 -1
  160. package/dist/esm/sync/realtime.native.js +163 -20
  161. package/dist/esm/sync/realtime.native.js.map +1 -1
  162. package/dist/esm/sync/rehydration.mjs +16 -10
  163. package/dist/esm/sync/rehydration.mjs.map +1 -1
  164. package/dist/esm/sync/rehydration.native.js +16 -14
  165. package/dist/esm/sync/rehydration.native.js.map +1 -1
  166. package/dist/esm/sync/storage.mjs +3 -3
  167. package/dist/esm/sync/storage.mjs.map +1 -1
  168. package/dist/esm/sync/storage.native.js +1 -1
  169. package/dist/esm/sync/storage.native.js.map +1 -1
  170. package/dist/esm/sync/subscriptionManager.mjs +255 -65
  171. package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
  172. package/dist/esm/sync/subscriptionManager.native.js +330 -93
  173. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  174. package/dist/esm/sync/types.mjs +2 -0
  175. package/dist/esm/sync/types.mjs.map +1 -1
  176. package/dist/esm/sync/types.native.js +2 -0
  177. package/dist/esm/sync/types.native.js.map +1 -1
  178. package/dist/esm/sync/virtualPageManager.mjs +9 -9
  179. package/dist/esm/sync/virtualPageManager.mjs.map +1 -1
  180. package/dist/esm/sync/virtualPageManager.native.js +5 -9
  181. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  182. package/dist/esm/useLiveQuery.mjs +26 -0
  183. package/dist/esm/useLiveQuery.mjs.map +1 -0
  184. package/dist/esm/useLiveQuery.native.js +30 -0
  185. package/dist/esm/useLiveQuery.native.js.map +1 -0
  186. package/dist/esm/util.mjs +10 -2
  187. package/dist/esm/util.mjs.map +1 -1
  188. package/dist/esm/util.native.js +15 -2
  189. package/dist/esm/util.native.js.map +1 -1
  190. package/dist/jsx/auth.mjs +1 -1
  191. package/dist/jsx/auth.mjs.map +1 -1
  192. package/dist/jsx/auth.native.js.map +1 -1
  193. package/dist/jsx/call.mjs +1 -1
  194. package/dist/jsx/call.mjs.map +1 -1
  195. package/dist/jsx/call.native.js.map +1 -1
  196. package/dist/jsx/collection.mjs +18 -4
  197. package/dist/jsx/collection.mjs.map +1 -1
  198. package/dist/jsx/collection.native.js +18 -4
  199. package/dist/jsx/collection.native.js.map +1 -1
  200. package/dist/jsx/core/http.mjs +93 -10
  201. package/dist/jsx/core/http.mjs.map +1 -1
  202. package/dist/jsx/core/http.native.js +96 -7
  203. package/dist/jsx/core/http.native.js.map +1 -1
  204. package/dist/jsx/db.mjs +7 -7
  205. package/dist/jsx/db.mjs.map +1 -1
  206. package/dist/jsx/db.native.js +4 -4
  207. package/dist/jsx/db.native.js.map +1 -1
  208. package/dist/jsx/doctype.mjs +96 -39
  209. package/dist/jsx/doctype.mjs.map +1 -1
  210. package/dist/jsx/doctype.native.js +116 -46
  211. package/dist/jsx/doctype.native.js.map +1 -1
  212. package/dist/jsx/file.mjs +1 -1
  213. package/dist/jsx/file.mjs.map +1 -1
  214. package/dist/jsx/file.native.js.map +1 -1
  215. package/dist/jsx/fixtureDb.mjs +3 -2
  216. package/dist/jsx/fixtureDb.mjs.map +1 -1
  217. package/dist/jsx/fixtureDb.native.js +2 -1
  218. package/dist/jsx/fixtureDb.native.js.map +1 -1
  219. package/dist/jsx/frappeApp.mjs +15 -14
  220. package/dist/jsx/frappeApp.mjs.map +1 -1
  221. package/dist/jsx/frappeApp.native.js +16 -14
  222. package/dist/jsx/frappeApp.native.js.map +1 -1
  223. package/dist/jsx/frappeReact.mjs +197 -19
  224. package/dist/jsx/frappeReact.mjs.map +1 -1
  225. package/dist/jsx/frappeReact.native.js +241 -18
  226. package/dist/jsx/frappeReact.native.js.map +1 -1
  227. package/dist/jsx/index.js +5 -4
  228. package/dist/jsx/index.js.map +1 -1
  229. package/dist/jsx/index.mjs +5 -4
  230. package/dist/jsx/index.mjs.map +1 -1
  231. package/dist/jsx/index.native.js +9 -4
  232. package/dist/jsx/index.native.js.map +1 -1
  233. package/dist/jsx/pacer.mjs +1 -1
  234. package/dist/jsx/pacer.native.js +2 -2
  235. package/dist/jsx/pacer.native.js.map +1 -1
  236. package/dist/jsx/realtime.mjs +187 -47
  237. package/dist/jsx/realtime.mjs.map +1 -1
  238. package/dist/jsx/realtime.native.js +268 -48
  239. package/dist/jsx/realtime.native.js.map +1 -1
  240. package/dist/jsx/sync/backfill.mjs +32 -27
  241. package/dist/jsx/sync/backfill.mjs.map +1 -1
  242. package/dist/jsx/sync/backfill.native.js +49 -43
  243. package/dist/jsx/sync/backfill.native.js.map +1 -1
  244. package/dist/jsx/sync/index.mjs +90 -24
  245. package/dist/jsx/sync/index.mjs.map +1 -1
  246. package/dist/jsx/sync/index.native.js +112 -10
  247. package/dist/jsx/sync/index.native.js.map +1 -1
  248. package/dist/jsx/sync/merge.mjs +1 -1
  249. package/dist/jsx/sync/merge.mjs.map +1 -1
  250. package/dist/jsx/sync/merge.native.js +0 -3
  251. package/dist/jsx/sync/merge.native.js.map +1 -1
  252. package/dist/jsx/sync/mutationEngine.mjs +25 -19
  253. package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
  254. package/dist/jsx/sync/mutationEngine.native.js +16 -13
  255. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  256. package/dist/jsx/sync/mutationJournal.mjs +9 -4
  257. package/dist/jsx/sync/mutationJournal.mjs.map +1 -1
  258. package/dist/jsx/sync/mutationJournal.native.js +7 -4
  259. package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
  260. package/dist/jsx/sync/normalizedCache.mjs +7 -3
  261. package/dist/jsx/sync/normalizedCache.mjs.map +1 -1
  262. package/dist/jsx/sync/normalizedCache.native.js +7 -2
  263. package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
  264. package/dist/jsx/sync/persistence.mjs +64 -32
  265. package/dist/jsx/sync/persistence.mjs.map +1 -1
  266. package/dist/jsx/sync/persistence.native.js +120 -63
  267. package/dist/jsx/sync/persistence.native.js.map +1 -1
  268. package/dist/jsx/sync/realtime.mjs +124 -13
  269. package/dist/jsx/sync/realtime.mjs.map +1 -1
  270. package/dist/jsx/sync/realtime.native.js +163 -20
  271. package/dist/jsx/sync/realtime.native.js.map +1 -1
  272. package/dist/jsx/sync/rehydration.mjs +16 -10
  273. package/dist/jsx/sync/rehydration.mjs.map +1 -1
  274. package/dist/jsx/sync/rehydration.native.js +16 -14
  275. package/dist/jsx/sync/rehydration.native.js.map +1 -1
  276. package/dist/jsx/sync/storage.mjs +3 -3
  277. package/dist/jsx/sync/storage.mjs.map +1 -1
  278. package/dist/jsx/sync/storage.native.js +1 -1
  279. package/dist/jsx/sync/storage.native.js.map +1 -1
  280. package/dist/jsx/sync/subscriptionManager.mjs +255 -65
  281. package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
  282. package/dist/jsx/sync/subscriptionManager.native.js +330 -93
  283. package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
  284. package/dist/jsx/sync/types.mjs +2 -0
  285. package/dist/jsx/sync/types.mjs.map +1 -1
  286. package/dist/jsx/sync/types.native.js +2 -0
  287. package/dist/jsx/sync/types.native.js.map +1 -1
  288. package/dist/jsx/sync/virtualPageManager.mjs +9 -9
  289. package/dist/jsx/sync/virtualPageManager.mjs.map +1 -1
  290. package/dist/jsx/sync/virtualPageManager.native.js +5 -9
  291. package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
  292. package/dist/jsx/useLiveQuery.mjs +26 -0
  293. package/dist/jsx/useLiveQuery.mjs.map +1 -0
  294. package/dist/jsx/useLiveQuery.native.js +59 -0
  295. package/dist/jsx/useLiveQuery.native.js.map +1 -0
  296. package/dist/jsx/util.mjs +10 -2
  297. package/dist/jsx/util.mjs.map +1 -1
  298. package/dist/jsx/util.native.js +16 -2
  299. package/dist/jsx/util.native.js.map +1 -1
  300. package/package.json +20 -17
  301. package/src/auth.ts +5 -1
  302. package/src/call.ts +5 -1
  303. package/src/collection.spec.ts +55 -0
  304. package/src/collection.ts +33 -4
  305. package/src/core/http.spec.ts +66 -0
  306. package/src/core/http.ts +115 -9
  307. package/src/core/httpNative.spec.ts +234 -0
  308. package/src/core/types.ts +2 -0
  309. package/src/db.spec.ts +91 -51
  310. package/src/db.ts +27 -8
  311. package/src/doctype.spec.ts +247 -39
  312. package/src/doctype.ts +203 -53
  313. package/src/file.ts +5 -1
  314. package/src/fixtureDb.ts +13 -2
  315. package/src/frappeApp.ts +18 -19
  316. package/src/frappeReact.spec.ts +565 -1
  317. package/src/frappeReact.ts +445 -37
  318. package/src/frappeReactLiveQueryGc.spec.ts +320 -0
  319. package/src/frappeReactNative.spec.ts +65 -0
  320. package/src/index.ts +10 -9
  321. package/src/pacer.ts +1 -1
  322. package/src/realtime.spec.ts +464 -20
  323. package/src/realtime.ts +284 -46
  324. package/src/sync/backfill.spec.ts +43 -0
  325. package/src/sync/backfill.ts +59 -39
  326. package/src/sync/debug.spec.ts +36 -0
  327. package/src/sync/filterValidation.spec.ts +197 -0
  328. package/src/sync/index.ts +98 -7
  329. package/src/sync/merge.ts +3 -3
  330. package/src/sync/mutationEngine.spec.ts +36 -4
  331. package/src/sync/mutationEngine.ts +30 -11
  332. package/src/sync/mutationJournal.ts +18 -4
  333. package/src/sync/normalizedCache.spec.ts +102 -0
  334. package/src/sync/normalizedCache.ts +19 -3
  335. package/src/sync/offlineRestore.spec.ts +423 -0
  336. package/src/sync/persistence.spec.ts +39 -7
  337. package/src/sync/persistence.ts +90 -18
  338. package/src/sync/persistenceGjs.spec.ts +143 -0
  339. package/src/sync/persistenceNative.spec.ts +139 -0
  340. package/src/sync/realtime.spec.ts +18 -1
  341. package/src/sync/realtime.ts +161 -13
  342. package/src/sync/rehydration.ts +23 -5
  343. package/src/sync/storage.ts +5 -4
  344. package/src/sync/subscriptionManager.spec.ts +94 -0
  345. package/src/sync/subscriptionManager.ts +304 -82
  346. package/src/sync/syncModule.spec.ts +137 -0
  347. package/src/sync/types.ts +39 -0
  348. package/src/sync/virtualPageManager.ts +8 -4
  349. package/src/useLiveQuery.ts +58 -0
  350. package/src/util.spec.ts +35 -4
  351. package/src/util.ts +34 -7
  352. package/types/auth.d.ts +13 -0
  353. package/types/auth.d.ts.map +1 -0
  354. package/types/call.d.ts +10 -0
  355. package/types/call.d.ts.map +1 -0
  356. package/types/collection.d.ts +127 -0
  357. package/types/collection.d.ts.map +1 -0
  358. package/types/common/types.d.ts +35 -0
  359. package/types/common/types.d.ts.map +1 -0
  360. package/types/core/http.d.ts +86 -0
  361. package/types/core/http.d.ts.map +1 -0
  362. package/types/core/types.d.ts +74 -0
  363. package/types/core/types.d.ts.map +1 -0
  364. package/types/core/wire.d.ts +405 -0
  365. package/types/core/wire.d.ts.map +1 -0
  366. package/types/db.d.ts +244 -0
  367. package/types/db.d.ts.map +1 -0
  368. package/types/devtools/FrappeDevtoolsPanel.d.ts +7 -0
  369. package/types/devtools/FrappeDevtoolsPanel.d.ts.map +1 -0
  370. package/types/devtools/index.d.ts +4 -0
  371. package/types/devtools/index.d.ts.map +1 -0
  372. package/types/devtools/plugin.d.ts +9 -0
  373. package/types/devtools/plugin.d.ts.map +1 -0
  374. package/types/devtools/theme.d.ts +15 -0
  375. package/types/devtools/theme.d.ts.map +1 -0
  376. package/types/doctype.d.ts +256 -0
  377. package/types/doctype.d.ts.map +1 -0
  378. package/types/file.d.ts +15 -0
  379. package/types/file.d.ts.map +1 -0
  380. package/types/fixtureDb.d.ts +76 -0
  381. package/types/fixtureDb.d.ts.map +1 -0
  382. package/types/fixtures.d.ts +55 -0
  383. package/types/fixtures.d.ts.map +1 -0
  384. package/types/frappeApp.d.ts +45 -0
  385. package/types/frappeApp.d.ts.map +1 -0
  386. package/types/frappeReact.d.ts +270 -0
  387. package/types/frappeReact.d.ts.map +1 -0
  388. package/types/index.d.ts +44 -0
  389. package/types/index.d.ts.map +1 -0
  390. package/types/optimistic.d.ts +38 -0
  391. package/types/optimistic.d.ts.map +1 -0
  392. package/types/pacer.d.ts +193 -0
  393. package/types/pacer.d.ts.map +1 -0
  394. package/types/plugin/index.d.ts +11 -0
  395. package/types/plugin/index.d.ts.map +1 -0
  396. package/types/realtime.d.ts +121 -0
  397. package/types/realtime.d.ts.map +1 -0
  398. package/types/sync/backfill.d.ts +60 -0
  399. package/types/sync/backfill.d.ts.map +1 -0
  400. package/types/sync/filters.d.ts +101 -0
  401. package/types/sync/filters.d.ts.map +1 -0
  402. package/types/sync/index.d.ts +181 -0
  403. package/types/sync/index.d.ts.map +1 -0
  404. package/types/sync/merge.d.ts +59 -0
  405. package/types/sync/merge.d.ts.map +1 -0
  406. package/types/sync/mutationEngine.d.ts +117 -0
  407. package/types/sync/mutationEngine.d.ts.map +1 -0
  408. package/types/sync/mutationJournal.d.ts +60 -0
  409. package/types/sync/mutationJournal.d.ts.map +1 -0
  410. package/types/sync/normalizedCache.d.ts +59 -0
  411. package/types/sync/normalizedCache.d.ts.map +1 -0
  412. package/types/sync/persistence.d.ts +185 -0
  413. package/types/sync/persistence.d.ts.map +1 -0
  414. package/types/sync/realtime.d.ts +121 -0
  415. package/types/sync/realtime.d.ts.map +1 -0
  416. package/types/sync/rehydration.d.ts +109 -0
  417. package/types/sync/rehydration.d.ts.map +1 -0
  418. package/types/sync/storage.d.ts +65 -0
  419. package/types/sync/storage.d.ts.map +1 -0
  420. package/types/sync/subscriptionManager.d.ts +161 -0
  421. package/types/sync/subscriptionManager.d.ts.map +1 -0
  422. package/types/sync/types.d.ts +435 -0
  423. package/types/sync/types.d.ts.map +1 -0
  424. package/types/sync/virtualPageManager.d.ts +190 -0
  425. package/types/sync/virtualPageManager.d.ts.map +1 -0
  426. package/types/useLiveQuery.d.ts +16 -0
  427. package/types/useLiveQuery.d.ts.map +1 -0
  428. package/types/util.d.ts +24 -0
  429. package/types/util.d.ts.map +1 -0
  430. package/dist/cjs/auth.spec.cjs +0 -322
  431. package/dist/cjs/auth.spec.native.js +0 -329
  432. package/dist/cjs/auth.spec.native.js.map +0 -1
  433. package/dist/cjs/call.spec.cjs +0 -427
  434. package/dist/cjs/call.spec.native.js +0 -430
  435. package/dist/cjs/call.spec.native.js.map +0 -1
  436. package/dist/cjs/collection.spec.cjs +0 -186
  437. package/dist/cjs/collection.spec.native.js +0 -216
  438. package/dist/cjs/collection.spec.native.js.map +0 -1
  439. package/dist/cjs/common/types.spec.cjs +0 -266
  440. package/dist/cjs/common/types.spec.native.js +0 -271
  441. package/dist/cjs/common/types.spec.native.js.map +0 -1
  442. package/dist/cjs/core/http.spec.cjs +0 -1259
  443. package/dist/cjs/core/http.spec.native.js +0 -1401
  444. package/dist/cjs/core/http.spec.native.js.map +0 -1
  445. package/dist/cjs/core/wire.spec.cjs +0 -478
  446. package/dist/cjs/core/wire.spec.native.js +0 -482
  447. package/dist/cjs/core/wire.spec.native.js.map +0 -1
  448. package/dist/cjs/db.spec.cjs +0 -862
  449. package/dist/cjs/db.spec.native.js +0 -865
  450. package/dist/cjs/db.spec.native.js.map +0 -1
  451. package/dist/cjs/doctype.spec.cjs +0 -460
  452. package/dist/cjs/doctype.spec.native.js +0 -538
  453. package/dist/cjs/doctype.spec.native.js.map +0 -1
  454. package/dist/cjs/file.spec.cjs +0 -315
  455. package/dist/cjs/file.spec.native.js +0 -342
  456. package/dist/cjs/file.spec.native.js.map +0 -1
  457. package/dist/cjs/frappeApp.spec.cjs +0 -306
  458. package/dist/cjs/frappeApp.spec.native.js +0 -308
  459. package/dist/cjs/frappeApp.spec.native.js.map +0 -1
  460. package/dist/cjs/frappeReact.spec.cjs +0 -531
  461. package/dist/cjs/frappeReact.spec.native.js +0 -670
  462. package/dist/cjs/frappeReact.spec.native.js.map +0 -1
  463. package/dist/cjs/optimistic.spec.cjs +0 -11
  464. package/dist/cjs/optimistic.spec.native.js +0 -19
  465. package/dist/cjs/optimistic.spec.native.js.map +0 -1
  466. package/dist/cjs/pacer.spec.cjs +0 -470
  467. package/dist/cjs/pacer.spec.native.js +0 -537
  468. package/dist/cjs/pacer.spec.native.js.map +0 -1
  469. package/dist/cjs/realtime.spec.cjs +0 -326
  470. package/dist/cjs/realtime.spec.native.js +0 -392
  471. package/dist/cjs/realtime.spec.native.js.map +0 -1
  472. package/dist/cjs/sync/backfill.spec.cjs +0 -586
  473. package/dist/cjs/sync/backfill.spec.native.js +0 -712
  474. package/dist/cjs/sync/backfill.spec.native.js.map +0 -1
  475. package/dist/cjs/sync/debug.spec.cjs +0 -125
  476. package/dist/cjs/sync/debug.spec.native.js +0 -133
  477. package/dist/cjs/sync/debug.spec.native.js.map +0 -1
  478. package/dist/cjs/sync/filters.spec.cjs +0 -168
  479. package/dist/cjs/sync/filters.spec.native.js +0 -173
  480. package/dist/cjs/sync/filters.spec.native.js.map +0 -1
  481. package/dist/cjs/sync/merge.spec.cjs +0 -908
  482. package/dist/cjs/sync/merge.spec.native.js +0 -937
  483. package/dist/cjs/sync/merge.spec.native.js.map +0 -1
  484. package/dist/cjs/sync/multiOrderBy.spec.cjs +0 -165
  485. package/dist/cjs/sync/multiOrderBy.spec.native.js +0 -229
  486. package/dist/cjs/sync/multiOrderBy.spec.native.js.map +0 -1
  487. package/dist/cjs/sync/mutationEngine.spec.cjs +0 -1158
  488. package/dist/cjs/sync/mutationEngine.spec.native.js +0 -1173
  489. package/dist/cjs/sync/mutationEngine.spec.native.js.map +0 -1
  490. package/dist/cjs/sync/mutationJournal.spec.cjs +0 -330
  491. package/dist/cjs/sync/mutationJournal.spec.native.js +0 -333
  492. package/dist/cjs/sync/mutationJournal.spec.native.js.map +0 -1
  493. package/dist/cjs/sync/mutations.spec.cjs +0 -327
  494. package/dist/cjs/sync/mutations.spec.native.js +0 -330
  495. package/dist/cjs/sync/mutations.spec.native.js.map +0 -1
  496. package/dist/cjs/sync/normalizedCache.spec.cjs +0 -302
  497. package/dist/cjs/sync/normalizedCache.spec.native.js +0 -311
  498. package/dist/cjs/sync/normalizedCache.spec.native.js.map +0 -1
  499. package/dist/cjs/sync/persistence.spec.cjs +0 -562
  500. package/dist/cjs/sync/persistence.spec.native.js +0 -572
  501. package/dist/cjs/sync/persistence.spec.native.js.map +0 -1
  502. package/dist/cjs/sync/realtime.spec.cjs +0 -499
  503. package/dist/cjs/sync/realtime.spec.native.js +0 -512
  504. package/dist/cjs/sync/realtime.spec.native.js.map +0 -1
  505. package/dist/cjs/sync/rehydration.spec.cjs +0 -731
  506. package/dist/cjs/sync/rehydration.spec.native.js +0 -736
  507. package/dist/cjs/sync/rehydration.spec.native.js.map +0 -1
  508. package/dist/cjs/sync/storage.spec.cjs +0 -446
  509. package/dist/cjs/sync/storage.spec.native.js +0 -470
  510. package/dist/cjs/sync/storage.spec.native.js.map +0 -1
  511. package/dist/cjs/sync/subscriptionManager.spec.cjs +0 -1102
  512. package/dist/cjs/sync/subscriptionManager.spec.native.js +0 -1136
  513. package/dist/cjs/sync/subscriptionManager.spec.native.js.map +0 -1
  514. package/dist/cjs/sync/subscriptions.spec.cjs +0 -937
  515. package/dist/cjs/sync/subscriptions.spec.native.js +0 -969
  516. package/dist/cjs/sync/subscriptions.spec.native.js.map +0 -1
  517. package/dist/cjs/sync/syncModule.spec.cjs +0 -206
  518. package/dist/cjs/sync/syncModule.spec.native.js +0 -222
  519. package/dist/cjs/sync/syncModule.spec.native.js.map +0 -1
  520. package/dist/cjs/sync/types.spec.cjs +0 -246
  521. package/dist/cjs/sync/types.spec.native.js +0 -256
  522. package/dist/cjs/sync/types.spec.native.js.map +0 -1
  523. package/dist/cjs/sync/virtualPageManager.spec.cjs +0 -801
  524. package/dist/cjs/sync/virtualPageManager.spec.native.js +0 -873
  525. package/dist/cjs/sync/virtualPageManager.spec.native.js.map +0 -1
  526. package/dist/cjs/util.spec.cjs +0 -43
  527. package/dist/cjs/util.spec.native.js +0 -48
  528. package/dist/cjs/util.spec.native.js.map +0 -1
  529. package/dist/esm/auth.spec.mjs +0 -323
  530. package/dist/esm/auth.spec.mjs.map +0 -1
  531. package/dist/esm/auth.spec.native.js +0 -327
  532. package/dist/esm/auth.spec.native.js.map +0 -1
  533. package/dist/esm/call.spec.mjs +0 -428
  534. package/dist/esm/call.spec.mjs.map +0 -1
  535. package/dist/esm/call.spec.native.js +0 -428
  536. package/dist/esm/call.spec.native.js.map +0 -1
  537. package/dist/esm/collection.spec.mjs +0 -187
  538. package/dist/esm/collection.spec.mjs.map +0 -1
  539. package/dist/esm/collection.spec.native.js +0 -214
  540. package/dist/esm/collection.spec.native.js.map +0 -1
  541. package/dist/esm/common/types.spec.mjs +0 -267
  542. package/dist/esm/common/types.spec.mjs.map +0 -1
  543. package/dist/esm/common/types.spec.native.js +0 -269
  544. package/dist/esm/common/types.spec.native.js.map +0 -1
  545. package/dist/esm/core/http.spec.mjs +0 -1260
  546. package/dist/esm/core/http.spec.mjs.map +0 -1
  547. package/dist/esm/core/http.spec.native.js +0 -1399
  548. package/dist/esm/core/http.spec.native.js.map +0 -1
  549. package/dist/esm/core/wire.spec.mjs +0 -479
  550. package/dist/esm/core/wire.spec.mjs.map +0 -1
  551. package/dist/esm/core/wire.spec.native.js +0 -480
  552. package/dist/esm/core/wire.spec.native.js.map +0 -1
  553. package/dist/esm/db.spec.mjs +0 -863
  554. package/dist/esm/db.spec.mjs.map +0 -1
  555. package/dist/esm/db.spec.native.js +0 -863
  556. package/dist/esm/db.spec.native.js.map +0 -1
  557. package/dist/esm/doctype.spec.mjs +0 -461
  558. package/dist/esm/doctype.spec.mjs.map +0 -1
  559. package/dist/esm/doctype.spec.native.js +0 -536
  560. package/dist/esm/doctype.spec.native.js.map +0 -1
  561. package/dist/esm/file.spec.mjs +0 -316
  562. package/dist/esm/file.spec.mjs.map +0 -1
  563. package/dist/esm/file.spec.native.js +0 -340
  564. package/dist/esm/file.spec.native.js.map +0 -1
  565. package/dist/esm/frappeApp.spec.mjs +0 -307
  566. package/dist/esm/frappeApp.spec.mjs.map +0 -1
  567. package/dist/esm/frappeApp.spec.native.js +0 -306
  568. package/dist/esm/frappeApp.spec.native.js.map +0 -1
  569. package/dist/esm/frappeReact.spec.mjs +0 -532
  570. package/dist/esm/frappeReact.spec.mjs.map +0 -1
  571. package/dist/esm/frappeReact.spec.native.js +0 -668
  572. package/dist/esm/frappeReact.spec.native.js.map +0 -1
  573. package/dist/esm/optimistic.spec.mjs +0 -12
  574. package/dist/esm/optimistic.spec.mjs.map +0 -1
  575. package/dist/esm/optimistic.spec.native.js +0 -17
  576. package/dist/esm/optimistic.spec.native.js.map +0 -1
  577. package/dist/esm/pacer.spec.mjs +0 -447
  578. package/dist/esm/pacer.spec.mjs.map +0 -1
  579. package/dist/esm/pacer.spec.native.js +0 -511
  580. package/dist/esm/pacer.spec.native.js.map +0 -1
  581. package/dist/esm/realtime.spec.mjs +0 -327
  582. package/dist/esm/realtime.spec.mjs.map +0 -1
  583. package/dist/esm/realtime.spec.native.js +0 -390
  584. package/dist/esm/realtime.spec.native.js.map +0 -1
  585. package/dist/esm/sync/backfill.spec.mjs +0 -563
  586. package/dist/esm/sync/backfill.spec.mjs.map +0 -1
  587. package/dist/esm/sync/backfill.spec.native.js +0 -686
  588. package/dist/esm/sync/backfill.spec.native.js.map +0 -1
  589. package/dist/esm/sync/debug.spec.mjs +0 -102
  590. package/dist/esm/sync/debug.spec.mjs.map +0 -1
  591. package/dist/esm/sync/debug.spec.native.js +0 -107
  592. package/dist/esm/sync/debug.spec.native.js.map +0 -1
  593. package/dist/esm/sync/filters.spec.mjs +0 -169
  594. package/dist/esm/sync/filters.spec.mjs.map +0 -1
  595. package/dist/esm/sync/filters.spec.native.js +0 -171
  596. package/dist/esm/sync/filters.spec.native.js.map +0 -1
  597. package/dist/esm/sync/merge.spec.mjs +0 -909
  598. package/dist/esm/sync/merge.spec.mjs.map +0 -1
  599. package/dist/esm/sync/merge.spec.native.js +0 -935
  600. package/dist/esm/sync/merge.spec.native.js.map +0 -1
  601. package/dist/esm/sync/multiOrderBy.spec.mjs +0 -166
  602. package/dist/esm/sync/multiOrderBy.spec.mjs.map +0 -1
  603. package/dist/esm/sync/multiOrderBy.spec.native.js +0 -227
  604. package/dist/esm/sync/multiOrderBy.spec.native.js.map +0 -1
  605. package/dist/esm/sync/mutationEngine.spec.mjs +0 -1159
  606. package/dist/esm/sync/mutationEngine.spec.mjs.map +0 -1
  607. package/dist/esm/sync/mutationEngine.spec.native.js +0 -1171
  608. package/dist/esm/sync/mutationEngine.spec.native.js.map +0 -1
  609. package/dist/esm/sync/mutationJournal.spec.mjs +0 -331
  610. package/dist/esm/sync/mutationJournal.spec.mjs.map +0 -1
  611. package/dist/esm/sync/mutationJournal.spec.native.js +0 -331
  612. package/dist/esm/sync/mutationJournal.spec.native.js.map +0 -1
  613. package/dist/esm/sync/mutations.spec.mjs +0 -328
  614. package/dist/esm/sync/mutations.spec.mjs.map +0 -1
  615. package/dist/esm/sync/mutations.spec.native.js +0 -328
  616. package/dist/esm/sync/mutations.spec.native.js.map +0 -1
  617. package/dist/esm/sync/normalizedCache.spec.mjs +0 -303
  618. package/dist/esm/sync/normalizedCache.spec.mjs.map +0 -1
  619. package/dist/esm/sync/normalizedCache.spec.native.js +0 -309
  620. package/dist/esm/sync/normalizedCache.spec.native.js.map +0 -1
  621. package/dist/esm/sync/persistence.spec.mjs +0 -563
  622. package/dist/esm/sync/persistence.spec.mjs.map +0 -1
  623. package/dist/esm/sync/persistence.spec.native.js +0 -570
  624. package/dist/esm/sync/persistence.spec.native.js.map +0 -1
  625. package/dist/esm/sync/realtime.spec.mjs +0 -500
  626. package/dist/esm/sync/realtime.spec.mjs.map +0 -1
  627. package/dist/esm/sync/realtime.spec.native.js +0 -510
  628. package/dist/esm/sync/realtime.spec.native.js.map +0 -1
  629. package/dist/esm/sync/rehydration.spec.mjs +0 -732
  630. package/dist/esm/sync/rehydration.spec.mjs.map +0 -1
  631. package/dist/esm/sync/rehydration.spec.native.js +0 -734
  632. package/dist/esm/sync/rehydration.spec.native.js.map +0 -1
  633. package/dist/esm/sync/storage.spec.mjs +0 -423
  634. package/dist/esm/sync/storage.spec.mjs.map +0 -1
  635. package/dist/esm/sync/storage.spec.native.js +0 -444
  636. package/dist/esm/sync/storage.spec.native.js.map +0 -1
  637. package/dist/esm/sync/subscriptionManager.spec.mjs +0 -1079
  638. package/dist/esm/sync/subscriptionManager.spec.mjs.map +0 -1
  639. package/dist/esm/sync/subscriptionManager.spec.native.js +0 -1110
  640. package/dist/esm/sync/subscriptionManager.spec.native.js.map +0 -1
  641. package/dist/esm/sync/subscriptions.spec.mjs +0 -914
  642. package/dist/esm/sync/subscriptions.spec.mjs.map +0 -1
  643. package/dist/esm/sync/subscriptions.spec.native.js +0 -943
  644. package/dist/esm/sync/subscriptions.spec.native.js.map +0 -1
  645. package/dist/esm/sync/syncModule.spec.mjs +0 -207
  646. package/dist/esm/sync/syncModule.spec.mjs.map +0 -1
  647. package/dist/esm/sync/syncModule.spec.native.js +0 -220
  648. package/dist/esm/sync/syncModule.spec.native.js.map +0 -1
  649. package/dist/esm/sync/types.spec.mjs +0 -247
  650. package/dist/esm/sync/types.spec.mjs.map +0 -1
  651. package/dist/esm/sync/types.spec.native.js +0 -254
  652. package/dist/esm/sync/types.spec.native.js.map +0 -1
  653. package/dist/esm/sync/virtualPageManager.spec.mjs +0 -802
  654. package/dist/esm/sync/virtualPageManager.spec.mjs.map +0 -1
  655. package/dist/esm/sync/virtualPageManager.spec.native.js +0 -871
  656. package/dist/esm/sync/virtualPageManager.spec.native.js.map +0 -1
  657. package/dist/esm/util.spec.mjs +0 -20
  658. package/dist/esm/util.spec.mjs.map +0 -1
  659. package/dist/esm/util.spec.native.js +0 -22
  660. package/dist/esm/util.spec.native.js.map +0 -1
  661. package/dist/jsx/auth.spec.mjs +0 -323
  662. package/dist/jsx/auth.spec.mjs.map +0 -1
  663. package/dist/jsx/auth.spec.native.js +0 -329
  664. package/dist/jsx/auth.spec.native.js.map +0 -1
  665. package/dist/jsx/call.spec.mjs +0 -428
  666. package/dist/jsx/call.spec.mjs.map +0 -1
  667. package/dist/jsx/call.spec.native.js +0 -430
  668. package/dist/jsx/call.spec.native.js.map +0 -1
  669. package/dist/jsx/collection.spec.mjs +0 -187
  670. package/dist/jsx/collection.spec.mjs.map +0 -1
  671. package/dist/jsx/collection.spec.native.js +0 -216
  672. package/dist/jsx/collection.spec.native.js.map +0 -1
  673. package/dist/jsx/common/types.spec.mjs +0 -267
  674. package/dist/jsx/common/types.spec.mjs.map +0 -1
  675. package/dist/jsx/common/types.spec.native.js +0 -271
  676. package/dist/jsx/common/types.spec.native.js.map +0 -1
  677. package/dist/jsx/core/http.spec.mjs +0 -1260
  678. package/dist/jsx/core/http.spec.mjs.map +0 -1
  679. package/dist/jsx/core/http.spec.native.js +0 -1401
  680. package/dist/jsx/core/http.spec.native.js.map +0 -1
  681. package/dist/jsx/core/wire.spec.mjs +0 -479
  682. package/dist/jsx/core/wire.spec.mjs.map +0 -1
  683. package/dist/jsx/core/wire.spec.native.js +0 -482
  684. package/dist/jsx/core/wire.spec.native.js.map +0 -1
  685. package/dist/jsx/db.spec.mjs +0 -863
  686. package/dist/jsx/db.spec.mjs.map +0 -1
  687. package/dist/jsx/db.spec.native.js +0 -865
  688. package/dist/jsx/db.spec.native.js.map +0 -1
  689. package/dist/jsx/doctype.spec.mjs +0 -461
  690. package/dist/jsx/doctype.spec.mjs.map +0 -1
  691. package/dist/jsx/doctype.spec.native.js +0 -538
  692. package/dist/jsx/doctype.spec.native.js.map +0 -1
  693. package/dist/jsx/file.spec.mjs +0 -316
  694. package/dist/jsx/file.spec.mjs.map +0 -1
  695. package/dist/jsx/file.spec.native.js +0 -342
  696. package/dist/jsx/file.spec.native.js.map +0 -1
  697. package/dist/jsx/frappeApp.spec.mjs +0 -307
  698. package/dist/jsx/frappeApp.spec.mjs.map +0 -1
  699. package/dist/jsx/frappeApp.spec.native.js +0 -308
  700. package/dist/jsx/frappeApp.spec.native.js.map +0 -1
  701. package/dist/jsx/frappeReact.spec.mjs +0 -532
  702. package/dist/jsx/frappeReact.spec.mjs.map +0 -1
  703. package/dist/jsx/frappeReact.spec.native.js +0 -670
  704. package/dist/jsx/frappeReact.spec.native.js.map +0 -1
  705. package/dist/jsx/optimistic.spec.mjs +0 -12
  706. package/dist/jsx/optimistic.spec.mjs.map +0 -1
  707. package/dist/jsx/optimistic.spec.native.js +0 -19
  708. package/dist/jsx/optimistic.spec.native.js.map +0 -1
  709. package/dist/jsx/pacer.spec.mjs +0 -447
  710. package/dist/jsx/pacer.spec.mjs.map +0 -1
  711. package/dist/jsx/pacer.spec.native.js +0 -537
  712. package/dist/jsx/pacer.spec.native.js.map +0 -1
  713. package/dist/jsx/realtime.spec.mjs +0 -327
  714. package/dist/jsx/realtime.spec.mjs.map +0 -1
  715. package/dist/jsx/realtime.spec.native.js +0 -392
  716. package/dist/jsx/realtime.spec.native.js.map +0 -1
  717. package/dist/jsx/sync/backfill.spec.mjs +0 -563
  718. package/dist/jsx/sync/backfill.spec.mjs.map +0 -1
  719. package/dist/jsx/sync/backfill.spec.native.js +0 -712
  720. package/dist/jsx/sync/backfill.spec.native.js.map +0 -1
  721. package/dist/jsx/sync/debug.spec.mjs +0 -102
  722. package/dist/jsx/sync/debug.spec.mjs.map +0 -1
  723. package/dist/jsx/sync/debug.spec.native.js +0 -133
  724. package/dist/jsx/sync/debug.spec.native.js.map +0 -1
  725. package/dist/jsx/sync/filters.spec.mjs +0 -169
  726. package/dist/jsx/sync/filters.spec.mjs.map +0 -1
  727. package/dist/jsx/sync/filters.spec.native.js +0 -173
  728. package/dist/jsx/sync/filters.spec.native.js.map +0 -1
  729. package/dist/jsx/sync/merge.spec.mjs +0 -909
  730. package/dist/jsx/sync/merge.spec.mjs.map +0 -1
  731. package/dist/jsx/sync/merge.spec.native.js +0 -937
  732. package/dist/jsx/sync/merge.spec.native.js.map +0 -1
  733. package/dist/jsx/sync/multiOrderBy.spec.mjs +0 -166
  734. package/dist/jsx/sync/multiOrderBy.spec.mjs.map +0 -1
  735. package/dist/jsx/sync/multiOrderBy.spec.native.js +0 -229
  736. package/dist/jsx/sync/multiOrderBy.spec.native.js.map +0 -1
  737. package/dist/jsx/sync/mutationEngine.spec.mjs +0 -1159
  738. package/dist/jsx/sync/mutationEngine.spec.mjs.map +0 -1
  739. package/dist/jsx/sync/mutationEngine.spec.native.js +0 -1173
  740. package/dist/jsx/sync/mutationEngine.spec.native.js.map +0 -1
  741. package/dist/jsx/sync/mutationJournal.spec.mjs +0 -331
  742. package/dist/jsx/sync/mutationJournal.spec.mjs.map +0 -1
  743. package/dist/jsx/sync/mutationJournal.spec.native.js +0 -333
  744. package/dist/jsx/sync/mutationJournal.spec.native.js.map +0 -1
  745. package/dist/jsx/sync/mutations.spec.mjs +0 -328
  746. package/dist/jsx/sync/mutations.spec.mjs.map +0 -1
  747. package/dist/jsx/sync/mutations.spec.native.js +0 -330
  748. package/dist/jsx/sync/mutations.spec.native.js.map +0 -1
  749. package/dist/jsx/sync/normalizedCache.spec.mjs +0 -303
  750. package/dist/jsx/sync/normalizedCache.spec.mjs.map +0 -1
  751. package/dist/jsx/sync/normalizedCache.spec.native.js +0 -311
  752. package/dist/jsx/sync/normalizedCache.spec.native.js.map +0 -1
  753. package/dist/jsx/sync/persistence.spec.mjs +0 -563
  754. package/dist/jsx/sync/persistence.spec.mjs.map +0 -1
  755. package/dist/jsx/sync/persistence.spec.native.js +0 -572
  756. package/dist/jsx/sync/persistence.spec.native.js.map +0 -1
  757. package/dist/jsx/sync/realtime.spec.mjs +0 -500
  758. package/dist/jsx/sync/realtime.spec.mjs.map +0 -1
  759. package/dist/jsx/sync/realtime.spec.native.js +0 -512
  760. package/dist/jsx/sync/realtime.spec.native.js.map +0 -1
  761. package/dist/jsx/sync/rehydration.spec.mjs +0 -732
  762. package/dist/jsx/sync/rehydration.spec.mjs.map +0 -1
  763. package/dist/jsx/sync/rehydration.spec.native.js +0 -736
  764. package/dist/jsx/sync/rehydration.spec.native.js.map +0 -1
  765. package/dist/jsx/sync/storage.spec.mjs +0 -423
  766. package/dist/jsx/sync/storage.spec.mjs.map +0 -1
  767. package/dist/jsx/sync/storage.spec.native.js +0 -470
  768. package/dist/jsx/sync/storage.spec.native.js.map +0 -1
  769. package/dist/jsx/sync/subscriptionManager.spec.mjs +0 -1079
  770. package/dist/jsx/sync/subscriptionManager.spec.mjs.map +0 -1
  771. package/dist/jsx/sync/subscriptionManager.spec.native.js +0 -1136
  772. package/dist/jsx/sync/subscriptionManager.spec.native.js.map +0 -1
  773. package/dist/jsx/sync/subscriptions.spec.mjs +0 -914
  774. package/dist/jsx/sync/subscriptions.spec.mjs.map +0 -1
  775. package/dist/jsx/sync/subscriptions.spec.native.js +0 -969
  776. package/dist/jsx/sync/subscriptions.spec.native.js.map +0 -1
  777. package/dist/jsx/sync/syncModule.spec.mjs +0 -207
  778. package/dist/jsx/sync/syncModule.spec.mjs.map +0 -1
  779. package/dist/jsx/sync/syncModule.spec.native.js +0 -222
  780. package/dist/jsx/sync/syncModule.spec.native.js.map +0 -1
  781. package/dist/jsx/sync/types.spec.mjs +0 -247
  782. package/dist/jsx/sync/types.spec.mjs.map +0 -1
  783. package/dist/jsx/sync/types.spec.native.js +0 -256
  784. package/dist/jsx/sync/types.spec.native.js.map +0 -1
  785. package/dist/jsx/sync/virtualPageManager.spec.mjs +0 -802
  786. package/dist/jsx/sync/virtualPageManager.spec.mjs.map +0 -1
  787. package/dist/jsx/sync/virtualPageManager.spec.native.js +0 -873
  788. package/dist/jsx/sync/virtualPageManager.spec.native.js.map +0 -1
  789. package/dist/jsx/util.spec.mjs +0 -20
  790. package/dist/jsx/util.spec.mjs.map +0 -1
  791. package/dist/jsx/util.spec.native.js +0 -48
  792. package/dist/jsx/util.spec.native.js.map +0 -1
@@ -6,7 +6,8 @@ function frappeCollectionOptions(doctype, config) {
6
6
  fields,
7
7
  filters,
8
8
  orderBy,
9
- limit
9
+ limit,
10
+ onSyncError
10
11
  } = config;
11
12
  const syncFn = params => {
12
13
  const {
@@ -18,6 +19,7 @@ function frappeCollectionOptions(doctype, config) {
18
19
  let subscriptionId;
19
20
  let storeUnsubscribe;
20
21
  let lastKnownNames = /* @__PURE__ */new Set();
22
+ let cancelled = false;
21
23
  async function initSync() {
22
24
  try {
23
25
  const query = {
@@ -28,6 +30,10 @@ function frappeCollectionOptions(doctype, config) {
28
30
  limit
29
31
  };
30
32
  const result = await syncModule.subscribe(query);
33
+ if (cancelled) {
34
+ syncModule.unsubscribe(result.subscriptionId);
35
+ return;
36
+ }
31
37
  subscriptionId = result.subscriptionId;
32
38
  const initialDocs = syncModule.getDocsForSubscription(subscriptionId);
33
39
  if (initialDocs.length > 0) {
@@ -74,13 +80,16 @@ function frappeCollectionOptions(doctype, config) {
74
80
  lastKnownNames = currentNames;
75
81
  });
76
82
  } catch (error) {
83
+ if (cancelled) return;
77
84
  console.error(`[frappe-collection] Initial sync failed for ${doctype}:`, error);
85
+ onSyncError?.(error);
78
86
  } finally {
79
- markReady();
87
+ if (!cancelled) markReady();
80
88
  }
81
89
  }
82
90
  initSync();
83
91
  return () => {
92
+ cancelled = true;
84
93
  if (storeUnsubscribe) {
85
94
  storeUnsubscribe();
86
95
  storeUnsubscribe = void 0;
@@ -165,6 +174,7 @@ function fixtureCollectionOptions(doctype, config) {
165
174
  commit,
166
175
  markReady
167
176
  } = params;
177
+ let cancelled = false;
168
178
  async function initSync() {
169
179
  try {
170
180
  const orderByForFixture = orderBy && !Array.isArray(orderBy) ? {
@@ -181,6 +191,7 @@ function fixtureCollectionOptions(doctype, config) {
181
191
  limitStart,
182
192
  limit
183
193
  });
194
+ if (cancelled) return;
184
195
  if (docs.length > 0) {
185
196
  begin();
186
197
  for (const doc of docs) {
@@ -196,13 +207,16 @@ function fixtureCollectionOptions(doctype, config) {
196
207
  commit();
197
208
  }
198
209
  } catch (error) {
210
+ if (cancelled) return;
199
211
  console.error(`[frappe-collection] Fixture sync failed for ${doctype}:`, error);
200
212
  } finally {
201
- markReady();
213
+ if (!cancelled) markReady();
202
214
  }
203
215
  }
204
216
  initSync();
205
- return () => {};
217
+ return () => {
218
+ cancelled = true;
219
+ };
206
220
  };
207
221
  return {
208
222
  id: config.id ?? doctype,
@@ -1 +1 @@
1
- {"version":3,"names":["createCollection","Operation","frappeCollectionOptions","doctype","config","sync","syncModule","fields","filters","orderBy","limit","syncFn","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","initSync","query","result","subscribe","initialDocs","getDocsForSubscription","length","doc","type","value","add","name","subscribeStore","currentDocs","currentNames","map","d","has","error","console","unsubscribe","id","getKey","onInsert","transaction","mutation","mutations","modified","mutate","mutationId","crypto","randomUUID","Math","random","toString","substring","operation","Create","onUpdate","changes","key","Update","onDelete","Delete","createFrappeCollection","fixtureCollectionOptions","fixtures","limitStart","orderByForFixture","Array","isArray","field","order","String","ob","docs","getList","fullDoc","createDoc","updateDoc","deleteDoc","createFixtureCollection"],"sources":["../../src/collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createCollection","Operation","frappeCollectionOptions","doctype","config","sync","syncModule","fields","filters","orderBy","limit","onSyncError","syncFn","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","cancelled","initSync","query","result","subscribe","unsubscribe","initialDocs","getDocsForSubscription","length","doc","type","value","add","name","subscribeStore","currentDocs","currentNames","map","d","has","error","console","id","getKey","onInsert","transaction","mutation","mutations","modified","mutate","mutationId","crypto","randomUUID","Math","random","toString","substring","operation","Create","onUpdate","changes","key","Update","onDelete","Delete","createFrappeCollection","fixtureCollectionOptions","fixtures","limitStart","orderByForFixture","Array","isArray","field","order","String","ob","docs","getList","fullDoc","createDoc","updateDoc","deleteDoc","createFixtureCollection"],"sources":["../../src/collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,8 @@ function frappeCollectionOptions(doctype, config) {
39
39
  fields,
40
40
  filters,
41
41
  orderBy,
42
- limit
42
+ limit,
43
+ onSyncError
43
44
  } = config;
44
45
  var syncFn = function syncFn2(params) {
45
46
  var {
@@ -51,6 +52,7 @@ function frappeCollectionOptions(doctype, config) {
51
52
  var subscriptionId;
52
53
  var storeUnsubscribe;
53
54
  var lastKnownNames = /* @__PURE__ */new Set();
55
+ var cancelled = false;
54
56
  async function initSync() {
55
57
  try {
56
58
  var query = {
@@ -61,6 +63,10 @@ function frappeCollectionOptions(doctype, config) {
61
63
  limit
62
64
  };
63
65
  var result = await syncModule.subscribe(query);
66
+ if (cancelled) {
67
+ syncModule.unsubscribe(result.subscriptionId);
68
+ return;
69
+ }
64
70
  subscriptionId = result.subscriptionId;
65
71
  var initialDocs = syncModule.getDocsForSubscription(subscriptionId);
66
72
  if (initialDocs.length > 0) {
@@ -166,13 +172,16 @@ function frappeCollectionOptions(doctype, config) {
166
172
  lastKnownNames = currentNames;
167
173
  });
168
174
  } catch (error) {
175
+ if (cancelled) return;
169
176
  console.error(`[frappe-collection] Initial sync failed for ${doctype}:`, error);
177
+ onSyncError === null || onSyncError === void 0 ? void 0 : onSyncError(error);
170
178
  } finally {
171
- markReady();
179
+ if (!cancelled) markReady();
172
180
  }
173
181
  }
174
182
  initSync();
175
183
  return function () {
184
+ cancelled = true;
176
185
  if (storeUnsubscribe) {
177
186
  storeUnsubscribe();
178
187
  storeUnsubscribe = void 0;
@@ -326,6 +335,7 @@ function fixtureCollectionOptions(doctype, config) {
326
335
  commit,
327
336
  markReady
328
337
  } = params;
338
+ var cancelled = false;
329
339
  async function initSync() {
330
340
  try {
331
341
  var orderByForFixture = orderBy && !Array.isArray(orderBy) ? {
@@ -344,6 +354,7 @@ function fixtureCollectionOptions(doctype, config) {
344
354
  limitStart,
345
355
  limit
346
356
  });
357
+ if (cancelled) return;
347
358
  if (docs.length > 0) {
348
359
  begin();
349
360
  var _iteratorNormalCompletion = true,
@@ -378,13 +389,16 @@ function fixtureCollectionOptions(doctype, config) {
378
389
  commit();
379
390
  }
380
391
  } catch (error) {
392
+ if (cancelled) return;
381
393
  console.error(`[frappe-collection] Fixture sync failed for ${doctype}:`, error);
382
394
  } finally {
383
- markReady();
395
+ if (!cancelled) markReady();
384
396
  }
385
397
  }
386
398
  initSync();
387
- return function () {};
399
+ return function () {
400
+ cancelled = true;
401
+ };
388
402
  };
389
403
  return {
390
404
  id: (_config_id = config.id) !== null && _config_id !== void 0 ? _config_id : doctype,
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","collection_exports","createFixtureCollection","createFrappeCollection","fixtureCollectionOptions","frappeCollectionOptions","module","exports","import_db","require","import_types","doctype","config","_config_id","sync","syncModule","fields","filters","orderBy","limit","syncFn","syncFn2","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","initSync","query","result","subscribe","initialDocs","getDocsForSubscription","length","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","type","add","err","return","subscribeStore","currentDocs","currentNames","map","d","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","doc2","has","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","error","console","unsubscribe","id","getKey"],"sources":["../../src/collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","collection_exports","createFixtureCollection","createFrappeCollection","fixtureCollectionOptions","frappeCollectionOptions","module","exports","import_db","require","import_types","doctype","config","_config_id","sync","syncModule","fields","filters","orderBy","limit","onSyncError","syncFn","syncFn2","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","cancelled","initSync","query","result","subscribe","unsubscribe","initialDocs","getDocsForSubscription","length","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","type","add","err","return","subscribeStore","currentDocs","currentNames","map","d","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","doc2","has","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","error","console","id","getKey","onInsert","param","transaction"],"sources":["../../src/collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { getCookie, setCookie, deleteCookie } from "@multiplatform.one/platform";
1
+ import { getCookie, setCookie, deleteCookie, isNative } from "@multiplatform.one/platform";
2
2
  import { isBrowser } from "../util.mjs";
3
3
  import { FrappeError, HttpMethod } from "./types.mjs";
4
4
  const defaultRetryConfig = {
@@ -9,7 +9,22 @@ const defaultRetryConfig = {
9
9
  retryOnNetworkError: true,
10
10
  retryStatusCodes: [408, 429, 500, 502, 503, 504]
11
11
  };
12
+ function isAbortError(err, signal) {
13
+ if (signal?.aborted) return true;
14
+ return err instanceof Error && err.name === "AbortError";
15
+ }
12
16
  class HttpClient {
17
+ retryConfig;
18
+ // Language preference for Accept-Language header (used in SSR / React Native)
19
+ _language;
20
+ /** Server-bootstrapped CSRF token for React Native cookie auth (see ensureNativeCsrfToken). */
21
+ csrfToken;
22
+ /** True once a native CSRF bootstrap attempt completed (even if it yielded no token). */
23
+ csrfBootstrapDone = false;
24
+ /** In-flight CSRF bootstrap, deduped across concurrent mutating requests. */
25
+ csrfBootstrap;
26
+ baseURL;
27
+ auth;
13
28
  constructor(baseURL, auth, retryConfig) {
14
29
  this.baseURL = baseURL;
15
30
  this.auth = auth;
@@ -18,11 +33,6 @@ class HttpClient {
18
33
  ...retryConfig
19
34
  };
20
35
  }
21
- baseURL;
22
- auth;
23
- retryConfig;
24
- // Language preference for Accept-Language header (used in SSR / React Native)
25
- _language;
26
36
  /** Set language preference for Accept-Language header on all requests. */
27
37
  setLanguage(lang) {
28
38
  this._language = lang;
@@ -43,6 +53,71 @@ class HttpClient {
43
53
  value: lang
44
54
  });
45
55
  }
56
+ /**
57
+ * React Native cookie-auth CSRF bootstrap.
58
+ *
59
+ * RN's fetch sends the OS cookie jar (so cookie-auth sessions work), but
60
+ * JS cannot READ those cookies — the platform `getCookie` shim is an
61
+ * in-memory map that never sees the `sid`/CSRF cookies — so mutating
62
+ * requests would 400 once the session has a CSRF token. Fetch the token
63
+ * from the server instead and cache it per client:
64
+ *
65
+ * 1. `GET /api/method/frappe.sessions.get_csrf_token` — whitelisted on
66
+ * newer frappe versions; cheap JSON round-trip.
67
+ * 2. Fallback: `GET /app` and parse the `frappe.csrf_token = "…"` boot
68
+ * script — works on every frappe (this repo's bench does NOT
69
+ * whitelist the RPC above) and also generates the token server-side
70
+ * when the session lacks one.
71
+ *
72
+ * Resolves undefined when neither source works (e.g. website-only session
73
+ * without desk access); requests then proceed without the header, which
74
+ * frappe accepts for sessions that have no CSRF token yet. The cache is
75
+ * dropped on auth change and on a 400 from a mutating request so a
76
+ * rotated session re-bootstraps.
77
+ */
78
+ async ensureNativeCsrfToken() {
79
+ if (this.csrfBootstrapDone) return this.csrfToken;
80
+ if (!this.csrfBootstrap) {
81
+ this.csrfBootstrap = this.fetchNativeCsrfToken().then(token => {
82
+ this.csrfToken = token;
83
+ this.csrfBootstrapDone = true;
84
+ }).finally(() => {
85
+ this.csrfBootstrap = void 0;
86
+ });
87
+ }
88
+ await this.csrfBootstrap;
89
+ return this.csrfToken;
90
+ }
91
+ async fetchNativeCsrfToken() {
92
+ try {
93
+ const rpcUrl = new URL("/api/method/frappe.sessions.get_csrf_token", this.baseURL).toString();
94
+ const res = await fetch(rpcUrl, {
95
+ method: "GET",
96
+ credentials: "include"
97
+ });
98
+ if (res.ok) {
99
+ const payload = await res.json();
100
+ if (typeof payload?.message === "string" && payload.message) return payload.message;
101
+ }
102
+ } catch {}
103
+ try {
104
+ const appUrl = new URL("/app", this.baseURL).toString();
105
+ const res = await fetch(appUrl, {
106
+ method: "GET",
107
+ credentials: "include"
108
+ });
109
+ if (res.ok) {
110
+ const html = await res.text();
111
+ const match = html.match(/frappe\.csrf_token\s*=\s*"([^"]+)"/);
112
+ if (match?.[1]) return match[1];
113
+ }
114
+ } catch {}
115
+ return void 0;
116
+ }
117
+ invalidateNativeCsrfToken() {
118
+ this.csrfToken = void 0;
119
+ this.csrfBootstrapDone = false;
120
+ }
46
121
  async getAuthHeaders() {
47
122
  if (!this.auth?.useToken) return {};
48
123
  const raw = typeof this.auth.token === "function" ? await this.auth.token() : this.auth?.token;
@@ -132,7 +207,8 @@ class HttpClient {
132
207
  headers.set("Accept-Language", lang);
133
208
  }
134
209
  if (!this.auth?.useToken && isBrowser() && method !== HttpMethod.Get) {
135
- const csrf = getCookie("frappe-csrf-token") || getCookie("csrf_token") || globalThis.frappe?.csrf_token;
210
+ let csrf = getCookie("frappe-csrf-token") || getCookie("csrf_token") || globalThis.frappe?.csrf_token;
211
+ if (!csrf && isNative) csrf = await this.ensureNativeCsrfToken();
136
212
  if (csrf) headers.set("X-Frappe-CSRF-Token", csrf);
137
213
  }
138
214
  const makeRequest = () => {
@@ -140,7 +216,8 @@ class HttpClient {
140
216
  method,
141
217
  headers,
142
218
  credentials: this.auth?.useToken ? "omit" : "include",
143
- body
219
+ body,
220
+ signal: request?.signal
144
221
  });
145
222
  };
146
223
  let lastError;
@@ -153,6 +230,9 @@ class HttpClient {
153
230
  const payload2 = contentType3?.includes("application/json") ? await res.json() : await res.text();
154
231
  const message = payload2 && (payload2.message || payload2.exc || payload2._server_messages) || res.statusText;
155
232
  const err = new FrappeError(message, res.status, payload2);
233
+ if (isNative && res.status === 400 && !this.auth?.useToken && method !== HttpMethod.Get) {
234
+ this.invalidateNativeCsrfToken();
235
+ }
156
236
  if (this.shouldRetryError(err, attempt)) {
157
237
  lastError = err;
158
238
  attempt++;
@@ -172,6 +252,7 @@ class HttpClient {
172
252
  _res: res
173
253
  };
174
254
  } catch (err) {
255
+ if (isAbortError(err, request?.signal)) throw err;
175
256
  if (this.shouldRetryError(err, attempt)) {
176
257
  lastError = err;
177
258
  attempt++;
@@ -185,10 +266,11 @@ class HttpClient {
185
266
  }
186
267
  throw lastError;
187
268
  }
188
- get(path, params, headers) {
269
+ get(path, params, headers, signal) {
189
270
  const qs = params ? `?${new URLSearchParams(normalizeParams(params)).toString()}` : "";
190
271
  return this.request(HttpMethod.Get, `${path}${qs}`, {
191
- headers
272
+ headers,
273
+ signal
192
274
  });
193
275
  }
194
276
  post(path, body, headers) {
@@ -220,6 +302,7 @@ class HttpClient {
220
302
  }
221
303
  updateAuth(auth) {
222
304
  this.auth = auth;
305
+ this.invalidateNativeCsrfToken();
223
306
  }
224
307
  }
225
308
  function normalizeParams(params) {
@@ -1 +1 @@
1
- {"version":3,"names":["getCookie","setCookie","deleteCookie","isBrowser","FrappeError","HttpMethod","defaultRetryConfig","baseDelayMs","exponentialBackoff","maxDelayMs","maxRetries","retryOnNetworkError","retryStatusCodes","HttpClient","constructor","baseURL","auth","retryConfig","_language","setLanguage","lang","getLanguage","syncUserLanguage","user","post","doctype","name","fieldname","value","getAuthHeaders","useToken","raw","token","scheme","type","Authorization","shouldRetryError","err","attempt","shouldRetry","Number","Error","Boolean","statusCode","status","includes","getRetryDelay","delay","Math","min","request","method","path","url","URL","toString","body","headers","Headers","contentType","get","FormData","URLSearchParams","ArrayBuffer","Blob","ReadableStream","isView","formData","key","Object","entries","append","set","searchParams","JSON","stringify","authHeaders","cookie","ssrCookies","size","cookieStr","Array","from","map","encodeURIComponent","join","has","Get","csrf","globalThis","frappe","csrf_token","makeRequest","fetch","credentials","lastError","res","ok","contentType3","payload2","json","text","message","exc","_server_messages","statusText","Promise","resolve","setTimeout","contentType2","payload","_res","params","qs","normalizeParams","Post","put","Put","delete","Delete","head","Head","getAuthConfig","updateAuth","normalized","setSSRCookies","cookieHeader","Map","cookies","split","eqIndex","indexOf","slice","trim","decodeURIComponent","clearSSRCookies","invalidateCookieCache"],"sources":["../../../src/core/http.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getCookie","setCookie","deleteCookie","isNative","isBrowser","FrappeError","HttpMethod","defaultRetryConfig","baseDelayMs","exponentialBackoff","maxDelayMs","maxRetries","retryOnNetworkError","retryStatusCodes","isAbortError","err","signal","aborted","Error","name","HttpClient","retryConfig","_language","csrfToken","csrfBootstrapDone","csrfBootstrap","baseURL","auth","constructor","setLanguage","lang","getLanguage","syncUserLanguage","user","post","doctype","fieldname","value","ensureNativeCsrfToken","fetchNativeCsrfToken","then","token","finally","rpcUrl","URL","toString","res","fetch","method","credentials","ok","payload","json","message","appUrl","html","text","match","invalidateNativeCsrfToken","getAuthHeaders","useToken","raw","scheme","type","Authorization","shouldRetryError","attempt","shouldRetry","Number","Boolean","statusCode","status","includes","getRetryDelay","delay","Math","min","request","path","url","body","headers","Headers","contentType","get","FormData","URLSearchParams","ArrayBuffer","Blob","ReadableStream","isView","formData","key","Object","entries","append","set","searchParams","JSON","stringify","authHeaders","cookie","ssrCookies","size","cookieStr","Array","from","map","encodeURIComponent","join","has","Get","csrf","globalThis","frappe","csrf_token","makeRequest","lastError","contentType3","payload2","exc","_server_messages","statusText","Promise","resolve","setTimeout","contentType2","_res","params","qs","normalizeParams","Post","put","Put","delete","Delete","head","Head","getAuthConfig","updateAuth","normalized","setSSRCookies","cookieHeader","Map","cookies","split","eqIndex","indexOf","slice","trim","decodeURIComponent","clearSSRCookies","invalidateCookieCache"],"sources":["../../../src/core/http.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -90,15 +90,22 @@ var defaultRetryConfig = {
90
90
  retryOnNetworkError: true,
91
91
  retryStatusCodes: [408, 429, 500, 502, 503, 504]
92
92
  };
93
+ function isAbortError(err, signal) {
94
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) return true;
95
+ return _instanceof(err, Error) && err.name === "AbortError";
96
+ }
93
97
  var HttpClient = /* @__PURE__ */function () {
94
98
  "use strict";
95
99
 
96
100
  function HttpClient2(baseURL, auth, retryConfig) {
97
101
  _class_call_check(this, HttpClient2);
98
- _define_property(this, "baseURL", void 0);
99
- _define_property(this, "auth", void 0);
100
102
  _define_property(this, "retryConfig", void 0);
101
103
  _define_property(this, "_language", void 0);
104
+ _define_property(this, "csrfToken", void 0);
105
+ _define_property(this, "csrfBootstrapDone", false);
106
+ _define_property(this, "csrfBootstrap", void 0);
107
+ _define_property(this, "baseURL", void 0);
108
+ _define_property(this, "auth", void 0);
102
109
  this.baseURL = baseURL;
103
110
  this.auth = auth;
104
111
  this.retryConfig = {
@@ -132,6 +139,79 @@ var HttpClient = /* @__PURE__ */function () {
132
139
  value: lang
133
140
  });
134
141
  })
142
+ }, {
143
+ key: "ensureNativeCsrfToken",
144
+ value: (
145
+ /**
146
+ * React Native cookie-auth CSRF bootstrap.
147
+ *
148
+ * RN's fetch sends the OS cookie jar (so cookie-auth sessions work), but
149
+ * JS cannot READ those cookies — the platform `getCookie` shim is an
150
+ * in-memory map that never sees the `sid`/CSRF cookies — so mutating
151
+ * requests would 400 once the session has a CSRF token. Fetch the token
152
+ * from the server instead and cache it per client:
153
+ *
154
+ * 1. `GET /api/method/frappe.sessions.get_csrf_token` — whitelisted on
155
+ * newer frappe versions; cheap JSON round-trip.
156
+ * 2. Fallback: `GET /app` and parse the `frappe.csrf_token = "…"` boot
157
+ * script — works on every frappe (this repo's bench does NOT
158
+ * whitelist the RPC above) and also generates the token server-side
159
+ * when the session lacks one.
160
+ *
161
+ * Resolves undefined when neither source works (e.g. website-only session
162
+ * without desk access); requests then proceed without the header, which
163
+ * frappe accepts for sessions that have no CSRF token yet. The cache is
164
+ * dropped on auth change and on a 400 from a mutating request so a
165
+ * rotated session re-bootstraps.
166
+ */
167
+ async function ensureNativeCsrfToken() {
168
+ var _this = this;
169
+ if (this.csrfBootstrapDone) return this.csrfToken;
170
+ if (!this.csrfBootstrap) {
171
+ this.csrfBootstrap = this.fetchNativeCsrfToken().then(function (token) {
172
+ _this.csrfToken = token;
173
+ _this.csrfBootstrapDone = true;
174
+ }).finally(function () {
175
+ _this.csrfBootstrap = void 0;
176
+ });
177
+ }
178
+ await this.csrfBootstrap;
179
+ return this.csrfToken;
180
+ })
181
+ }, {
182
+ key: "fetchNativeCsrfToken",
183
+ value: async function fetchNativeCsrfToken() {
184
+ try {
185
+ var rpcUrl = new URL("/api/method/frappe.sessions.get_csrf_token", this.baseURL).toString();
186
+ var res = await fetch(rpcUrl, {
187
+ method: "GET",
188
+ credentials: "include"
189
+ });
190
+ if (res.ok) {
191
+ var payload = await res.json();
192
+ if (typeof (payload === null || payload === void 0 ? void 0 : payload.message) === "string" && payload.message) return payload.message;
193
+ }
194
+ } catch (unused) {}
195
+ try {
196
+ var appUrl = new URL("/app", this.baseURL).toString();
197
+ var res1 = await fetch(appUrl, {
198
+ method: "GET",
199
+ credentials: "include"
200
+ });
201
+ if (res1.ok) {
202
+ var html = await res1.text();
203
+ var match = html.match(/frappe\.csrf_token\s*=\s*"([^"]+)"/);
204
+ if (match === null || match === void 0 ? void 0 : match[1]) return match[1];
205
+ }
206
+ } catch (unused) {}
207
+ return void 0;
208
+ }
209
+ }, {
210
+ key: "invalidateNativeCsrfToken",
211
+ value: function invalidateNativeCsrfToken() {
212
+ this.csrfToken = void 0;
213
+ this.csrfBootstrapDone = false;
214
+ }
135
215
  }, {
136
216
  key: "getAuthHeaders",
137
217
  value: async function getAuthHeaders() {
@@ -299,15 +379,17 @@ var HttpClient = /* @__PURE__ */function () {
299
379
  if (!((_this_auth = this.auth) === null || _this_auth === void 0 ? void 0 : _this_auth.useToken) && (0, import_util.isBrowser)() && method !== import_types.HttpMethod.Get) {
300
380
  var _globalThis_frappe;
301
381
  var csrf = (0, import_platform.getCookie)("frappe-csrf-token") || (0, import_platform.getCookie)("csrf_token") || ((_globalThis_frappe = globalThis.frappe) === null || _globalThis_frappe === void 0 ? void 0 : _globalThis_frappe.csrf_token);
382
+ if (!csrf && import_platform.isNative) csrf = await this.ensureNativeCsrfToken();
302
383
  if (csrf) headers.set("X-Frappe-CSRF-Token", csrf);
303
384
  }
304
385
  var makeRequest = function makeRequest2() {
305
- var _this_auth2;
386
+ var _this_auth3;
306
387
  return fetch(url, {
307
388
  method,
308
389
  headers,
309
- credentials: ((_this_auth2 = _this.auth) === null || _this_auth2 === void 0 ? void 0 : _this_auth2.useToken) ? "omit" : "include",
310
- body
390
+ credentials: ((_this_auth3 = _this.auth) === null || _this_auth3 === void 0 ? void 0 : _this_auth3.useToken) ? "omit" : "include",
391
+ body,
392
+ signal: request === null || request === void 0 ? void 0 : request.signal
311
393
  });
312
394
  };
313
395
  var lastError;
@@ -316,10 +398,14 @@ var HttpClient = /* @__PURE__ */function () {
316
398
  try {
317
399
  var res = await makeRequest();
318
400
  if (!res.ok) {
401
+ var _this_auth2;
319
402
  var contentType1 = res.headers.get("content-type");
320
403
  var payload = (contentType1 === null || contentType1 === void 0 ? void 0 : contentType1.includes("application/json")) ? await res.json() : await res.text();
321
404
  var message = payload && (payload.message || payload.exc || payload._server_messages) || res.statusText;
322
405
  var _$err = new import_types.FrappeError(message, res.status, payload);
406
+ if (import_platform.isNative && res.status === 400 && !((_this_auth2 = this.auth) === null || _this_auth2 === void 0 ? void 0 : _this_auth2.useToken) && method !== import_types.HttpMethod.Get) {
407
+ this.invalidateNativeCsrfToken();
408
+ }
323
409
  if (this.shouldRetryError(_$err, attempt)) {
324
410
  var _this_retryConfig_maxRetries1;
325
411
  lastError = _$err;
@@ -342,6 +428,7 @@ var HttpClient = /* @__PURE__ */function () {
342
428
  _res: res
343
429
  };
344
430
  } catch (err) {
431
+ if (isAbortError(err, request === null || request === void 0 ? void 0 : request.signal)) throw err;
345
432
  if (this.shouldRetryError(err, attempt)) {
346
433
  var _this_retryConfig_maxRetries2;
347
434
  lastError = err;
@@ -360,10 +447,11 @@ var HttpClient = /* @__PURE__ */function () {
360
447
  }
361
448
  }, {
362
449
  key: "get",
363
- value: function get(path, params, headers) {
450
+ value: function get(path, params, headers, signal) {
364
451
  var qs = params ? `?${new URLSearchParams(normalizeParams(params)).toString()}` : "";
365
452
  return this.request(import_types.HttpMethod.Get, `${path}${qs}`, {
366
- headers
453
+ headers,
454
+ signal
367
455
  });
368
456
  }
369
457
  }, {
@@ -407,6 +495,7 @@ var HttpClient = /* @__PURE__ */function () {
407
495
  key: "updateAuth",
408
496
  value: function updateAuth(auth) {
409
497
  this.auth = auth;
498
+ this.invalidateNativeCsrfToken();
410
499
  }
411
500
  }]);
412
501
  return HttpClient2;