@resolveio/server-lib 5.0.17 → 5.0.18

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.
@@ -675,7 +675,7 @@ var SubscriptionManager = /** @class */ (function () {
675
675
  };
676
676
  SubscriptionManager.prototype.resendPubsForDelete = function (collection) {
677
677
  return __awaiter(this, void 0, void 0, function () {
678
- var that, jj, _loop_5, zz;
678
+ var that, jj, subCopy, _loop_5, zz;
679
679
  return __generator(this, function (_a) {
680
680
  switch (_a.label) {
681
681
  case 0:
@@ -686,12 +686,13 @@ var SubscriptionManager = /** @class */ (function () {
686
686
  this._subCache.splice(jj, 1);
687
687
  }
688
688
  }
689
+ subCopy = common_1.deepCopy(that._subscriptions.filter(function (a) { return a.collections.includes(collection); }));
689
690
  _loop_5 = function (zz) {
690
691
  var sub;
691
692
  return __generator(this, function (_a) {
692
693
  switch (_a.label) {
693
694
  case 0:
694
- sub = that._subscriptions.filter(function (a) { return a.collections.includes(collection); })[zz];
695
+ sub = subCopy[zz];
695
696
  if (!that._publications[sub.publication].ws_specific) return [3 /*break*/, 4];
696
697
  if (!sub.clients.length) return [3 /*break*/, 1];
697
698
  sub.clients.forEach(function (client) {
@@ -703,7 +704,9 @@ var SubscriptionManager = /** @class */ (function () {
703
704
  });
704
705
  return [3 /*break*/, 3];
705
706
  case 1:
706
- that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
707
+ if (that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
708
+ that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
709
+ }
707
710
  return [4 /*yield*/, active_subscription_collection_1.ActiveSubscriptions.deleteOne({
708
711
  $and: [
709
712
  { publication: sub.publication },
@@ -716,7 +719,9 @@ var SubscriptionManager = /** @class */ (function () {
716
719
  case 3: return [3 /*break*/, 7];
717
720
  case 4:
718
721
  if (!!sub.clients.length) return [3 /*break*/, 6];
719
- that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
722
+ if (that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
723
+ that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
724
+ }
720
725
  return [4 /*yield*/, active_subscription_collection_1.ActiveSubscriptions.deleteOne({
721
726
  $and: [
722
727
  { publication: sub.publication },
@@ -733,7 +738,7 @@ var SubscriptionManager = /** @class */ (function () {
733
738
  }
734
739
  });
735
740
  };
736
- zz = that._subscriptions.filter(function (a) { return a.collections.includes(collection); }).length - 1;
741
+ zz = subCopy.length - 1;
737
742
  _a.label = 1;
738
743
  case 1:
739
744
  if (!(zz >= 0)) return [3 /*break*/, 4];
@@ -754,23 +759,26 @@ var SubscriptionManager = /** @class */ (function () {
754
759
  // Check to see if any pubs need to refetch due to Mongo operation
755
760
  SubscriptionManager.prototype.checkPubsForChanges = function (collection, document, type) {
756
761
  return __awaiter(this, void 0, void 0, function () {
757
- var that, _loop_6, this_1, i;
762
+ var that, subCopy, _loop_6, this_1, i;
758
763
  return __generator(this, function (_a) {
759
764
  switch (_a.label) {
760
765
  case 0:
761
766
  that = this;
767
+ subCopy = common_1.deepCopy(that._subscriptions.filter(function (a) { return a.collections.includes(collection); }));
762
768
  _loop_6 = function (i) {
763
769
  var _a, _b, sub, removed, _c, _d, removed, removed, removed;
764
770
  return __generator(this, function (_e) {
765
771
  switch (_e.label) {
766
772
  case 0:
767
- sub = that._subscriptions.filter(function (a) { return a.collections.includes(collection); })[i];
773
+ sub = subCopy[i];
768
774
  if (!sub.preSubscriptionData) return [3 /*break*/, 3];
769
775
  if (!that._publications[sub.publication].fetchFunction(document, sub.preSubscriptionData)) return [3 /*break*/, 3];
770
776
  removed = false;
771
777
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
772
778
  if (!sub.clients.length) {
773
- that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
779
+ if (that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
780
+ that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
781
+ }
774
782
  active_subscription_collection_1.ActiveSubscriptions.deleteOne({
775
783
  $and: [
776
784
  { publication: sub.publication },
@@ -780,7 +788,9 @@ var SubscriptionManager = /** @class */ (function () {
780
788
  removed = true;
781
789
  }
782
790
  this_1._nodeCache.del(this_1._subCache.filter(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })[0].id);
783
- this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
791
+ if (this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
792
+ this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
793
+ }
784
794
  }
785
795
  if (!!removed) return [3 /*break*/, 2];
786
796
  that.sendPubData(sub, type, collection);
@@ -845,7 +855,9 @@ var SubscriptionManager = /** @class */ (function () {
845
855
  removed = false;
846
856
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
847
857
  if (!sub.clients.length) {
848
- that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
858
+ if (that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
859
+ that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
860
+ }
849
861
  active_subscription_collection_1.ActiveSubscriptions.deleteOne({
850
862
  $and: [
851
863
  { publication: sub.publication },
@@ -855,7 +867,9 @@ var SubscriptionManager = /** @class */ (function () {
855
867
  removed = true;
856
868
  }
857
869
  this_1._nodeCache.del(this_1._subCache.filter(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })[0].id);
858
- this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
870
+ if (this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
871
+ this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
872
+ }
859
873
  }
860
874
  if (!removed) {
861
875
  that.sendPubData(sub, type, collection);
@@ -867,7 +881,9 @@ var SubscriptionManager = /** @class */ (function () {
867
881
  removed = false;
868
882
  if (this_1._subCache.some(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })) {
869
883
  if (!sub.clients.length) {
870
- that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
884
+ if (that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
885
+ that._subscriptions.splice(that._subscriptions.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
886
+ }
871
887
  active_subscription_collection_1.ActiveSubscriptions.deleteOne({
872
888
  $and: [
873
889
  { publication: sub.publication },
@@ -877,7 +893,9 @@ var SubscriptionManager = /** @class */ (function () {
877
893
  removed = true;
878
894
  }
879
895
  this_1._nodeCache.del(this_1._subCache.filter(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); })[0].id);
880
- this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
896
+ if (this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }) >= 0) {
897
+ this_1._subCache.splice(this_1._subCache.findIndex(function (a) { return a.publication === sub.publication && JSON.stringify(a.subscriptionData) === JSON.stringify(sub.subscriptionData); }), 1);
898
+ }
881
899
  }
882
900
  if (!removed) {
883
901
  that.sendPubData(sub, type, collection);
@@ -890,7 +908,7 @@ var SubscriptionManager = /** @class */ (function () {
890
908
  });
891
909
  };
892
910
  this_1 = this;
893
- i = that._subscriptions.filter(function (a) { return a.collections.includes(collection); }).length - 1;
911
+ i = subCopy.length - 1;
894
912
  _a.label = 1;
895
913
  case 1:
896
914
  if (!(i >= 0)) return [3 /*break*/, 4];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "5.0.17",
3
+ "version": "5.0.18",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "scripts": {