@multiplatform.one/frappe 6.4.2 → 6.6.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 (194) hide show
  1. package/dist/cjs/auth.native.js.map +1 -1
  2. package/dist/cjs/call.native.js.map +1 -1
  3. package/dist/cjs/collection.cjs +25 -9
  4. package/dist/cjs/collection.native.js +25 -9
  5. package/dist/cjs/collection.native.js.map +1 -1
  6. package/dist/cjs/common/types.native.js.map +1 -1
  7. package/dist/cjs/core/http.native.js.map +1 -1
  8. package/dist/cjs/core/types.native.js.map +1 -1
  9. package/dist/cjs/core/wire.native.js.map +1 -1
  10. package/dist/cjs/db.cjs +13 -2
  11. package/dist/cjs/db.native.js +18 -2
  12. package/dist/cjs/db.native.js.map +1 -1
  13. package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  14. package/dist/cjs/devtools/index.native.js.map +1 -1
  15. package/dist/cjs/devtools/plugin.native.js.map +1 -1
  16. package/dist/cjs/devtools/theme.native.js.map +1 -1
  17. package/dist/cjs/doctype.native.js.map +1 -1
  18. package/dist/cjs/file.native.js.map +1 -1
  19. package/dist/cjs/fixtureDb.native.js.map +1 -1
  20. package/dist/cjs/fixtures.native.js.map +1 -1
  21. package/dist/cjs/frappeApp.native.js.map +1 -1
  22. package/dist/cjs/frappeReact.cjs +10 -3
  23. package/dist/cjs/frappeReact.native.js +11 -4
  24. package/dist/cjs/frappeReact.native.js.map +1 -1
  25. package/dist/cjs/index.native.js +2 -2
  26. package/dist/cjs/index.native.js.map +1 -1
  27. package/dist/cjs/optimistic.native.js.map +1 -1
  28. package/dist/cjs/pacer.native.js.map +1 -1
  29. package/dist/cjs/plugin/index.native.js.map +1 -1
  30. package/dist/cjs/realtime.native.js.map +1 -1
  31. package/dist/cjs/sync/backfill.native.js.map +1 -1
  32. package/dist/cjs/sync/filters.native.js.map +1 -1
  33. package/dist/cjs/sync/index.cjs +6 -1
  34. package/dist/cjs/sync/index.native.js +6 -1
  35. package/dist/cjs/sync/index.native.js.map +1 -1
  36. package/dist/cjs/sync/merge.native.js.map +1 -1
  37. package/dist/cjs/sync/mutationEngine.cjs +43 -19
  38. package/dist/cjs/sync/mutationEngine.native.js +51 -21
  39. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  40. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  41. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  42. package/dist/cjs/sync/persistence.native.js.map +1 -1
  43. package/dist/cjs/sync/realtime.native.js.map +1 -1
  44. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  45. package/dist/cjs/sync/storage.native.js.map +1 -1
  46. package/dist/cjs/sync/subscriptionManager.cjs +4 -0
  47. package/dist/cjs/sync/subscriptionManager.native.js +4 -0
  48. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  49. package/dist/cjs/sync/types.native.js.map +1 -1
  50. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  51. package/dist/cjs/useLiveQuery.native.js.map +1 -1
  52. package/dist/cjs/util.native.js.map +1 -1
  53. package/dist/esm/auth.native.js.map +1 -1
  54. package/dist/esm/call.native.js.map +1 -1
  55. package/dist/esm/collection.mjs +24 -9
  56. package/dist/esm/collection.mjs.map +1 -1
  57. package/dist/esm/collection.native.js +25 -10
  58. package/dist/esm/collection.native.js.map +1 -1
  59. package/dist/esm/common/types.native.js.map +1 -1
  60. package/dist/esm/core/http.mjs.map +1 -1
  61. package/dist/esm/core/http.native.js +2 -2
  62. package/dist/esm/core/http.native.js.map +1 -1
  63. package/dist/esm/core/types.mjs.map +1 -1
  64. package/dist/esm/core/types.native.js.map +1 -1
  65. package/dist/esm/core/wire.native.js.map +1 -1
  66. package/dist/esm/db.mjs +13 -2
  67. package/dist/esm/db.mjs.map +1 -1
  68. package/dist/esm/db.native.js +19 -3
  69. package/dist/esm/db.native.js.map +1 -1
  70. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
  71. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  72. package/dist/esm/devtools/index.native.js +2 -2
  73. package/dist/esm/devtools/index.native.js.map +1 -1
  74. package/dist/esm/devtools/plugin.native.js +1 -1
  75. package/dist/esm/devtools/plugin.native.js.map +1 -1
  76. package/dist/esm/devtools/theme.native.js.map +1 -1
  77. package/dist/esm/doctype.native.js +1 -1
  78. package/dist/esm/doctype.native.js.map +1 -1
  79. package/dist/esm/file.native.js.map +1 -1
  80. package/dist/esm/fixtureDb.native.js +1 -1
  81. package/dist/esm/fixtureDb.native.js.map +1 -1
  82. package/dist/esm/fixtures.native.js.map +1 -1
  83. package/dist/esm/frappeApp.native.js +7 -7
  84. package/dist/esm/frappeApp.native.js.map +1 -1
  85. package/dist/esm/frappeReact.mjs +11 -4
  86. package/dist/esm/frappeReact.mjs.map +1 -1
  87. package/dist/esm/frappeReact.native.js +17 -10
  88. package/dist/esm/frappeReact.native.js.map +1 -1
  89. package/dist/esm/index.native.js +21 -21
  90. package/dist/esm/index.native.js.map +1 -1
  91. package/dist/esm/optimistic.native.js.map +1 -1
  92. package/dist/esm/pacer.native.js +4 -4
  93. package/dist/esm/pacer.native.js.map +1 -1
  94. package/dist/esm/plugin/index.mjs.map +1 -1
  95. package/dist/esm/plugin/index.native.js.map +1 -1
  96. package/dist/esm/realtime.mjs.map +1 -1
  97. package/dist/esm/realtime.native.js +1 -1
  98. package/dist/esm/realtime.native.js.map +1 -1
  99. package/dist/esm/sync/backfill.mjs.map +1 -1
  100. package/dist/esm/sync/backfill.native.js +1 -1
  101. package/dist/esm/sync/backfill.native.js.map +1 -1
  102. package/dist/esm/sync/filters.mjs.map +1 -1
  103. package/dist/esm/sync/filters.native.js.map +1 -1
  104. package/dist/esm/sync/index.mjs +6 -1
  105. package/dist/esm/sync/index.mjs.map +1 -1
  106. package/dist/esm/sync/index.native.js +14 -9
  107. package/dist/esm/sync/index.native.js.map +1 -1
  108. package/dist/esm/sync/merge.mjs.map +1 -1
  109. package/dist/esm/sync/merge.native.js.map +1 -1
  110. package/dist/esm/sync/mutationEngine.mjs +43 -19
  111. package/dist/esm/sync/mutationEngine.mjs.map +1 -1
  112. package/dist/esm/sync/mutationEngine.native.js +55 -25
  113. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  114. package/dist/esm/sync/mutationJournal.native.js +1 -1
  115. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  116. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  117. package/dist/esm/sync/persistence.native.js +2 -2
  118. package/dist/esm/sync/persistence.native.js.map +1 -1
  119. package/dist/esm/sync/realtime.native.js +1 -1
  120. package/dist/esm/sync/realtime.native.js.map +1 -1
  121. package/dist/esm/sync/rehydration.native.js +1 -1
  122. package/dist/esm/sync/rehydration.native.js.map +1 -1
  123. package/dist/esm/sync/storage.native.js.map +1 -1
  124. package/dist/esm/sync/subscriptionManager.mjs +4 -0
  125. package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
  126. package/dist/esm/sync/subscriptionManager.native.js +8 -4
  127. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  128. package/dist/esm/sync/types.mjs.map +1 -1
  129. package/dist/esm/sync/types.native.js.map +1 -1
  130. package/dist/esm/sync/virtualPageManager.mjs.map +1 -1
  131. package/dist/esm/sync/virtualPageManager.native.js +1 -1
  132. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  133. package/dist/esm/useLiveQuery.native.js.map +1 -1
  134. package/dist/esm/util.native.js.map +1 -1
  135. package/dist/jsx/collection.mjs +24 -9
  136. package/dist/jsx/collection.mjs.map +1 -1
  137. package/dist/jsx/collection.native.js +25 -9
  138. package/dist/jsx/collection.native.js.map +1 -1
  139. package/dist/jsx/core/http.mjs.map +1 -1
  140. package/dist/jsx/core/types.mjs.map +1 -1
  141. package/dist/jsx/db.mjs +13 -2
  142. package/dist/jsx/db.mjs.map +1 -1
  143. package/dist/jsx/db.native.js +18 -2
  144. package/dist/jsx/db.native.js.map +1 -1
  145. package/dist/jsx/frappeReact.mjs +11 -4
  146. package/dist/jsx/frappeReact.mjs.map +1 -1
  147. package/dist/jsx/frappeReact.native.js +10 -3
  148. package/dist/jsx/frappeReact.native.js.map +1 -1
  149. package/dist/jsx/plugin/index.mjs.map +1 -1
  150. package/dist/jsx/realtime.mjs.map +1 -1
  151. package/dist/jsx/realtime.native.js.map +1 -1
  152. package/dist/jsx/sync/backfill.mjs.map +1 -1
  153. package/dist/jsx/sync/filters.mjs.map +1 -1
  154. package/dist/jsx/sync/filters.native.js.map +1 -1
  155. package/dist/jsx/sync/index.mjs +6 -1
  156. package/dist/jsx/sync/index.mjs.map +1 -1
  157. package/dist/jsx/sync/index.native.js +6 -1
  158. package/dist/jsx/sync/index.native.js.map +1 -1
  159. package/dist/jsx/sync/merge.mjs.map +1 -1
  160. package/dist/jsx/sync/merge.native.js.map +1 -1
  161. package/dist/jsx/sync/mutationEngine.mjs +43 -19
  162. package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
  163. package/dist/jsx/sync/mutationEngine.native.js +51 -21
  164. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  165. package/dist/jsx/sync/subscriptionManager.mjs +4 -0
  166. package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
  167. package/dist/jsx/sync/subscriptionManager.native.js +4 -0
  168. package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
  169. package/dist/jsx/sync/types.mjs.map +1 -1
  170. package/dist/jsx/sync/types.native.js.map +1 -1
  171. package/dist/jsx/sync/virtualPageManager.mjs.map +1 -1
  172. package/package.json +6 -6
  173. package/src/collection.ts +53 -8
  174. package/src/db.spec.ts +70 -0
  175. package/src/db.ts +28 -2
  176. package/src/frappeReact.spec.ts +7 -1
  177. package/src/frappeReact.ts +30 -6
  178. package/src/frappeReactLiveQueryGc.spec.ts +44 -4
  179. package/src/sync/index.ts +10 -1
  180. package/src/sync/mutationEngine.ts +81 -20
  181. package/src/sync/optimisticCreateReconcile.spec.ts +372 -0
  182. package/src/sync/subscriptionManager.spec.ts +41 -0
  183. package/src/sync/subscriptionManager.ts +10 -0
  184. package/src/sync/subscriptions.spec.ts +4 -0
  185. package/src/sync/types.ts +9 -0
  186. package/types/collection.d.ts +12 -0
  187. package/types/collection.d.ts.map +1 -1
  188. package/types/db.d.ts.map +1 -1
  189. package/types/frappeReact.d.ts.map +1 -1
  190. package/types/sync/index.d.ts.map +1 -1
  191. package/types/sync/mutationEngine.d.ts.map +1 -1
  192. package/types/sync/subscriptionManager.d.ts.map +1 -1
  193. package/types/sync/types.d.ts +9 -0
  194. package/types/sync/types.d.ts.map +1 -1
@@ -1,8 +1,8 @@
1
1
  import { Debouncer } from "@tanstack/pacer";
2
- import { matchesFilters } from "./filters.native.js";
3
- import { merge, MergeStrategy } from "./merge.native.js";
4
- import { Order } from "./types.native.js";
5
- import { Operation, PendingRehydrationType, PlacementType, RehydrationReason, Status } from "./types.native.js";
2
+ import { matchesFilters } from "./filters";
3
+ import { merge, MergeStrategy } from "./merge";
4
+ import { Order } from "./types";
5
+ import { Operation, PendingRehydrationType, PlacementType, RehydrationReason, Status } from "./types";
6
6
  function _class_call_check(instance, Constructor) {
7
7
  if (!(instance instanceof Constructor)) {
8
8
  throw new TypeError("Cannot call a class as a function");
@@ -135,9 +135,16 @@ var MutationEngine = /* @__PURE__ */function () {
135
135
  this.mutationJournal.confirm(mutation.mutationId);
136
136
  if (result.data) {
137
137
  this.normalizedCache.upsert(result.data);
138
- if (mutation.operation === Operation.Create && mutation.doc.name !== result.data.name) {
139
- this.temporaryIdToRealNameMap.set(mutation.doc.name, result.data.name);
140
- this.rehydrationManager.registerTempIdMapping(mutation.doc.name, result.data.name);
138
+ if (mutation.operation === Operation.Create) {
139
+ var _mutation_temporaryName;
140
+ var temporaryName = (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : mutation.doc.name;
141
+ if (temporaryName && result.data.name && temporaryName !== result.data.name) {
142
+ this.handleTemporaryToRealMapping(mutation.doc.doctype, temporaryName, result.data.name);
143
+ this.rehydrationManager.registerTempIdMapping(temporaryName, result.data.name);
144
+ } else if (temporaryName) {
145
+ var _this_globalOptimisticDocIds_get;
146
+ (_this_globalOptimisticDocIds_get = this.globalOptimisticDocIds.get(mutation.doc.doctype)) === null || _this_globalOptimisticDocIds_get === void 0 ? void 0 : _this_globalOptimisticDocIds_get.delete(temporaryName);
147
+ }
141
148
  }
142
149
  }
143
150
  if (this.options.onMutationSuccess) {
@@ -192,6 +199,7 @@ var MutationEngine = /* @__PURE__ */function () {
192
199
  }, {
193
200
  key: "mutate",
194
201
  value: async function mutate(mutation) {
202
+ var _mutation_temporaryName;
195
203
  if (this.options.onMutationStart) this.options.onMutationStart(mutation);
196
204
  var {
197
205
  doc
@@ -243,7 +251,10 @@ var MutationEngine = /* @__PURE__ */function () {
243
251
  var values = mutation.operation === Operation.Delete ? void 0 : mutation.operation === Operation.Create ? mutation.doc : mutation.doc;
244
252
  this.mutationJournal.add(mutation.mutationId, {
245
253
  doctype: doc.doctype,
246
- docname: doc.name,
254
+ // Creates journal the optimistic identity (consumer placeholder or
255
+ // engine-generated temp id) so page refreshes keep the pending row
256
+ // and rollback can evict it even when doc.name was never set.
257
+ docname: mutation.operation === Operation.Create ? (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : doc.name : doc.name,
247
258
  values,
248
259
  operation: mutation.operation,
249
260
  version,
@@ -353,6 +364,7 @@ var MutationEngine = /* @__PURE__ */function () {
353
364
  key: "handleOptimisticCreate",
354
365
  value: async function handleOptimisticCreate(mutation) {
355
366
  var temporaryName = mutation.doc.name || `tmp_${cryptoRandomId()}`;
367
+ mutation.temporaryName = temporaryName;
356
368
  var optimisticDoc = {
357
369
  ...mutation.doc,
358
370
  name: temporaryName
@@ -418,10 +430,19 @@ var MutationEngine = /* @__PURE__ */function () {
418
430
  }, {
419
431
  key: "handleServerCreate",
420
432
  value: async function handleServerCreate(mutation) {
421
- var _this_realtime;
422
- var created = await this.db.createDoc(mutation.doc);
433
+ var _mutation_temporaryName;
434
+ var created = await this.db.createDoc({
435
+ ...mutation.doc,
436
+ client_mutation_id: mutation.mutationId
437
+ });
423
438
  var realName = created === null || created === void 0 ? void 0 : created.name;
424
- var temporaryName = mutation.doc.name;
439
+ var temporaryName = (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : mutation.doc.name;
440
+ if (realName) {
441
+ this.normalizedCache.upsert({
442
+ ...created,
443
+ doctype: created.doctype || mutation.doc.doctype
444
+ });
445
+ }
425
446
  if (realName && temporaryName && realName !== temporaryName) {
426
447
  this.handleTemporaryToRealMapping(mutation.doc.doctype, temporaryName, realName);
427
448
  this.rehydrationManager.registerTempIdMapping(temporaryName, realName);
@@ -431,9 +452,6 @@ var MutationEngine = /* @__PURE__ */function () {
431
452
  globalDocs.delete(temporaryName);
432
453
  }
433
454
  }
434
- if (!((_this_realtime = this.realtime) === null || _this_realtime === void 0 ? void 0 : _this_realtime.isHealthy())) {
435
- this.normalizedCache.upsert(created);
436
- }
437
455
  }
438
456
  }, {
439
457
  key: "handleServerUpdate",
@@ -489,8 +507,11 @@ var MutationEngine = /* @__PURE__ */function () {
489
507
  for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
490
508
  var subscription = _step.value;
491
509
  if (subscription.query.doctype !== doctype) continue;
492
- subscription.docIds = subscription.docIds.map(function (x) {
493
- return x === temporaryName ? realName : x;
510
+ if (!subscription.docIds.includes(temporaryName)) continue;
511
+ subscription.docIds = subscription.docIds.includes(realName) ? subscription.docIds.filter(function (id) {
512
+ return id !== temporaryName;
513
+ }) : subscription.docIds.map(function (id) {
514
+ return id === temporaryName ? realName : id;
494
515
  });
495
516
  }
496
517
  } catch (err) {
@@ -520,7 +541,7 @@ var MutationEngine = /* @__PURE__ */function () {
520
541
  var docname = mutation.doc.name;
521
542
  var doctype = mutation.doc.doctype;
522
543
  var realName = docname && this.temporaryIdToRealNameMap.get(docname) || docname;
523
- if (realName && mutation.operation !== Operation.Delete) {
544
+ if (realName && mutation.operation === Operation.Update) {
524
545
  targets.push({
525
546
  doctype,
526
547
  name: realName
@@ -583,12 +604,6 @@ var MutationEngine = /* @__PURE__ */function () {
583
604
  switch (mutation.operation) {
584
605
  case Operation.Create:
585
606
  await this.handleFailedCreate(mutation);
586
- if (docname) {
587
- this.normalizedCache.remove({
588
- doctype,
589
- name: docname
590
- });
591
- }
592
607
  break;
593
608
  case Operation.Update:
594
609
  if ((entry === null || entry === void 0 ? void 0 : entry.snapshot) && docname) {
@@ -637,7 +652,8 @@ var MutationEngine = /* @__PURE__ */function () {
637
652
  }, {
638
653
  key: "handleFailedCreate",
639
654
  value: async function handleFailedCreate(mutation) {
640
- var temporaryName = mutation.doc.name;
655
+ var _mutation_temporaryName;
656
+ var temporaryName = mutation.operation === Operation.Create ? (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : mutation.doc.name : mutation.doc.name;
641
657
  var doctype = mutation.doc.doctype;
642
658
  if (temporaryName) {
643
659
  var globalDocs = this.globalOptimisticDocIds.get(doctype);
@@ -669,6 +685,10 @@ var MutationEngine = /* @__PURE__ */function () {
669
685
  }
670
686
  }
671
687
  }
688
+ this.normalizedCache.remove({
689
+ doctype,
690
+ name: temporaryName
691
+ });
672
692
  }
673
693
  }
674
694
  }, {
@@ -920,12 +940,22 @@ var MutationEngine = /* @__PURE__ */function () {
920
940
  }
921
941
  try {
922
942
  if (entry.operation === Operation.Create) {
923
- await _this.db.createDoc({
943
+ var created = await _this.db.createDoc({
924
944
  ...entry.values,
925
945
  client_mutation_id: id,
926
946
  doctype: entry.doctype,
927
947
  name: entry.docname || cryptoRandomId()
928
948
  });
949
+ if (created === null || created === void 0 ? void 0 : created.name) {
950
+ _this.normalizedCache.upsert({
951
+ ...created,
952
+ doctype: created.doctype || entry.doctype
953
+ });
954
+ if (entry.docname && created.name !== entry.docname) {
955
+ _this.handleTemporaryToRealMapping(entry.doctype, entry.docname, created.name);
956
+ _this.rehydrationManager.registerTempIdMapping(entry.docname, created.name);
957
+ }
958
+ }
929
959
  } else if (entry.operation === Operation.Update && entry.docname) {
930
960
  await _this.db.updateDoc({
931
961
  ...entry.values,
@@ -1 +1 @@
1
- {"version":3,"names":["Debouncer","matchesFilters","merge","MergeStrategy","Order","Operation","PendingRehydrationType","PlacementType","RehydrationReason","Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","MutationEngine","MutationEngine2","db","realtime","normalizedCache","mutationJournal","subscriptionManager","rehydrationManager","_this","options","arguments","_options_batchDelay","Map","batchDelay","batchDebouncer","flushBatch","wait","queueForBatch","mutation","Promise","resolve","reject","_this_options_batchMaxSize","pendingBatch","push","maxSize","batchMaxSize","maybeExecute","batch","_this_options_batchAtomic","batchMutations","map","param","mutation2","operationMap","Create","Update","Delete","type","operation","doctype","doc","name","data","results","mutations","atomic","batchAtomic","result","success","confirm","mutationId","upsert","temporaryIdToRealNameMap","set","registerTempIdMapping","onMutationSuccess","error","Error","fail","err","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","mutation1","reject1","err2","return","forceBatchFlush","cancel","mutate","onMutationStart","version","cachedDoc","get","_this_options_versionFields","versionField","versionFields","cachedVersion","handleOptimisticUpdate","handleOptimisticCreate","_this_options_versionFields1","getDoc","versionField1","cachedVersion1","onTrace","event","details","values","add","docname","status","Pending","snapshot","enableBatching","getAllSubscriptions","subscription","query","scheduleRehydration","handleMutationError","_this_realtime","handleServerCreate","handleServerUpdate","handleServerDelete","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","subscription1","isHealthy","refetchAffectedDocs","onOptimisticApply","updateSubscriptionMembership","temporaryName","cryptoRandomId","optimisticDoc","globalOptimisticDocIds","has","Set","globalDocIds","matches","filters","orderBy","limit","docIds","placement","determineOptimisticPlacement","Before","metadata","itemsBeforePage","After","itemsAfterPage","Unknown","pendingRehydration","FullRefresh","Uncertain","Within","includes","insertDocumentIntoSubscription","created","createDoc","realName","handleTemporaryToRealMapping","globalDocs","delete","_version","updateDoc","remove","removeFromAllSubscriptions","deleteDoc","x","_mutation_affected","targets","affected","fresh","onMutationError","entry","isOffline","navigator","onLine","rollbackOptimisticState","errorWithStatus","handleConflict","handleFailedCreate","replace","restoredDoc","filter","id","latest","base","clientPartial","fullClient","mergeConfig","buildMergeConfig","nonOverlap","hasConflicts","merged","newId","client_mutation_id","base_modified","refreshed","unused","onConflict"],"sources":["../../../src/sync/mutationEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Debouncer","matchesFilters","merge","MergeStrategy","Order","Operation","PendingRehydrationType","PlacementType","RehydrationReason","Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","MutationEngine","MutationEngine2","db","realtime","normalizedCache","mutationJournal","subscriptionManager","rehydrationManager","_this","options","arguments","_options_batchDelay","Map","batchDelay","batchDebouncer","flushBatch","wait","queueForBatch","mutation","Promise","resolve","reject","_this_options_batchMaxSize","pendingBatch","push","maxSize","batchMaxSize","maybeExecute","batch","_this_options_batchAtomic","batchMutations","map","param","mutation2","operationMap","Create","Update","Delete","type","operation","doctype","doc","name","data","results","mutations","atomic","batchAtomic","result","success","confirm","mutationId","upsert","_mutation_temporaryName","temporaryName","handleTemporaryToRealMapping","registerTempIdMapping","_this_globalOptimisticDocIds_get","globalOptimisticDocIds","get","delete","onMutationSuccess","error","Error","fail","err","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","mutation1","reject1","err2","return","forceBatchFlush","cancel","mutate","onMutationStart","version","cachedDoc","_this_options_versionFields","versionField","versionFields","cachedVersion","handleOptimisticUpdate","handleOptimisticCreate","_this_options_versionFields1","getDoc","versionField1","cachedVersion1","onTrace","event","details","values","add","docname","status","Pending","snapshot","enableBatching","getAllSubscriptions","subscription","query","scheduleRehydration","handleMutationError","_this_realtime","handleServerCreate","handleServerUpdate","handleServerDelete","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","subscription1","isHealthy","refetchAffectedDocs","onOptimisticApply","updateSubscriptionMembership","cryptoRandomId","optimisticDoc","has","set","Set","globalDocIds","matches","filters","orderBy","limit","docIds","placement","determineOptimisticPlacement","Before","metadata","itemsBeforePage","After","itemsAfterPage","Unknown","pendingRehydration","FullRefresh","Uncertain","Within","includes","insertDocumentIntoSubscription","created","createDoc","client_mutation_id","realName","globalDocs","_version","updateDoc","remove","removeFromAllSubscriptions","deleteDoc","temporaryIdToRealNameMap","filter","id","_mutation_affected","targets","affected","fresh","onMutationError","entry","isOffline","navigator","onLine","rollbackOptimisticState","errorWithStatus","handleConflict","handleFailedCreate","replace","restoredDoc","latest","base","clientPartial","fullClient","mergeConfig","buildMergeConfig","nonOverlap","hasConflicts","merged","newId","base_modified","refreshed","unused","onConflict","candidate","_subscription_boundaries","_subscription_boundaries1","boundaries","firstItem","lastItem","determinePlacementWithBoundaries","order","first","last","sortFields","parseSortFields","field","isAsc","candidateValue","firstValue","lastValue","orderByArray","Array","isArray","ob","Desc","hasNameField","some","sf","replayPending","_this_options_replayRateLimit","anyFailed","onReplayStart","pendingMutations","listPending","onReplayComplete","rateLimit","replayRateLimit","processMutation","processMutation2","onRetry","errorClass","classifyError","notifyMutationError","delayMs","Math","ceil","indexOf","setTimeout","_errorWithStatus_response","response","fmc","fieldMergeConfig","doctypes","entries","dt","fields","defaultStrategy","ServerWins","getTemporaryIdToRealNameMap","clearTemporaryMappings","clear","dispose","crypto","randomUUID","random","toString","slice"],"sources":["mutationEngine.native.js"],"sourcesContent":["import { Debouncer } from \"@tanstack/pacer\";\nimport { matchesFilters } from \"./filters\";\nimport { merge, MergeStrategy } from \"./merge\";\nimport { Order } from \"./types\";\nimport { Operation, PendingRehydrationType, PlacementType, RehydrationReason, Status } from \"./types\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar MutationEngine = /* @__PURE__ */ (function() {\n \"use strict\";\n function MutationEngine2(db, realtime, normalizedCache, mutationJournal, subscriptionManager, rehydrationManager) {\n var _this = this;\n var options = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : {};\n _class_call_check(this, MutationEngine2);\n var _options_batchDelay;\n _define_property(this, \"temporaryIdToRealNameMap\", /* @__PURE__ */ new Map());\n _define_property(this, \"globalOptimisticDocIds\", /* @__PURE__ */ new Map());\n _define_property(this, \"pendingBatch\", []);\n _define_property(this, \"batchDebouncer\", void 0);\n _define_property(this, \"db\", void 0);\n _define_property(this, \"realtime\", void 0);\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"mutationJournal\", void 0);\n _define_property(this, \"subscriptionManager\", void 0);\n _define_property(this, \"rehydrationManager\", void 0);\n _define_property(this, \"options\", void 0);\n this.db = db;\n this.realtime = realtime;\n this.normalizedCache = normalizedCache;\n this.mutationJournal = mutationJournal;\n this.subscriptionManager = subscriptionManager;\n this.rehydrationManager = rehydrationManager;\n this.options = options;\n var batchDelay = (_options_batchDelay = options.batchDelay) !== null && _options_batchDelay !== void 0 ? _options_batchDelay : 100;\n this.batchDebouncer = new Debouncer(function() {\n return _this.flushBatch();\n }, {\n wait: batchDelay\n });\n }\n _create_class(MutationEngine2, [\n {\n key: \"queueForBatch\",\n value: (\n /**\n * Queue a mutation for batch processing.\n * Returns a promise that resolves when the batch is processed.\n */\n function queueForBatch(mutation) {\n var _this = this;\n return new Promise(function(resolve, reject) {\n var _this_options_batchMaxSize;\n _this.pendingBatch.push({\n mutation,\n resolve,\n reject\n });\n var maxSize = (_this_options_batchMaxSize = _this.options.batchMaxSize) !== null && _this_options_batchMaxSize !== void 0 ? _this_options_batchMaxSize : 50;\n if (_this.pendingBatch.length >= maxSize) {\n _this.flushBatch();\n } else {\n _this.batchDebouncer.maybeExecute();\n }\n });\n }\n )\n },\n {\n key: \"flushBatch\",\n value: (\n /**\n * Flush pending mutations as a batch.\n */\n async function flushBatch() {\n if (this.pendingBatch.length === 0) return;\n var batch = [\n ...this.pendingBatch\n ];\n this.pendingBatch = [];\n try {\n var _this_options_batchAtomic;\n var batchMutations = batch.map(function(param) {\n var { mutation: mutation2 } = param;\n var operationMap = {\n [Operation.Create]: \"create\",\n [Operation.Update]: \"update\",\n [Operation.Delete]: \"delete\"\n };\n return {\n type: operationMap[mutation2.operation],\n doctype: mutation2.doc.doctype,\n name: mutation2.doc.name,\n data: mutation2.operation === Operation.Delete ? void 0 : mutation2.doc\n };\n });\n var results = await this.db.batchMutations({\n mutations: batchMutations,\n atomic: (_this_options_batchAtomic = this.options.batchAtomic) !== null && _this_options_batchAtomic !== void 0 ? _this_options_batchAtomic : false\n });\n for (var i = 0; i < batch.length; i++) {\n var { mutation, resolve, reject } = batch[i];\n var result = results[i];\n if (result.success) {\n this.mutationJournal.confirm(mutation.mutationId);\n if (result.data) {\n this.normalizedCache.upsert(result.data);\n if (mutation.operation === Operation.Create) {\n var _mutation_temporaryName;\n var temporaryName = (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : mutation.doc.name;\n if (temporaryName && result.data.name && temporaryName !== result.data.name) {\n this.handleTemporaryToRealMapping(mutation.doc.doctype, temporaryName, result.data.name);\n this.rehydrationManager.registerTempIdMapping(temporaryName, result.data.name);\n } else if (temporaryName) {\n var _this_globalOptimisticDocIds_get;\n (_this_globalOptimisticDocIds_get = this.globalOptimisticDocIds.get(mutation.doc.doctype)) === null || _this_globalOptimisticDocIds_get === void 0 ? void 0 : _this_globalOptimisticDocIds_get.delete(temporaryName);\n }\n }\n }\n if (this.options.onMutationSuccess) {\n this.options.onMutationSuccess(mutation);\n }\n resolve(result.data);\n } else {\n var error = new Error(result.error || \"Batch mutation failed\");\n this.mutationJournal.fail(mutation.mutationId);\n reject(error);\n }\n }\n } catch (err) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { mutation: mutation1, reject: reject1 } = _step.value;\n this.mutationJournal.fail(mutation1.mutationId);\n reject1(err);\n }\n } catch (err2) {\n _didIteratorError = true;\n _iteratorError = err2;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n )\n },\n {\n key: \"forceBatchFlush\",\n value: (\n /**\n * Force flush any pending batched mutations.\n */\n async function forceBatchFlush() {\n this.batchDebouncer.cancel();\n await this.flushBatch();\n }\n )\n },\n {\n key: \"mutate\",\n value: async function mutate(mutation) {\n var _mutation_temporaryName;\n if (this.options.onMutationStart) this.options.onMutationStart(mutation);\n var { doc } = mutation;\n if ((mutation.operation === Operation.Update || mutation.operation === Operation.Delete) && !doc.name) {\n throw new Error(\"docname is required for update/delete operations\");\n }\n var version = mutation.version;\n var cachedDoc = void 0;\n if (doc.name) {\n cachedDoc = this.normalizedCache.get({\n doctype: doc.doctype,\n name: doc.name\n });\n }\n if (version === void 0 && doc.name) {\n var _this_options_versionFields;\n var versionField = ((_this_options_versionFields = this.options.versionFields) === null || _this_options_versionFields === void 0 ? void 0 : _this_options_versionFields[doc.doctype]) || this.options.versionField || \"modified\";\n var cachedVersion = cachedDoc ? cachedDoc[versionField] : void 0;\n if (typeof cachedVersion === \"string\") version = cachedVersion;\n }\n if (mutation.operation === Operation.Update && doc.name) {\n await this.handleOptimisticUpdate(mutation, cachedDoc);\n }\n if (mutation.operation === Operation.Create) {\n await this.handleOptimisticCreate(mutation);\n }\n if (version === void 0 && doc.name && (mutation.operation === Operation.Update || mutation.operation === Operation.Delete) && !cachedDoc) {\n try {\n var _this_options_versionFields1;\n cachedDoc = await this.db.getDoc(doc.doctype, doc.name);\n var versionField1 = ((_this_options_versionFields1 = this.options.versionFields) === null || _this_options_versionFields1 === void 0 ? void 0 : _this_options_versionFields1[doc.doctype]) || this.options.versionField || \"modified\";\n var cachedVersion1 = cachedDoc ? cachedDoc[versionField1] : void 0;\n if (typeof cachedVersion1 === \"string\") version = cachedVersion1;\n this.normalizedCache.upsert(cachedDoc);\n } catch (err) {\n if (this.options.onTrace) {\n this.options.onTrace({\n event: \"version-fetch-failed\",\n details: {\n doctype: doc.doctype,\n name: doc.name,\n error: err\n }\n });\n }\n }\n }\n var values = mutation.operation === Operation.Delete ? void 0 : mutation.operation === Operation.Create ? mutation.doc : mutation.doc;\n this.mutationJournal.add(mutation.mutationId, {\n doctype: doc.doctype,\n // Creates journal the optimistic identity (consumer placeholder or\n // engine-generated temp id) so page refreshes keep the pending row\n // and rollback can evict it even when doc.name was never set.\n docname: mutation.operation === Operation.Create ? (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : doc.name : doc.name,\n values,\n operation: mutation.operation,\n version,\n status: Status.Pending,\n snapshot: doc.name ? cachedDoc : void 0\n });\n if (this.options.enableBatching) {\n try {\n await this.queueForBatch(mutation);\n if (mutation.operation === Operation.Create) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype === mutation.doc.doctype) {\n this.rehydrationManager.scheduleRehydration(subscription, RehydrationReason.Create);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n } catch (err) {\n await this.handleMutationError(mutation, err);\n throw err;\n }\n return;\n }\n try {\n var _this_realtime;\n if (mutation.operation === Operation.Create) {\n await this.handleServerCreate(mutation);\n } else if (mutation.operation === Operation.Update && doc.name) {\n await this.handleServerUpdate(mutation, version);\n } else if (mutation.operation === Operation.Delete && doc.name) {\n await this.handleServerDelete(mutation, version);\n }\n this.mutationJournal.confirm(mutation.mutationId);\n if (this.options.onMutationSuccess) {\n this.options.onMutationSuccess(mutation);\n }\n if (mutation.operation === Operation.Create) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var subscription1 = _step1.value;\n if (subscription1.query.doctype === mutation.doc.doctype) {\n this.rehydrationManager.scheduleRehydration(subscription1, RehydrationReason.Create);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n if (!((_this_realtime = this.realtime) === null || _this_realtime === void 0 ? void 0 : _this_realtime.isHealthy())) {\n await this.refetchAffectedDocs(mutation);\n }\n } catch (err) {\n await this.handleMutationError(mutation, err);\n throw err;\n }\n }\n },\n {\n key: \"handleOptimisticUpdate\",\n value: async function handleOptimisticUpdate(mutation, cachedDoc) {\n var doc = cachedDoc ? {\n ...cachedDoc,\n ...mutation.doc\n } : mutation.doc;\n this.normalizedCache.upsert(doc);\n if (this.options.onOptimisticApply) {\n this.options.onOptimisticApply({\n doctype: mutation.doc.doctype,\n name: mutation.doc.name,\n operation: mutation.operation\n });\n }\n this.subscriptionManager.updateSubscriptionMembership(doc);\n }\n },\n {\n key: \"handleOptimisticCreate\",\n value: async function handleOptimisticCreate(mutation) {\n var temporaryName = mutation.doc.name || `tmp_${cryptoRandomId()}`;\n mutation.temporaryName = temporaryName;\n var optimisticDoc = {\n ...mutation.doc,\n name: temporaryName\n };\n this.normalizedCache.upsert(optimisticDoc);\n if (!this.globalOptimisticDocIds.has(mutation.doc.doctype)) {\n this.globalOptimisticDocIds.set(mutation.doc.doctype, /* @__PURE__ */ new Set());\n }\n var globalDocIds = this.globalOptimisticDocIds.get(mutation.doc.doctype);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype !== mutation.doc.doctype) continue;\n var matches = matchesFilters(optimisticDoc, subscription.query.filters);\n if (!matches) continue;\n if (globalDocIds.has(temporaryName)) {\n continue;\n }\n if (subscription.query.orderBy && typeof subscription.query.limit === \"number\" && subscription.query.limit > 0 && subscription.docIds.length > 0) {\n var placement = this.determineOptimisticPlacement(subscription, optimisticDoc);\n switch (placement) {\n case PlacementType.Before:\n if (subscription.metadata) {\n subscription.metadata.itemsBeforePage = (subscription.metadata.itemsBeforePage || 0) + 1;\n }\n continue;\n case PlacementType.After:\n if (subscription.metadata) {\n subscription.metadata.itemsAfterPage = (subscription.metadata.itemsAfterPage || 0) + 1;\n }\n continue;\n case PlacementType.Unknown:\n subscription.pendingRehydration = PendingRehydrationType.FullRefresh;\n this.rehydrationManager.scheduleRehydration(subscription, RehydrationReason.Uncertain);\n break;\n case PlacementType.Within:\n break;\n }\n }\n if (!subscription.docIds.includes(temporaryName)) {\n this.subscriptionManager.insertDocumentIntoSubscription(subscription, optimisticDoc);\n globalDocIds.add(temporaryName);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n },\n {\n key: \"handleServerCreate\",\n value: async function handleServerCreate(mutation) {\n var _mutation_temporaryName;\n var created = await this.db.createDoc({\n ...mutation.doc,\n client_mutation_id: mutation.mutationId\n });\n var realName = created === null || created === void 0 ? void 0 : created.name;\n var temporaryName = (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : mutation.doc.name;\n if (realName) {\n this.normalizedCache.upsert({\n ...created,\n doctype: created.doctype || mutation.doc.doctype\n });\n }\n if (realName && temporaryName && realName !== temporaryName) {\n this.handleTemporaryToRealMapping(mutation.doc.doctype, temporaryName, realName);\n this.rehydrationManager.registerTempIdMapping(temporaryName, realName);\n } else if (temporaryName) {\n var globalDocs = this.globalOptimisticDocIds.get(mutation.doc.doctype);\n if (globalDocs) {\n globalDocs.delete(temporaryName);\n }\n }\n }\n },\n {\n key: \"handleServerUpdate\",\n value: async function handleServerUpdate(mutation, _version) {\n await this.db.updateDoc(mutation.doc);\n }\n },\n {\n key: \"handleServerDelete\",\n value: async function handleServerDelete(mutation, _version) {\n this.normalizedCache.remove({\n doctype: mutation.doc.doctype,\n name: mutation.doc.name\n });\n this.subscriptionManager.removeFromAllSubscriptions(mutation.doc.doctype, mutation.doc.name);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype === mutation.doc.doctype && subscription.docIds.includes(mutation.doc.name)) {\n this.rehydrationManager.scheduleRehydration(subscription, RehydrationReason.Delete);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n await this.db.deleteDoc(mutation.doc);\n }\n },\n {\n key: \"handleTemporaryToRealMapping\",\n value: function handleTemporaryToRealMapping(doctype, temporaryName, realName) {\n this.temporaryIdToRealNameMap.set(temporaryName, realName);\n var globalDocs = this.globalOptimisticDocIds.get(doctype);\n if (globalDocs) {\n globalDocs.delete(temporaryName);\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype !== doctype) continue;\n if (!subscription.docIds.includes(temporaryName)) continue;\n subscription.docIds = subscription.docIds.includes(realName) ? subscription.docIds.filter(function(id) {\n return id !== temporaryName;\n }) : subscription.docIds.map(function(id) {\n return id === temporaryName ? realName : id;\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.normalizedCache.remove({\n doctype,\n name: temporaryName\n });\n }\n },\n {\n key: \"refetchAffectedDocs\",\n value: async function refetchAffectedDocs(mutation) {\n var _mutation_affected;\n var targets = [];\n var docname = mutation.doc.name;\n var doctype = mutation.doc.doctype;\n var realName = docname && this.temporaryIdToRealNameMap.get(docname) || docname;\n if (realName && mutation.operation === Operation.Update) {\n targets.push({\n doctype,\n name: realName\n });\n }\n if ((_mutation_affected = mutation.affected) === null || _mutation_affected === void 0 ? void 0 : _mutation_affected.length) targets.push(...mutation.affected);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = targets[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var target = _step.value;\n var fresh = await this.db.getDoc(target.doctype, target.name);\n this.normalizedCache.upsert(fresh);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n },\n {\n key: \"handleMutationError\",\n value: async function handleMutationError(mutation, err) {\n if (this.options.onMutationError) this.options.onMutationError({\n mutation,\n err\n });\n this.mutationJournal.fail(mutation.mutationId);\n var entry = this.mutationJournal.get(mutation.mutationId);\n var isOffline = typeof navigator !== \"undefined\" && navigator.onLine === false;\n if (!isOffline) {\n await this.rollbackOptimisticState(mutation, entry);\n }\n var errorWithStatus = err;\n var docname = mutation.doc.name;\n if (errorWithStatus && (errorWithStatus.status === 409 || errorWithStatus.status === 412) && docname) {\n await this.handleConflict(mutation, entry);\n }\n }\n },\n {\n key: \"rollbackOptimisticState\",\n value: (\n /**\n * Rolls back optimistic state when a mutation fails.\n * Handles all operation types: create, update, and delete.\n */\n async function rollbackOptimisticState(mutation, entry) {\n var doctype = mutation.doc.doctype;\n var docname = mutation.doc.name;\n switch (mutation.operation) {\n case Operation.Create:\n await this.handleFailedCreate(mutation);\n break;\n case Operation.Update:\n if ((entry === null || entry === void 0 ? void 0 : entry.snapshot) && docname) {\n this.normalizedCache.upsert(entry.snapshot, {\n replace: true\n });\n this.subscriptionManager.updateSubscriptionMembership(entry.snapshot);\n }\n break;\n case Operation.Delete:\n if ((entry === null || entry === void 0 ? void 0 : entry.snapshot) && docname) {\n this.normalizedCache.upsert(entry.snapshot, {\n replace: true\n });\n var restoredDoc = entry.snapshot;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype !== doctype) continue;\n var matches = matchesFilters(restoredDoc, subscription.query.filters);\n if (matches && !subscription.docIds.includes(docname)) {\n this.subscriptionManager.insertDocumentIntoSubscription(subscription, restoredDoc);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n break;\n }\n }\n )\n },\n {\n key: \"handleFailedCreate\",\n value: async function handleFailedCreate(mutation) {\n var _mutation_temporaryName;\n var temporaryName = mutation.operation === Operation.Create ? (_mutation_temporaryName = mutation.temporaryName) !== null && _mutation_temporaryName !== void 0 ? _mutation_temporaryName : mutation.doc.name : mutation.doc.name;\n var doctype = mutation.doc.doctype;\n if (temporaryName) {\n var globalDocs = this.globalOptimisticDocIds.get(doctype);\n if (globalDocs) {\n globalDocs.delete(temporaryName);\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptionManager.getAllSubscriptions().values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype !== doctype) continue;\n subscription.docIds = subscription.docIds.filter(function(id) {\n return id !== temporaryName;\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.normalizedCache.remove({\n doctype,\n name: temporaryName\n });\n }\n }\n },\n {\n key: \"handleConflict\",\n value: async function handleConflict(mutation, entry) {\n var doctype = mutation.doc.doctype;\n var docname = mutation.doc.name;\n if (!docname) return;\n try {\n var latest = await this.db.getDoc(doctype, docname);\n var base = entry === null || entry === void 0 ? void 0 : entry.snapshot;\n var clientPartial = (mutation.operation === Operation.Delete ? void 0 : mutation.doc) || {};\n var fullClient = base ? {\n ...base,\n ...clientPartial,\n doctype,\n name: docname\n } : {\n ...clientPartial,\n doctype,\n name: docname\n };\n var mergeConfig = this.buildMergeConfig();\n var nonOverlap = merge(base, fullClient, latest, mergeConfig, doctype);\n if (!nonOverlap.hasConflicts) {\n var _this_options_versionFields;\n var versionField = ((_this_options_versionFields = this.options.versionFields) === null || _this_options_versionFields === void 0 ? void 0 : _this_options_versionFields[doctype]) || this.options.versionField || \"modified\";\n if (nonOverlap.merged) {\n var newId = cryptoRandomId();\n await this.db.updateDoc({\n ...nonOverlap.merged,\n client_mutation_id: newId,\n base_modified: latest[versionField] || void 0\n });\n }\n var refreshed = await this.db.getDoc(doctype, docname);\n this.normalizedCache.upsert(refreshed);\n this.mutationJournal.confirm(mutation.mutationId);\n return;\n }\n this.normalizedCache.upsert(latest);\n } catch (unused) {\n }\n if (this.options.onConflict) this.options.onConflict({\n doctype,\n name: docname\n });\n }\n },\n {\n key: \"determineOptimisticPlacement\",\n value: (\n /**\n * Determines optimal placement for an optimistic item based on sort fields.\n * Supports multi-column sorting with proper tie-breaking.\n *\n * @param subscription - The subscription to check placement against\n * @param candidate - The document to place\n * @returns Placement relative to current page:\n * - 'before': Item belongs on a previous page\n * - 'within': Item belongs on the current page\n * - 'after': Item belongs on a later page\n * - 'unknown': Cannot determine placement (needs full refresh)\n *\n * @remarks\n * Uses page boundaries when available for O(1) placement checks.\n * Falls back to comparing against first/last items in current page.\n * Supports multi-field sorting with tie-breaking.\n */\n function determineOptimisticPlacement(subscription, candidate) {\n var _subscription_boundaries, _subscription_boundaries1;\n var docIds = subscription.docIds;\n if (!docIds.length) return PlacementType.Unknown;\n if (((_subscription_boundaries = subscription.boundaries) === null || _subscription_boundaries === void 0 ? void 0 : _subscription_boundaries.firstItem) && ((_subscription_boundaries1 = subscription.boundaries) === null || _subscription_boundaries1 === void 0 ? void 0 : _subscription_boundaries1.lastItem)) {\n return this.determinePlacementWithBoundaries(subscription.boundaries, candidate, subscription.query.orderBy);\n }\n var order = subscription.query.orderBy;\n if (!order) return PlacementType.Unknown;\n var doctype = subscription.query.doctype;\n var first = this.normalizedCache.get({\n doctype,\n name: docIds[0]\n });\n var last = this.normalizedCache.get({\n doctype,\n name: docIds[docIds.length - 1]\n });\n if (!first || !last) return PlacementType.Unknown;\n var sortFields = this.parseSortFields(order);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = sortFields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { field, isAsc } = _step.value;\n var candidateValue = candidate[field];\n var firstValue = first[field];\n var lastValue = last[field];\n if (candidateValue == null || firstValue == null || lastValue == null) {\n continue;\n }\n if (isAsc) {\n if (candidateValue < firstValue) return PlacementType.Before;\n if (candidateValue > lastValue) return PlacementType.After;\n } else {\n if (candidateValue > firstValue) return PlacementType.Before;\n if (candidateValue < lastValue) return PlacementType.After;\n }\n if (candidateValue !== firstValue && candidateValue !== lastValue) {\n return PlacementType.Within;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return PlacementType.Within;\n }\n )\n },\n {\n key: \"determinePlacementWithBoundaries\",\n value: (\n // All sort fields match boundaries\n function determinePlacementWithBoundaries(boundaries, candidate, orderBy) {\n if (!boundaries.firstItem || !boundaries.lastItem) return PlacementType.Unknown;\n var sortFields = this.parseSortFields(orderBy);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = sortFields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { field, isAsc } = _step.value;\n var candidateValue = candidate[field];\n var firstValue = boundaries.firstItem[field];\n var lastValue = boundaries.lastItem[field];\n if (candidateValue == null || firstValue == null || lastValue == null) {\n continue;\n }\n if (isAsc) {\n if (candidateValue < firstValue) return PlacementType.Before;\n if (candidateValue > lastValue) return PlacementType.After;\n } else {\n if (candidateValue > firstValue) return PlacementType.Before;\n if (candidateValue < lastValue) return PlacementType.After;\n }\n if (candidateValue !== firstValue && candidateValue !== lastValue) {\n return PlacementType.Within;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return PlacementType.Within;\n }\n )\n },\n {\n key: \"parseSortFields\",\n value: function parseSortFields(orderBy) {\n if (!orderBy) return [\n {\n field: \"name\",\n isAsc: true\n }\n ];\n var orderByArray = Array.isArray(orderBy) ? orderBy : [\n orderBy\n ];\n var sortFields = orderByArray.map(function(ob) {\n return {\n field: ob.field,\n isAsc: ob.order !== Order.Desc\n };\n });\n var hasNameField = sortFields.some(function(sf) {\n return sf.field === \"name\";\n });\n if (!hasNameField) {\n sortFields.push({\n field: \"name\",\n isAsc: true\n });\n }\n return sortFields;\n }\n },\n {\n key: \"replayPending\",\n value: (\n /**\n * Replays pending mutations with simplified error handling and rate limiting.\n *\n * Since HTTP client now handles retries automatically for transient errors,\n * we only need to handle:\n * - Success → confirm and remove from journal\n * - Conflict (409/412) → attempt merge resolution, then retry\n * - Auth (401/403) → notify user, keep in journal for later retry\n * - Permanent (4xx validation) → fail and remove from journal\n * - Failed (exhausted retries) → keep in journal but notify\n *\n * The replay path uses plain CRUD without optimistic writes,\n * since optimistic state is already reflected in the cache.\n *\n * Rate limiting is applied to prevent hammering the server when replaying\n * large numbers of queued mutations after coming back online.\n */\n async function replayPending() {\n var _this = this;\n var _this_options_replayRateLimit;\n var anyFailed = false;\n if (this.options.onReplayStart) this.options.onReplayStart();\n var pendingMutations = this.mutationJournal.listPending();\n if (pendingMutations.length === 0) {\n if (this.options.onReplayComplete) {\n this.options.onReplayComplete({\n anyFailed: false\n });\n }\n return;\n }\n var rateLimit = (_this_options_replayRateLimit = this.options.replayRateLimit) !== null && _this_options_replayRateLimit !== void 0 ? _this_options_replayRateLimit : 10;\n var processMutation = async function processMutation2(mutation2) {\n var { id, entry } = mutation2;\n if (_this.options.onRetry) {\n _this.options.onRetry({\n id,\n operation: entry.operation\n });\n }\n try {\n if (entry.operation === Operation.Create) {\n var created = await _this.db.createDoc({\n ...entry.values,\n client_mutation_id: id,\n doctype: entry.doctype,\n name: entry.docname || cryptoRandomId()\n });\n if (created === null || created === void 0 ? void 0 : created.name) {\n _this.normalizedCache.upsert({\n ...created,\n doctype: created.doctype || entry.doctype\n });\n if (entry.docname && created.name !== entry.docname) {\n _this.handleTemporaryToRealMapping(entry.doctype, entry.docname, created.name);\n _this.rehydrationManager.registerTempIdMapping(entry.docname, created.name);\n }\n }\n } else if (entry.operation === Operation.Update && entry.docname) {\n await _this.db.updateDoc({\n ...entry.values,\n client_mutation_id: id,\n base_modified: entry.version,\n doctype: entry.doctype,\n name: entry.docname\n });\n } else if (entry.operation === Operation.Delete && entry.docname) {\n await _this.db.deleteDoc({\n doctype: entry.doctype,\n name: entry.docname,\n client_mutation_id: id\n });\n }\n _this.mutationJournal.confirm(id);\n } catch (err) {\n var errorClass = _this.classifyError(err);\n anyFailed = true;\n if (errorClass === \"conflict\") {\n if (_this.options.onConflict) {\n _this.options.onConflict({\n doctype: entry.doctype,\n name: entry.docname\n });\n }\n } else if (errorClass === \"auth\") {\n } else if (errorClass === \"permanent\") {\n _this.mutationJournal.fail(id);\n _this.notifyMutationError(id, entry, err);\n } else if (errorClass === \"failed\") {\n _this.mutationJournal.fail(id);\n _this.notifyMutationError(id, entry, err);\n }\n }\n };\n var delayMs = Math.ceil(1e3 / rateLimit);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = pendingMutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var mutation = _step.value;\n await processMutation(mutation);\n if (pendingMutations.indexOf(mutation) < pendingMutations.length - 1) {\n await new Promise(function(resolve) {\n return setTimeout(resolve, delayMs);\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (this.options.onReplayComplete) {\n this.options.onReplayComplete({\n anyFailed\n });\n }\n }\n )\n },\n {\n key: \"classifyError\",\n value: (\n /**\n * Classifies errors for journal management.\n */\n function classifyError(err) {\n var _errorWithStatus_response;\n var errorWithStatus = err;\n var status = (errorWithStatus === null || errorWithStatus === void 0 ? void 0 : errorWithStatus.status) || (errorWithStatus === null || errorWithStatus === void 0 ? void 0 : (_errorWithStatus_response = errorWithStatus.response) === null || _errorWithStatus_response === void 0 ? void 0 : _errorWithStatus_response.status);\n if (status === 409 || status === 412) return \"conflict\";\n if (status === 401 || status === 403) return \"auth\";\n if (status && status >= 400 && status < 500) return \"permanent\";\n return \"failed\";\n }\n )\n },\n {\n key: \"notifyMutationError\",\n value: (\n /**\n * Helper to notify about mutation errors with proper typing\n */\n function notifyMutationError(id, entry, err) {\n if (!this.options.onMutationError) return;\n var mutation;\n if (entry.operation === Operation.Create) {\n var doc = entry.values || {\n doctype: entry.doctype,\n name: entry.docname\n };\n mutation = {\n mutationId: id,\n operation: Operation.Create,\n doc,\n version: entry.version,\n affected: []\n };\n } else if (entry.operation === Operation.Update) {\n mutation = {\n mutationId: id,\n operation: Operation.Update,\n doc: {\n ...entry.values,\n doctype: entry.doctype,\n name: entry.docname\n },\n version: entry.version,\n affected: []\n };\n } else {\n mutation = {\n mutationId: id,\n operation: Operation.Delete,\n doc: {\n doctype: entry.doctype,\n name: entry.docname\n },\n version: entry.version,\n affected: []\n };\n }\n this.options.onMutationError({\n mutation,\n err\n });\n }\n )\n },\n {\n key: \"buildMergeConfig\",\n value: (\n /**\n * Converts SyncOptions.fieldMergeConfig into the MergeConfig format\n * expected by the merge() function.\n */\n function buildMergeConfig() {\n var fmc = this.options.fieldMergeConfig;\n if (!fmc) return void 0;\n var doctypes = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(fmc)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [dt, fields] = _step.value;\n doctypes[dt] = {\n fields\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n defaultStrategy: MergeStrategy.ServerWins,\n doctypes\n };\n }\n )\n },\n {\n /** Gets temporary to real name mapping. */\n key: \"getTemporaryIdToRealNameMap\",\n value: function getTemporaryIdToRealNameMap() {\n return this.temporaryIdToRealNameMap;\n }\n },\n {\n /** Clears all temporary mappings. */\n key: \"clearTemporaryMappings\",\n value: function clearTemporaryMappings() {\n this.temporaryIdToRealNameMap.clear();\n this.globalOptimisticDocIds.clear();\n }\n },\n {\n /**\n * Disposes of resources.\n */\n key: \"dispose\",\n value: function dispose() {\n this.batchDebouncer.cancel();\n this.pendingBatch = [];\n this.clearTemporaryMappings();\n }\n }\n ]);\n return MutationEngine2;\n})();\nfunction cryptoRandomId() {\n if (typeof crypto !== \"undefined\" && \"randomUUID\" in crypto) return crypto.randomUUID();\n return Math.random().toString(36).slice(2);\n}\nexport {\n MutationEngine\n};\n//# sourceMappingURL=mutationEngine.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Status } from "./types.native.js";
1
+ import { Status } from "./types";
2
2
  function _class_call_check(instance, Constructor) {
3
3
  if (!(instance instanceof Constructor)) {
4
4
  throw new TypeError("Cannot call a class as a function");
@@ -1 +1 @@
1
- {"version":3,"names":["Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","frappeSyncSequence","MutationJournal","MutationJournal2","options","Map","ttl","storage","loadSequenceNumber","autoCleanupEnabled","enableAutoCleanup","add","id","entry","sequence","getNextSequence","createdAt","Date","now","retryCount","pending","set","startAutoCleanup","persistSequenceNumber","get","isExpired","delete","confirm","status","Confirmed","fail","err","Failed","error","listPending","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","Pending","push","return"],"sources":["../../../src/sync/mutationJournal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","frappeSyncSequence","MutationJournal","MutationJournal2","options","Map","ttl","storage","loadSequenceNumber","autoCleanupEnabled","enableAutoCleanup","add","id","entry","sequence","getNextSequence","createdAt","Date","now","retryCount","pending","set","startAutoCleanup","persistSequenceNumber","get","isExpired","delete","confirm","status","Confirmed","fail","err","Failed","error","listPending","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","Pending","push","return","sort","a","b","getAllEntries","entries","cleanupExpired","cleaned","stopAutoCleanup","cleanupTimer","clearInterval","clear","dispose","sequenceNumber","_this","setInterval","size","stored","getItem","Number","parseInt","setItem","toString"],"sources":["mutationJournal.native.js"],"sourcesContent":["import { Status } from \"./types\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar frappeSyncSequence = \"frappe-sync-sequence\";\nvar MutationJournal = /* @__PURE__ */ (function() {\n \"use strict\";\n function MutationJournal2(options) {\n _class_call_check(this, MutationJournal2);\n _define_property(this, \"cleanupTimer\", void 0);\n _define_property(this, \"autoCleanupEnabled\", void 0);\n _define_property(this, \"ttl\", 24 * 60 * 60 * 1e3);\n _define_property(this, \"pending\", /* @__PURE__ */ new Map());\n _define_property(this, \"sequenceNumber\", 0);\n _define_property(this, \"storage\", void 0);\n if (options === null || options === void 0 ? void 0 : options.ttl) {\n this.ttl = options.ttl;\n }\n if (options === null || options === void 0 ? void 0 : options.storage) {\n this.storage = options.storage;\n this.loadSequenceNumber();\n }\n this.autoCleanupEnabled = (options === null || options === void 0 ? void 0 : options.enableAutoCleanup) !== false;\n }\n _create_class(MutationJournal2, [\n {\n key: \"add\",\n value: function add(id, entry) {\n if (entry.sequence === void 0) entry.sequence = this.getNextSequence();\n if (entry.createdAt === void 0) entry.createdAt = Date.now();\n if (entry.ttl === void 0) entry.ttl = this.ttl;\n if (entry.retryCount === void 0) entry.retryCount = 0;\n this.pending.set(id, entry);\n if (this.autoCleanupEnabled) this.startAutoCleanup();\n this.persistSequenceNumber();\n }\n },\n {\n key: \"get\",\n value: function get(id) {\n var entry = this.pending.get(id);\n if (!entry) return void 0;\n if (this.isExpired(entry)) {\n this.pending.delete(id);\n return void 0;\n }\n return entry;\n }\n },\n {\n key: \"confirm\",\n value: function confirm(id) {\n var entry = this.pending.get(id);\n if (!entry) return;\n entry.status = Status.Confirmed;\n this.pending.delete(id);\n }\n },\n {\n key: \"fail\",\n value: function fail(id, err) {\n var entry = this.pending.get(id);\n if (!entry) return;\n entry.status = Status.Failed;\n entry.error = err;\n entry.retryCount = (entry.retryCount || 0) + 1;\n this.pending.set(id, entry);\n }\n },\n {\n key: \"listPending\",\n value: function listPending() {\n var pending = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.pending[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, entry] = _step.value;\n if (this.isExpired(entry)) {\n this.pending.delete(id);\n continue;\n }\n if (entry.status === Status.Pending || entry.status === Status.Failed) {\n pending.push({\n id,\n entry\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n pending.sort(function(a, b) {\n return (a.entry.sequence || 0) - (b.entry.sequence || 0);\n });\n return pending;\n }\n },\n {\n key: \"getAllEntries\",\n value: function getAllEntries() {\n var entries = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.pending[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, entry] = _step.value;\n if (this.isExpired(entry)) continue;\n entries.push({\n id,\n entry\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return entries;\n }\n },\n {\n key: \"cleanupExpired\",\n value: function cleanupExpired() {\n var cleaned = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.pending[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, entry] = _step.value;\n if (this.isExpired(entry)) {\n this.pending.delete(id);\n cleaned++;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return cleaned;\n }\n },\n {\n key: \"stopAutoCleanup\",\n value: function stopAutoCleanup() {\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n this.cleanupTimer = void 0;\n }\n }\n },\n {\n key: \"clear\",\n value: function clear() {\n this.pending.clear();\n this.stopAutoCleanup();\n }\n },\n {\n key: \"dispose\",\n value: function dispose() {\n this.stopAutoCleanup();\n this.clear();\n }\n },\n {\n key: \"getNextSequence\",\n value: function getNextSequence() {\n return ++this.sequenceNumber;\n }\n },\n {\n key: \"isExpired\",\n value: function isExpired(entry) {\n if (!entry.createdAt || !entry.ttl) return false;\n return Date.now() > entry.createdAt + entry.ttl;\n }\n },\n {\n key: \"startAutoCleanup\",\n value: function startAutoCleanup() {\n var _this = this;\n if (this.cleanupTimer) return;\n this.cleanupTimer = setInterval(function() {\n _this.cleanupExpired();\n if (_this.pending.size === 0) _this.stopAutoCleanup();\n }, 60 * 60 * 1e3);\n }\n },\n {\n key: \"loadSequenceNumber\",\n value: function loadSequenceNumber() {\n if (!this.storage) return;\n var stored = this.storage.getItem(frappeSyncSequence);\n if (stored) this.sequenceNumber = Number.parseInt(stored, 10) || 0;\n }\n },\n {\n key: \"persistSequenceNumber\",\n value: function persistSequenceNumber() {\n if (!this.storage) return;\n this.storage.setItem(frappeSyncSequence, this.sequenceNumber.toString());\n }\n }\n ]);\n return MutationJournal2;\n})();\nexport {\n MutationJournal,\n frappeSyncSequence\n};\n//# sourceMappingURL=mutationJournal.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","NormalizedCache","NormalizedCache2","options","arguments","_options_maxSize","Map","maxSize","Infinity","onEvict","makeKey","doctype","name","parseKey","colonIndex","indexOf","slice","upsert","doc","bucket","state","byId","allIds","id","existing","isNew","push","replace","accessOrder","set","Date","now","evictIfNeeded","remove","filter","currentId"],"sources":["../../../src/sync/normalizedCache.ts"],"sourcesContent":[null],"mappings":"AA8BO,SAAMA,iBAAgBA,CAAAC,QAAA,EAAAC,WAAA;EAC3B,MAAAD,QAAsB,YAAAC,WAAA;IAAA,UAAAC,SAAA;EAEd;AAA2C;AAClC,SACAC,kBAAAC,MAAA,EAAAC,KAAA;EAEjB,SAAAC,CAAA,GAAY,GAAAA,CAAA,GAAAD,KAAmC,CAAGE,MAAA,EAAAD,CAAA;IAChD,IAAAE,UAAK,GAAUH,KAAA,CAAQC,CAAA;IACvBE,UAAK,CAAAC,UAAU,GAAQD,UAAA,CAAAC,UAAA;IACzBD,UAAA,CAAAE,YAAA;IAEQ,WAAQ,IAAiBF,UAAsB,EAAAA,UAAA,CAAAG,QAAA;IACrDC,MAAA,CAAOC,cAAc,CAAAT,MAAI,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAC3B;AAAA;AAGE,SAAAO,aAAMA,CAAad,WAAI,EAAQe,UAAG,EAAAC,WAAA;EAClC,IAAAD,UAAO,EAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EAAA,IACLC,WAAS,EAAId,iBAAS,CAAAF,WAAU,EAAAgB,WAAA;EAAA,OAChChB,WAAU;AAAoB;AAChC,SACFkB,iBAAAC,GAAA,EAAAN,GAAA,EAAAO,KAAA;EAEA,IAAAP,GAAmC,IAAAM,GAAsB;IACvDR,MAAI,CAAAC,cAAc,CAAAO,GAAM,EAAAN,GAAI;MAC5BO,KAAK;MACHZ,UAAS,EAAE;MACXC,YAAW,MAAI;MACjBC,QAAA;IACA;EACA,OAAK;IAELS,GAAA,CAAAN,GAAM,IAAAO,KAAA;EACN;EACA,OAAID,GAAA;AACF;AAAqB,IACvBE,eAAA;EAMA,YAAO;;EAIP,SAAMC,gBAAWA,CAAA,EAAQ;IACzB,IAAAC,OAAK,GAAAC,SAAgB,CAAAlB,MAAK,GAAK,KAAKkB,SAAA,iBAAAA,SAAA;IAGpC1B,iBAAa,CAAK,MAAAwB,gBAAsB;IACtC,IAAAG,gBAAK;IACPP,gBAAA;IACFA,gBAAA,yCAAAQ,GAAA;IAEAR,gBAAmF;IACjFA,gBAAe,KAAK,WAAU,OAAO;IACrC,IAAI,CAACS,OAAQ,IAAAF,gBAAA,GAAAF,OAAA,CAAAI,OAAA,cAAAF,gBAAA,cAAAA,gBAAA,GAAAG,QAAA;IACb,IAAI,CAAAC,OAAO,GAAAN,OAAS,CAAAM,OAAO;EAC3B;EAGAf,aAAM,CAAMQ,gBAAa,EAAI,CAC7B;IACFT,GAAA;IAEgCO,KAAgD,WAAAU,QAAAC,OAAA,EAAAC,IAAA;MAC9E,OAAM,GAAAD,OAAc,IAAAC,IAAM,EAAI;IAG9B;EACE,GACA;IACFnB,GAAA;IAEAO,KAAO,WAAAa,SAAApB,GAAA;MACT,IAAAqB,UAAA,GAAArB,GAAA,CAAAsB,OAAA;MAEA,OAA6E;QACvEJ,OAAO,EAAAlB,GAAA,CAAAuB,KAAA,IAAAF,UAAA;QACLF,IAAA,EAAAnB,GAAA,CAAAuB,KAAkD,CAAAF,UAAA;MACxD;IACE;EACA,GACA;IACFrB,GAAA;IACAO,KAAO,EAAE,SAAMiB,MAASA,CAAAC,GAAA;MAC1B,IAAAf,OAAA,GAAAC,SAAA,CAAAlB,MAAA,QAAAkB,SAAA,iBAAAA,SAAA;MAAA,IAAAe,MAAA,QAAAC,KAAA,CAAAF,GAAA,CAAAP,OAAA;MAAA,KAAAQ,MAAA;QAAAA,MAAA;UAKQE,IAAA,EAAgB;UAChBC,MAAQ;QACV;QAGE,KAAAF,KAAA,CAAAF,GAAA,CAAAP,OAAoB,IAAKQ,MAAA;MAG/B;MACA,IAAAI,EAAS,GAAIL,GAAG,KAAI,QAAAA,GAAW,KAAI,cAAc,IAAAA,GAAQ,CAAAN,IAAK;MAC5D,IAAM,CAACW,EAAA,EAAG;MACV,IAAMC,QAAE,GAASL,MAAK,CAAAE,IAAI,CAAAE,EAAK;MAG/B,IAAME,KAAA,IAASD,QAAK;MACpB,IAAIC,KAAA,EAAQ;QACVN,MAAO,CAAAG,MAAO,CAAAI,IAAK,CAAAH,EAAI;MACvB;MACFJ,MAAA,CAAAE,IAAA,CAAAE,EAAA,IAAAC,QAAA,KAAArB,OAAA,CAAAwB,OAAA;QAGA,GAAKH,QAAA;QAGD,GAAAN;MACF,IAAAA,GAAK;MACP,IAAAzB,GAAA,QAAAiB,OAAA,CAAAQ,GAAA,CAAAP,OAAA,EAAAY,EAAA;MACF,KAAAK,WAAA,CAAAC,GAAA,CAAApC,GAAA,EAAAqC,IAAA,CAAAC,GAAA;MACF,IAAAN,KAAA,SAAAlB,OAAA,KAAAC,QAAA;QAAA,KAAAwB,aAAA;MAAA;IAAA;EAKA,GACE;IACAvC,GAAK;IACPO,KAAA,WAAAiC,OAAAf,GAAA;MAAA,IAAAC,MAAA,QAAAC,KAAA,CAAAF,GAAA,CAAAP,OAAA;MAAA,KAAAQ,MAAA;MAAA,IAAAA,MAAA,CAAAE,IAAA,CAAAH,GAAA,CAAAN,IAAA,UAAAO,MAAA,CAAAE,IAAA,CAAAH,GAAA,CAAAN,IAAA;MAKIO,MAAe,CAAAG,MAAA,GAAAH,MAAA,CAAAG,MAAA,CAAAY,MAAA,WAAAC,SAAA;QACjB,OAAYA,SAAS,KAAEjB,GAAA,CAAAN,IAAA;MACzB;MACF,IAAAnB,GAAA,QAAAiB,OAAA,CAAAQ,GAAA,CAAAP,OAAA,EAAAO,GAAA,CAAAN,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","NormalizedCache","NormalizedCache2","options","arguments","_options_maxSize","Map","maxSize","Infinity","onEvict","makeKey","doctype","name","parseKey","colonIndex","indexOf","slice","upsert","doc","bucket","state","byId","allIds","id","existing","isNew","push","replace","accessOrder","set","Date","now","evictIfNeeded","remove","filter","currentId","delete","get","_this_state_doc_doctype","result","getStats","size","doctypes","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","Symbol","iterator","_step","next","done","count","err","return","_this","_loop","i2","sortedEntries","stats","sort","a","b","toEvict","clear"],"sources":["normalizedCache.native.js"],"sourcesContent":["function _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar NormalizedCache = /* @__PURE__ */ (function() {\n \"use strict\";\n function NormalizedCache2() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n _class_call_check(this, NormalizedCache2);\n var _options_maxSize;\n _define_property(this, \"state\", {});\n _define_property(this, \"accessOrder\", /* @__PURE__ */ new Map());\n _define_property(this, \"maxSize\", void 0);\n _define_property(this, \"onEvict\", void 0);\n this.maxSize = (_options_maxSize = options.maxSize) !== null && _options_maxSize !== void 0 ? _options_maxSize : Infinity;\n this.onEvict = options.onEvict;\n }\n _create_class(NormalizedCache2, [\n {\n key: \"makeKey\",\n value: function makeKey(doctype, name) {\n return `${doctype}:${name}`;\n }\n },\n {\n key: \"parseKey\",\n value: function parseKey(key) {\n var colonIndex = key.indexOf(\":\");\n return {\n doctype: key.slice(0, colonIndex),\n name: key.slice(colonIndex + 1)\n };\n }\n },\n {\n key: \"upsert\",\n value: function upsert(doc) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var bucket = this.state[doc.doctype];\n if (!bucket) {\n bucket = {\n byId: {},\n allIds: []\n };\n this.state[doc.doctype] = bucket;\n }\n var id = doc === null || doc === void 0 ? void 0 : doc.name;\n if (!id) return;\n var existing = bucket.byId[id];\n var isNew = !existing;\n if (isNew) {\n bucket.allIds.push(id);\n }\n bucket.byId[id] = existing && !options.replace ? {\n ...existing,\n ...doc\n } : doc;\n var key = this.makeKey(doc.doctype, id);\n this.accessOrder.set(key, Date.now());\n if (isNew && this.maxSize !== Infinity) {\n this.evictIfNeeded();\n }\n }\n },\n {\n key: \"remove\",\n value: function remove(doc) {\n var bucket = this.state[doc.doctype];\n if (!bucket) return;\n if (bucket.byId[doc.name]) delete bucket.byId[doc.name];\n bucket.allIds = bucket.allIds.filter(function(currentId) {\n return currentId !== doc.name;\n });\n var key = this.makeKey(doc.doctype, doc.name);\n this.accessOrder.delete(key);\n }\n },\n {\n key: \"get\",\n value: function get(doc) {\n var _this_state_doc_doctype;\n var result = (_this_state_doc_doctype = this.state[doc.doctype]) === null || _this_state_doc_doctype === void 0 ? void 0 : _this_state_doc_doctype.byId[doc.name];\n if (result) {\n var key = this.makeKey(doc.doctype, doc.name);\n this.accessOrder.set(key, Date.now());\n }\n return result;\n }\n },\n {\n key: \"getStats\",\n value: function getStats() {\n var size = 0;\n var doctypes = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(this.state)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [doctype, bucket] = _step.value;\n var count = bucket.allIds.length;\n size += count;\n doctypes.push({\n doctype,\n count\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n size,\n doctypes\n };\n }\n },\n {\n key: \"evictIfNeeded\",\n value: (\n /**\n * Evicts least recently used documents if cache exceeds maxSize.\n */\n function evictIfNeeded() {\n var _this, _loop = function(i2) {\n var [key] = sortedEntries[i2];\n var { doctype, name } = _this.parseKey(key);\n var bucket = _this.state[doctype];\n if (bucket) {\n delete bucket.byId[name];\n bucket.allIds = bucket.allIds.filter(function(id) {\n return id !== name;\n });\n }\n _this.accessOrder.delete(key);\n if (_this.onEvict) {\n _this.onEvict(doctype, name);\n }\n };\n var stats = this.getStats();\n if (stats.size <= this.maxSize) return;\n var sortedEntries = [\n ...this.accessOrder.entries()\n ].sort(function(a, b) {\n return a[1] - b[1];\n });\n var toEvict = stats.size - this.maxSize;\n for (var i = 0; i < toEvict && i < sortedEntries.length; i++) _this = this, _loop(i);\n }\n )\n },\n {\n /**\n * Clears the entire cache.\n */\n key: \"clear\",\n value: function clear() {\n this.state = {};\n this.accessOrder.clear();\n }\n },\n {\n key: \"size\",\n get: (\n /**\n * Gets the current cache size.\n */\n function get() {\n return this.getStats().size;\n }\n )\n }\n ]);\n return NormalizedCache2;\n})();\nexport {\n NormalizedCache\n};\n//# sourceMappingURL=normalizedCache.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { Debouncer } from "@tanstack/pacer";
2
2
  import { isNative, onVisibilityChange } from "@multiplatform.one/platform";
3
- import { isGjs } from "../util.native.js";
4
- import { IndexedDBKV, PlatformStorageKV } from "./storage.native.js";
3
+ import { isGjs } from "../util";
4
+ import { IndexedDBKV, PlatformStorageKV } from "./storage";
5
5
  function _class_call_check(instance, Constructor) {
6
6
  if (!(instance instanceof Constructor)) {
7
7
  throw new TypeError("Cannot call a class as a function");