@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
@@ -1,862 +0,0 @@
1
- var import_vitest = require("vitest");
2
- var import_db = require("./db.cjs");
3
- var import_types = require("./sync/types.cjs");
4
- (0, import_vitest.describe)("DbModule", () => {
5
- let db;
6
- let mockHttpClient;
7
- (0, import_vitest.beforeEach)(() => {
8
- mockHttpClient = {
9
- get: import_vitest.vi.fn(),
10
- post: import_vitest.vi.fn(),
11
- put: import_vitest.vi.fn(),
12
- delete: import_vitest.vi.fn(),
13
- head: import_vitest.vi.fn(),
14
- request: import_vitest.vi.fn(),
15
- setToken: import_vitest.vi.fn()
16
- };
17
- db = new import_db.DbModule(mockHttpClient);
18
- });
19
- (0, import_vitest.describe)("constructor", () => {
20
- (0, import_vitest.it)("should initialize with default endpoints", () => {
21
- const dbInstance = new import_db.DbModule(mockHttpClient);
22
- (0, import_vitest.expect)(dbInstance).toBeDefined();
23
- });
24
- (0, import_vitest.it)("should initialize with custom endpoints", () => {
25
- const dbInstance = new import_db.DbModule(mockHttpClient, {
26
- customEndpoints: {
27
- createDoc: "custom.create",
28
- updateDoc: "custom.update",
29
- deleteDoc: "custom.delete",
30
- backfill: "custom.backfill"
31
- }
32
- });
33
- (0, import_vitest.expect)(dbInstance).toBeDefined();
34
- });
35
- (0, import_vitest.it)("should initialize with partial custom endpoints", () => {
36
- const dbInstance = new import_db.DbModule(mockHttpClient, {
37
- customEndpoints: {
38
- createDoc: "custom.create"
39
- }
40
- });
41
- (0, import_vitest.expect)(dbInstance).toBeDefined();
42
- });
43
- });
44
- (0, import_vitest.describe)("getDoc", () => {
45
- (0, import_vitest.it)("should fetch a document by doctype and name", async () => {
46
- const mockDoc = {
47
- name: "TEST-001",
48
- title: "Test Document",
49
- description: "Test description",
50
- doctype: "TestDoc"
51
- };
52
- mockHttpClient.get.mockResolvedValue({
53
- payload: {
54
- data: mockDoc
55
- },
56
- headers: new Headers(),
57
- status: 200
58
- });
59
- const result = await db.getDoc("TestDocType", "TEST-001");
60
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType/TEST-001");
61
- (0, import_vitest.expect)(result).toEqual(mockDoc);
62
- });
63
- (0, import_vitest.it)("should properly encode doctype and name with special characters", async () => {
64
- const mockDoc = {
65
- name: "Test/Doc-001"
66
- };
67
- mockHttpClient.get.mockResolvedValue({
68
- payload: {
69
- data: mockDoc
70
- },
71
- headers: new Headers(),
72
- status: 200
73
- });
74
- await db.getDoc("Test DocType", "Test/Doc-001");
75
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/Test%20DocType/Test%2FDoc-001");
76
- });
77
- });
78
- (0, import_vitest.describe)("getDocVersion", () => {
79
- (0, import_vitest.it)("should return ETag when available", async () => {
80
- const mockHeaders = new Headers({
81
- ETag: '"abc123"',
82
- "Last-Modified": "Wed, 21 Oct 2025 07:28:00 GMT"
83
- });
84
- mockHttpClient.head.mockResolvedValue({
85
- headers: mockHeaders,
86
- status: 200,
87
- payload: ""
88
- });
89
- const version = await db.getDocVersion("TestDocType", "TEST-001");
90
- (0, import_vitest.expect)(mockHttpClient.head).toHaveBeenCalledWith("/api/resource/TestDocType/TEST-001");
91
- (0, import_vitest.expect)(version).toBe('"abc123"');
92
- });
93
- (0, import_vitest.it)("should return Last-Modified when ETag is not available", async () => {
94
- const mockHeaders = new Headers({
95
- "Last-Modified": "Wed, 21 Oct 2025 07:28:00 GMT"
96
- });
97
- mockHttpClient.head.mockResolvedValue({
98
- headers: mockHeaders,
99
- status: 200,
100
- payload: ""
101
- });
102
- const version = await db.getDocVersion("TestDocType", "TEST-001");
103
- (0, import_vitest.expect)(version).toBe("Wed, 21 Oct 2025 07:28:00 GMT");
104
- });
105
- (0, import_vitest.it)("should return undefined when neither ETag nor Last-Modified is available", async () => {
106
- const mockHeaders = new Headers();
107
- mockHttpClient.head.mockResolvedValue({
108
- headers: mockHeaders,
109
- status: 200,
110
- payload: ""
111
- });
112
- const version = await db.getDocVersion("TestDocType", "TEST-001");
113
- (0, import_vitest.expect)(version).toBeUndefined();
114
- });
115
- (0, import_vitest.it)("should return undefined and log error on exception", async () => {
116
- const consoleErrorSpy = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
117
- mockHttpClient.head.mockRejectedValue(new Error("Network error"));
118
- const version = await db.getDocVersion("TestDocType", "TEST-001");
119
- (0, import_vitest.expect)(version).toBeUndefined();
120
- (0, import_vitest.expect)(consoleErrorSpy).toHaveBeenCalled();
121
- consoleErrorSpy.mockRestore();
122
- });
123
- });
124
- (0, import_vitest.describe)("getDocList", () => {
125
- (0, import_vitest.it)("should fetch document list without options", async () => {
126
- const mockDocs = [{
127
- name: "TEST-001",
128
- title: "Doc 1",
129
- doctype: "TestDoc"
130
- }, {
131
- name: "TEST-002",
132
- title: "Doc 2",
133
- doctype: "TestDoc"
134
- }];
135
- mockHttpClient.get.mockResolvedValue({
136
- payload: {
137
- data: mockDocs
138
- },
139
- headers: new Headers(),
140
- status: 200
141
- });
142
- const result = await db.getDocList("TestDocType");
143
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {});
144
- (0, import_vitest.expect)(result).toEqual(mockDocs);
145
- });
146
- (0, import_vitest.it)("should fetch document list with all options", async () => {
147
- const mockDocs = [{
148
- name: "TEST-001",
149
- title: "Doc 1",
150
- doctype: "TestDoc"
151
- }];
152
- mockHttpClient.get.mockResolvedValue({
153
- payload: {
154
- data: mockDocs
155
- },
156
- headers: new Headers(),
157
- status: 200
158
- });
159
- const options = {
160
- fields: ["name", "title"],
161
- filters: {
162
- status: "Active"
163
- },
164
- orFilters: [["type", "=", "A"]],
165
- limitStart: 10,
166
- limit: 20,
167
- orderBy: {
168
- field: "name",
169
- order: import_types.Order.Asc
170
- },
171
- groupBy: "status",
172
- asDict: true
173
- };
174
- const result = await db.getDocList("TestDocType", options);
175
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {
176
- fields: ["name", "title"],
177
- filters: [["status", "=", "Active"]],
178
- or_filters: [["type", "=", "A"]],
179
- limit_start: 10,
180
- limit_page_length: 20,
181
- order_by: "name asc",
182
- group_by: "status",
183
- as_dict: true
184
- });
185
- (0, import_vitest.expect)(result).toEqual(mockDocs);
186
- });
187
- (0, import_vitest.it)("should handle array filters", async () => {
188
- mockHttpClient.get.mockResolvedValue({
189
- payload: {
190
- data: []
191
- },
192
- headers: new Headers(),
193
- status: 200
194
- });
195
- await db.getDocList("TestDocType", {
196
- filters: [["status", "=", "Active"], ["type", "!=", "Deleted"]]
197
- });
198
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {
199
- filters: [["status", "=", "Active"], ["type", "!=", "Deleted"]]
200
- });
201
- });
202
- (0, import_vitest.it)("should handle object filters", async () => {
203
- mockHttpClient.get.mockResolvedValue({
204
- payload: {
205
- data: []
206
- },
207
- headers: new Headers(),
208
- status: 200
209
- });
210
- await db.getDocList("TestDocType", {
211
- filters: {
212
- status: "Active",
213
- type: "Standard"
214
- }
215
- });
216
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {
217
- filters: [["status", "=", "Active"], ["type", "=", "Standard"]]
218
- });
219
- });
220
- (0, import_vitest.it)("should return empty array when data is undefined", async () => {
221
- mockHttpClient.get.mockResolvedValue({
222
- payload: {},
223
- headers: new Headers(),
224
- status: 200
225
- });
226
- const result = await db.getDocList("TestDocType");
227
- (0, import_vitest.expect)(result).toEqual([]);
228
- });
229
- (0, import_vitest.it)("should handle response with message field instead of data", async () => {
230
- const mockDocs = [{
231
- name: "TEST-001",
232
- title: "Doc 1",
233
- doctype: "TestDoc"
234
- }];
235
- mockHttpClient.get.mockResolvedValue({
236
- payload: {
237
- message: mockDocs
238
- },
239
- headers: new Headers(),
240
- status: 200
241
- });
242
- const result = await db.getDocList("TestDocType");
243
- (0, import_vitest.expect)(result).toEqual([]);
244
- });
245
- });
246
- (0, import_vitest.describe)("getCount", () => {
247
- (0, import_vitest.it)("should get document count without filters", async () => {
248
- mockHttpClient.get.mockResolvedValue({
249
- payload: {
250
- message: 42
251
- },
252
- headers: new Headers(),
253
- status: 200
254
- });
255
- const count = await db.getCount("TestDocType");
256
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/frappe.client.get_count", {
257
- doctype: "TestDocType"
258
- });
259
- (0, import_vitest.expect)(count).toBe(42);
260
- });
261
- (0, import_vitest.it)("should get document count with array filters", async () => {
262
- mockHttpClient.get.mockResolvedValue({
263
- payload: {
264
- message: 10
265
- },
266
- headers: new Headers(),
267
- status: 200
268
- });
269
- const count = await db.getCount("TestDocType", [["status", "=", "Active"]]);
270
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/frappe.client.get_count", {
271
- doctype: "TestDocType",
272
- filters: [["status", "=", "Active"]]
273
- });
274
- (0, import_vitest.expect)(count).toBe(10);
275
- });
276
- (0, import_vitest.it)("should get document count with object filters", async () => {
277
- mockHttpClient.get.mockResolvedValue({
278
- payload: {
279
- message: 5
280
- },
281
- headers: new Headers(),
282
- status: 200
283
- });
284
- const count = await db.getCount("TestDocType", {
285
- status: "Active"
286
- });
287
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/frappe.client.get_count", {
288
- doctype: "TestDocType",
289
- filters: [["status", "=", "Active"]]
290
- });
291
- (0, import_vitest.expect)(count).toBe(5);
292
- });
293
- (0, import_vitest.it)("should return 0 and log error for invalid count", async () => {
294
- const consoleErrorSpy = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
295
- mockHttpClient.get.mockResolvedValue({
296
- payload: {
297
- message: "invalid"
298
- },
299
- headers: new Headers(),
300
- status: 200
301
- });
302
- const count = await db.getCount("TestDocType");
303
- (0, import_vitest.expect)(count).toBe(0);
304
- (0, import_vitest.expect)(consoleErrorSpy).toHaveBeenCalledWith("invalid count for doctype TestDocType: invalid");
305
- consoleErrorSpy.mockRestore();
306
- });
307
- (0, import_vitest.it)("should return 0 for NaN", async () => {
308
- const consoleErrorSpy = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
309
- mockHttpClient.get.mockResolvedValue({
310
- payload: {
311
- message: Number.NaN
312
- },
313
- headers: new Headers(),
314
- status: 200
315
- });
316
- const count = await db.getCount("TestDocType");
317
- (0, import_vitest.expect)(count).toBe(0);
318
- (0, import_vitest.expect)(consoleErrorSpy).toHaveBeenCalled();
319
- consoleErrorSpy.mockRestore();
320
- });
321
- (0, import_vitest.it)("should return 0 for Infinity", async () => {
322
- const consoleErrorSpy = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
323
- mockHttpClient.get.mockResolvedValue({
324
- payload: {
325
- message: Number.POSITIVE_INFINITY
326
- },
327
- headers: new Headers(),
328
- status: 200
329
- });
330
- const count = await db.getCount("TestDocType");
331
- (0, import_vitest.expect)(count).toBe(0);
332
- (0, import_vitest.expect)(consoleErrorSpy).toHaveBeenCalled();
333
- consoleErrorSpy.mockRestore();
334
- });
335
- });
336
- (0, import_vitest.describe)("createDoc", () => {
337
- (0, import_vitest.it)("should create a document", async () => {
338
- const newDoc = {
339
- doctype: "TestDocType",
340
- name: "TEST-003",
341
- title: "New Document",
342
- description: "Test description"
343
- };
344
- const createdDoc = {
345
- ...newDoc
346
- };
347
- mockHttpClient.post.mockResolvedValue({
348
- payload: createdDoc,
349
- headers: new Headers(),
350
- status: 200
351
- });
352
- const result = await db.createDoc(newDoc);
353
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.create_doc", {
354
- doctype: "TestDocType",
355
- name: "TEST-003",
356
- title: "New Document",
357
- description: "Test description"
358
- }, {});
359
- (0, import_vitest.expect)(result).toEqual(createdDoc);
360
- });
361
- (0, import_vitest.it)("should include Idempotency-Key header when client_mutation_id is provided", async () => {
362
- const newDoc = {
363
- doctype: "TestDocType",
364
- name: "TEST-003",
365
- title: "New Document",
366
- client_mutation_id: "mutation-123"
367
- };
368
- mockHttpClient.post.mockResolvedValue({
369
- payload: {
370
- name: "TEST-003",
371
- title: "New Document"
372
- },
373
- headers: new Headers(),
374
- status: 200
375
- });
376
- await db.createDoc(newDoc);
377
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.create_doc", {
378
- doctype: "TestDocType",
379
- name: "TEST-003",
380
- title: "New Document"
381
- }, {
382
- "Idempotency-Key": "mutation-123"
383
- });
384
- });
385
- (0, import_vitest.it)("should exclude base_modified from request body", async () => {
386
- const newDoc = {
387
- doctype: "TestDocType",
388
- name: "TEST-003",
389
- title: "New Document",
390
- base_modified: "2025-01-01"
391
- };
392
- mockHttpClient.post.mockResolvedValue({
393
- payload: {
394
- name: "TEST-003",
395
- title: "New Document"
396
- },
397
- headers: new Headers(),
398
- status: 200
399
- });
400
- await db.createDoc(newDoc);
401
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.create_doc", {
402
- doctype: "TestDocType",
403
- name: "TEST-003",
404
- title: "New Document"
405
- }, {});
406
- });
407
- (0, import_vitest.it)("should use custom endpoint when provided", async () => {
408
- const customDb = new import_db.DbModule(mockHttpClient, {
409
- customEndpoints: {
410
- createDoc: "custom.create_endpoint"
411
- }
412
- });
413
- mockHttpClient.post.mockResolvedValue({
414
- payload: {
415
- name: "TEST-003"
416
- },
417
- headers: new Headers(),
418
- status: 200
419
- });
420
- await customDb.createDoc({
421
- doctype: "TestDocType",
422
- name: "TEST-003",
423
- title: "Test"
424
- });
425
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/custom.create_endpoint", import_vitest.expect.any(Object), import_vitest.expect.any(Object));
426
- });
427
- });
428
- (0, import_vitest.describe)("updateDoc", () => {
429
- (0, import_vitest.it)("should update a document", async () => {
430
- const updates = {
431
- doctype: "TestDocType",
432
- name: "TEST-001",
433
- title: "Updated Title",
434
- status: "Completed"
435
- };
436
- const updatedDoc = {
437
- name: "TEST-001",
438
- title: "Updated Title",
439
- status: "Completed",
440
- doctype: "TestDoc"
441
- };
442
- mockHttpClient.post.mockResolvedValue({
443
- payload: updatedDoc,
444
- headers: new Headers(),
445
- status: 200
446
- });
447
- const result = await db.updateDoc(updates);
448
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.update_doc", {
449
- doctype: "TestDocType",
450
- name: "TEST-001",
451
- data: {
452
- title: "Updated Title",
453
- status: "Completed"
454
- }
455
- }, {});
456
- (0, import_vitest.expect)(result).toEqual(updatedDoc);
457
- });
458
- (0, import_vitest.it)("should include Idempotency-Key when client_mutation_id is provided", async () => {
459
- const updates = {
460
- doctype: "TestDocType",
461
- name: "TEST-001",
462
- title: "Updated Title",
463
- client_mutation_id: "mutation-456"
464
- };
465
- mockHttpClient.post.mockResolvedValue({
466
- payload: {
467
- name: "TEST-001",
468
- title: "Updated Title"
469
- },
470
- headers: new Headers(),
471
- status: 200
472
- });
473
- await db.updateDoc(updates);
474
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.update_doc", {
475
- doctype: "TestDocType",
476
- name: "TEST-001",
477
- data: {
478
- title: "Updated Title"
479
- }
480
- }, {
481
- "Idempotency-Key": "mutation-456"
482
- });
483
- });
484
- (0, import_vitest.it)("should include If-Match header when base_modified is provided", async () => {
485
- const updates = {
486
- doctype: "TestDocType",
487
- name: "TEST-001",
488
- title: "Updated Title",
489
- base_modified: "2025-01-01T10:00:00Z"
490
- };
491
- mockHttpClient.post.mockResolvedValue({
492
- payload: {
493
- name: "TEST-001",
494
- title: "Updated Title"
495
- },
496
- headers: new Headers(),
497
- status: 200
498
- });
499
- await db.updateDoc(updates);
500
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.update_doc", {
501
- doctype: "TestDocType",
502
- name: "TEST-001",
503
- data: {
504
- title: "Updated Title"
505
- }
506
- }, {
507
- "If-Match": "2025-01-01T10:00:00Z"
508
- });
509
- });
510
- (0, import_vitest.it)("should include both headers when both IDs are provided", async () => {
511
- const updates = {
512
- doctype: "TestDocType",
513
- name: "TEST-001",
514
- title: "Updated Title",
515
- client_mutation_id: "mutation-789",
516
- base_modified: "2025-01-01T10:00:00Z"
517
- };
518
- mockHttpClient.post.mockResolvedValue({
519
- payload: {
520
- name: "TEST-001",
521
- title: "Updated Title"
522
- },
523
- headers: new Headers(),
524
- status: 200
525
- });
526
- await db.updateDoc(updates);
527
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.update_doc", import_vitest.expect.any(Object), {
528
- "Idempotency-Key": "mutation-789",
529
- "If-Match": "2025-01-01T10:00:00Z"
530
- });
531
- });
532
- (0, import_vitest.it)("should use custom endpoint when provided", async () => {
533
- const customDb = new import_db.DbModule(mockHttpClient, {
534
- customEndpoints: {
535
- updateDoc: "custom.update_endpoint"
536
- }
537
- });
538
- mockHttpClient.post.mockResolvedValue({
539
- payload: {
540
- name: "TEST-001"
541
- },
542
- headers: new Headers(),
543
- status: 200
544
- });
545
- await customDb.updateDoc({
546
- doctype: "TestDocType",
547
- name: "TEST-001",
548
- title: "Test"
549
- });
550
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/custom.update_endpoint", import_vitest.expect.any(Object), import_vitest.expect.any(Object));
551
- });
552
- });
553
- (0, import_vitest.describe)("deleteDoc", () => {
554
- (0, import_vitest.it)("should delete a document", async () => {
555
- mockHttpClient.post.mockResolvedValue({
556
- payload: {
557
- message: "Document deleted successfully"
558
- },
559
- headers: new Headers(),
560
- status: 200
561
- });
562
- const result = await db.deleteDoc({
563
- doctype: "TestDocType",
564
- name: "TEST-001"
565
- });
566
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.delete_doc", {
567
- doctype: "TestDocType",
568
- name: "TEST-001"
569
- }, {});
570
- (0, import_vitest.expect)(result).toEqual({
571
- message: "Document deleted successfully"
572
- });
573
- });
574
- (0, import_vitest.it)("should include Idempotency-Key when mutationId is provided", async () => {
575
- mockHttpClient.post.mockResolvedValue({
576
- payload: {
577
- message: "Document deleted successfully"
578
- },
579
- headers: new Headers(),
580
- status: 200
581
- });
582
- await db.deleteDoc({
583
- doctype: "TestDocType",
584
- name: "TEST-001",
585
- client_mutation_id: "delete-mutation-123"
586
- });
587
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/live.live.api.delete_doc", {
588
- doctype: "TestDocType",
589
- name: "TEST-001"
590
- }, {
591
- "Idempotency-Key": "delete-mutation-123"
592
- });
593
- });
594
- (0, import_vitest.it)("should use custom endpoint when provided", async () => {
595
- const customDb = new import_db.DbModule(mockHttpClient, {
596
- customEndpoints: {
597
- deleteDoc: "custom.delete_endpoint"
598
- }
599
- });
600
- mockHttpClient.post.mockResolvedValue({
601
- payload: {
602
- message: "Deleted"
603
- },
604
- headers: new Headers(),
605
- status: 200
606
- });
607
- await customDb.deleteDoc({
608
- doctype: "TestDocType",
609
- name: "TEST-001"
610
- });
611
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/custom.delete_endpoint", import_vitest.expect.any(Object), import_vitest.expect.any(Object));
612
- });
613
- });
614
- (0, import_vitest.describe)("renameDoc", () => {
615
- (0, import_vitest.it)("should rename a document", async () => {
616
- mockHttpClient.post.mockResolvedValue({
617
- payload: {
618
- message: "Document renamed successfully"
619
- },
620
- headers: new Headers(),
621
- status: 200
622
- });
623
- const result = await db.renameDoc({
624
- doctype: "TestDocType",
625
- name: "OLD-001"
626
- }, "NEW-001", false);
627
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/frappe.model.rename_doc.rename_doc", {
628
- doctype: "TestDocType",
629
- old_name: "OLD-001",
630
- new_name: "NEW-001",
631
- merge: false
632
- });
633
- (0, import_vitest.expect)(result).toEqual({
634
- message: "Document renamed successfully"
635
- });
636
- });
637
- (0, import_vitest.it)("should rename and merge when merge is true", async () => {
638
- mockHttpClient.post.mockResolvedValue({
639
- payload: {
640
- message: "Document renamed and merged"
641
- },
642
- headers: new Headers(),
643
- status: 200
644
- });
645
- await db.renameDoc({
646
- doctype: "TestDocType",
647
- name: "OLD-001"
648
- }, "EXISTING-001", true);
649
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/frappe.model.rename_doc.rename_doc", {
650
- doctype: "TestDocType",
651
- old_name: "OLD-001",
652
- new_name: "EXISTING-001",
653
- merge: true
654
- });
655
- });
656
- (0, import_vitest.it)("should handle falsy merge values", async () => {
657
- mockHttpClient.post.mockResolvedValue({
658
- payload: {
659
- message: "Renamed"
660
- },
661
- headers: new Headers(),
662
- status: 200
663
- });
664
- await db.renameDoc({
665
- doctype: "TestDocType",
666
- name: "OLD-001"
667
- }, "NEW-001", false);
668
- (0, import_vitest.expect)(mockHttpClient.post).toHaveBeenCalledWith("/api/method/frappe.model.rename_doc.rename_doc", {
669
- doctype: "TestDocType",
670
- old_name: "OLD-001",
671
- new_name: "NEW-001",
672
- merge: false
673
- });
674
- });
675
- });
676
- (0, import_vitest.describe)("backfill", () => {
677
- (0, import_vitest.it)("should perform backfill with minimal args", async () => {
678
- const mockResponse = {
679
- rows: [{
680
- name: "TEST-001",
681
- title: "Doc 1",
682
- doctype: "TestDoc"
683
- }, {
684
- name: "TEST-002",
685
- title: "Doc 2",
686
- doctype: "TestDoc"
687
- }]
688
- };
689
- mockHttpClient.get.mockResolvedValue({
690
- payload: mockResponse,
691
- headers: new Headers(),
692
- status: 200
693
- });
694
- const args = {
695
- doctype: "TestDocType"
696
- };
697
- const result = await db.backfill(args);
698
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/live.live.api.backfill", {
699
- doctype: "TestDocType",
700
- fields: void 0,
701
- filters: void 0,
702
- limit: 200,
703
- modified_after: void 0
704
- });
705
- (0, import_vitest.expect)(result).toEqual(mockResponse);
706
- });
707
- (0, import_vitest.it)("should perform backfill with all args", async () => {
708
- const mockResponse = {
709
- rows: [{
710
- name: "TEST-001",
711
- title: "Doc 1",
712
- doctype: "TestDoc"
713
- }],
714
- checkpoint: "checkpoint-123",
715
- deleted: [{
716
- doctype: "TestDocType",
717
- name: "DELETED-001"
718
- }]
719
- };
720
- mockHttpClient.get.mockResolvedValue({
721
- payload: mockResponse,
722
- headers: new Headers(),
723
- status: 200
724
- });
725
- const args = {
726
- method: "custom.backfill_method",
727
- doctype: "TestDocType",
728
- fields: ["name", "title"],
729
- filters: {
730
- status: "Active"
731
- },
732
- modifiedAfter: "2025-01-01T00:00:00Z",
733
- limit: 50
734
- };
735
- const result = await db.backfill(args);
736
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/custom.backfill_method", {
737
- doctype: "TestDocType",
738
- fields: ["name", "title"],
739
- filters: {
740
- status: "Active"
741
- },
742
- limit: 50,
743
- modified_after: "2025-01-01T00:00:00Z"
744
- });
745
- (0, import_vitest.expect)(result).toEqual(mockResponse);
746
- });
747
- (0, import_vitest.it)("should handle array filters in backfill", async () => {
748
- const mockResponse = {
749
- rows: []
750
- };
751
- mockHttpClient.get.mockResolvedValue({
752
- payload: mockResponse,
753
- headers: new Headers(),
754
- status: 200
755
- });
756
- const args = {
757
- doctype: "TestDocType",
758
- filters: [["status", "=", "Active"], ["type", "!=", "Deleted"]]
759
- };
760
- await db.backfill(args);
761
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/live.live.api.backfill", {
762
- doctype: "TestDocType",
763
- fields: void 0,
764
- filters: [["status", "=", "Active"], ["type", "!=", "Deleted"]],
765
- limit: 200,
766
- modified_after: void 0
767
- });
768
- });
769
- (0, import_vitest.it)("should use custom endpoint from constructor", async () => {
770
- const customDb = new import_db.DbModule(mockHttpClient, {
771
- customEndpoints: {
772
- backfill: "custom.default_backfill"
773
- }
774
- });
775
- mockHttpClient.get.mockResolvedValue({
776
- payload: {
777
- rows: []
778
- },
779
- headers: new Headers(),
780
- status: 200
781
- });
782
- await customDb.backfill({
783
- doctype: "TestDocType"
784
- });
785
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/custom.default_backfill", import_vitest.expect.any(Object));
786
- });
787
- (0, import_vitest.it)("should override custom endpoint with method arg", async () => {
788
- const customDb = new import_db.DbModule(mockHttpClient, {
789
- customEndpoints: {
790
- backfill: "custom.default_backfill"
791
- }
792
- });
793
- mockHttpClient.get.mockResolvedValue({
794
- payload: {
795
- rows: []
796
- },
797
- headers: new Headers(),
798
- status: 200
799
- });
800
- await customDb.backfill({
801
- doctype: "TestDocType",
802
- method: "override.backfill"
803
- });
804
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/method/override.backfill", import_vitest.expect.any(Object));
805
- });
806
- });
807
- (0, import_vitest.describe)("normalizeFilters", () => {
808
- (0, import_vitest.it)("should return array filters as-is", () => {
809
- const filters = [["status", "=", "Active"], ["type", "!=", "Deleted"]];
810
- const db2 = new import_db.DbModule(mockHttpClient);
811
- mockHttpClient.get.mockResolvedValue({
812
- payload: {
813
- data: []
814
- },
815
- headers: new Headers(),
816
- status: 200
817
- });
818
- db2.getDocList("TestDocType", {
819
- filters
820
- });
821
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {
822
- filters: [["status", "=", "Active"], ["type", "!=", "Deleted"]]
823
- });
824
- });
825
- (0, import_vitest.it)("should convert object filters to array format", () => {
826
- const filters = {
827
- status: "Active",
828
- type: "Standard",
829
- count: 5,
830
- enabled: true
831
- };
832
- mockHttpClient.get.mockResolvedValue({
833
- payload: {
834
- data: []
835
- },
836
- headers: new Headers(),
837
- status: 200
838
- });
839
- db.getDocList("TestDocType", {
840
- filters
841
- });
842
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {
843
- filters: [["status", "=", "Active"], ["type", "=", "Standard"], ["count", "=", 5], ["enabled", "=", true]]
844
- });
845
- });
846
- (0, import_vitest.it)("should handle empty object filters", () => {
847
- mockHttpClient.get.mockResolvedValue({
848
- payload: {
849
- data: []
850
- },
851
- headers: new Headers(),
852
- status: 200
853
- });
854
- db.getDocList("TestDocType", {
855
- filters: {}
856
- });
857
- (0, import_vitest.expect)(mockHttpClient.get).toHaveBeenCalledWith("/api/resource/TestDocType", {
858
- filters: []
859
- });
860
- });
861
- });
862
- });