@aws-amplify/pubsub 4.5.12-unstable.4 → 4.5.13
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 +24 -0
- package/build.js +5 -0
- package/dist/aws-amplify-pubsub.js +10278 -0
- package/dist/aws-amplify-pubsub.js.map +1 -0
- package/dist/aws-amplify-pubsub.min.js +11 -0
- package/dist/aws-amplify-pubsub.min.js.map +1 -0
- package/index.js +7 -0
- package/lib/Providers/AWSAppSyncProvider.js +102 -20
- package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +210 -158
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib/Providers/AWSIotProvider.js +64 -6
- package/lib/Providers/AWSIotProvider.js.map +1 -1
- package/lib/Providers/MqttOverWSProvider.js +204 -158
- package/lib/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib/Providers/PubSubProvider.js +13 -3
- package/lib/Providers/PubSubProvider.js.map +1 -1
- package/lib/Providers/constants.js +0 -8
- package/lib/Providers/constants.js.map +1 -1
- package/lib/Providers/index.js +20 -13
- package/lib/Providers/index.js.map +1 -1
- package/lib/PubSub.js +56 -8
- package/lib/PubSub.js.map +1 -1
- package/lib/index.js +20 -9
- package/lib/index.js.map +1 -1
- package/lib/types/PubSub.js +12 -2
- package/lib/types/PubSub.js.map +1 -1
- package/lib/types/index.js +4 -2
- package/lib/types/index.js.map +1 -1
- package/lib/utils/ConnectionStateMonitor.js +29 -16
- package/lib/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib/utils/ReachabilityMonitor/index.native.js +4 -2
- package/lib/utils/ReachabilityMonitor/index.native.js.map +1 -1
- package/lib-esm/Providers/AWSAppSyncProvider.js +80 -1
- package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +0 -8
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +168 -126
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib-esm/Providers/AWSIotProvider.js +61 -3
- package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
- package/lib-esm/Providers/MqttOverWSProvider.d.ts +4 -2
- package/lib-esm/Providers/MqttOverWSProvider.js +175 -139
- package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib-esm/Providers/PubSubProvider.js +11 -1
- package/lib-esm/Providers/PubSubProvider.js.map +1 -1
- package/lib-esm/Providers/constants.d.ts +0 -8
- package/lib-esm/Providers/constants.js +0 -8
- package/lib-esm/Providers/constants.js.map +1 -1
- package/lib-esm/Providers/index.d.ts +5 -5
- package/lib-esm/Providers/index.js +17 -7
- package/lib-esm/Providers/index.js.map +1 -1
- package/lib-esm/PubSub.js +48 -3
- package/lib-esm/PubSub.js.map +1 -1
- package/lib-esm/index.d.ts +7 -2
- package/lib-esm/index.js +19 -4
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +4 -0
- package/lib-esm/types/PubSub.js +12 -2
- 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 +0 -1
- package/lib-esm/utils/ConnectionStateMonitor.js +23 -13
- package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
- package/package.json +10 -14
- package/src/Providers/AWSAppSyncProvider.ts +12 -2
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +89 -142
- package/src/Providers/AWSIotProvider.ts +12 -2
- package/src/Providers/MqttOverWSProvider.ts +79 -90
- package/src/Providers/PubSubProvider.ts +12 -2
- package/src/Providers/constants.ts +0 -10
- package/src/Providers/index.ts +17 -15
- package/src/PubSub.ts +12 -2
- package/src/index.ts +23 -15
- package/src/types/Provider.ts +17 -2
- package/src/types/PubSub.ts +12 -2
- package/src/types/index.ts +12 -2
- package/src/utils/ConnectionStateMonitor.ts +12 -16
- package/webpack.config.dev.js +6 -0
- package/lib/.tsbuildinfo +0 -3
- package/lib/Providers/AWSAppSyncProvider.d.ts +0 -21
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +0 -75
- package/lib/Providers/AWSIotProvider.d.ts +0 -11
- package/lib/Providers/MqttOverWSProvider.d.ts +0 -41
- package/lib/Providers/PubSubProvider.d.ts +0 -13
- package/lib/Providers/constants.d.ts +0 -95
- package/lib/Providers/index.d.ts +0 -5
- package/lib/PubSub.d.ts +0 -51
- package/lib/index.d.ts +0 -4
- package/lib/types/Provider.d.ts +0 -14
- package/lib/types/PubSub.d.ts +0 -24
- package/lib/types/index.d.ts +0 -2
- package/lib/utils/ConnectionStateMonitor.d.ts +0 -41
- package/lib/utils/ReachabilityMonitor/index.d.ts +0 -3
- package/lib/utils/ReachabilityMonitor/index.native.d.ts +0 -3
- package/lib/utils/ReconnectionMonitor.d.ts +0 -29
- package/lib/utils/ReconnectionMonitor.js +0 -73
- package/lib/utils/ReconnectionMonitor.js.map +0 -1
- package/lib-esm/.tsbuildinfo +0 -3
- package/lib-esm/utils/ReconnectionMonitor.d.ts +0 -29
- package/lib-esm/utils/ReconnectionMonitor.js +0 -71
- package/lib-esm/utils/ReconnectionMonitor.js.map +0 -1
- package/src/utils/ReconnectionMonitor.ts +0 -74
package/index.js
ADDED
|
@@ -1,7 +1,89 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
25
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
26
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
27
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
28
|
+
function step(op) {
|
|
29
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
30
|
+
while (_) try {
|
|
31
|
+
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;
|
|
32
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
33
|
+
switch (op[0]) {
|
|
34
|
+
case 0: case 1: t = op; break;
|
|
35
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
36
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
37
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
38
|
+
default:
|
|
39
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
40
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
41
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
42
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
43
|
+
if (t[2]) _.ops.pop();
|
|
44
|
+
_.trys.pop(); continue;
|
|
45
|
+
}
|
|
46
|
+
op = body.call(thisArg, _);
|
|
47
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
48
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
52
|
+
var t = {};
|
|
53
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
54
|
+
t[p] = s[p];
|
|
55
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
56
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
57
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
58
|
+
t[p[i]] = s[p[i]];
|
|
59
|
+
}
|
|
60
|
+
return t;
|
|
61
|
+
};
|
|
62
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
63
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
64
|
+
if (!m) return o;
|
|
65
|
+
var i = m.call(o), r, ar = [], e;
|
|
66
|
+
try {
|
|
67
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
68
|
+
}
|
|
69
|
+
catch (error) { e = { error: error }; }
|
|
70
|
+
finally {
|
|
71
|
+
try {
|
|
72
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
73
|
+
}
|
|
74
|
+
finally { if (e) throw e.error; }
|
|
75
|
+
}
|
|
76
|
+
return ar;
|
|
77
|
+
};
|
|
78
|
+
var __spread = (this && this.__spread) || function () {
|
|
79
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
80
|
+
return ar;
|
|
81
|
+
};
|
|
82
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
83
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
84
|
+
};
|
|
2
85
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
|
|
86
|
+
var zen_observable_ts_1 = __importDefault(require("zen-observable-ts"));
|
|
5
87
|
var core_1 = require("@aws-amplify/core");
|
|
6
88
|
var MqttOverWSProvider_1 = require("./MqttOverWSProvider");
|
|
7
89
|
var logger = new core_1.ConsoleLogger('AWSAppSyncProvider');
|
|
@@ -9,7 +91,7 @@ var logger = new core_1.ConsoleLogger('AWSAppSyncProvider');
|
|
|
9
91
|
* @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
|
|
10
92
|
*/
|
|
11
93
|
var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
12
|
-
|
|
94
|
+
__extends(AWSAppSyncProvider, _super);
|
|
13
95
|
function AWSAppSyncProvider() {
|
|
14
96
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
15
97
|
_this._topicClient = new Map();
|
|
@@ -27,8 +109,8 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
27
109
|
return 'AWSAppSyncProvider';
|
|
28
110
|
};
|
|
29
111
|
AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {
|
|
30
|
-
return
|
|
31
|
-
return
|
|
112
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
113
|
+
return __generator(this, function (_a) {
|
|
32
114
|
throw new Error('Operation not supported');
|
|
33
115
|
});
|
|
34
116
|
});
|
|
@@ -37,11 +119,11 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
37
119
|
var _this = this;
|
|
38
120
|
var topicsForClient = Array.from(this._topicClient.entries())
|
|
39
121
|
.filter(function (_a) {
|
|
40
|
-
var _b =
|
|
122
|
+
var _b = __read(_a, 2), c = _b[1];
|
|
41
123
|
return c.clientId === clientId;
|
|
42
124
|
})
|
|
43
125
|
.map(function (_a) {
|
|
44
|
-
var _b =
|
|
126
|
+
var _b = __read(_a, 1), t = _b[0];
|
|
45
127
|
return t;
|
|
46
128
|
});
|
|
47
129
|
topicsForClient.forEach(function (t) { return _this._cleanUpForTopic(t); });
|
|
@@ -52,15 +134,15 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
52
134
|
};
|
|
53
135
|
AWSAppSyncProvider.prototype.onDisconnect = function (_a) {
|
|
54
136
|
var _this = this;
|
|
55
|
-
var clientId = _a.clientId, errorCode = _a.errorCode, args =
|
|
137
|
+
var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, ["clientId", "errorCode"]);
|
|
56
138
|
if (errorCode !== 0) {
|
|
57
139
|
var topicsForClient = Array.from(this._topicClient.entries())
|
|
58
140
|
.filter(function (_a) {
|
|
59
|
-
var _b =
|
|
141
|
+
var _b = __read(_a, 2), c = _b[1];
|
|
60
142
|
return c.clientId === clientId;
|
|
61
143
|
})
|
|
62
144
|
.map(function (_a) {
|
|
63
|
-
var _b =
|
|
145
|
+
var _b = __read(_a, 1), t = _b[0];
|
|
64
146
|
return t;
|
|
65
147
|
});
|
|
66
148
|
topicsForClient.forEach(function (topic) {
|
|
@@ -77,9 +159,9 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
77
159
|
}
|
|
78
160
|
};
|
|
79
161
|
AWSAppSyncProvider.prototype.disconnect = function (clientId) {
|
|
80
|
-
return
|
|
162
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
81
163
|
var client;
|
|
82
|
-
return
|
|
164
|
+
return __generator(this, function (_a) {
|
|
83
165
|
switch (_a.label) {
|
|
84
166
|
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function () { return null; })];
|
|
85
167
|
case 1:
|
|
@@ -99,10 +181,10 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
99
181
|
var result = new zen_observable_ts_1.default(function (observer) {
|
|
100
182
|
var targetTopics = [].concat(topics);
|
|
101
183
|
logger.debug('Subscribing to topic(s)', targetTopics.join(','));
|
|
102
|
-
(function () { return
|
|
184
|
+
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
103
185
|
var _a, mqttConnections, newSubscriptions, newAliases, map;
|
|
104
186
|
var _this = this;
|
|
105
|
-
return
|
|
187
|
+
return __generator(this, function (_b) {
|
|
106
188
|
switch (_b.label) {
|
|
107
189
|
case 0:
|
|
108
190
|
// Add these topics to map
|
|
@@ -114,11 +196,11 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
114
196
|
});
|
|
115
197
|
_a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;
|
|
116
198
|
newAliases = Object.entries(newSubscriptions).map(function (_a) {
|
|
117
|
-
var _b =
|
|
199
|
+
var _b = __read(_a, 2), alias = _b[0], v = _b[1];
|
|
118
200
|
return [v.topic, alias];
|
|
119
201
|
});
|
|
120
202
|
// Merge new aliases with old ones
|
|
121
|
-
this._topicAlias = new Map(
|
|
203
|
+
this._topicAlias = new Map(__spread(Array.from(this._topicAlias.entries()), newAliases));
|
|
122
204
|
map = Object.entries(targetTopics.reduce(function (acc, elem) {
|
|
123
205
|
var connectionInfoForTopic = mqttConnections.find(function (c) { return c.topics.indexOf(elem) > -1; });
|
|
124
206
|
if (connectionInfoForTopic) {
|
|
@@ -135,11 +217,11 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
135
217
|
}, {}));
|
|
136
218
|
// reconnect everything we have in the map
|
|
137
219
|
return [4 /*yield*/, Promise.all(map.map(function (_a) {
|
|
138
|
-
var _b =
|
|
139
|
-
return
|
|
220
|
+
var _b = __read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;
|
|
221
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
140
222
|
var client, err_1;
|
|
141
223
|
var _this = this;
|
|
142
|
-
return
|
|
224
|
+
return __generator(this, function (_d) {
|
|
143
225
|
switch (_d.label) {
|
|
144
226
|
case 0:
|
|
145
227
|
client = null;
|
|
@@ -198,7 +280,7 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
198
280
|
var topic = _this.getTopicForValue(value);
|
|
199
281
|
var alias = _this._topicAlias.get(topic);
|
|
200
282
|
value.data = Object.entries(value.data).reduce(function (obj, _a) {
|
|
201
|
-
var _b =
|
|
283
|
+
var _b = __read(_a, 2), origKey = _b[0], val = _b[1];
|
|
202
284
|
return ((obj[(alias || origKey)] = val), obj);
|
|
203
285
|
}, {});
|
|
204
286
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":"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"}
|