@aws-amplify/pubsub 4.5.11 → 4.5.12-unstable.2
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 +0 -8
- package/lib/.tsbuildinfo +3 -0
- package/lib/Providers/AWSAppSyncProvider.d.ts +21 -0
- package/lib/Providers/AWSAppSyncProvider.js +20 -102
- package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +75 -0
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +158 -210
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib/Providers/AWSIotProvider.d.ts +11 -0
- package/lib/Providers/AWSIotProvider.js +6 -64
- package/lib/Providers/AWSIotProvider.js.map +1 -1
- package/lib/Providers/MqttOverWSProvider.d.ts +41 -0
- package/lib/Providers/MqttOverWSProvider.js +158 -204
- package/lib/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib/Providers/PubSubProvider.d.ts +13 -0
- package/lib/Providers/PubSubProvider.js +3 -13
- package/lib/Providers/PubSubProvider.js.map +1 -1
- package/lib/Providers/constants.d.ts +95 -0
- package/lib/Providers/constants.js +8 -0
- package/lib/Providers/constants.js.map +1 -1
- package/lib/Providers/index.d.ts +5 -0
- package/lib/Providers/index.js +13 -20
- package/lib/Providers/index.js.map +1 -1
- package/lib/PubSub.d.ts +51 -0
- package/lib/PubSub.js +8 -56
- package/lib/PubSub.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +9 -20
- package/lib/index.js.map +1 -1
- package/lib/types/Provider.d.ts +14 -0
- package/lib/types/PubSub.d.ts +24 -0
- package/lib/types/PubSub.js +2 -12
- package/lib/types/PubSub.js.map +1 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.js +2 -4
- package/lib/types/index.js.map +1 -1
- package/lib/utils/ConnectionStateMonitor.d.ts +41 -0
- package/lib/utils/ConnectionStateMonitor.js +16 -29
- package/lib/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib/utils/ReachabilityMonitor/index.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.native.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.native.js +2 -4
- package/lib/utils/ReachabilityMonitor/index.native.js.map +1 -1
- 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/.tsbuildinfo +3 -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 +8 -0
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +126 -168
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib-esm/Providers/AWSIotProvider.js +3 -61
- package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
- package/lib-esm/Providers/MqttOverWSProvider.d.ts +2 -4
- package/lib-esm/Providers/MqttOverWSProvider.js +139 -175
- package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib-esm/Providers/PubSubProvider.js +1 -11
- package/lib-esm/Providers/PubSubProvider.js.map +1 -1
- package/lib-esm/Providers/constants.d.ts +8 -0
- package/lib-esm/Providers/constants.js +8 -0
- package/lib-esm/Providers/constants.js.map +1 -1
- package/lib-esm/Providers/index.d.ts +5 -5
- package/lib-esm/Providers/index.js +7 -17
- package/lib-esm/Providers/index.js.map +1 -1
- package/lib-esm/PubSub.js +3 -48
- package/lib-esm/PubSub.js.map +1 -1
- package/lib-esm/index.d.ts +2 -7
- package/lib-esm/index.js +4 -19
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +0 -4
- package/lib-esm/types/PubSub.js +2 -12
- package/lib-esm/types/PubSub.js.map +1 -1
- package/lib-esm/types/index.js.map +1 -1
- package/lib-esm/utils/ConnectionStateMonitor.d.ts +1 -0
- package/lib-esm/utils/ConnectionStateMonitor.js +13 -23
- package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
- 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 +14 -10
- package/src/Providers/AWSAppSyncProvider.ts +2 -12
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +142 -89
- package/src/Providers/AWSIotProvider.ts +2 -12
- package/src/Providers/MqttOverWSProvider.ts +90 -79
- package/src/Providers/PubSubProvider.ts +2 -12
- package/src/Providers/constants.ts +10 -0
- package/src/Providers/index.ts +15 -17
- package/src/PubSub.ts +2 -12
- package/src/index.ts +15 -23
- package/src/types/Provider.ts +2 -17
- package/src/types/PubSub.ts +2 -12
- package/src/types/index.ts +2 -12
- package/src/utils/ConnectionStateMonitor.ts +16 -12
- package/src/utils/ReconnectionMonitor.ts +74 -0
- package/build.js +0 -5
- package/dist/aws-amplify-pubsub.js +0 -10314
- package/dist/aws-amplify-pubsub.js.map +0 -1
- package/dist/aws-amplify-pubsub.min.js +0 -11
- package/dist/aws-amplify-pubsub.min.js.map +0 -1
- package/index.js +0 -7
- package/webpack.config.dev.js +0 -6
|
@@ -1,104 +1,16 @@
|
|
|
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 });
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
* the License. A copy of the License is located at
|
|
89
|
-
*
|
|
90
|
-
* http://aws.amazon.com/apache2.0/
|
|
91
|
-
*
|
|
92
|
-
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
93
|
-
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
94
|
-
* and limitations under the License.
|
|
95
|
-
*/
|
|
96
|
-
var Paho = __importStar(require("paho-mqtt"));
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
var Paho = tslib_1.__importStar(require("paho-mqtt"));
|
|
97
7
|
var uuid_1 = require("uuid");
|
|
98
|
-
var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
|
|
8
|
+
var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
|
|
99
9
|
var PubSubProvider_1 = require("./PubSubProvider");
|
|
10
|
+
var PubSub_1 = require("../types/PubSub");
|
|
100
11
|
var core_1 = require("@aws-amplify/core");
|
|
101
12
|
var ConnectionStateMonitor_1 = require("../utils/ConnectionStateMonitor");
|
|
13
|
+
var ReconnectionMonitor_1 = require("../utils/ReconnectionMonitor");
|
|
102
14
|
var constants_1 = require("./constants");
|
|
103
15
|
var logger = new core_1.ConsoleLogger('MqttOverWSProvider');
|
|
104
16
|
function mqttTopicMatch(filter, topic) {
|
|
@@ -121,16 +33,17 @@ var ClientsQueue = /** @class */ (function () {
|
|
|
121
33
|
this.promises = new Map();
|
|
122
34
|
}
|
|
123
35
|
ClientsQueue.prototype.get = function (clientId, clientFactory) {
|
|
124
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
36
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
125
37
|
var cachedPromise, newPromise;
|
|
126
|
-
|
|
38
|
+
var _this = this;
|
|
39
|
+
return tslib_1.__generator(this, function (_a) {
|
|
127
40
|
cachedPromise = this.promises.get(clientId);
|
|
128
|
-
if (cachedPromise)
|
|
41
|
+
if (cachedPromise)
|
|
129
42
|
return [2 /*return*/, cachedPromise];
|
|
130
|
-
}
|
|
131
43
|
if (clientFactory) {
|
|
132
44
|
newPromise = clientFactory(clientId);
|
|
133
45
|
this.promises.set(clientId, newPromise);
|
|
46
|
+
newPromise.catch(function (v) { return _this.promises.delete(clientId); });
|
|
134
47
|
return [2 /*return*/, newPromise];
|
|
135
48
|
}
|
|
136
49
|
return [2 /*return*/, undefined];
|
|
@@ -154,12 +67,13 @@ var dispatchPubSubEvent = function (event, data, message) {
|
|
|
154
67
|
};
|
|
155
68
|
var topicSymbol = typeof Symbol !== 'undefined' ? Symbol('topic') : '@@topic';
|
|
156
69
|
var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
157
|
-
__extends(MqttOverWSProvider, _super);
|
|
70
|
+
tslib_1.__extends(MqttOverWSProvider, _super);
|
|
158
71
|
function MqttOverWSProvider(options) {
|
|
159
72
|
if (options === void 0) { options = {}; }
|
|
160
|
-
var _this = _super.call(this, __assign(__assign({}, options), { clientId: options.clientId || uuid_1.v4() })) || this;
|
|
73
|
+
var _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { clientId: options.clientId || uuid_1.v4() })) || this;
|
|
161
74
|
_this._clientsQueue = new ClientsQueue();
|
|
162
75
|
_this.connectionStateMonitor = new ConnectionStateMonitor_1.ConnectionStateMonitor();
|
|
76
|
+
_this.reconnectionMonitor = new ReconnectionMonitor_1.ReconnectionMonitor();
|
|
163
77
|
_this._topicObservers = new Map();
|
|
164
78
|
_this._clientIdObservers = new Map();
|
|
165
79
|
// Monitor the connection health state and pass changes along to Hub
|
|
@@ -168,6 +82,15 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
168
82
|
provider: _this,
|
|
169
83
|
connectionState: connectionStateChange,
|
|
170
84
|
}, "Connection state is " + connectionStateChange);
|
|
85
|
+
_this.connectionState = connectionStateChange;
|
|
86
|
+
// Trigger reconnection when the connection is disrupted
|
|
87
|
+
if (connectionStateChange === PubSub_1.ConnectionState.ConnectionDisrupted) {
|
|
88
|
+
_this.reconnectionMonitor.record(ReconnectionMonitor_1.ReconnectEvent.START_RECONNECT);
|
|
89
|
+
}
|
|
90
|
+
else if (connectionStateChange !== PubSub_1.ConnectionState.Connecting) {
|
|
91
|
+
// Trigger connected to halt reconnection attempts
|
|
92
|
+
_this.reconnectionMonitor.record(ReconnectionMonitor_1.ReconnectEvent.HALT_RECONNECT);
|
|
93
|
+
}
|
|
171
94
|
});
|
|
172
95
|
return _this;
|
|
173
96
|
}
|
|
@@ -207,11 +130,9 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
207
130
|
return 'MqttOverWSProvider';
|
|
208
131
|
};
|
|
209
132
|
MqttOverWSProvider.prototype.onDisconnect = function (_a) {
|
|
210
|
-
var
|
|
211
|
-
var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, ["clientId", "errorCode"]);
|
|
133
|
+
var clientId = _a.clientId, errorCode = _a.errorCode, args = tslib_1.__rest(_a, ["clientId", "errorCode"]);
|
|
212
134
|
if (errorCode !== 0) {
|
|
213
|
-
logger.warn(clientId, JSON.stringify(__assign({ errorCode: errorCode }, args), null, 2));
|
|
214
|
-
var topicsToDelete_1 = [];
|
|
135
|
+
logger.warn(clientId, JSON.stringify(tslib_1.__assign({ errorCode: errorCode }, args), null, 2));
|
|
215
136
|
if (!clientId) {
|
|
216
137
|
return;
|
|
217
138
|
}
|
|
@@ -219,59 +140,47 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
219
140
|
if (!clientIdObservers) {
|
|
220
141
|
return;
|
|
221
142
|
}
|
|
222
|
-
|
|
223
|
-
observer.error('Disconnected, error code: ' + errorCode);
|
|
224
|
-
// removing observers for disconnected clientId
|
|
225
|
-
_this._topicObservers.forEach(function (observerForTopic, observerTopic) {
|
|
226
|
-
observerForTopic.delete(observer);
|
|
227
|
-
if (observerForTopic.size === 0) {
|
|
228
|
-
topicsToDelete_1.push(observerTopic);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
// forgiving any trace of clientId
|
|
233
|
-
this._clientIdObservers.delete(clientId);
|
|
234
|
-
// Removing topics that are not listen by an observer
|
|
235
|
-
topicsToDelete_1.forEach(function (topic) {
|
|
236
|
-
_this._topicObservers.delete(topic);
|
|
237
|
-
});
|
|
143
|
+
this.disconnect(clientId);
|
|
238
144
|
}
|
|
239
145
|
};
|
|
240
146
|
MqttOverWSProvider.prototype.newClient = function (_a) {
|
|
241
147
|
var url = _a.url, clientId = _a.clientId;
|
|
242
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
243
|
-
var client;
|
|
148
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
149
|
+
var client, connected;
|
|
244
150
|
var _this = this;
|
|
245
|
-
return __generator(this, function (_b) {
|
|
151
|
+
return tslib_1.__generator(this, function (_b) {
|
|
246
152
|
switch (_b.label) {
|
|
247
153
|
case 0:
|
|
248
154
|
logger.debug('Creating new MQTT client', clientId);
|
|
249
155
|
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.OPENING_CONNECTION);
|
|
250
156
|
client = new Paho.Client(url, clientId);
|
|
251
|
-
// client.trace = (args) => logger.debug(clientId, JSON.stringify(args, null, 2));
|
|
252
157
|
client.onMessageArrived = function (_a) {
|
|
253
158
|
var topic = _a.destinationName, msg = _a.payloadString;
|
|
254
159
|
_this._onMessage(topic, msg);
|
|
255
160
|
};
|
|
256
161
|
client.onConnectionLost = function (_a) {
|
|
257
|
-
var errorCode = _a.errorCode, args = __rest(_a, ["errorCode"]);
|
|
258
|
-
_this.onDisconnect(__assign({ clientId: clientId, errorCode: errorCode }, args));
|
|
162
|
+
var errorCode = _a.errorCode, args = tslib_1.__rest(_a, ["errorCode"]);
|
|
163
|
+
_this.onDisconnect(tslib_1.__assign({ clientId: clientId, errorCode: errorCode }, args));
|
|
259
164
|
_this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
260
165
|
};
|
|
261
166
|
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
262
167
|
client.connect({
|
|
263
168
|
useSSL: _this.isSSLEnabled,
|
|
264
169
|
mqttVersion: 3,
|
|
265
|
-
onSuccess: function () { return resolve(
|
|
266
|
-
onFailure: function () {
|
|
267
|
-
|
|
268
|
-
|
|
170
|
+
onSuccess: function () { return resolve(true); },
|
|
171
|
+
onFailure: function (x) {
|
|
172
|
+
if (clientId)
|
|
173
|
+
_this._clientsQueue.remove(clientId);
|
|
174
|
+
_this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
175
|
+
resolve(false);
|
|
269
176
|
},
|
|
270
177
|
});
|
|
271
178
|
})];
|
|
272
179
|
case 1:
|
|
273
|
-
_b.sent();
|
|
274
|
-
|
|
180
|
+
connected = _b.sent();
|
|
181
|
+
if (connected) {
|
|
182
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CONNECTION_ESTABLISHED);
|
|
183
|
+
}
|
|
275
184
|
return [2 /*return*/, client];
|
|
276
185
|
}
|
|
277
186
|
});
|
|
@@ -279,52 +188,68 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
279
188
|
};
|
|
280
189
|
MqttOverWSProvider.prototype.connect = function (clientId, options) {
|
|
281
190
|
if (options === void 0) { options = {}; }
|
|
282
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
191
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
283
192
|
var _this = this;
|
|
284
|
-
return __generator(this, function (_a) {
|
|
193
|
+
return tslib_1.__generator(this, function (_a) {
|
|
285
194
|
switch (_a.label) {
|
|
286
|
-
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) {
|
|
287
|
-
|
|
288
|
-
|
|
195
|
+
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
196
|
+
var client;
|
|
197
|
+
return tslib_1.__generator(this, function (_a) {
|
|
198
|
+
switch (_a.label) {
|
|
199
|
+
case 0: return [4 /*yield*/, this.newClient(tslib_1.__assign(tslib_1.__assign({}, options), { clientId: clientId }))];
|
|
200
|
+
case 1:
|
|
201
|
+
client = _a.sent();
|
|
202
|
+
if (client) {
|
|
203
|
+
// Once connected, subscribe to all topics registered observers
|
|
204
|
+
this._topicObservers.forEach(function (_value, key) {
|
|
205
|
+
client.subscribe(key);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
return [2 /*return*/, client];
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}); })];
|
|
289
212
|
case 1: return [2 /*return*/, _a.sent()];
|
|
290
213
|
}
|
|
291
214
|
});
|
|
292
215
|
});
|
|
293
216
|
};
|
|
294
217
|
MqttOverWSProvider.prototype.disconnect = function (clientId) {
|
|
295
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
218
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
296
219
|
var client;
|
|
297
|
-
return __generator(this, function (_a) {
|
|
220
|
+
return tslib_1.__generator(this, function (_a) {
|
|
298
221
|
switch (_a.label) {
|
|
299
222
|
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];
|
|
300
223
|
case 1:
|
|
301
224
|
client = _a.sent();
|
|
302
225
|
if (client && client.isConnected()) {
|
|
303
226
|
client.disconnect();
|
|
304
|
-
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
305
227
|
}
|
|
306
228
|
this.clientsQueue.remove(clientId);
|
|
229
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSED);
|
|
307
230
|
return [2 /*return*/];
|
|
308
231
|
}
|
|
309
232
|
});
|
|
310
233
|
});
|
|
311
234
|
};
|
|
312
235
|
MqttOverWSProvider.prototype.publish = function (topics, msg) {
|
|
313
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
314
|
-
var targetTopics, message,
|
|
315
|
-
return __generator(this, function (_a) {
|
|
236
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
237
|
+
var targetTopics, message, client;
|
|
238
|
+
return tslib_1.__generator(this, function (_a) {
|
|
316
239
|
switch (_a.label) {
|
|
317
240
|
case 0:
|
|
318
241
|
targetTopics = [].concat(topics);
|
|
319
242
|
message = JSON.stringify(msg);
|
|
320
|
-
return [4 /*yield*/, this.
|
|
243
|
+
return [4 /*yield*/, this.clientsQueue.get(this.clientId)];
|
|
321
244
|
case 1:
|
|
322
|
-
url = _a.sent();
|
|
323
|
-
return [4 /*yield*/, this.connect(this.clientId, { url: url })];
|
|
324
|
-
case 2:
|
|
325
245
|
client = _a.sent();
|
|
326
|
-
|
|
327
|
-
|
|
246
|
+
if (client) {
|
|
247
|
+
logger.debug('Publishing to topic(s)', targetTopics.join(','), message);
|
|
248
|
+
targetTopics.forEach(function (topic) { return client.send(topic, message); });
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
logger.debug('Publishing to topic(s) failed', targetTopics.join(','), message);
|
|
252
|
+
}
|
|
328
253
|
return [2 /*return*/];
|
|
329
254
|
}
|
|
330
255
|
});
|
|
@@ -355,6 +280,7 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
355
280
|
if (options === void 0) { options = {}; }
|
|
356
281
|
var targetTopics = [].concat(topics);
|
|
357
282
|
logger.debug('Subscribing to topic(s)', targetTopics.join(','));
|
|
283
|
+
var reconnectSubscription;
|
|
358
284
|
return new zen_observable_ts_1.default(function (observer) {
|
|
359
285
|
targetTopics.forEach(function (topic) {
|
|
360
286
|
// this._topicObservers is used to notify the observers according to the topic received on the message
|
|
@@ -365,8 +291,6 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
365
291
|
}
|
|
366
292
|
observersForTopic.add(observer);
|
|
367
293
|
});
|
|
368
|
-
// @ts-ignore
|
|
369
|
-
var client;
|
|
370
294
|
var _a = options.clientId, clientId = _a === void 0 ? _this.clientId : _a;
|
|
371
295
|
// this._clientIdObservers is used to close observers when client gets disconnected
|
|
372
296
|
var observersForClientId = _this._clientIdObservers.get(clientId);
|
|
@@ -375,66 +299,96 @@ var MqttOverWSProvider = /** @class */ (function (_super) {
|
|
|
375
299
|
}
|
|
376
300
|
observersForClientId.add(observer);
|
|
377
301
|
_this._clientIdObservers.set(clientId, observersForClientId);
|
|
378
|
-
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
379
|
-
var
|
|
380
|
-
|
|
381
|
-
|
|
302
|
+
(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
303
|
+
var getClient;
|
|
304
|
+
var _this = this;
|
|
305
|
+
return tslib_1.__generator(this, function (_a) {
|
|
306
|
+
switch (_a.label) {
|
|
382
307
|
case 0:
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
308
|
+
getClient = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
309
|
+
var _a, url, _b, client_1, e_1;
|
|
310
|
+
return tslib_1.__generator(this, function (_c) {
|
|
311
|
+
switch (_c.label) {
|
|
312
|
+
case 0:
|
|
313
|
+
_c.trys.push([0, 5, , 6]);
|
|
314
|
+
_a = options.url;
|
|
315
|
+
if (!(_a === void 0)) return [3 /*break*/, 2];
|
|
316
|
+
return [4 /*yield*/, this.endpoint];
|
|
317
|
+
case 1:
|
|
318
|
+
_b = _c.sent();
|
|
319
|
+
return [3 /*break*/, 3];
|
|
320
|
+
case 2:
|
|
321
|
+
_b = _a;
|
|
322
|
+
_c.label = 3;
|
|
323
|
+
case 3:
|
|
324
|
+
url = _b;
|
|
325
|
+
return [4 /*yield*/, this.connect(clientId, { url: url })];
|
|
326
|
+
case 4:
|
|
327
|
+
client_1 = _c.sent();
|
|
328
|
+
if (client_1 !== undefined) {
|
|
329
|
+
targetTopics.forEach(function (topic) {
|
|
330
|
+
client_1.subscribe(topic);
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
return [3 /*break*/, 6];
|
|
334
|
+
case 5:
|
|
335
|
+
e_1 = _c.sent();
|
|
336
|
+
logger.debug('Error forming connection', e_1);
|
|
337
|
+
return [3 /*break*/, 6];
|
|
338
|
+
case 6: return [2 /*return*/];
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
}); };
|
|
342
|
+
// Establish the initial connection
|
|
343
|
+
return [4 /*yield*/, getClient()];
|
|
386
344
|
case 1:
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
_c.label = 4;
|
|
395
|
-
case 4:
|
|
396
|
-
_c.trys.push([4, 6, , 7]);
|
|
397
|
-
return [4 /*yield*/, this.connect(clientId, { url: url })];
|
|
398
|
-
case 5:
|
|
399
|
-
client = _c.sent();
|
|
400
|
-
targetTopics.forEach(function (topic) {
|
|
401
|
-
client.subscribe(topic);
|
|
345
|
+
// Establish the initial connection
|
|
346
|
+
_a.sent();
|
|
347
|
+
// Add an observable to the reconnection list to manage reconnection for this subscription
|
|
348
|
+
reconnectSubscription = new zen_observable_ts_1.default(function (observer) {
|
|
349
|
+
_this.reconnectionMonitor.addObserver(observer);
|
|
350
|
+
}).subscribe(function () {
|
|
351
|
+
getClient();
|
|
402
352
|
});
|
|
403
|
-
return [
|
|
404
|
-
case 6:
|
|
405
|
-
e_1 = _c.sent();
|
|
406
|
-
observer.error(e_1);
|
|
407
|
-
return [3 /*break*/, 7];
|
|
408
|
-
case 7: return [2 /*return*/];
|
|
353
|
+
return [2 /*return*/];
|
|
409
354
|
}
|
|
410
355
|
});
|
|
411
356
|
}); })();
|
|
412
|
-
return function () {
|
|
357
|
+
return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
358
|
+
var client;
|
|
359
|
+
var _this = this;
|
|
413
360
|
var _a, _b;
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
361
|
+
return tslib_1.__generator(this, function (_c) {
|
|
362
|
+
switch (_c.label) {
|
|
363
|
+
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];
|
|
364
|
+
case 1:
|
|
365
|
+
client = _c.sent();
|
|
366
|
+
reconnectSubscription === null || reconnectSubscription === void 0 ? void 0 : reconnectSubscription.unsubscribe();
|
|
367
|
+
if (client) {
|
|
368
|
+
(_a = this._clientIdObservers.get(clientId)) === null || _a === void 0 ? void 0 : _a.delete(observer);
|
|
369
|
+
// No more observers per client => client not needed anymore
|
|
370
|
+
if (((_b = this._clientIdObservers.get(clientId)) === null || _b === void 0 ? void 0 : _b.size) === 0) {
|
|
371
|
+
this.disconnect(clientId);
|
|
372
|
+
this.connectionStateMonitor.record(ConnectionStateMonitor_1.CONNECTION_CHANGE.CLOSING_CONNECTION);
|
|
373
|
+
this._clientIdObservers.delete(clientId);
|
|
374
|
+
}
|
|
375
|
+
targetTopics.forEach(function (topic) {
|
|
376
|
+
var observersForTopic = _this._topicObservers.get(topic) ||
|
|
377
|
+
new Set();
|
|
378
|
+
observersForTopic.delete(observer);
|
|
379
|
+
// if no observers exists for the topic, topic should be removed
|
|
380
|
+
if (observersForTopic.size === 0) {
|
|
381
|
+
_this._topicObservers.delete(topic);
|
|
382
|
+
if (client.isConnected()) {
|
|
383
|
+
client.unsubscribe(topic);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
});
|
|
432
387
|
}
|
|
433
|
-
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
};
|
|
388
|
+
return [2 /*return*/, null];
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
}); };
|
|
438
392
|
});
|
|
439
393
|
};
|
|
440
394
|
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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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Observable from 'zen-observable-ts';
|
|
2
|
+
import { PubSubProvider, ProviderOptions } from '../types/Provider';
|
|
3
|
+
export declare abstract class AbstractPubSubProvider implements PubSubProvider {
|
|
4
|
+
private _config;
|
|
5
|
+
constructor(options?: ProviderOptions);
|
|
6
|
+
configure(config?: ProviderOptions): ProviderOptions;
|
|
7
|
+
getCategory(): string;
|
|
8
|
+
abstract getProviderName(): string;
|
|
9
|
+
protected get options(): ProviderOptions;
|
|
10
|
+
abstract newClient(clientOptions: ProviderOptions): Promise<any>;
|
|
11
|
+
abstract publish(topics: string[] | string, msg: any, options?: ProviderOptions): void;
|
|
12
|
+
abstract subscribe(topics: string[] | string, options?: ProviderOptions): Observable<any>;
|
|
13
|
+
}
|
|
@@ -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":";;;AAIA,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"}
|