@resolveio/server-lib 5.0.7 → 5.0.8

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.
@@ -702,11 +702,12 @@ var SubscriptionManager = /** @class */ (function () {
702
702
  // Check to see if any pubs need to refetch due to Mongo operation
703
703
  SubscriptionManager.prototype.checkPubsForChanges = function (collection, document, type) {
704
704
  return __awaiter(this, void 0, void 0, function () {
705
- var that, _loop_6, this_1, i;
705
+ var that, found, _loop_6, this_1, i, zz;
706
706
  return __generator(this, function (_a) {
707
707
  switch (_a.label) {
708
708
  case 0:
709
709
  that = this;
710
+ found = false;
710
711
  _loop_6 = function (i) {
711
712
  var _a, _b, sub, _c, _d;
712
713
  return __generator(this, function (_e) {
@@ -718,6 +719,7 @@ var SubscriptionManager = /** @class */ (function () {
718
719
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
719
720
  this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
720
721
  }
722
+ found = true;
721
723
  that.sendPubData(sub, type, collection);
722
724
  _c = sub;
723
725
  return [4 /*yield*/, (_a = that._publications[sub.publication]).preFunction.apply(_a, sub.subscriptionData)];
@@ -734,6 +736,7 @@ var SubscriptionManager = /** @class */ (function () {
734
736
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
735
737
  this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
736
738
  }
739
+ found = true;
737
740
  that.sendPubData(sub, type, collection);
738
741
  }
739
742
  return [3 /*break*/, 5];
@@ -745,6 +748,7 @@ var SubscriptionManager = /** @class */ (function () {
745
748
  if ((_a = that._publications[sub.publication]).fetchFunction.apply(_a, [document, client.id_user].concat(sub.subscriptionData))) {
746
749
  that._wss.clients.forEach(function (ws) {
747
750
  if (ws['id_socket'] === client.id_socket) {
751
+ found = true;
748
752
  that.sendPubDataOnce(ws, client.messageId, sub, type, collection);
749
753
  }
750
754
  });
@@ -753,6 +757,7 @@ var SubscriptionManager = /** @class */ (function () {
753
757
  else {
754
758
  that._wss.clients.forEach(function (ws) {
755
759
  if (ws['id_socket'] === client.id_socket) {
760
+ found = true;
756
761
  that.sendPubDataOnce(ws, client.messageId, sub, type, collection);
757
762
  }
758
763
  });
@@ -765,6 +770,7 @@ var SubscriptionManager = /** @class */ (function () {
765
770
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
766
771
  this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
767
772
  }
773
+ found = true;
768
774
  that.sendPubData(sub, type, collection);
769
775
  }
770
776
  // else
@@ -773,6 +779,7 @@ var SubscriptionManager = /** @class */ (function () {
773
779
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
774
780
  this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
775
781
  }
782
+ found = true;
776
783
  that.sendPubData(sub, type, collection);
777
784
  }
778
785
  }
@@ -793,7 +800,15 @@ var SubscriptionManager = /** @class */ (function () {
793
800
  case 3:
794
801
  i++;
795
802
  return [3 /*break*/, 1];
796
- case 4: return [2 /*return*/];
803
+ case 4:
804
+ if (!found) {
805
+ for (zz = this._subCache.length - 1; zz >= 0; zz--) {
806
+ if (this._subCache[zz].collection === collection) {
807
+ this._subCache.splice(zz, 1);
808
+ }
809
+ }
810
+ }
811
+ return [2 /*return*/];
797
812
  }
798
813
  });
799
814
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "5.0.7",
3
+ "version": "5.0.8",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "scripts": {