@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:
|
|
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
|
});
|