@aws-amplify/pubsub 5.0.16 → 5.0.17-unstable-v5.6

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 (77) hide show
  1. package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +9 -8
  2. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +19 -14
  3. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  4. package/lib/Providers/AWSIotProvider.d.ts +1 -1
  5. package/lib/Providers/AWSIotProvider.js +1 -1
  6. package/lib/Providers/AWSIotProvider.js.map +1 -1
  7. package/lib/Providers/MqttOverWSProvider.d.ts +29 -12
  8. package/lib/Providers/MqttOverWSProvider.js +9 -11
  9. package/lib/Providers/MqttOverWSProvider.js.map +1 -1
  10. package/lib/Providers/PubSubProvider.d.ts +8 -7
  11. package/lib/Providers/PubSubProvider.js +0 -2
  12. package/lib/Providers/PubSubProvider.js.map +1 -1
  13. package/lib/Providers/index.d.ts +0 -1
  14. package/lib/Providers/index.js +0 -2
  15. package/lib/Providers/index.js.map +1 -1
  16. package/lib/PubSub.d.ts +9 -3
  17. package/lib/PubSub.js +4 -2
  18. package/lib/PubSub.js.map +1 -1
  19. package/lib/index.d.ts +1 -1
  20. package/lib/index.js +0 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/types/Provider.d.ts +7 -3
  23. package/lib/types/PubSub.d.ts +3 -0
  24. package/lib/types/PubSub.js +0 -2
  25. package/lib/types/PubSub.js.map +1 -1
  26. package/lib/types/index.d.ts +1 -1
  27. package/lib/types/index.js +3 -2
  28. package/lib/types/index.js.map +1 -1
  29. package/lib/utils/ConnectionStateMonitor.js.map +1 -1
  30. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +9 -8
  31. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +20 -15
  32. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  33. package/lib-esm/Providers/AWSIotProvider.d.ts +1 -1
  34. package/lib-esm/Providers/AWSIotProvider.js +1 -1
  35. package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
  36. package/lib-esm/Providers/MqttOverWSProvider.d.ts +29 -12
  37. package/lib-esm/Providers/MqttOverWSProvider.js +10 -12
  38. package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
  39. package/lib-esm/Providers/PubSubProvider.d.ts +8 -7
  40. package/lib-esm/Providers/PubSubProvider.js +0 -2
  41. package/lib-esm/Providers/PubSubProvider.js.map +1 -1
  42. package/lib-esm/Providers/index.d.ts +0 -1
  43. package/lib-esm/Providers/index.js +0 -1
  44. package/lib-esm/Providers/index.js.map +1 -1
  45. package/lib-esm/PubSub.d.ts +9 -3
  46. package/lib-esm/PubSub.js +4 -2
  47. package/lib-esm/PubSub.js.map +1 -1
  48. package/lib-esm/index.d.ts +1 -1
  49. package/lib-esm/index.js +1 -1
  50. package/lib-esm/index.js.map +1 -1
  51. package/lib-esm/types/Provider.d.ts +7 -3
  52. package/lib-esm/types/PubSub.d.ts +3 -0
  53. package/lib-esm/types/PubSub.js +0 -2
  54. package/lib-esm/types/PubSub.js.map +1 -1
  55. package/lib-esm/types/index.d.ts +1 -1
  56. package/lib-esm/types/index.js +1 -1
  57. package/lib-esm/types/index.js.map +1 -1
  58. package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
  59. package/package.json +7 -8
  60. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +79 -29
  61. package/src/Providers/AWSIotProvider.ts +2 -2
  62. package/src/Providers/MqttOverWSProvider.ts +67 -32
  63. package/src/Providers/PubSubProvider.ts +13 -10
  64. package/src/Providers/index.ts +0 -1
  65. package/src/PubSub.ts +16 -8
  66. package/src/index.ts +0 -1
  67. package/src/types/Provider.ts +11 -3
  68. package/src/types/PubSub.ts +5 -0
  69. package/src/types/index.ts +1 -1
  70. package/src/utils/ConnectionStateMonitor.ts +0 -1
  71. package/lib/Providers/AWSAppSyncProvider.d.ts +0 -21
  72. package/lib/Providers/AWSAppSyncProvider.js +0 -210
  73. package/lib/Providers/AWSAppSyncProvider.js.map +0 -1
  74. package/lib-esm/Providers/AWSAppSyncProvider.d.ts +0 -21
  75. package/lib-esm/Providers/AWSAppSyncProvider.js +0 -208
  76. package/lib-esm/Providers/AWSAppSyncProvider.js.map +0 -1
  77. package/src/Providers/AWSAppSyncProvider.ts +0 -194
@@ -1,210 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
5
- var core_1 = require("@aws-amplify/core");
6
- var MqttOverWSProvider_1 = require("./MqttOverWSProvider");
7
- var logger = new core_1.ConsoleLogger('AWSAppSyncProvider');
8
- /**
9
- * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
10
- */
11
- var AWSAppSyncProvider = /** @class */ (function (_super) {
12
- tslib_1.__extends(AWSAppSyncProvider, _super);
13
- function AWSAppSyncProvider() {
14
- var _this = _super !== null && _super.apply(this, arguments) || this;
15
- _this._topicClient = new Map();
16
- _this._topicAlias = new Map();
17
- return _this;
18
- }
19
- Object.defineProperty(AWSAppSyncProvider.prototype, "endpoint", {
20
- get: function () {
21
- throw new Error('Not supported');
22
- },
23
- enumerable: true,
24
- configurable: true
25
- });
26
- AWSAppSyncProvider.prototype.getProviderName = function () {
27
- return 'AWSAppSyncProvider';
28
- };
29
- AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {
30
- return tslib_1.__awaiter(this, void 0, void 0, function () {
31
- return tslib_1.__generator(this, function (_a) {
32
- throw new Error('Operation not supported');
33
- });
34
- });
35
- };
36
- AWSAppSyncProvider.prototype._cleanUp = function (clientId) {
37
- var _this = this;
38
- var topicsForClient = Array.from(this._topicClient.entries())
39
- .filter(function (_a) {
40
- var _b = tslib_1.__read(_a, 2), c = _b[1];
41
- return c.clientId === clientId;
42
- })
43
- .map(function (_a) {
44
- var _b = tslib_1.__read(_a, 1), t = _b[0];
45
- return t;
46
- });
47
- topicsForClient.forEach(function (t) { return _this._cleanUpForTopic(t); });
48
- };
49
- AWSAppSyncProvider.prototype._cleanUpForTopic = function (topic) {
50
- this._topicClient.delete(topic);
51
- this._topicAlias.delete(topic);
52
- };
53
- AWSAppSyncProvider.prototype.onDisconnect = function (_a) {
54
- var _this = this;
55
- var clientId = _a.clientId, errorCode = _a.errorCode, args = tslib_1.__rest(_a, ["clientId", "errorCode"]);
56
- if (errorCode !== 0) {
57
- var topicsForClient = Array.from(this._topicClient.entries())
58
- .filter(function (_a) {
59
- var _b = tslib_1.__read(_a, 2), c = _b[1];
60
- return c.clientId === clientId;
61
- })
62
- .map(function (_a) {
63
- var _b = tslib_1.__read(_a, 1), t = _b[0];
64
- return t;
65
- });
66
- topicsForClient.forEach(function (topic) {
67
- if (_this._topicObservers.has(topic)) {
68
- _this._topicObservers.get(topic).forEach(function (obs) {
69
- if (!obs.closed) {
70
- obs.error(args);
71
- }
72
- });
73
- _this._topicObservers.delete(topic);
74
- }
75
- });
76
- this._cleanUp(clientId);
77
- }
78
- };
79
- AWSAppSyncProvider.prototype.disconnect = function (clientId) {
80
- return tslib_1.__awaiter(this, void 0, void 0, function () {
81
- var client;
82
- return tslib_1.__generator(this, function (_a) {
83
- switch (_a.label) {
84
- case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function () { return null; })];
85
- case 1:
86
- client = _a.sent();
87
- return [4 /*yield*/, _super.prototype.disconnect.call(this, clientId)];
88
- case 2:
89
- _a.sent();
90
- this._cleanUp(clientId);
91
- return [2 /*return*/];
92
- }
93
- });
94
- });
95
- };
96
- AWSAppSyncProvider.prototype.subscribe = function (topics, options) {
97
- var _this = this;
98
- if (options === void 0) { options = {}; }
99
- var result = new zen_observable_ts_1.default(function (observer) {
100
- var targetTopics = [].concat(topics);
101
- logger.debug('Subscribing to topic(s)', targetTopics.join(','));
102
- (function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
103
- var _a, mqttConnections, newSubscriptions, newAliases, map;
104
- var _this = this;
105
- return tslib_1.__generator(this, function (_b) {
106
- switch (_b.label) {
107
- case 0:
108
- // Add these topics to map
109
- targetTopics.forEach(function (t) {
110
- if (!_this._topicObservers.has(t)) {
111
- _this._topicObservers.set(t, new Set());
112
- }
113
- _this._topicObservers.get(t).add(observer);
114
- });
115
- _a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;
116
- newAliases = Object.entries(newSubscriptions).map(function (_a) {
117
- var _b = tslib_1.__read(_a, 2), alias = _b[0], v = _b[1];
118
- return [v.topic, alias];
119
- });
120
- // Merge new aliases with old ones
121
- this._topicAlias = new Map(tslib_1.__spread(Array.from(this._topicAlias.entries()), newAliases));
122
- map = Object.entries(targetTopics.reduce(function (acc, elem) {
123
- var connectionInfoForTopic = mqttConnections.find(function (c) { return c.topics.indexOf(elem) > -1; });
124
- if (connectionInfoForTopic) {
125
- var clientId = connectionInfoForTopic.client, url = connectionInfoForTopic.url;
126
- if (!acc[clientId]) {
127
- acc[clientId] = {
128
- url: url,
129
- topics: new Set(),
130
- };
131
- }
132
- acc[clientId].topics.add(elem);
133
- }
134
- return acc;
135
- }, {}));
136
- // reconnect everything we have in the map
137
- return [4 /*yield*/, Promise.all(map.map(function (_a) {
138
- var _b = tslib_1.__read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;
139
- return tslib_1.__awaiter(_this, void 0, void 0, function () {
140
- var client, err_1;
141
- var _this = this;
142
- return tslib_1.__generator(this, function (_d) {
143
- switch (_d.label) {
144
- case 0:
145
- client = null;
146
- _d.label = 1;
147
- case 1:
148
- _d.trys.push([1, 3, , 4]);
149
- return [4 /*yield*/, this.connect(clientId, {
150
- clientId: clientId,
151
- url: url,
152
- })];
153
- case 2:
154
- client = _d.sent();
155
- return [3 /*break*/, 4];
156
- case 3:
157
- err_1 = _d.sent();
158
- observer.error({ message: 'Failed to connect', error: err_1 });
159
- observer.complete();
160
- return [2 /*return*/, undefined];
161
- case 4:
162
- // subscribe to all topics for this client
163
- // store topic-client mapping
164
- topics.forEach(function (topic) {
165
- if (client.isConnected()) {
166
- client.subscribe(topic);
167
- _this._topicClient.set(topic, client);
168
- }
169
- });
170
- return [2 /*return*/, client];
171
- }
172
- });
173
- });
174
- }))];
175
- case 1:
176
- // reconnect everything we have in the map
177
- _b.sent();
178
- return [2 /*return*/];
179
- }
180
- });
181
- }); })();
182
- return function () {
183
- logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));
184
- targetTopics.forEach(function (t) {
185
- var client = _this._topicClient.get(t);
186
- if (client && client.isConnected()) {
187
- client.unsubscribe(t);
188
- _this._topicClient.delete(t);
189
- if (!Array.from(_this._topicClient.values()).some(function (c) { return c === client; })) {
190
- _this.disconnect(client.clientId);
191
- }
192
- }
193
- _this._topicObservers.delete(t);
194
- });
195
- };
196
- });
197
- return zen_observable_ts_1.default.from(result).map(function (value) {
198
- var topic = _this.getTopicForValue(value);
199
- var alias = _this._topicAlias.get(topic);
200
- value.data = Object.entries(value.data).reduce(function (obj, _a) {
201
- var _b = tslib_1.__read(_a, 2), origKey = _b[0], val = _b[1];
202
- return ((obj[(alias || origKey)] = val), obj);
203
- }, {});
204
- return value;
205
- });
206
- };
207
- return AWSAppSyncProvider;
208
- }(MqttOverWSProvider_1.MqttOverWSProvider));
209
- exports.AWSAppSyncProvider = AWSAppSyncProvider;
210
- //# sourceMappingURL=AWSAppSyncProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import Observable from 'zen-observable-ts';
2
- import { MqttOverWSProvider } from './MqttOverWSProvider';
3
- /**
4
- * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
5
- */
6
- export declare class AWSAppSyncProvider extends MqttOverWSProvider {
7
- protected get endpoint(): void;
8
- getProviderName(): string;
9
- publish(topics: string[] | string, msg: any, options?: any): Promise<void>;
10
- private _cleanUp;
11
- private _cleanUpForTopic;
12
- onDisconnect({ clientId, errorCode, ...args }: {
13
- [x: string]: any;
14
- clientId: any;
15
- errorCode: any;
16
- }): void;
17
- private _topicClient;
18
- private _topicAlias;
19
- protected disconnect(clientId: string): Promise<void>;
20
- subscribe(topics: string[] | string, options?: any): Observable<any>;
21
- }
@@ -1,208 +0,0 @@
1
- import { __awaiter, __extends, __generator, __read, __rest, __spread } from "tslib";
2
- import Observable from 'zen-observable-ts';
3
- import { ConsoleLogger as Logger } from '@aws-amplify/core';
4
- import { MqttOverWSProvider } from './MqttOverWSProvider';
5
- var logger = new Logger('AWSAppSyncProvider');
6
- /**
7
- * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
8
- */
9
- var AWSAppSyncProvider = /** @class */ (function (_super) {
10
- __extends(AWSAppSyncProvider, _super);
11
- function AWSAppSyncProvider() {
12
- var _this = _super !== null && _super.apply(this, arguments) || this;
13
- _this._topicClient = new Map();
14
- _this._topicAlias = new Map();
15
- return _this;
16
- }
17
- Object.defineProperty(AWSAppSyncProvider.prototype, "endpoint", {
18
- get: function () {
19
- throw new Error('Not supported');
20
- },
21
- enumerable: true,
22
- configurable: true
23
- });
24
- AWSAppSyncProvider.prototype.getProviderName = function () {
25
- return 'AWSAppSyncProvider';
26
- };
27
- AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {
28
- return __awaiter(this, void 0, void 0, function () {
29
- return __generator(this, function (_a) {
30
- throw new Error('Operation not supported');
31
- });
32
- });
33
- };
34
- AWSAppSyncProvider.prototype._cleanUp = function (clientId) {
35
- var _this = this;
36
- var topicsForClient = Array.from(this._topicClient.entries())
37
- .filter(function (_a) {
38
- var _b = __read(_a, 2), c = _b[1];
39
- return c.clientId === clientId;
40
- })
41
- .map(function (_a) {
42
- var _b = __read(_a, 1), t = _b[0];
43
- return t;
44
- });
45
- topicsForClient.forEach(function (t) { return _this._cleanUpForTopic(t); });
46
- };
47
- AWSAppSyncProvider.prototype._cleanUpForTopic = function (topic) {
48
- this._topicClient.delete(topic);
49
- this._topicAlias.delete(topic);
50
- };
51
- AWSAppSyncProvider.prototype.onDisconnect = function (_a) {
52
- var _this = this;
53
- var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, ["clientId", "errorCode"]);
54
- if (errorCode !== 0) {
55
- var topicsForClient = Array.from(this._topicClient.entries())
56
- .filter(function (_a) {
57
- var _b = __read(_a, 2), c = _b[1];
58
- return c.clientId === clientId;
59
- })
60
- .map(function (_a) {
61
- var _b = __read(_a, 1), t = _b[0];
62
- return t;
63
- });
64
- topicsForClient.forEach(function (topic) {
65
- if (_this._topicObservers.has(topic)) {
66
- _this._topicObservers.get(topic).forEach(function (obs) {
67
- if (!obs.closed) {
68
- obs.error(args);
69
- }
70
- });
71
- _this._topicObservers.delete(topic);
72
- }
73
- });
74
- this._cleanUp(clientId);
75
- }
76
- };
77
- AWSAppSyncProvider.prototype.disconnect = function (clientId) {
78
- return __awaiter(this, void 0, void 0, function () {
79
- var client;
80
- return __generator(this, function (_a) {
81
- switch (_a.label) {
82
- case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function () { return null; })];
83
- case 1:
84
- client = _a.sent();
85
- return [4 /*yield*/, _super.prototype.disconnect.call(this, clientId)];
86
- case 2:
87
- _a.sent();
88
- this._cleanUp(clientId);
89
- return [2 /*return*/];
90
- }
91
- });
92
- });
93
- };
94
- AWSAppSyncProvider.prototype.subscribe = function (topics, options) {
95
- var _this = this;
96
- if (options === void 0) { options = {}; }
97
- var result = new Observable(function (observer) {
98
- var targetTopics = [].concat(topics);
99
- logger.debug('Subscribing to topic(s)', targetTopics.join(','));
100
- (function () { return __awaiter(_this, void 0, void 0, function () {
101
- var _a, mqttConnections, newSubscriptions, newAliases, map;
102
- var _this = this;
103
- return __generator(this, function (_b) {
104
- switch (_b.label) {
105
- case 0:
106
- // Add these topics to map
107
- targetTopics.forEach(function (t) {
108
- if (!_this._topicObservers.has(t)) {
109
- _this._topicObservers.set(t, new Set());
110
- }
111
- _this._topicObservers.get(t).add(observer);
112
- });
113
- _a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;
114
- newAliases = Object.entries(newSubscriptions).map(function (_a) {
115
- var _b = __read(_a, 2), alias = _b[0], v = _b[1];
116
- return [v.topic, alias];
117
- });
118
- // Merge new aliases with old ones
119
- this._topicAlias = new Map(__spread(Array.from(this._topicAlias.entries()), newAliases));
120
- map = Object.entries(targetTopics.reduce(function (acc, elem) {
121
- var connectionInfoForTopic = mqttConnections.find(function (c) { return c.topics.indexOf(elem) > -1; });
122
- if (connectionInfoForTopic) {
123
- var clientId = connectionInfoForTopic.client, url = connectionInfoForTopic.url;
124
- if (!acc[clientId]) {
125
- acc[clientId] = {
126
- url: url,
127
- topics: new Set(),
128
- };
129
- }
130
- acc[clientId].topics.add(elem);
131
- }
132
- return acc;
133
- }, {}));
134
- // reconnect everything we have in the map
135
- return [4 /*yield*/, Promise.all(map.map(function (_a) {
136
- var _b = __read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;
137
- return __awaiter(_this, void 0, void 0, function () {
138
- var client, err_1;
139
- var _this = this;
140
- return __generator(this, function (_d) {
141
- switch (_d.label) {
142
- case 0:
143
- client = null;
144
- _d.label = 1;
145
- case 1:
146
- _d.trys.push([1, 3, , 4]);
147
- return [4 /*yield*/, this.connect(clientId, {
148
- clientId: clientId,
149
- url: url,
150
- })];
151
- case 2:
152
- client = _d.sent();
153
- return [3 /*break*/, 4];
154
- case 3:
155
- err_1 = _d.sent();
156
- observer.error({ message: 'Failed to connect', error: err_1 });
157
- observer.complete();
158
- return [2 /*return*/, undefined];
159
- case 4:
160
- // subscribe to all topics for this client
161
- // store topic-client mapping
162
- topics.forEach(function (topic) {
163
- if (client.isConnected()) {
164
- client.subscribe(topic);
165
- _this._topicClient.set(topic, client);
166
- }
167
- });
168
- return [2 /*return*/, client];
169
- }
170
- });
171
- });
172
- }))];
173
- case 1:
174
- // reconnect everything we have in the map
175
- _b.sent();
176
- return [2 /*return*/];
177
- }
178
- });
179
- }); })();
180
- return function () {
181
- logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));
182
- targetTopics.forEach(function (t) {
183
- var client = _this._topicClient.get(t);
184
- if (client && client.isConnected()) {
185
- client.unsubscribe(t);
186
- _this._topicClient.delete(t);
187
- if (!Array.from(_this._topicClient.values()).some(function (c) { return c === client; })) {
188
- _this.disconnect(client.clientId);
189
- }
190
- }
191
- _this._topicObservers.delete(t);
192
- });
193
- };
194
- });
195
- return Observable.from(result).map(function (value) {
196
- var topic = _this.getTopicForValue(value);
197
- var alias = _this._topicAlias.get(topic);
198
- value.data = Object.entries(value.data).reduce(function (obj, _a) {
199
- var _b = __read(_a, 2), origKey = _b[0], val = _b[1];
200
- return ((obj[(alias || origKey)] = val), obj);
201
- }, {});
202
- return value;
203
- });
204
- };
205
- return AWSAppSyncProvider;
206
- }(MqttOverWSProvider));
207
- export { AWSAppSyncProvider };
208
- //# sourceMappingURL=AWSAppSyncProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":"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"}
@@ -1,194 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { Client } from 'paho-mqtt';
4
- import Observable from 'zen-observable-ts';
5
- import { ConsoleLogger as Logger } from '@aws-amplify/core';
6
-
7
- import { MqttOverWSProvider } from './MqttOverWSProvider';
8
-
9
- const logger = new Logger('AWSAppSyncProvider');
10
-
11
- /**
12
- * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
13
- */
14
- export class AWSAppSyncProvider extends MqttOverWSProvider {
15
- protected get endpoint() {
16
- throw new Error('Not supported');
17
- }
18
-
19
- getProviderName() {
20
- return 'AWSAppSyncProvider';
21
- }
22
-
23
- public async publish(topics: string[] | string, msg: any, options?: any) {
24
- throw new Error('Operation not supported');
25
- }
26
-
27
- private _cleanUp(clientId: string) {
28
- const topicsForClient = Array.from(this._topicClient.entries())
29
- .filter(([, c]) => c.clientId === clientId)
30
- .map(([t]) => t);
31
-
32
- topicsForClient.forEach(t => this._cleanUpForTopic(t));
33
- }
34
-
35
- private _cleanUpForTopic(topic) {
36
- this._topicClient.delete(topic);
37
- this._topicAlias.delete(topic);
38
- }
39
-
40
- public onDisconnect({ clientId, errorCode, ...args }) {
41
- if (errorCode !== 0) {
42
- const topicsForClient = Array.from(this._topicClient.entries())
43
- .filter(([, c]) => c.clientId === clientId)
44
- .map(([t]) => t);
45
-
46
- topicsForClient.forEach(topic => {
47
- if (this._topicObservers.has(topic)) {
48
- this._topicObservers.get(topic).forEach(obs => {
49
- if (!obs.closed) {
50
- obs.error(args);
51
- }
52
- });
53
-
54
- this._topicObservers.delete(topic);
55
- }
56
- });
57
-
58
- this._cleanUp(clientId);
59
- }
60
- }
61
-
62
- private _topicClient: Map<string, Client> = new Map();
63
-
64
- private _topicAlias: Map<string, string> = new Map();
65
-
66
- protected async disconnect(clientId: string): Promise<void> {
67
- const client = await this.clientsQueue.get(clientId, () => null);
68
-
69
- await super.disconnect(clientId);
70
-
71
- this._cleanUp(clientId);
72
- }
73
-
74
- subscribe(topics: string[] | string, options: any = {}): Observable<any> {
75
- const result = new Observable<any>(observer => {
76
- const targetTopics = ([] as string[]).concat(topics);
77
- logger.debug('Subscribing to topic(s)', targetTopics.join(','));
78
-
79
- (async () => {
80
- // Add these topics to map
81
- targetTopics.forEach(t => {
82
- if (!this._topicObservers.has(t)) {
83
- this._topicObservers.set(t, new Set());
84
- }
85
-
86
- this._topicObservers.get(t).add(observer);
87
- });
88
-
89
- const { mqttConnections = [], newSubscriptions } = options;
90
-
91
- // creates a map of {"topic": "alias"}
92
- const newAliases = Object.entries(newSubscriptions).map(
93
- ([alias, v]: [string, { topic: string }]) => [v.topic, alias]
94
- );
95
-
96
- // Merge new aliases with old ones
97
- this._topicAlias = new Map([
98
- ...Array.from(this._topicAlias.entries()),
99
- ...(newAliases as [string, string][]),
100
- ]);
101
-
102
- // group by urls
103
- const map: [string, { url: string; topics: Set<string> }][] =
104
- Object.entries(
105
- targetTopics.reduce((acc, elem) => {
106
- const connectionInfoForTopic = mqttConnections.find(
107
- c => c.topics.indexOf(elem) > -1
108
- );
109
-
110
- if (connectionInfoForTopic) {
111
- const { client: clientId, url } = connectionInfoForTopic;
112
-
113
- if (!acc[clientId]) {
114
- acc[clientId] = {
115
- url,
116
- topics: new Set(),
117
- };
118
- }
119
-
120
- acc[clientId].topics.add(elem);
121
- }
122
-
123
- return acc;
124
- }, {})
125
- );
126
-
127
- // reconnect everything we have in the map
128
- await Promise.all(
129
- map.map(async ([clientId, { url, topics }]) => {
130
- // connect to new client
131
- let client = null;
132
- try {
133
- client = await this.connect(clientId, {
134
- clientId,
135
- url,
136
- });
137
- } catch (err) {
138
- observer.error({ message: 'Failed to connect', error: err });
139
- observer.complete();
140
- return undefined;
141
- }
142
-
143
- // subscribe to all topics for this client
144
- // store topic-client mapping
145
- topics.forEach(topic => {
146
- if (client.isConnected()) {
147
- client.subscribe(topic);
148
-
149
- this._topicClient.set(topic, client);
150
- }
151
- });
152
-
153
- return client;
154
- })
155
- );
156
- })();
157
-
158
- return () => {
159
- logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));
160
-
161
- targetTopics.forEach(t => {
162
- const client = this._topicClient.get(t);
163
-
164
- if (client && client.isConnected()) {
165
- client.unsubscribe(t);
166
- this._topicClient.delete(t);
167
-
168
- if (
169
- !Array.from(this._topicClient.values()).some(c => c === client)
170
- ) {
171
- this.disconnect(client.clientId);
172
- }
173
- }
174
-
175
- this._topicObservers.delete(t);
176
- });
177
- };
178
- });
179
-
180
- return Observable.from(result).map(value => {
181
- const topic = this.getTopicForValue(value);
182
- const alias = this._topicAlias.get(topic);
183
-
184
- value.data = Object.entries(value.data).reduce(
185
- (obj, [origKey, val]) => (
186
- (obj[(alias || origKey) as string] = val), obj
187
- ),
188
- {}
189
- );
190
-
191
- return value;
192
- });
193
- }
194
- }