@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.
Files changed (102) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/aws-amplify-pubsub.js +1260 -2214
  3. package/dist/aws-amplify-pubsub.js.map +1 -1
  4. package/dist/aws-amplify-pubsub.min.js +3 -3
  5. package/dist/aws-amplify-pubsub.min.js.map +1 -1
  6. package/lib/Providers/AWSAppSyncProvider.js +20 -102
  7. package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
  8. package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +10 -2
  9. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +166 -208
  10. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  11. package/lib/Providers/AWSIotProvider.js +4 -52
  12. package/lib/Providers/AWSIotProvider.js.map +1 -1
  13. package/lib/Providers/MqttOverWSProvider.d.ts +5 -1
  14. package/lib/Providers/MqttOverWSProvider.js +172 -187
  15. package/lib/Providers/MqttOverWSProvider.js.map +1 -1
  16. package/lib/Providers/PubSubProvider.d.ts +1 -1
  17. package/lib/Providers/PubSubProvider.js +3 -13
  18. package/lib/Providers/PubSubProvider.js.map +1 -1
  19. package/lib/Providers/{AWSAppSyncRealTimeProvider/constants.d.ts → constants.d.ts} +9 -0
  20. package/lib/Providers/{AWSAppSyncRealTimeProvider/constants.js → constants.js} +9 -0
  21. package/lib/Providers/constants.js.map +1 -0
  22. package/lib/Providers/index.js +6 -8
  23. package/lib/Providers/index.js.map +1 -1
  24. package/lib/PubSub.js +6 -44
  25. package/lib/PubSub.js.map +1 -1
  26. package/lib/index.d.ts +3 -10
  27. package/lib/index.js +5 -14
  28. package/lib/index.js.map +1 -1
  29. package/lib/types/Provider.d.ts +10 -1
  30. package/lib/types/PubSub.d.ts +22 -8
  31. package/lib/types/PubSub.js +56 -0
  32. package/lib/types/PubSub.js.map +1 -1
  33. package/lib/types/index.d.ts +0 -17
  34. package/lib/types/index.js +2 -36
  35. package/lib/types/index.js.map +1 -1
  36. package/lib/utils/ConnectionStateMonitor.d.ts +2 -1
  37. package/lib/utils/ConnectionStateMonitor.js +25 -30
  38. package/lib/utils/ConnectionStateMonitor.js.map +1 -1
  39. package/lib/utils/ReachabilityMonitor/index.d.ts +3 -0
  40. package/lib/utils/ReachabilityMonitor/index.js +5 -0
  41. package/lib/utils/ReachabilityMonitor/index.js.map +1 -0
  42. package/lib/utils/ReachabilityMonitor/index.native.d.ts +3 -0
  43. package/lib/utils/ReachabilityMonitor/index.native.js +9 -0
  44. package/lib/utils/ReachabilityMonitor/index.native.js.map +1 -0
  45. package/lib/utils/ReconnectionMonitor.d.ts +29 -0
  46. package/lib/utils/ReconnectionMonitor.js +73 -0
  47. package/lib/utils/ReconnectionMonitor.js.map +1 -0
  48. package/lib-esm/Providers/AWSAppSyncProvider.js +1 -80
  49. package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
  50. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +10 -2
  51. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +130 -162
  52. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  53. package/lib-esm/Providers/AWSIotProvider.js +1 -49
  54. package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
  55. package/lib-esm/Providers/MqttOverWSProvider.d.ts +5 -1
  56. package/lib-esm/Providers/MqttOverWSProvider.js +154 -159
  57. package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
  58. package/lib-esm/Providers/PubSubProvider.d.ts +1 -1
  59. package/lib-esm/Providers/PubSubProvider.js +1 -11
  60. package/lib-esm/Providers/PubSubProvider.js.map +1 -1
  61. package/lib-esm/Providers/{AWSAppSyncRealTimeProvider/constants.d.ts → constants.d.ts} +9 -0
  62. package/lib-esm/Providers/{AWSAppSyncRealTimeProvider/constants.js → constants.js} +9 -0
  63. package/lib-esm/Providers/constants.js.map +1 -0
  64. package/lib-esm/PubSub.js +1 -36
  65. package/lib-esm/PubSub.js.map +1 -1
  66. package/lib-esm/index.d.ts +3 -10
  67. package/lib-esm/index.js +3 -11
  68. package/lib-esm/index.js.map +1 -1
  69. package/lib-esm/types/Provider.d.ts +10 -1
  70. package/lib-esm/types/PubSub.d.ts +22 -8
  71. package/lib-esm/types/PubSub.js +56 -0
  72. package/lib-esm/types/PubSub.js.map +1 -1
  73. package/lib-esm/types/index.d.ts +0 -17
  74. package/lib-esm/types/index.js +1 -36
  75. package/lib-esm/types/index.js.map +1 -1
  76. package/lib-esm/utils/ConnectionStateMonitor.d.ts +2 -1
  77. package/lib-esm/utils/ConnectionStateMonitor.js +14 -16
  78. package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
  79. package/lib-esm/utils/ReachabilityMonitor/index.d.ts +3 -0
  80. package/lib-esm/utils/ReachabilityMonitor/index.js +3 -0
  81. package/lib-esm/utils/ReachabilityMonitor/index.js.map +1 -0
  82. package/lib-esm/utils/ReachabilityMonitor/index.native.d.ts +3 -0
  83. package/lib-esm/utils/ReachabilityMonitor/index.native.js +6 -0
  84. package/lib-esm/utils/ReachabilityMonitor/index.native.js.map +1 -0
  85. package/lib-esm/utils/ReconnectionMonitor.d.ts +29 -0
  86. package/lib-esm/utils/ReconnectionMonitor.js +71 -0
  87. package/lib-esm/utils/ReconnectionMonitor.js.map +1 -0
  88. package/package.json +6 -5
  89. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +154 -90
  90. package/src/Providers/MqttOverWSProvider.ts +120 -53
  91. package/src/Providers/PubSubProvider.ts +1 -1
  92. package/src/Providers/{AWSAppSyncRealTimeProvider/constants.ts → constants.ts} +12 -0
  93. package/src/index.ts +3 -10
  94. package/src/types/Provider.ts +13 -1
  95. package/src/types/PubSub.ts +47 -8
  96. package/src/types/index.ts +0 -43
  97. package/src/utils/ConnectionStateMonitor.ts +20 -5
  98. package/src/utils/ReachabilityMonitor/index.native.ts +5 -0
  99. package/src/utils/ReachabilityMonitor/index.ts +3 -0
  100. package/src/utils/ReconnectionMonitor.ts +74 -0
  101. package/lib/Providers/AWSAppSyncRealTimeProvider/constants.js.map +0 -1
  102. 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
- return __generator(this, function (_a) {
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 _this = this;
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
- clientIdObservers.forEach(function (observer) {
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(client); },
251
- onFailure: reject,
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
- return _this.newClient(__assign(__assign({}, options), { clientId: clientId }));
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, url, client;
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.endpoint];
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
- logger.debug('Publishing to topic(s)', targetTopics.join(','), message);
307
- targetTopics.forEach(function (topic) { return client.send(topic, message); });
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 _a, url, _b, e_1;
360
- return __generator(this, function (_c) {
361
- switch (_c.label) {
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
- _a = options.url;
364
- if (!(_a === void 0)) return [3 /*break*/, 2];
365
- return [4 /*yield*/, this.endpoint];
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
- _b = _c.sent();
368
- return [3 /*break*/, 3];
369
- case 2:
370
- _b = _a;
371
- _c.label = 3;
372
- case 3:
373
- url = _b;
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 [3 /*break*/, 7];
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
- logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));
395
- if (client) {
396
- (_a = _this._clientIdObservers.get(clientId)) === null || _a === void 0 ? void 0 : _a.delete(observer);
397
- // No more observers per client => client not needed anymore
398
- if (((_b = _this._clientIdObservers.get(clientId)) === null || _b === void 0 ? void 0 : _b.size) === 0) {
399
- _this.disconnect(clientId);
400
- _this._clientIdObservers.delete(clientId);
401
- }
402
- targetTopics.forEach(function (topic) {
403
- var observersForTopic = _this._topicObservers.get(topic) ||
404
- new Set();
405
- observersForTopic.delete(observer);
406
- // if no observers exists for the topic, topic should be removed
407
- if (observersForTopic.size === 0) {
408
- _this._topicObservers.delete(topic);
409
- if (client.isConnected()) {
410
- client.unsubscribe(topic);
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
- return null;
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":"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"}
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":";;;;;;;;;;;;;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,yBAAQ,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,oBAAY,IAAI,CAAC,OAAO,EAAG;QAC5B,CAAC;;;OAAA;IAcF,6BAAC;AAAD,CAAC,AArCD,IAqCC;AArCqB,wDAAsB"}
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