cry-synced-db-client 0.1.132 → 0.1.134

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 (2) hide show
  1. package/dist/index.js +28 -23
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2567,20 +2567,15 @@ var _SyncEngine = class _SyncEngine {
2567
2567
  dirtyChangesMap.set(String(dirtyItem._id), dirtyItem);
2568
2568
  }
2569
2569
  const updates = [];
2570
- const deletes = [];
2571
2570
  const ids = dirtyChanges.map((dc) => dc._id);
2572
2571
  const fullItems = await this.dexieDb.getByIds(collectionName, ids);
2573
2572
  for (let i = 0; i < fullItems.length; i++) {
2574
2573
  const fullItem = fullItems[i];
2575
2574
  const id = ids[i];
2576
2575
  if (fullItem) {
2577
- if (fullItem._deleted) {
2578
- deletes.push(fullItem);
2579
- } else {
2580
- const delta = dirtyChangesMap.get(String(fullItem._id));
2581
- if (delta) {
2582
- updates.push({ _id: fullItem._id, delta });
2583
- }
2576
+ const delta = dirtyChangesMap.get(String(fullItem._id));
2577
+ if (delta) {
2578
+ updates.push({ _id: fullItem._id, delta });
2584
2579
  }
2585
2580
  } else if (id != null) {
2586
2581
  const delta = dirtyChangesMap.get(String(id));
@@ -2591,9 +2586,9 @@ var _SyncEngine = class _SyncEngine {
2591
2586
  }
2592
2587
  }
2593
2588
  }
2594
- if (updates.length === 0 && deletes.length === 0) {
2589
+ if (updates.length === 0) {
2595
2590
  console.warn(
2596
- `uploadDirtyItems: ${collectionName} has ${dirtyChanges.length} dirty entries but 0 updates/deletes`
2591
+ `uploadDirtyItems: ${collectionName} has ${dirtyChanges.length} dirty entries but 0 resolvable items`
2597
2592
  );
2598
2593
  continue;
2599
2594
  }
@@ -2607,7 +2602,7 @@ var _SyncEngine = class _SyncEngine {
2607
2602
  update: changes
2608
2603
  };
2609
2604
  }),
2610
- deletes: deletes.map((item) => ({ _id: item._id }))
2605
+ deletes: []
2611
2606
  }
2612
2607
  }]);
2613
2608
  }
@@ -2650,14 +2645,19 @@ var _SyncEngine = class _SyncEngine {
2650
2645
  const dexieItems = await this.dexieDb.getByIds(collection, idsToCheck);
2651
2646
  const dexieSaveBatch = [];
2652
2647
  const inMemUpdateBatch = [];
2648
+ const inMemDeleteIds = [];
2649
+ const dexieDeleteIds = [];
2653
2650
  for (let i = 0; i < insertedAndUpdated.length; i++) {
2654
2651
  const entity = insertedAndUpdated[i];
2655
2652
  const dexieItem = dexieItems[i];
2656
2653
  if (dexieItem) {
2657
2654
  dexieItem._rev = entity._rev;
2658
2655
  dexieItem._ts = entity._ts;
2659
- dexieSaveBatch.push(dexieItem);
2660
- if (!dexieItem._deleted) {
2656
+ if (dexieItem._deleted) {
2657
+ inMemDeleteIds.push(entity._id);
2658
+ dexieDeleteIds.push(entity._id);
2659
+ } else {
2660
+ dexieSaveBatch.push(dexieItem);
2661
2661
  const inMemItem = this.deps.getInMemById(collection, entity._id);
2662
2662
  if (inMemItem) {
2663
2663
  inMemUpdateBatch.push(__spreadProps(__spreadValues({}, inMemItem), {
@@ -2671,9 +2671,19 @@ var _SyncEngine = class _SyncEngine {
2671
2671
  if (dexieSaveBatch.length > 0) {
2672
2672
  await this.dexieDb.saveMany(collection, dexieSaveBatch);
2673
2673
  }
2674
+ if (dexieDeleteIds.length > 0) {
2675
+ await this.dexieDb.deleteMany(collection, dexieDeleteIds);
2676
+ }
2674
2677
  if (inMemUpdateBatch.length > 0) {
2675
2678
  this.deps.writeToInMemBatch(collection, inMemUpdateBatch, "upsert");
2676
2679
  }
2680
+ if (inMemDeleteIds.length > 0) {
2681
+ this.deps.writeToInMemBatch(
2682
+ collection,
2683
+ inMemDeleteIds.map((id) => ({ _id: id })),
2684
+ "delete"
2685
+ );
2686
+ }
2677
2687
  }
2678
2688
  sentCount += insertedAndUpdated.length;
2679
2689
  collectionSentCount += insertedAndUpdated.length;
@@ -2756,19 +2766,14 @@ var _SyncEngine = class _SyncEngine {
2756
2766
  dirtyChangesMap.set(String(dirtyItem._id), dirtyItem);
2757
2767
  }
2758
2768
  const updates = [];
2759
- const deletes = [];
2760
2769
  for (const fullItem of fullItems) {
2761
2770
  if (!fullItem) continue;
2762
- if (fullItem._deleted) {
2763
- deletes.push(fullItem);
2764
- } else {
2765
- const delta = dirtyChangesMap.get(String(fullItem._id));
2766
- if (delta) {
2767
- updates.push({ _id: fullItem._id, delta });
2768
- }
2771
+ const delta = dirtyChangesMap.get(String(fullItem._id));
2772
+ if (delta) {
2773
+ updates.push({ _id: fullItem._id, delta });
2769
2774
  }
2770
2775
  }
2771
- if (updates.length === 0 && deletes.length === 0) {
2776
+ if (updates.length === 0) {
2772
2777
  return { sentCount: 0 };
2773
2778
  }
2774
2779
  const collectionBatches = [[{
@@ -2778,7 +2783,7 @@ var _SyncEngine = class _SyncEngine {
2778
2783
  const _a = item.delta, { _ts, _rev } = _a, changes = __objRest(_a, ["_ts", "_rev"]);
2779
2784
  return { _id: item._id, update: changes };
2780
2785
  }),
2781
- deletes: deletes.map((item) => ({ _id: item._id }))
2786
+ deletes: []
2782
2787
  }
2783
2788
  }]];
2784
2789
  const results = await this.deps.withSyncTimeout(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cry-synced-db-client",
3
- "version": "0.1.132",
3
+ "version": "0.1.134",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",