@aws-amplify/pubsub 4.4.9 → 4.4.10-next.20
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.
- package/CHANGELOG.md +73 -0
- package/dist/aws-amplify-pubsub.js +1260 -2214
- package/dist/aws-amplify-pubsub.js.map +1 -1
- package/dist/aws-amplify-pubsub.min.js +3 -3
- package/dist/aws-amplify-pubsub.min.js.map +1 -1
- package/lib/Providers/AWSAppSyncProvider.js +20 -102
- package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +10 -2
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +166 -208
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib/Providers/AWSIotProvider.js +4 -52
- package/lib/Providers/AWSIotProvider.js.map +1 -1
- package/lib/Providers/MqttOverWSProvider.d.ts +5 -1
- package/lib/Providers/MqttOverWSProvider.js +172 -187
- package/lib/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib/Providers/PubSubProvider.d.ts +1 -1
- package/lib/Providers/PubSubProvider.js +3 -13
- package/lib/Providers/PubSubProvider.js.map +1 -1
- package/lib/Providers/{AWSAppSyncRealTimeProvider/constants.d.ts → constants.d.ts} +9 -0
- package/lib/Providers/{AWSAppSyncRealTimeProvider/constants.js → constants.js} +9 -0
- package/lib/Providers/constants.js.map +1 -0
- package/lib/Providers/index.js +6 -8
- package/lib/Providers/index.js.map +1 -1
- package/lib/PubSub.js +6 -44
- package/lib/PubSub.js.map +1 -1
- package/lib/index.d.ts +3 -10
- package/lib/index.js +5 -14
- package/lib/index.js.map +1 -1
- package/lib/types/Provider.d.ts +10 -1
- package/lib/types/PubSub.d.ts +22 -8
- package/lib/types/PubSub.js +56 -0
- package/lib/types/PubSub.js.map +1 -1
- package/lib/types/index.d.ts +0 -17
- package/lib/types/index.js +2 -36
- package/lib/types/index.js.map +1 -1
- package/lib/utils/ConnectionStateMonitor.d.ts +2 -1
- package/lib/utils/ConnectionStateMonitor.js +25 -30
- package/lib/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib/utils/ReachabilityMonitor/index.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.js +5 -0
- package/lib/utils/ReachabilityMonitor/index.js.map +1 -0
- package/lib/utils/ReachabilityMonitor/index.native.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.native.js +9 -0
- package/lib/utils/ReachabilityMonitor/index.native.js.map +1 -0
- package/lib/utils/ReconnectionMonitor.d.ts +29 -0
- package/lib/utils/ReconnectionMonitor.js +73 -0
- package/lib/utils/ReconnectionMonitor.js.map +1 -0
- package/lib-esm/Providers/AWSAppSyncProvider.js +1 -80
- package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +10 -2
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +130 -162
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib-esm/Providers/AWSIotProvider.js +1 -49
- package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
- package/lib-esm/Providers/MqttOverWSProvider.d.ts +5 -1
- package/lib-esm/Providers/MqttOverWSProvider.js +154 -159
- package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib-esm/Providers/PubSubProvider.d.ts +1 -1
- package/lib-esm/Providers/PubSubProvider.js +1 -11
- package/lib-esm/Providers/PubSubProvider.js.map +1 -1
- package/lib-esm/Providers/{AWSAppSyncRealTimeProvider/constants.d.ts → constants.d.ts} +9 -0
- package/lib-esm/Providers/{AWSAppSyncRealTimeProvider/constants.js → constants.js} +9 -0
- package/lib-esm/Providers/constants.js.map +1 -0
- package/lib-esm/PubSub.js +1 -36
- package/lib-esm/PubSub.js.map +1 -1
- package/lib-esm/index.d.ts +3 -10
- package/lib-esm/index.js +3 -11
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +10 -1
- package/lib-esm/types/PubSub.d.ts +22 -8
- package/lib-esm/types/PubSub.js +56 -0
- package/lib-esm/types/PubSub.js.map +1 -1
- package/lib-esm/types/index.d.ts +0 -17
- package/lib-esm/types/index.js +1 -36
- package/lib-esm/types/index.js.map +1 -1
- package/lib-esm/utils/ConnectionStateMonitor.d.ts +2 -1
- package/lib-esm/utils/ConnectionStateMonitor.js +14 -16
- package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib-esm/utils/ReachabilityMonitor/index.d.ts +3 -0
- package/lib-esm/utils/ReachabilityMonitor/index.js +3 -0
- package/lib-esm/utils/ReachabilityMonitor/index.js.map +1 -0
- package/lib-esm/utils/ReachabilityMonitor/index.native.d.ts +3 -0
- package/lib-esm/utils/ReachabilityMonitor/index.native.js +6 -0
- package/lib-esm/utils/ReachabilityMonitor/index.native.js.map +1 -0
- package/lib-esm/utils/ReconnectionMonitor.d.ts +29 -0
- package/lib-esm/utils/ReconnectionMonitor.js +71 -0
- package/lib-esm/utils/ReconnectionMonitor.js.map +1 -0
- package/package.json +6 -5
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +154 -90
- package/src/Providers/MqttOverWSProvider.ts +120 -53
- package/src/Providers/PubSubProvider.ts +1 -1
- package/src/Providers/{AWSAppSyncRealTimeProvider/constants.ts → constants.ts} +12 -0
- package/src/index.ts +3 -10
- package/src/types/Provider.ts +13 -1
- package/src/types/PubSub.ts +47 -8
- package/src/types/index.ts +0 -43
- package/src/utils/ConnectionStateMonitor.ts +20 -5
- package/src/utils/ReachabilityMonitor/index.native.ts +5 -0
- package/src/utils/ReachabilityMonitor/index.ts +3 -0
- package/src/utils/ReconnectionMonitor.ts +74 -0
- package/lib/Providers/AWSAppSyncRealTimeProvider/constants.js.map +0 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/constants.js.map +0 -1
|
@@ -1,86 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
|
-
function step(op) {
|
|
40
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
41
|
-
while (_) try {
|
|
42
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
43
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
44
|
-
switch (op[0]) {
|
|
45
|
-
case 0: case 1: t = op; break;
|
|
46
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
47
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
48
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
49
|
-
default:
|
|
50
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
51
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
52
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
53
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
54
|
-
if (t[2]) _.ops.pop();
|
|
55
|
-
_.trys.pop(); continue;
|
|
56
|
-
}
|
|
57
|
-
op = body.call(thisArg, _);
|
|
58
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
59
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
63
|
-
var t = {};
|
|
64
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
65
|
-
t[p] = s[p];
|
|
66
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
67
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
68
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
69
|
-
t[p[i]] = s[p[i]];
|
|
70
|
-
}
|
|
71
|
-
return t;
|
|
72
|
-
};
|
|
73
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
74
|
-
if (mod && mod.__esModule) return mod;
|
|
75
|
-
var result = {};
|
|
76
|
-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
77
|
-
result["default"] = mod;
|
|
78
|
-
return result;
|
|
79
|
-
};
|
|
80
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
81
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
82
|
-
};
|
|
83
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
84
4
|
/*
|
|
85
5
|
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
86
6
|
*
|
|
@@ -93,11 +13,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
93
13
|
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
94
14
|
* and limitations under the License.
|
|
95
15
|
*/
|
|
96
|
-
var Paho = __importStar(require("paho-mqtt"));
|
|
16
|
+
var Paho = tslib_1.__importStar(require("paho-mqtt"));
|
|
97
17
|
var uuid_1 = require("uuid");
|
|
98
|
-
var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
|
|
18
|
+
var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
|
|
99
19
|
var PubSubProvider_1 = require("./PubSubProvider");
|
|
20
|
+
var PubSub_1 = require("../types/PubSub");
|
|
100
21
|
var core_1 = require("@aws-amplify/core");
|
|
22
|
+
var ConnectionStateMonitor_1 = require("../utils/ConnectionStateMonitor");
|
|
23
|
+
var ReconnectionMonitor_1 = require("../utils/ReconnectionMonitor");
|
|
24
|
+
var constants_1 = require("./constants");
|
|
101
25
|
var logger = new core_1.ConsoleLogger('MqttOverWSProvider');
|
|
102
26
|
function mqttTopicMatch(filter, topic) {
|
|
103
27
|
var filterArray = filter.split('/');
|
|
@@ -119,16 +43,17 @@ var ClientsQueue = /** @class */ (function () {
|
|
|
119
43
|
this.promises = new Map();
|
|
120
44
|
}
|
|
121
45
|
ClientsQueue.prototype.get = function (clientId, clientFactory) {
|
|
122
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
123
47
|
var cachedPromise, newPromise;
|
|
124
|
-
|
|
48
|
+
var _this = this;
|
|
49
|
+
return tslib_1.__generator(this, function (_a) {
|
|
125
50
|
cachedPromise = this.promises.get(clientId);
|
|
126
|
-
if (cachedPromise)
|
|
51
|
+
if (cachedPromise)
|
|
127
52
|
return [2 /*return*/, cachedPromise];
|
|
128
|
-
}
|
|
129
53
|
if (clientFactory) {
|
|
130
54
|
newPromise = clientFactory(clientId);
|
|
131
55
|
this.promises.set(clientId, newPromise);
|
|
56
|
+
newPromise.catch(function (v) { return _this.promises.delete(clientId); });
|
|
132
57
|
return [2 /*return*/, newPromise];
|
|
133
58
|
}
|
|
134
59
|
return [2 /*return*/, undefined];
|
|
@@ -147,15 +72,36 @@ var ClientsQueue = /** @class */ (function () {
|
|
|
147
72
|
};
|
|
148
73
|
return ClientsQueue;
|
|
149
74
|
}());
|
|
75
|
+
var dispatchPubSubEvent = function (event, data, message) {
|
|
76
|
+
core_1.Hub.dispatch('pubsub', { event: event, data: data, message: message }, 'PubSub', constants_1.AMPLIFY_SYMBOL);
|
|
77
|
+
};
|
|
150
78
|
var topicSymbol = typeof Symbol !== 'undefined' ? Symbol('topic') : '@@topic';
|
|
151
79
|
var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
152
|
-
__extends(MqttOverWSProvider, _super);
|
|
80
|
+
tslib_1.__extends(MqttOverWSProvider, _super);
|
|
153
81
|
function MqttOverWSProvider(options) {
|
|
154
82
|
if (options === void 0) { options = {}; }
|
|
155
|
-
var _this = _super.call(this, __assign(__assign({}, options), { clientId: options.clientId || uuid_1.v4() })) || this;
|
|
83
|
+
var _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { clientId: options.clientId || uuid_1.v4() })) || this;
|
|
156
84
|
_this._clientsQueue = new ClientsQueue();
|
|
85
|
+
_this.connectionStateMonitor = new ConnectionStateMonitor_1.ConnectionStateMonitor();
|
|
86
|
+
_this.reconnectionMonitor = new ReconnectionMonitor_1.ReconnectionMonitor();
|
|
157
87
|
_this._topicObservers = new Map();
|
|
158
88
|
_this._clientIdObservers = new Map();
|
|
89
|
+
// Monitor the connection health state and pass changes along to Hub
|
|
90
|
+
_this.connectionStateMonitor.connectionStateObservable.subscribe(function (connectionStateChange) {
|
|
91
|
+
dispatchPubSubEvent(constants_1.CONNECTION_STATE_CHANGE, {
|
|
92
|
+
provider: _this,
|
|
93
|
+
connectionState: connectionStateChange,
|
|
94
|
+
}, "Connection state is " + connectionStateChange);
|
|
95
|
+
_this.connectionState = connectionStateChange;
|
|
96
|
+
// Trigger reconnection when the connection is disrupted
|
|
97
|
+
if (connectionStateChange === PubSub_1.ConnectionState.ConnectionDisrupted) {
|
|
98
|
+
_this.reconnectionMonitor.record(ReconnectionMonitor_1.ReconnectEvent.START_RECONNECT);
|
|
99
|
+
}
|
|
100
|
+
else if (connectionStateChange !== PubSub_1.ConnectionState.Connecting) {
|
|
101
|
+
// Trigger connected to halt reconnection attempts
|
|
102
|
+
_this.reconnectionMonitor.record(ReconnectionMonitor_1.ReconnectEvent.HALT_RECONNECT);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
159
105
|
return _this;
|
|
160
106
|
}
|
|
161
107
|
Object.defineProperty(MqttOverWSProvider.prototype, "clientId", {
|
|
@@ -194,11 +140,9 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
194
140
|
return 'MqttOverWSProvider';
|
|
195
141
|
};
|
|
196
142
|
MqttOverWSProvider.prototype.onDisconnect = function (_a) {
|
|
197
|
-
var
|
|
198
|
-
var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, ["clientId", "errorCode"]);
|
|
143
|
+
var clientId = _a.clientId, errorCode = _a.errorCode, args = tslib_1.__rest(_a, ["clientId", "errorCode"]);
|
|
199
144
|
if (errorCode !== 0) {
|
|
200
|
-
logger.warn(clientId, JSON.stringify(__assign({ errorCode: errorCode }, args), null, 2));
|
|
201
|
-
var topicsToDelete_1 = [];
|
|
145
|
+
logger.warn(clientId, JSON.stringify(tslib_1.__assign({ errorCode: errorCode }, args), null, 2));
|
|
202
146
|
if (!clientId) {
|
|
203
147
|
return;
|
|
204
148
|
}
|
|
@@ -206,53 +150,47 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
206
150
|
if (!clientIdObservers) {
|
|
207
151
|
return;
|
|
208
152
|
}
|
|
209
|
-
|
|
210
|
-
observer.error('Disconnected, error code: ' + errorCode);
|
|
211
|
-
// removing observers for disconnected clientId
|
|
212
|
-
_this._topicObservers.forEach(function (observerForTopic, observerTopic) {
|
|
213
|
-
observerForTopic.delete(observer);
|
|
214
|
-
if (observerForTopic.size === 0) {
|
|
215
|
-
topicsToDelete_1.push(observerTopic);
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
// forgiving any trace of clientId
|
|
220
|
-
this._clientIdObservers.delete(clientId);
|
|
221
|
-
// Removing topics that are not listen by an observer
|
|
222
|
-
topicsToDelete_1.forEach(function (topic) {
|
|
223
|
-
_this._topicObservers.delete(topic);
|
|
224
|
-
});
|
|
153
|
+
this.disconnect(clientId);
|
|
225
154
|
}
|
|
226
155
|
};
|
|
227
156
|
MqttOverWSProvider.prototype.newClient = function (_a) {
|
|
228
157
|
var url = _a.url, clientId = _a.clientId;
|
|
229
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
230
|
-
var client;
|
|
158
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
159
|
+
var client, connected;
|
|
231
160
|
var _this = this;
|
|
232
|
-
return __generator(this, function (_b) {
|
|
161
|
+
return tslib_1.__generator(this, function (_b) {
|
|
233
162
|
switch (_b.label) {
|
|
234
163
|
case 0:
|
|
235
164
|
logger.debug('Creating new MQTT client', clientId);
|
|
165
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.OPENING_CONNECTION);
|
|
236
166
|
client = new Paho.Client(url, clientId);
|
|
237
|
-
// client.trace = (args) => logger.debug(clientId, JSON.stringify(args, null, 2));
|
|
238
167
|
client.onMessageArrived = function (_a) {
|
|
239
168
|
var topic = _a.destinationName, msg = _a.payloadString;
|
|
240
169
|
_this._onMessage(topic, msg);
|
|
241
170
|
};
|
|
242
171
|
client.onConnectionLost = function (_a) {
|
|
243
|
-
var errorCode = _a.errorCode, args = __rest(_a, ["errorCode"]);
|
|
244
|
-
_this.onDisconnect(__assign({ clientId: clientId, errorCode: errorCode }, args));
|
|
172
|
+
var errorCode = _a.errorCode, args = tslib_1.__rest(_a, ["errorCode"]);
|
|
173
|
+
_this.onDisconnect(tslib_1.__assign({ clientId: clientId, errorCode: errorCode }, args));
|
|
174
|
+
_this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
245
175
|
};
|
|
246
176
|
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
247
177
|
client.connect({
|
|
248
178
|
useSSL: _this.isSSLEnabled,
|
|
249
179
|
mqttVersion: 3,
|
|
250
|
-
onSuccess: function () { return resolve(
|
|
251
|
-
onFailure:
|
|
180
|
+
onSuccess: function () { return resolve(true); },
|
|
181
|
+
onFailure: function (x) {
|
|
182
|
+
if (clientId)
|
|
183
|
+
_this._clientsQueue.remove(clientId);
|
|
184
|
+
_this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
185
|
+
resolve(false);
|
|
186
|
+
},
|
|
252
187
|
});
|
|
253
188
|
})];
|
|
254
189
|
case 1:
|
|
255
|
-
_b.sent();
|
|
190
|
+
connected = _b.sent();
|
|
191
|
+
if (connected) {
|
|
192
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CONNECTION_ESTABLISHED);
|
|
193
|
+
}
|
|
256
194
|
return [2 /*return*/, client];
|
|
257
195
|
}
|
|
258
196
|
});
|
|
@@ -260,22 +198,36 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
260
198
|
};
|
|
261
199
|
MqttOverWSProvider.prototype.connect = function (clientId, options) {
|
|
262
200
|
if (options === void 0) { options = {}; }
|
|
263
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
201
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
264
202
|
var _this = this;
|
|
265
|
-
return __generator(this, function (_a) {
|
|
203
|
+
return tslib_1.__generator(this, function (_a) {
|
|
266
204
|
switch (_a.label) {
|
|
267
|
-
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) {
|
|
268
|
-
|
|
269
|
-
|
|
205
|
+
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
206
|
+
var client;
|
|
207
|
+
return tslib_1.__generator(this, function (_a) {
|
|
208
|
+
switch (_a.label) {
|
|
209
|
+
case 0: return [4 /*yield*/, this.newClient(tslib_1.__assign(tslib_1.__assign({}, options), { clientId: clientId }))];
|
|
210
|
+
case 1:
|
|
211
|
+
client = _a.sent();
|
|
212
|
+
if (client) {
|
|
213
|
+
// Once connected, subscribe to all topics registered observers
|
|
214
|
+
this._topicObservers.forEach(function (_value, key) {
|
|
215
|
+
client.subscribe(key);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
return [2 /*return*/, client];
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}); })];
|
|
270
222
|
case 1: return [2 /*return*/, _a.sent()];
|
|
271
223
|
}
|
|
272
224
|
});
|
|
273
225
|
});
|
|
274
226
|
};
|
|
275
227
|
MqttOverWSProvider.prototype.disconnect = function (clientId) {
|
|
276
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
277
229
|
var client;
|
|
278
|
-
return __generator(this, function (_a) {
|
|
230
|
+
return tslib_1.__generator(this, function (_a) {
|
|
279
231
|
switch (_a.label) {
|
|
280
232
|
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];
|
|
281
233
|
case 1:
|
|
@@ -284,27 +236,30 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
284
236
|
client.disconnect();
|
|
285
237
|
}
|
|
286
238
|
this.clientsQueue.remove(clientId);
|
|
239
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
287
240
|
return [2 /*return*/];
|
|
288
241
|
}
|
|
289
242
|
});
|
|
290
243
|
});
|
|
291
244
|
};
|
|
292
245
|
MqttOverWSProvider.prototype.publish = function (topics, msg) {
|
|
293
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
294
|
-
var targetTopics, message,
|
|
295
|
-
return __generator(this, function (_a) {
|
|
246
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
247
|
+
var targetTopics, message, client;
|
|
248
|
+
return tslib_1.__generator(this, function (_a) {
|
|
296
249
|
switch (_a.label) {
|
|
297
250
|
case 0:
|
|
298
251
|
targetTopics = [].concat(topics);
|
|
299
252
|
message = JSON.stringify(msg);
|
|
300
|
-
return [4 /*yield*/, this.
|
|
253
|
+
return [4 /*yield*/, this.clientsQueue.get(this.clientId)];
|
|
301
254
|
case 1:
|
|
302
|
-
url = _a.sent();
|
|
303
|
-
return [4 /*yield*/, this.connect(this.clientId, { url: url })];
|
|
304
|
-
case 2:
|
|
305
255
|
client = _a.sent();
|
|
306
|
-
|
|
307
|
-
|
|
256
|
+
if (client) {
|
|
257
|
+
logger.debug('Publishing to topic(s)', targetTopics.join(','), message);
|
|
258
|
+
targetTopics.forEach(function (topic) { return client.send(topic, message); });
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
logger.debug('Publishing to topic(s) failed', targetTopics.join(','), message);
|
|
262
|
+
}
|
|
308
263
|
return [2 /*return*/];
|
|
309
264
|
}
|
|
310
265
|
});
|
|
@@ -335,6 +290,7 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
335
290
|
if (options === void 0) { options = {}; }
|
|
336
291
|
var targetTopics = [].concat(topics);
|
|
337
292
|
logger.debug('Subscribing to topic(s)', targetTopics.join(','));
|
|
293
|
+
var reconnectSubscription;
|
|
338
294
|
return new zen_observable_ts_1.default(function (observer) {
|
|
339
295
|
targetTopics.forEach(function (topic) {
|
|
340
296
|
// this._topicObservers is used to notify the observers according to the topic received on the message
|
|
@@ -345,8 +301,6 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
345
301
|
}
|
|
346
302
|
observersForTopic.add(observer);
|
|
347
303
|
});
|
|
348
|
-
// @ts-ignore
|
|
349
|
-
var client;
|
|
350
304
|
var _a = options.clientId, clientId = _a === void 0 ? _this.clientId : _a;
|
|
351
305
|
// this._clientIdObservers is used to close observers when client gets disconnected
|
|
352
306
|
var observersForClientId = _this._clientIdObservers.get(clientId);
|
|
@@ -355,65 +309,96 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
355
309
|
}
|
|
356
310
|
observersForClientId.add(observer);
|
|
357
311
|
_this._clientIdObservers.set(clientId, observersForClientId);
|
|
358
|
-
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
359
|
-
var
|
|
360
|
-
|
|
361
|
-
|
|
312
|
+
(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
313
|
+
var getClient;
|
|
314
|
+
var _this = this;
|
|
315
|
+
return tslib_1.__generator(this, function (_a) {
|
|
316
|
+
switch (_a.label) {
|
|
362
317
|
case 0:
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
318
|
+
getClient = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
319
|
+
var _a, url, _b, client_1, e_1;
|
|
320
|
+
return tslib_1.__generator(this, function (_c) {
|
|
321
|
+
switch (_c.label) {
|
|
322
|
+
case 0:
|
|
323
|
+
_c.trys.push([0, 5, , 6]);
|
|
324
|
+
_a = options.url;
|
|
325
|
+
if (!(_a === void 0)) return [3 /*break*/, 2];
|
|
326
|
+
return [4 /*yield*/, this.endpoint];
|
|
327
|
+
case 1:
|
|
328
|
+
_b = _c.sent();
|
|
329
|
+
return [3 /*break*/, 3];
|
|
330
|
+
case 2:
|
|
331
|
+
_b = _a;
|
|
332
|
+
_c.label = 3;
|
|
333
|
+
case 3:
|
|
334
|
+
url = _b;
|
|
335
|
+
return [4 /*yield*/, this.connect(clientId, { url: url })];
|
|
336
|
+
case 4:
|
|
337
|
+
client_1 = _c.sent();
|
|
338
|
+
if (client_1 !== undefined) {
|
|
339
|
+
targetTopics.forEach(function (topic) {
|
|
340
|
+
client_1.subscribe(topic);
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
return [3 /*break*/, 6];
|
|
344
|
+
case 5:
|
|
345
|
+
e_1 = _c.sent();
|
|
346
|
+
logger.debug('Error forming connection', e_1);
|
|
347
|
+
return [3 /*break*/, 6];
|
|
348
|
+
case 6: return [2 /*return*/];
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
}); };
|
|
352
|
+
// Establish the initial connection
|
|
353
|
+
return [4 /*yield*/, getClient()];
|
|
366
354
|
case 1:
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
_c.label = 4;
|
|
375
|
-
case 4:
|
|
376
|
-
_c.trys.push([4, 6, , 7]);
|
|
377
|
-
return [4 /*yield*/, this.connect(clientId, { url: url })];
|
|
378
|
-
case 5:
|
|
379
|
-
client = _c.sent();
|
|
380
|
-
targetTopics.forEach(function (topic) {
|
|
381
|
-
client.subscribe(topic);
|
|
355
|
+
// Establish the initial connection
|
|
356
|
+
_a.sent();
|
|
357
|
+
// Add an observable to the reconnection list to manage reconnection for this subscription
|
|
358
|
+
reconnectSubscription = new zen_observable_ts_1.default(function (observer) {
|
|
359
|
+
_this.reconnectionMonitor.addObserver(observer);
|
|
360
|
+
}).subscribe(function () {
|
|
361
|
+
getClient();
|
|
382
362
|
});
|
|
383
|
-
return [
|
|
384
|
-
case 6:
|
|
385
|
-
e_1 = _c.sent();
|
|
386
|
-
observer.error(e_1);
|
|
387
|
-
return [3 /*break*/, 7];
|
|
388
|
-
case 7: return [2 /*return*/];
|
|
363
|
+
return [2 /*return*/];
|
|
389
364
|
}
|
|
390
365
|
});
|
|
391
366
|
}); })();
|
|
392
|
-
return function () {
|
|
367
|
+
return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
368
|
+
var client;
|
|
369
|
+
var _this = this;
|
|
393
370
|
var _a, _b;
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
371
|
+
return tslib_1.__generator(this, function (_c) {
|
|
372
|
+
switch (_c.label) {
|
|
373
|
+
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];
|
|
374
|
+
case 1:
|
|
375
|
+
client = _c.sent();
|
|
376
|
+
reconnectSubscription === null || reconnectSubscription === void 0 ? void 0 : reconnectSubscription.unsubscribe();
|
|
377
|
+
if (client) {
|
|
378
|
+
(_a = this._clientIdObservers.get(clientId)) === null || _a === void 0 ? void 0 : _a.delete(observer);
|
|
379
|
+
// No more observers per client => client not needed anymore
|
|
380
|
+
if (((_b = this._clientIdObservers.get(clientId)) === null || _b === void 0 ? void 0 : _b.size) === 0) {
|
|
381
|
+
this.disconnect(clientId);
|
|
382
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSING_CONNECTION);
|
|
383
|
+
this._clientIdObservers.delete(clientId);
|
|
384
|
+
}
|
|
385
|
+
targetTopics.forEach(function (topic) {
|
|
386
|
+
var observersForTopic = _this._topicObservers.get(topic) ||
|
|
387
|
+
new Set();
|
|
388
|
+
observersForTopic.delete(observer);
|
|
389
|
+
// if no observers exists for the topic, topic should be removed
|
|
390
|
+
if (observersForTopic.size === 0) {
|
|
391
|
+
_this._topicObservers.delete(topic);
|
|
392
|
+
if (client.isConnected()) {
|
|
393
|
+
client.unsubscribe(topic);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
});
|
|
411
397
|
}
|
|
412
|
-
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
};
|
|
398
|
+
return [2 /*return*/, null];
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
}); };
|
|
417
402
|
});
|
|
418
403
|
};
|
|
419
404
|
return MqttOverWSProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MqttOverWSProvider.js","sourceRoot":"","sources":["../../src/Providers/MqttOverWSProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MqttOverWSProvider.js","sourceRoot":"","sources":["../../src/Providers/MqttOverWSProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Observable from 'zen-observable-ts';
|
|
2
|
-
import { PubSubProvider, ProviderOptions } from '../types';
|
|
2
|
+
import { PubSubProvider, ProviderOptions } from '../types/Provider';
|
|
3
3
|
export declare abstract class AbstractPubSubProvider implements PubSubProvider {
|
|
4
4
|
private _config;
|
|
5
5
|
constructor(options?: ProviderOptions);
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
14
4
|
var core_1 = require("@aws-amplify/core");
|
|
15
5
|
var logger = new core_1.ConsoleLogger('AbstractPubSubProvider');
|
|
16
6
|
var AbstractPubSubProvider = /** @class */ (function () {
|
|
@@ -20,7 +10,7 @@ var AbstractPubSubProvider = /** @class */ (function () {
|
|
|
20
10
|
}
|
|
21
11
|
AbstractPubSubProvider.prototype.configure = function (config) {
|
|
22
12
|
if (config === void 0) { config = {}; }
|
|
23
|
-
this._config = __assign(__assign({}, config), this._config);
|
|
13
|
+
this._config = tslib_1.__assign(tslib_1.__assign({}, config), this._config);
|
|
24
14
|
logger.debug("configure " + this.getProviderName(), this._config);
|
|
25
15
|
return this.options;
|
|
26
16
|
};
|
|
@@ -29,7 +19,7 @@ var AbstractPubSubProvider = /** @class */ (function () {
|
|
|
29
19
|
};
|
|
30
20
|
Object.defineProperty(AbstractPubSubProvider.prototype, "options", {
|
|
31
21
|
get: function () {
|
|
32
|
-
return __assign({}, this._config);
|
|
22
|
+
return tslib_1.__assign({}, this._config);
|
|
33
23
|
},
|
|
34
24
|
enumerable: true,
|
|
35
25
|
configurable: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubProvider.js","sourceRoot":"","sources":["../../src/Providers/PubSubProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PubSubProvider.js","sourceRoot":"","sources":["../../src/Providers/PubSubProvider.ts"],"names":[],"mappings":";;;AAcA,0CAA4D;AAE5D,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpD;IAGC,gCAAY,OAA6B;QAA7B,wBAAA,EAAA,YAA6B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,0CAAS,GAAT,UAAU,MAA4B;QAA5B,uBAAA,EAAA,WAA4B;QACrC,IAAI,CAAC,OAAO,yCAAQ,MAAM,GAAK,IAAI,CAAC,OAAO,CAAE,CAAC;QAE9C,MAAM,CAAC,KAAK,CAAC,eAAa,IAAI,CAAC,eAAe,EAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,4CAAW,GAAX;QACC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAID,sBAAc,2CAAO;aAArB;YACC,4BAAY,IAAI,CAAC,OAAO,EAAG;QAC5B,CAAC;;;OAAA;IAcF,6BAAC;AAAD,CAAC,AArCD,IAqCC;AArCqB,wDAAsB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const MAX_DELAY_MS = 5000;
|
|
2
2
|
export declare const NON_RETRYABLE_CODES: number[];
|
|
3
|
+
export declare const CONNECTION_STATE_CHANGE = "ConnectionStateChange";
|
|
3
4
|
export declare enum MESSAGE_TYPES {
|
|
4
5
|
/**
|
|
5
6
|
* Client -> Server message.
|
|
@@ -84,3 +85,11 @@ export declare const DEFAULT_KEEP_ALIVE_TIMEOUT: number;
|
|
|
84
85
|
* Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
|
|
85
86
|
*/
|
|
86
87
|
export declare const DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT: number;
|
|
88
|
+
/**
|
|
89
|
+
* Default delay time in milleseconds between when reconnect is triggered vs when it is attempted
|
|
90
|
+
*/
|
|
91
|
+
export declare const RECONNECT_DELAY: number;
|
|
92
|
+
/**
|
|
93
|
+
* Default interval time in milleseconds between when reconnect is re-attempted
|
|
94
|
+
*/
|
|
95
|
+
export declare const RECONNECT_INTERVAL: number;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MAX_DELAY_MS = 5000;
|
|
4
4
|
exports.NON_RETRYABLE_CODES = [400, 401, 403];
|
|
5
|
+
exports.CONNECTION_STATE_CHANGE = 'ConnectionStateChange';
|
|
5
6
|
var MESSAGE_TYPES;
|
|
6
7
|
(function (MESSAGE_TYPES) {
|
|
7
8
|
/**
|
|
@@ -91,4 +92,12 @@ exports.DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;
|
|
|
91
92
|
* Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
|
|
92
93
|
*/
|
|
93
94
|
exports.DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;
|
|
95
|
+
/**
|
|
96
|
+
* Default delay time in milleseconds between when reconnect is triggered vs when it is attempted
|
|
97
|
+
*/
|
|
98
|
+
exports.RECONNECT_DELAY = 5 * 1000;
|
|
99
|
+
/**
|
|
100
|
+
* Default interval time in milleseconds between when reconnect is re-attempted
|
|
101
|
+
*/
|
|
102
|
+
exports.RECONNECT_INTERVAL = 60 * 1000;
|
|
94
103
|
//# sourceMappingURL=constants.js.map
|