@aws-amplify/pubsub 4.4.9 → 4.4.10-next.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -0
- package/dist/aws-amplify-pubsub.js +1260 -2214
- package/dist/aws-amplify-pubsub.js.map +1 -1
- package/dist/aws-amplify-pubsub.min.js +3 -3
- package/dist/aws-amplify-pubsub.min.js.map +1 -1
- package/lib/Providers/AWSAppSyncProvider.js +20 -102
- package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +10 -2
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +166 -208
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib/Providers/AWSIotProvider.js +4 -52
- package/lib/Providers/AWSIotProvider.js.map +1 -1
- package/lib/Providers/MqttOverWSProvider.d.ts +5 -1
- package/lib/Providers/MqttOverWSProvider.js +172 -187
- package/lib/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib/Providers/PubSubProvider.d.ts +1 -1
- package/lib/Providers/PubSubProvider.js +3 -13
- package/lib/Providers/PubSubProvider.js.map +1 -1
- package/lib/Providers/{AWSAppSyncRealTimeProvider/constants.d.ts → constants.d.ts} +9 -0
- package/lib/Providers/{AWSAppSyncRealTimeProvider/constants.js → constants.js} +9 -0
- package/lib/Providers/constants.js.map +1 -0
- package/lib/Providers/index.js +6 -8
- package/lib/Providers/index.js.map +1 -1
- package/lib/PubSub.js +6 -44
- package/lib/PubSub.js.map +1 -1
- package/lib/index.d.ts +3 -10
- package/lib/index.js +5 -14
- package/lib/index.js.map +1 -1
- package/lib/types/Provider.d.ts +10 -1
- package/lib/types/PubSub.d.ts +22 -8
- package/lib/types/PubSub.js +56 -0
- package/lib/types/PubSub.js.map +1 -1
- package/lib/types/index.d.ts +0 -17
- package/lib/types/index.js +2 -36
- package/lib/types/index.js.map +1 -1
- package/lib/utils/ConnectionStateMonitor.d.ts +2 -1
- package/lib/utils/ConnectionStateMonitor.js +25 -30
- package/lib/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib/utils/ReachabilityMonitor/index.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.js +5 -0
- package/lib/utils/ReachabilityMonitor/index.js.map +1 -0
- package/lib/utils/ReachabilityMonitor/index.native.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.native.js +9 -0
- package/lib/utils/ReachabilityMonitor/index.native.js.map +1 -0
- package/lib/utils/ReconnectionMonitor.d.ts +29 -0
- package/lib/utils/ReconnectionMonitor.js +73 -0
- package/lib/utils/ReconnectionMonitor.js.map +1 -0
- package/lib-esm/Providers/AWSAppSyncProvider.js +1 -80
- package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +10 -2
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +130 -162
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib-esm/Providers/AWSIotProvider.js +1 -49
- package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
- package/lib-esm/Providers/MqttOverWSProvider.d.ts +5 -1
- package/lib-esm/Providers/MqttOverWSProvider.js +154 -159
- package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib-esm/Providers/PubSubProvider.d.ts +1 -1
- package/lib-esm/Providers/PubSubProvider.js +1 -11
- package/lib-esm/Providers/PubSubProvider.js.map +1 -1
- package/lib-esm/Providers/{AWSAppSyncRealTimeProvider/constants.d.ts → constants.d.ts} +9 -0
- package/lib-esm/Providers/{AWSAppSyncRealTimeProvider/constants.js → constants.js} +9 -0
- package/lib-esm/Providers/constants.js.map +1 -0
- package/lib-esm/PubSub.js +1 -36
- package/lib-esm/PubSub.js.map +1 -1
- package/lib-esm/index.d.ts +3 -10
- package/lib-esm/index.js +3 -11
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +10 -1
- package/lib-esm/types/PubSub.d.ts +22 -8
- package/lib-esm/types/PubSub.js +56 -0
- package/lib-esm/types/PubSub.js.map +1 -1
- package/lib-esm/types/index.d.ts +0 -17
- package/lib-esm/types/index.js +1 -36
- package/lib-esm/types/index.js.map +1 -1
- package/lib-esm/utils/ConnectionStateMonitor.d.ts +2 -1
- package/lib-esm/utils/ConnectionStateMonitor.js +14 -16
- package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib-esm/utils/ReachabilityMonitor/index.d.ts +3 -0
- package/lib-esm/utils/ReachabilityMonitor/index.js +3 -0
- package/lib-esm/utils/ReachabilityMonitor/index.js.map +1 -0
- package/lib-esm/utils/ReachabilityMonitor/index.native.d.ts +3 -0
- package/lib-esm/utils/ReachabilityMonitor/index.native.js +6 -0
- package/lib-esm/utils/ReachabilityMonitor/index.native.js.map +1 -0
- package/lib-esm/utils/ReconnectionMonitor.d.ts +29 -0
- package/lib-esm/utils/ReconnectionMonitor.js +71 -0
- package/lib-esm/utils/ReconnectionMonitor.js.map +1 -0
- package/package.json +6 -5
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +154 -90
- package/src/Providers/MqttOverWSProvider.ts +120 -53
- package/src/Providers/PubSubProvider.ts +1 -1
- package/src/Providers/{AWSAppSyncRealTimeProvider/constants.ts → constants.ts} +12 -0
- package/src/index.ts +3 -10
- package/src/types/Provider.ts +13 -1
- package/src/types/PubSub.ts +47 -8
- package/src/types/index.ts +0 -43
- package/src/utils/ConnectionStateMonitor.ts +20 -5
- package/src/utils/ReachabilityMonitor/index.native.ts +5 -0
- package/src/utils/ReachabilityMonitor/index.ts +3 -0
- package/src/utils/ReconnectionMonitor.ts +74 -0
- package/lib/Providers/AWSAppSyncRealTimeProvider/constants.js.map +0 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/constants.js.map +0 -1
|
@@ -5308,6 +5308,292 @@ exports.decode = exports.parse = __webpack_require__(/*! ./decode */ "../../node
|
|
|
5308
5308
|
exports.encode = exports.stringify = __webpack_require__(/*! ./encode */ "../../node_modules/querystring-es3/encode.js");
|
|
5309
5309
|
|
|
5310
5310
|
|
|
5311
|
+
/***/ }),
|
|
5312
|
+
|
|
5313
|
+
/***/ "../../node_modules/tslib/tslib.es6.js":
|
|
5314
|
+
/*!********************************************************!*\
|
|
5315
|
+
!*** /root/amplify-js/node_modules/tslib/tslib.es6.js ***!
|
|
5316
|
+
\********************************************************/
|
|
5317
|
+
/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn */
|
|
5318
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
5319
|
+
|
|
5320
|
+
"use strict";
|
|
5321
|
+
__webpack_require__.r(__webpack_exports__);
|
|
5322
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; });
|
|
5323
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; });
|
|
5324
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; });
|
|
5325
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; });
|
|
5326
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; });
|
|
5327
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
|
|
5328
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
|
|
5329
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
|
|
5330
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; });
|
|
5331
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
|
|
5332
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
|
|
5333
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
|
|
5334
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; });
|
|
5335
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spreadArrays", function() { return __spreadArrays; });
|
|
5336
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spreadArray", function() { return __spreadArray; });
|
|
5337
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; });
|
|
5338
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; });
|
|
5339
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; });
|
|
5340
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; });
|
|
5341
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
|
|
5342
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
|
|
5343
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
|
|
5344
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; });
|
|
5345
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; });
|
|
5346
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldIn", function() { return __classPrivateFieldIn; });
|
|
5347
|
+
/******************************************************************************
|
|
5348
|
+
Copyright (c) Microsoft Corporation.
|
|
5349
|
+
|
|
5350
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5351
|
+
purpose with or without fee is hereby granted.
|
|
5352
|
+
|
|
5353
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
5354
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
5355
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
5356
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
5357
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
5358
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
5359
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
5360
|
+
***************************************************************************** */
|
|
5361
|
+
/* global Reflect, Promise */
|
|
5362
|
+
|
|
5363
|
+
var extendStatics = function(d, b) {
|
|
5364
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5365
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5366
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
5367
|
+
return extendStatics(d, b);
|
|
5368
|
+
};
|
|
5369
|
+
|
|
5370
|
+
function __extends(d, b) {
|
|
5371
|
+
if (typeof b !== "function" && b !== null)
|
|
5372
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
5373
|
+
extendStatics(d, b);
|
|
5374
|
+
function __() { this.constructor = d; }
|
|
5375
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
5376
|
+
}
|
|
5377
|
+
|
|
5378
|
+
var __assign = function() {
|
|
5379
|
+
__assign = Object.assign || function __assign(t) {
|
|
5380
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5381
|
+
s = arguments[i];
|
|
5382
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
5383
|
+
}
|
|
5384
|
+
return t;
|
|
5385
|
+
}
|
|
5386
|
+
return __assign.apply(this, arguments);
|
|
5387
|
+
}
|
|
5388
|
+
|
|
5389
|
+
function __rest(s, e) {
|
|
5390
|
+
var t = {};
|
|
5391
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5392
|
+
t[p] = s[p];
|
|
5393
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
5394
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
5395
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
5396
|
+
t[p[i]] = s[p[i]];
|
|
5397
|
+
}
|
|
5398
|
+
return t;
|
|
5399
|
+
}
|
|
5400
|
+
|
|
5401
|
+
function __decorate(decorators, target, key, desc) {
|
|
5402
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5403
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5404
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5405
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5406
|
+
}
|
|
5407
|
+
|
|
5408
|
+
function __param(paramIndex, decorator) {
|
|
5409
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
5410
|
+
}
|
|
5411
|
+
|
|
5412
|
+
function __metadata(metadataKey, metadataValue) {
|
|
5413
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
5414
|
+
}
|
|
5415
|
+
|
|
5416
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
5417
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5418
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5419
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5420
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
5421
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
5422
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
5423
|
+
});
|
|
5424
|
+
}
|
|
5425
|
+
|
|
5426
|
+
function __generator(thisArg, body) {
|
|
5427
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
5428
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
5429
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
5430
|
+
function step(op) {
|
|
5431
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
5432
|
+
while (_) try {
|
|
5433
|
+
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;
|
|
5434
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
5435
|
+
switch (op[0]) {
|
|
5436
|
+
case 0: case 1: t = op; break;
|
|
5437
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
5438
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
5439
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
5440
|
+
default:
|
|
5441
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
5442
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
5443
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
5444
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
5445
|
+
if (t[2]) _.ops.pop();
|
|
5446
|
+
_.trys.pop(); continue;
|
|
5447
|
+
}
|
|
5448
|
+
op = body.call(thisArg, _);
|
|
5449
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
5450
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
5451
|
+
}
|
|
5452
|
+
}
|
|
5453
|
+
|
|
5454
|
+
var __createBinding = Object.create ? (function(o, m, k, k2) {
|
|
5455
|
+
if (k2 === undefined) k2 = k;
|
|
5456
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5457
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5458
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
5459
|
+
}
|
|
5460
|
+
Object.defineProperty(o, k2, desc);
|
|
5461
|
+
}) : (function(o, m, k, k2) {
|
|
5462
|
+
if (k2 === undefined) k2 = k;
|
|
5463
|
+
o[k2] = m[k];
|
|
5464
|
+
});
|
|
5465
|
+
|
|
5466
|
+
function __exportStar(m, o) {
|
|
5467
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
|
|
5468
|
+
}
|
|
5469
|
+
|
|
5470
|
+
function __values(o) {
|
|
5471
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
5472
|
+
if (m) return m.call(o);
|
|
5473
|
+
if (o && typeof o.length === "number") return {
|
|
5474
|
+
next: function () {
|
|
5475
|
+
if (o && i >= o.length) o = void 0;
|
|
5476
|
+
return { value: o && o[i++], done: !o };
|
|
5477
|
+
}
|
|
5478
|
+
};
|
|
5479
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
5480
|
+
}
|
|
5481
|
+
|
|
5482
|
+
function __read(o, n) {
|
|
5483
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5484
|
+
if (!m) return o;
|
|
5485
|
+
var i = m.call(o), r, ar = [], e;
|
|
5486
|
+
try {
|
|
5487
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
5488
|
+
}
|
|
5489
|
+
catch (error) { e = { error: error }; }
|
|
5490
|
+
finally {
|
|
5491
|
+
try {
|
|
5492
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
5493
|
+
}
|
|
5494
|
+
finally { if (e) throw e.error; }
|
|
5495
|
+
}
|
|
5496
|
+
return ar;
|
|
5497
|
+
}
|
|
5498
|
+
|
|
5499
|
+
/** @deprecated */
|
|
5500
|
+
function __spread() {
|
|
5501
|
+
for (var ar = [], i = 0; i < arguments.length; i++)
|
|
5502
|
+
ar = ar.concat(__read(arguments[i]));
|
|
5503
|
+
return ar;
|
|
5504
|
+
}
|
|
5505
|
+
|
|
5506
|
+
/** @deprecated */
|
|
5507
|
+
function __spreadArrays() {
|
|
5508
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
5509
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
5510
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
5511
|
+
r[k] = a[j];
|
|
5512
|
+
return r;
|
|
5513
|
+
}
|
|
5514
|
+
|
|
5515
|
+
function __spreadArray(to, from, pack) {
|
|
5516
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
5517
|
+
if (ar || !(i in from)) {
|
|
5518
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5519
|
+
ar[i] = from[i];
|
|
5520
|
+
}
|
|
5521
|
+
}
|
|
5522
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
5523
|
+
}
|
|
5524
|
+
|
|
5525
|
+
function __await(v) {
|
|
5526
|
+
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
5527
|
+
}
|
|
5528
|
+
|
|
5529
|
+
function __asyncGenerator(thisArg, _arguments, generator) {
|
|
5530
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
5531
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
5532
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
5533
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
5534
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
5535
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
5536
|
+
function fulfill(value) { resume("next", value); }
|
|
5537
|
+
function reject(value) { resume("throw", value); }
|
|
5538
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
5539
|
+
}
|
|
5540
|
+
|
|
5541
|
+
function __asyncDelegator(o) {
|
|
5542
|
+
var i, p;
|
|
5543
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
5544
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
|
5545
|
+
}
|
|
5546
|
+
|
|
5547
|
+
function __asyncValues(o) {
|
|
5548
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
5549
|
+
var m = o[Symbol.asyncIterator], i;
|
|
5550
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
5551
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
5552
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
5553
|
+
}
|
|
5554
|
+
|
|
5555
|
+
function __makeTemplateObject(cooked, raw) {
|
|
5556
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
5557
|
+
return cooked;
|
|
5558
|
+
};
|
|
5559
|
+
|
|
5560
|
+
var __setModuleDefault = Object.create ? (function(o, v) {
|
|
5561
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
5562
|
+
}) : function(o, v) {
|
|
5563
|
+
o["default"] = v;
|
|
5564
|
+
};
|
|
5565
|
+
|
|
5566
|
+
function __importStar(mod) {
|
|
5567
|
+
if (mod && mod.__esModule) return mod;
|
|
5568
|
+
var result = {};
|
|
5569
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
5570
|
+
__setModuleDefault(result, mod);
|
|
5571
|
+
return result;
|
|
5572
|
+
}
|
|
5573
|
+
|
|
5574
|
+
function __importDefault(mod) {
|
|
5575
|
+
return (mod && mod.__esModule) ? mod : { default: mod };
|
|
5576
|
+
}
|
|
5577
|
+
|
|
5578
|
+
function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
5579
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
5580
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5581
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5582
|
+
}
|
|
5583
|
+
|
|
5584
|
+
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
5585
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
5586
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5587
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5588
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
5589
|
+
}
|
|
5590
|
+
|
|
5591
|
+
function __classPrivateFieldIn(state, receiver) {
|
|
5592
|
+
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
|
|
5593
|
+
return typeof state === "function" ? receiver === state : state.has(receiver);
|
|
5594
|
+
}
|
|
5595
|
+
|
|
5596
|
+
|
|
5311
5597
|
/***/ }),
|
|
5312
5598
|
|
|
5313
5599
|
/***/ "../../node_modules/url/url.js":
|
|
@@ -7080,248 +7366,27 @@ if (hasSymbols()) {
|
|
|
7080
7366
|
"use strict";
|
|
7081
7367
|
__webpack_require__.r(__webpack_exports__);
|
|
7082
7368
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AWSAppSyncProvider", function() { return AWSAppSyncProvider; });
|
|
7083
|
-
/* harmony import */ var
|
|
7084
|
-
/* harmony import */ var
|
|
7085
|
-
/* harmony import */ var
|
|
7086
|
-
/* harmony import */ var
|
|
7087
|
-
var
|
|
7088
|
-
var _extendStatics = function extendStatics(d, b) {
|
|
7089
|
-
_extendStatics = Object.setPrototypeOf || {
|
|
7090
|
-
__proto__: []
|
|
7091
|
-
} instanceof Array && function (d, b) {
|
|
7092
|
-
d.__proto__ = b;
|
|
7093
|
-
} || function (d, b) {
|
|
7094
|
-
for (var p in b) {
|
|
7095
|
-
if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
7096
|
-
}
|
|
7097
|
-
};
|
|
7098
|
-
|
|
7099
|
-
return _extendStatics(d, b);
|
|
7100
|
-
};
|
|
7101
|
-
|
|
7102
|
-
return function (d, b) {
|
|
7103
|
-
_extendStatics(d, b);
|
|
7104
|
-
|
|
7105
|
-
function __() {
|
|
7106
|
-
this.constructor = d;
|
|
7107
|
-
}
|
|
7108
|
-
|
|
7109
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
7110
|
-
};
|
|
7111
|
-
}();
|
|
7112
|
-
|
|
7113
|
-
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
7114
|
-
function adopt(value) {
|
|
7115
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
7116
|
-
resolve(value);
|
|
7117
|
-
});
|
|
7118
|
-
}
|
|
7119
|
-
|
|
7120
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7121
|
-
function fulfilled(value) {
|
|
7122
|
-
try {
|
|
7123
|
-
step(generator.next(value));
|
|
7124
|
-
} catch (e) {
|
|
7125
|
-
reject(e);
|
|
7126
|
-
}
|
|
7127
|
-
}
|
|
7128
|
-
|
|
7129
|
-
function rejected(value) {
|
|
7130
|
-
try {
|
|
7131
|
-
step(generator["throw"](value));
|
|
7132
|
-
} catch (e) {
|
|
7133
|
-
reject(e);
|
|
7134
|
-
}
|
|
7135
|
-
}
|
|
7136
|
-
|
|
7137
|
-
function step(result) {
|
|
7138
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
7139
|
-
}
|
|
7140
|
-
|
|
7141
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
7142
|
-
});
|
|
7143
|
-
};
|
|
7144
|
-
|
|
7145
|
-
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
7146
|
-
var _ = {
|
|
7147
|
-
label: 0,
|
|
7148
|
-
sent: function sent() {
|
|
7149
|
-
if (t[0] & 1) throw t[1];
|
|
7150
|
-
return t[1];
|
|
7151
|
-
},
|
|
7152
|
-
trys: [],
|
|
7153
|
-
ops: []
|
|
7154
|
-
},
|
|
7155
|
-
f,
|
|
7156
|
-
y,
|
|
7157
|
-
t,
|
|
7158
|
-
g;
|
|
7159
|
-
return g = {
|
|
7160
|
-
next: verb(0),
|
|
7161
|
-
"throw": verb(1),
|
|
7162
|
-
"return": verb(2)
|
|
7163
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
7164
|
-
return this;
|
|
7165
|
-
}), g;
|
|
7166
|
-
|
|
7167
|
-
function verb(n) {
|
|
7168
|
-
return function (v) {
|
|
7169
|
-
return step([n, v]);
|
|
7170
|
-
};
|
|
7171
|
-
}
|
|
7172
|
-
|
|
7173
|
-
function step(op) {
|
|
7174
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
7175
|
-
|
|
7176
|
-
while (_) {
|
|
7177
|
-
try {
|
|
7178
|
-
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;
|
|
7179
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
7180
|
-
|
|
7181
|
-
switch (op[0]) {
|
|
7182
|
-
case 0:
|
|
7183
|
-
case 1:
|
|
7184
|
-
t = op;
|
|
7185
|
-
break;
|
|
7186
|
-
|
|
7187
|
-
case 4:
|
|
7188
|
-
_.label++;
|
|
7189
|
-
return {
|
|
7190
|
-
value: op[1],
|
|
7191
|
-
done: false
|
|
7192
|
-
};
|
|
7193
|
-
|
|
7194
|
-
case 5:
|
|
7195
|
-
_.label++;
|
|
7196
|
-
y = op[1];
|
|
7197
|
-
op = [0];
|
|
7198
|
-
continue;
|
|
7199
|
-
|
|
7200
|
-
case 7:
|
|
7201
|
-
op = _.ops.pop();
|
|
7202
|
-
|
|
7203
|
-
_.trys.pop();
|
|
7204
|
-
|
|
7205
|
-
continue;
|
|
7206
|
-
|
|
7207
|
-
default:
|
|
7208
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
7209
|
-
_ = 0;
|
|
7210
|
-
continue;
|
|
7211
|
-
}
|
|
7212
|
-
|
|
7213
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
7214
|
-
_.label = op[1];
|
|
7215
|
-
break;
|
|
7216
|
-
}
|
|
7217
|
-
|
|
7218
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
7219
|
-
_.label = t[1];
|
|
7220
|
-
t = op;
|
|
7221
|
-
break;
|
|
7222
|
-
}
|
|
7223
|
-
|
|
7224
|
-
if (t && _.label < t[2]) {
|
|
7225
|
-
_.label = t[2];
|
|
7226
|
-
|
|
7227
|
-
_.ops.push(op);
|
|
7228
|
-
|
|
7229
|
-
break;
|
|
7230
|
-
}
|
|
7231
|
-
|
|
7232
|
-
if (t[2]) _.ops.pop();
|
|
7233
|
-
|
|
7234
|
-
_.trys.pop();
|
|
7235
|
-
|
|
7236
|
-
continue;
|
|
7237
|
-
}
|
|
7238
|
-
|
|
7239
|
-
op = body.call(thisArg, _);
|
|
7240
|
-
} catch (e) {
|
|
7241
|
-
op = [6, e];
|
|
7242
|
-
y = 0;
|
|
7243
|
-
} finally {
|
|
7244
|
-
f = t = 0;
|
|
7245
|
-
}
|
|
7246
|
-
}
|
|
7247
|
-
|
|
7248
|
-
if (op[0] & 5) throw op[1];
|
|
7249
|
-
return {
|
|
7250
|
-
value: op[0] ? op[1] : void 0,
|
|
7251
|
-
done: true
|
|
7252
|
-
};
|
|
7253
|
-
}
|
|
7254
|
-
};
|
|
7255
|
-
|
|
7256
|
-
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
7257
|
-
var t = {};
|
|
7258
|
-
|
|
7259
|
-
for (var p in s) {
|
|
7260
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
7261
|
-
}
|
|
7262
|
-
|
|
7263
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7264
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
7265
|
-
}
|
|
7266
|
-
return t;
|
|
7267
|
-
};
|
|
7268
|
-
|
|
7269
|
-
var __read = undefined && undefined.__read || function (o, n) {
|
|
7270
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
7271
|
-
if (!m) return o;
|
|
7272
|
-
var i = m.call(o),
|
|
7273
|
-
r,
|
|
7274
|
-
ar = [],
|
|
7275
|
-
e;
|
|
7276
|
-
|
|
7277
|
-
try {
|
|
7278
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
|
|
7279
|
-
ar.push(r.value);
|
|
7280
|
-
}
|
|
7281
|
-
} catch (error) {
|
|
7282
|
-
e = {
|
|
7283
|
-
error: error
|
|
7284
|
-
};
|
|
7285
|
-
} finally {
|
|
7286
|
-
try {
|
|
7287
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
7288
|
-
} finally {
|
|
7289
|
-
if (e) throw e.error;
|
|
7290
|
-
}
|
|
7291
|
-
}
|
|
7292
|
-
|
|
7293
|
-
return ar;
|
|
7294
|
-
};
|
|
7295
|
-
|
|
7296
|
-
var __spread = undefined && undefined.__spread || function () {
|
|
7297
|
-
for (var ar = [], i = 0; i < arguments.length; i++) {
|
|
7298
|
-
ar = ar.concat(__read(arguments[i]));
|
|
7299
|
-
}
|
|
7300
|
-
|
|
7301
|
-
return ar;
|
|
7302
|
-
};
|
|
7369
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
7370
|
+
/* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
|
|
7371
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
7372
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__);
|
|
7373
|
+
/* harmony import */ var _MqttOverWSProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MqttOverWSProvider */ "./lib-esm/Providers/MqttOverWSProvider.js");
|
|
7303
7374
|
|
|
7304
7375
|
|
|
7305
7376
|
|
|
7306
7377
|
|
|
7307
|
-
var logger = new
|
|
7378
|
+
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["ConsoleLogger"]('AWSAppSyncProvider');
|
|
7308
7379
|
/**
|
|
7309
7380
|
* @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
|
|
7310
7381
|
*/
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
/** @class */
|
|
7314
|
-
function (_super) {
|
|
7315
|
-
__extends(AWSAppSyncProvider, _super);
|
|
7316
|
-
|
|
7382
|
+
var AWSAppSyncProvider = /** @class */function (_super) {
|
|
7383
|
+
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(AWSAppSyncProvider, _super);
|
|
7317
7384
|
function AWSAppSyncProvider() {
|
|
7318
7385
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
7319
|
-
|
|
7320
7386
|
_this._topicClient = new Map();
|
|
7321
7387
|
_this._topicAlias = new Map();
|
|
7322
7388
|
return _this;
|
|
7323
7389
|
}
|
|
7324
|
-
|
|
7325
7390
|
Object.defineProperty(AWSAppSyncProvider.prototype, "endpoint", {
|
|
7326
7391
|
get: function get() {
|
|
7327
7392
|
throw new Error('Not supported');
|
|
@@ -7329,61 +7394,48 @@ function (_super) {
|
|
|
7329
7394
|
enumerable: true,
|
|
7330
7395
|
configurable: true
|
|
7331
7396
|
});
|
|
7332
|
-
|
|
7333
7397
|
AWSAppSyncProvider.prototype.getProviderName = function () {
|
|
7334
7398
|
return 'AWSAppSyncProvider';
|
|
7335
7399
|
};
|
|
7336
|
-
|
|
7337
7400
|
AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {
|
|
7338
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7339
|
-
return __generator(this, function (_a) {
|
|
7401
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
7402
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
7340
7403
|
throw new Error('Operation not supported');
|
|
7341
7404
|
});
|
|
7342
7405
|
});
|
|
7343
7406
|
};
|
|
7344
|
-
|
|
7345
7407
|
AWSAppSyncProvider.prototype._cleanUp = function (clientId) {
|
|
7346
7408
|
var _this = this;
|
|
7347
|
-
|
|
7348
7409
|
var topicsForClient = Array.from(this._topicClient.entries()).filter(function (_a) {
|
|
7349
|
-
var _b = __read(_a, 2),
|
|
7350
|
-
|
|
7351
|
-
|
|
7410
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 2),
|
|
7411
|
+
c = _b[1];
|
|
7352
7412
|
return c.clientId === clientId;
|
|
7353
7413
|
}).map(function (_a) {
|
|
7354
|
-
var _b = __read(_a, 1),
|
|
7355
|
-
|
|
7356
|
-
|
|
7414
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 1),
|
|
7415
|
+
t = _b[0];
|
|
7357
7416
|
return t;
|
|
7358
7417
|
});
|
|
7359
7418
|
topicsForClient.forEach(function (t) {
|
|
7360
7419
|
return _this._cleanUpForTopic(t);
|
|
7361
7420
|
});
|
|
7362
7421
|
};
|
|
7363
|
-
|
|
7364
7422
|
AWSAppSyncProvider.prototype._cleanUpForTopic = function (topic) {
|
|
7365
7423
|
this._topicClient["delete"](topic);
|
|
7366
|
-
|
|
7367
7424
|
this._topicAlias["delete"](topic);
|
|
7368
7425
|
};
|
|
7369
|
-
|
|
7370
7426
|
AWSAppSyncProvider.prototype.onDisconnect = function (_a) {
|
|
7371
7427
|
var _this = this;
|
|
7372
|
-
|
|
7373
7428
|
var clientId = _a.clientId,
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7429
|
+
errorCode = _a.errorCode,
|
|
7430
|
+
args = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__rest"])(_a, ["clientId", "errorCode"]);
|
|
7377
7431
|
if (errorCode !== 0) {
|
|
7378
7432
|
var topicsForClient = Array.from(this._topicClient.entries()).filter(function (_a) {
|
|
7379
|
-
var _b = __read(_a, 2),
|
|
7380
|
-
|
|
7381
|
-
|
|
7433
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 2),
|
|
7434
|
+
c = _b[1];
|
|
7382
7435
|
return c.clientId === clientId;
|
|
7383
7436
|
}).map(function (_a) {
|
|
7384
|
-
var _b = __read(_a, 1),
|
|
7385
|
-
|
|
7386
|
-
|
|
7437
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 1),
|
|
7438
|
+
t = _b[0];
|
|
7387
7439
|
return t;
|
|
7388
7440
|
});
|
|
7389
7441
|
topicsForClient.forEach(function (topic) {
|
|
@@ -7393,41 +7445,28 @@ function (_super) {
|
|
|
7393
7445
|
obs.error(args);
|
|
7394
7446
|
}
|
|
7395
7447
|
});
|
|
7396
|
-
|
|
7397
7448
|
_this._topicObservers["delete"](topic);
|
|
7398
7449
|
}
|
|
7399
7450
|
});
|
|
7400
|
-
|
|
7401
7451
|
this._cleanUp(clientId);
|
|
7402
7452
|
}
|
|
7403
7453
|
};
|
|
7404
|
-
|
|
7405
7454
|
AWSAppSyncProvider.prototype.disconnect = function (clientId) {
|
|
7406
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7455
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
7407
7456
|
var client;
|
|
7408
|
-
return __generator(this, function (_a) {
|
|
7457
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
7409
7458
|
switch (_a.label) {
|
|
7410
7459
|
case 0:
|
|
7411
|
-
return [4
|
|
7412
|
-
/*yield*/
|
|
7413
|
-
, this.clientsQueue.get(clientId, function () {
|
|
7460
|
+
return [4 /*yield*/, this.clientsQueue.get(clientId, function () {
|
|
7414
7461
|
return null;
|
|
7415
7462
|
})];
|
|
7416
|
-
|
|
7417
7463
|
case 1:
|
|
7418
7464
|
client = _a.sent();
|
|
7419
|
-
return [4
|
|
7420
|
-
/*yield*/
|
|
7421
|
-
, _super.prototype.disconnect.call(this, clientId)];
|
|
7422
|
-
|
|
7465
|
+
return [4 /*yield*/, _super.prototype.disconnect.call(this, clientId)];
|
|
7423
7466
|
case 2:
|
|
7424
7467
|
_a.sent();
|
|
7425
|
-
|
|
7426
7468
|
this._cleanUp(clientId);
|
|
7427
|
-
|
|
7428
|
-
return [2
|
|
7429
|
-
/*return*/
|
|
7430
|
-
];
|
|
7469
|
+
return [2 /*return*/];
|
|
7431
7470
|
}
|
|
7432
7471
|
});
|
|
7433
7472
|
});
|
|
@@ -7435,22 +7474,17 @@ function (_super) {
|
|
|
7435
7474
|
|
|
7436
7475
|
AWSAppSyncProvider.prototype.subscribe = function (topics, options) {
|
|
7437
7476
|
var _this = this;
|
|
7438
|
-
|
|
7439
7477
|
if (options === void 0) {
|
|
7440
7478
|
options = {};
|
|
7441
7479
|
}
|
|
7442
|
-
|
|
7443
|
-
var result = new zen_observable_ts__WEBPACK_IMPORTED_MODULE_0__["default"](function (observer) {
|
|
7480
|
+
var result = new zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__["default"](function (observer) {
|
|
7444
7481
|
var targetTopics = [].concat(topics);
|
|
7445
7482
|
logger.debug('Subscribing to topic(s)', targetTopics.join(','));
|
|
7446
|
-
|
|
7447
7483
|
(function () {
|
|
7448
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
7484
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
7449
7485
|
var _a, mqttConnections, newSubscriptions, newAliases, map;
|
|
7450
|
-
|
|
7451
7486
|
var _this = this;
|
|
7452
|
-
|
|
7453
|
-
return __generator(this, function (_b) {
|
|
7487
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
7454
7488
|
switch (_b.label) {
|
|
7455
7489
|
case 0:
|
|
7456
7490
|
// Add these topics to map
|
|
@@ -7458,77 +7492,58 @@ function (_super) {
|
|
|
7458
7492
|
if (!_this._topicObservers.has(t)) {
|
|
7459
7493
|
_this._topicObservers.set(t, new Set());
|
|
7460
7494
|
}
|
|
7461
|
-
|
|
7462
7495
|
_this._topicObservers.get(t).add(observer);
|
|
7463
7496
|
});
|
|
7464
7497
|
_a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;
|
|
7465
7498
|
newAliases = Object.entries(newSubscriptions).map(function (_a) {
|
|
7466
|
-
var _b = __read(_a, 2),
|
|
7467
|
-
|
|
7468
|
-
|
|
7469
|
-
|
|
7499
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 2),
|
|
7500
|
+
alias = _b[0],
|
|
7501
|
+
v = _b[1];
|
|
7470
7502
|
return [v.topic, alias];
|
|
7471
|
-
});
|
|
7472
|
-
|
|
7473
|
-
this._topicAlias = new Map(__spread(Array.from(this._topicAlias.entries()), newAliases));
|
|
7503
|
+
});
|
|
7504
|
+
// Merge new aliases with old ones
|
|
7505
|
+
this._topicAlias = new Map(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spread"])(Array.from(this._topicAlias.entries()), newAliases));
|
|
7474
7506
|
map = Object.entries(targetTopics.reduce(function (acc, elem) {
|
|
7475
7507
|
var connectionInfoForTopic = mqttConnections.find(function (c) {
|
|
7476
7508
|
return c.topics.indexOf(elem) > -1;
|
|
7477
7509
|
});
|
|
7478
|
-
|
|
7479
7510
|
if (connectionInfoForTopic) {
|
|
7480
7511
|
var clientId = connectionInfoForTopic.client,
|
|
7481
|
-
|
|
7482
|
-
|
|
7512
|
+
url = connectionInfoForTopic.url;
|
|
7483
7513
|
if (!acc[clientId]) {
|
|
7484
7514
|
acc[clientId] = {
|
|
7485
7515
|
url: url,
|
|
7486
7516
|
topics: new Set()
|
|
7487
7517
|
};
|
|
7488
7518
|
}
|
|
7489
|
-
|
|
7490
7519
|
acc[clientId].topics.add(elem);
|
|
7491
7520
|
}
|
|
7492
|
-
|
|
7493
7521
|
return acc;
|
|
7494
|
-
}, {}));
|
|
7495
|
-
|
|
7496
|
-
return [4
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
|
|
7502
|
-
|
|
7503
|
-
topics = _c.topics;
|
|
7504
|
-
|
|
7505
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
7522
|
+
}, {}));
|
|
7523
|
+
// reconnect everything we have in the map
|
|
7524
|
+
return [4 /*yield*/, Promise.all(map.map(function (_a) {
|
|
7525
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 2),
|
|
7526
|
+
clientId = _b[0],
|
|
7527
|
+
_c = _b[1],
|
|
7528
|
+
url = _c.url,
|
|
7529
|
+
topics = _c.topics;
|
|
7530
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
7506
7531
|
var client, err_1;
|
|
7507
|
-
|
|
7508
7532
|
var _this = this;
|
|
7509
|
-
|
|
7510
|
-
return __generator(this, function (_d) {
|
|
7533
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_d) {
|
|
7511
7534
|
switch (_d.label) {
|
|
7512
7535
|
case 0:
|
|
7513
7536
|
client = null;
|
|
7514
7537
|
_d.label = 1;
|
|
7515
|
-
|
|
7516
7538
|
case 1:
|
|
7517
7539
|
_d.trys.push([1, 3,, 4]);
|
|
7518
|
-
|
|
7519
|
-
return [4
|
|
7520
|
-
/*yield*/
|
|
7521
|
-
, this.connect(clientId, {
|
|
7540
|
+
return [4 /*yield*/, this.connect(clientId, {
|
|
7522
7541
|
clientId: clientId,
|
|
7523
7542
|
url: url
|
|
7524
7543
|
})];
|
|
7525
|
-
|
|
7526
7544
|
case 2:
|
|
7527
7545
|
client = _d.sent();
|
|
7528
|
-
return [3
|
|
7529
|
-
/*break*/
|
|
7530
|
-
, 4];
|
|
7531
|
-
|
|
7546
|
+
return [3 /*break*/, 4];
|
|
7532
7547
|
case 3:
|
|
7533
7548
|
err_1 = _d.sent();
|
|
7534
7549
|
observer.error({
|
|
@@ -7536,35 +7551,25 @@ function (_super) {
|
|
|
7536
7551
|
error: err_1
|
|
7537
7552
|
});
|
|
7538
7553
|
observer.complete();
|
|
7539
|
-
return [2
|
|
7540
|
-
/*return*/
|
|
7541
|
-
, undefined];
|
|
7542
|
-
|
|
7554
|
+
return [2 /*return*/, undefined];
|
|
7543
7555
|
case 4:
|
|
7544
7556
|
// subscribe to all topics for this client
|
|
7545
7557
|
// store topic-client mapping
|
|
7546
7558
|
topics.forEach(function (topic) {
|
|
7547
7559
|
if (client.isConnected()) {
|
|
7548
7560
|
client.subscribe(topic);
|
|
7549
|
-
|
|
7550
7561
|
_this._topicClient.set(topic, client);
|
|
7551
7562
|
}
|
|
7552
7563
|
});
|
|
7553
|
-
return [2
|
|
7554
|
-
/*return*/
|
|
7555
|
-
, client];
|
|
7564
|
+
return [2 /*return*/, client];
|
|
7556
7565
|
}
|
|
7557
7566
|
});
|
|
7558
7567
|
});
|
|
7559
7568
|
}))];
|
|
7560
|
-
|
|
7561
7569
|
case 1:
|
|
7562
7570
|
// reconnect everything we have in the map
|
|
7563
7571
|
_b.sent();
|
|
7564
|
-
|
|
7565
|
-
return [2
|
|
7566
|
-
/*return*/
|
|
7567
|
-
];
|
|
7572
|
+
return [2 /*return*/];
|
|
7568
7573
|
}
|
|
7569
7574
|
});
|
|
7570
7575
|
});
|
|
@@ -7574,590 +7579,241 @@ function (_super) {
|
|
|
7574
7579
|
logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));
|
|
7575
7580
|
targetTopics.forEach(function (t) {
|
|
7576
7581
|
var client = _this._topicClient.get(t);
|
|
7577
|
-
|
|
7578
7582
|
if (client && client.isConnected()) {
|
|
7579
7583
|
client.unsubscribe(t);
|
|
7580
|
-
|
|
7581
7584
|
_this._topicClient["delete"](t);
|
|
7582
|
-
|
|
7583
7585
|
if (!Array.from(_this._topicClient.values()).some(function (c) {
|
|
7584
7586
|
return c === client;
|
|
7585
7587
|
})) {
|
|
7586
7588
|
_this.disconnect(client.clientId);
|
|
7587
7589
|
}
|
|
7588
7590
|
}
|
|
7589
|
-
|
|
7590
7591
|
_this._topicObservers["delete"](t);
|
|
7591
7592
|
});
|
|
7592
7593
|
};
|
|
7593
7594
|
});
|
|
7594
|
-
return
|
|
7595
|
+
return zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__["default"].from(result).map(function (value) {
|
|
7595
7596
|
var topic = _this.getTopicForValue(value);
|
|
7596
|
-
|
|
7597
7597
|
var alias = _this._topicAlias.get(topic);
|
|
7598
|
-
|
|
7599
7598
|
value.data = Object.entries(value.data).reduce(function (obj, _a) {
|
|
7600
|
-
var _b = __read(_a, 2),
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7599
|
+
var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_a, 2),
|
|
7600
|
+
origKey = _b[0],
|
|
7601
|
+
val = _b[1];
|
|
7604
7602
|
return obj[alias || origKey] = val, obj;
|
|
7605
7603
|
}, {});
|
|
7606
7604
|
return value;
|
|
7607
7605
|
});
|
|
7608
7606
|
};
|
|
7609
|
-
|
|
7610
7607
|
return AWSAppSyncProvider;
|
|
7611
|
-
}(
|
|
7612
|
-
|
|
7608
|
+
}(_MqttOverWSProvider__WEBPACK_IMPORTED_MODULE_3__["MqttOverWSProvider"]);
|
|
7613
7609
|
|
|
7614
7610
|
|
|
7615
7611
|
/***/ }),
|
|
7616
7612
|
|
|
7617
|
-
/***/ "./lib-esm/Providers/AWSAppSyncRealTimeProvider/
|
|
7618
|
-
|
|
7619
|
-
!*** ./lib-esm/Providers/AWSAppSyncRealTimeProvider/
|
|
7620
|
-
|
|
7621
|
-
/*! exports provided:
|
|
7613
|
+
/***/ "./lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js":
|
|
7614
|
+
/*!***************************************************************!*\
|
|
7615
|
+
!*** ./lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js ***!
|
|
7616
|
+
\***************************************************************/
|
|
7617
|
+
/*! exports provided: AWSAppSyncRealTimeProvider */
|
|
7622
7618
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7623
7619
|
|
|
7624
7620
|
"use strict";
|
|
7625
7621
|
__webpack_require__.r(__webpack_exports__);
|
|
7626
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "
|
|
7627
|
-
/* harmony
|
|
7628
|
-
/* harmony
|
|
7629
|
-
/* harmony
|
|
7630
|
-
/* harmony
|
|
7631
|
-
/* harmony
|
|
7632
|
-
/* harmony
|
|
7633
|
-
/* harmony
|
|
7634
|
-
/* harmony
|
|
7635
|
-
/* harmony
|
|
7636
|
-
/* harmony
|
|
7637
|
-
var
|
|
7638
|
-
var
|
|
7639
|
-
var
|
|
7622
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AWSAppSyncRealTimeProvider", function() { return AWSAppSyncRealTimeProvider; });
|
|
7623
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
7624
|
+
/* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
|
|
7625
|
+
/* harmony import */ var graphql__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! graphql */ "graphql");
|
|
7626
|
+
/* harmony import */ var graphql__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(graphql__WEBPACK_IMPORTED_MODULE_2__);
|
|
7627
|
+
/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url */ "../../node_modules/url/url.js");
|
|
7628
|
+
/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_3__);
|
|
7629
|
+
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uuid */ "../../node_modules/uuid/index.js");
|
|
7630
|
+
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_4__);
|
|
7631
|
+
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! buffer */ "../../node_modules/buffer/index.js");
|
|
7632
|
+
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(buffer__WEBPACK_IMPORTED_MODULE_5__);
|
|
7633
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
7634
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__);
|
|
7635
|
+
/* harmony import */ var _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @aws-amplify/cache */ "@aws-amplify/cache");
|
|
7636
|
+
/* harmony import */ var _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_cache__WEBPACK_IMPORTED_MODULE_7__);
|
|
7637
|
+
/* harmony import */ var _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @aws-amplify/auth */ "@aws-amplify/auth");
|
|
7638
|
+
/* harmony import */ var _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_auth__WEBPACK_IMPORTED_MODULE_8__);
|
|
7639
|
+
/* harmony import */ var _PubSubProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../PubSubProvider */ "./lib-esm/Providers/PubSubProvider.js");
|
|
7640
|
+
/* harmony import */ var _types_PubSub__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../types/PubSub */ "./lib-esm/types/PubSub.js");
|
|
7641
|
+
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../constants */ "./lib-esm/Providers/constants.js");
|
|
7642
|
+
/* harmony import */ var _utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/ConnectionStateMonitor */ "./lib-esm/utils/ConnectionStateMonitor.js");
|
|
7643
|
+
/* harmony import */ var _utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/ReconnectionMonitor */ "./lib-esm/utils/ReconnectionMonitor.js");
|
|
7640
7644
|
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7645
|
+
/*
|
|
7646
|
+
* Copyright 2017-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7647
|
+
*
|
|
7648
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
7649
|
+
* the License. A copy of the License is located at
|
|
7650
|
+
*
|
|
7651
|
+
* http://aws.amazon.com/apache2.0/
|
|
7652
|
+
*
|
|
7653
|
+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
7654
|
+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
7655
|
+
* and limitations under the License.
|
|
7656
|
+
*/
|
|
7651
7657
|
|
|
7652
|
-
MESSAGE_TYPES["GQL_CONNECTION_ERROR"] = "connection_error";
|
|
7653
|
-
/**
|
|
7654
|
-
* Server -> Client message.
|
|
7655
|
-
* This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message
|
|
7656
|
-
*/
|
|
7657
7658
|
|
|
7658
|
-
MESSAGE_TYPES["GQL_CONNECTION_ACK"] = "connection_ack";
|
|
7659
|
-
/**
|
|
7660
|
-
* Client -> Server message.
|
|
7661
|
-
* This message type is for register subscriptions with AWS AppSync RealTime
|
|
7662
|
-
*/
|
|
7663
7659
|
|
|
7664
|
-
MESSAGE_TYPES["GQL_START"] = "start";
|
|
7665
|
-
/**
|
|
7666
|
-
* Server -> Client message.
|
|
7667
|
-
* This message type is for the ack response from AWS AppSync RealTime for GQL_START message
|
|
7668
|
-
*/
|
|
7669
7660
|
|
|
7670
|
-
MESSAGE_TYPES["GQL_START_ACK"] = "start_ack";
|
|
7671
|
-
/**
|
|
7672
|
-
* Server -> Client message.
|
|
7673
|
-
* This message type is for subscription message from AWS AppSync RealTime
|
|
7674
|
-
*/
|
|
7675
7661
|
|
|
7676
|
-
MESSAGE_TYPES["GQL_DATA"] = "data";
|
|
7677
|
-
/**
|
|
7678
|
-
* Server -> Client message.
|
|
7679
|
-
* This message type helps the client to know is still receiving messages from AWS AppSync RealTime
|
|
7680
|
-
*/
|
|
7681
7662
|
|
|
7682
|
-
MESSAGE_TYPES["GQL_CONNECTION_KEEP_ALIVE"] = "ka";
|
|
7683
|
-
/**
|
|
7684
|
-
* Client -> Server message.
|
|
7685
|
-
* This message type is for unregister subscriptions with AWS AppSync RealTime
|
|
7686
|
-
*/
|
|
7687
7663
|
|
|
7688
|
-
MESSAGE_TYPES["GQL_STOP"] = "stop";
|
|
7689
|
-
/**
|
|
7690
|
-
* Server -> Client message.
|
|
7691
|
-
* This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message
|
|
7692
|
-
*/
|
|
7693
7664
|
|
|
7694
|
-
MESSAGE_TYPES["GQL_COMPLETE"] = "complete";
|
|
7695
|
-
/**
|
|
7696
|
-
* Server -> Client message.
|
|
7697
|
-
* This message type is for sending error messages from AWS AppSync RealTime to the client
|
|
7698
|
-
*/
|
|
7699
7665
|
|
|
7700
|
-
MESSAGE_TYPES["GQL_ERROR"] = "error";
|
|
7701
|
-
})(MESSAGE_TYPES || (MESSAGE_TYPES = {}));
|
|
7702
7666
|
|
|
7703
|
-
var SUBSCRIPTION_STATUS;
|
|
7704
7667
|
|
|
7705
|
-
(function (SUBSCRIPTION_STATUS) {
|
|
7706
|
-
SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["PENDING"] = 0] = "PENDING";
|
|
7707
|
-
SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["CONNECTED"] = 1] = "CONNECTED";
|
|
7708
|
-
SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["FAILED"] = 2] = "FAILED";
|
|
7709
|
-
})(SUBSCRIPTION_STATUS || (SUBSCRIPTION_STATUS = {}));
|
|
7710
7668
|
|
|
7711
|
-
var SOCKET_STATUS;
|
|
7712
|
-
|
|
7713
|
-
(function (SOCKET_STATUS) {
|
|
7714
|
-
SOCKET_STATUS[SOCKET_STATUS["CLOSED"] = 0] = "CLOSED";
|
|
7715
|
-
SOCKET_STATUS[SOCKET_STATUS["READY"] = 1] = "READY";
|
|
7716
|
-
SOCKET_STATUS[SOCKET_STATUS["CONNECTING"] = 2] = "CONNECTING";
|
|
7717
|
-
})(SOCKET_STATUS || (SOCKET_STATUS = {}));
|
|
7718
|
-
|
|
7719
|
-
var AMPLIFY_SYMBOL = typeof Symbol !== 'undefined' && typeof Symbol["for"] === 'function' ? Symbol["for"]('amplify_default') : '@@amplify_default';
|
|
7720
|
-
var AWS_APPSYNC_REALTIME_HEADERS = {
|
|
7721
|
-
accept: 'application/json, text/javascript',
|
|
7722
|
-
'content-encoding': 'amz-1.0',
|
|
7723
|
-
'content-type': 'application/json; charset=UTF-8'
|
|
7724
|
-
};
|
|
7725
|
-
/**
|
|
7726
|
-
* Time in milleseconds to wait for GQL_CONNECTION_INIT message
|
|
7727
|
-
*/
|
|
7728
|
-
|
|
7729
|
-
var CONNECTION_INIT_TIMEOUT = 15000;
|
|
7730
|
-
/**
|
|
7731
|
-
* Time in milleseconds to wait for GQL_START_ACK message
|
|
7732
|
-
*/
|
|
7733
|
-
|
|
7734
|
-
var START_ACK_TIMEOUT = 15000;
|
|
7735
|
-
/**
|
|
7736
|
-
* Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message
|
|
7737
|
-
*/
|
|
7738
|
-
|
|
7739
|
-
var DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;
|
|
7740
|
-
/**
|
|
7741
|
-
* Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
|
|
7742
|
-
*/
|
|
7743
|
-
|
|
7744
|
-
var DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;
|
|
7745
|
-
|
|
7746
|
-
/***/ }),
|
|
7747
|
-
|
|
7748
|
-
/***/ "./lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js":
|
|
7749
|
-
/*!***************************************************************!*\
|
|
7750
|
-
!*** ./lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js ***!
|
|
7751
|
-
\***************************************************************/
|
|
7752
|
-
/*! exports provided: AWSAppSyncRealTimeProvider */
|
|
7753
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
7754
|
-
|
|
7755
|
-
"use strict";
|
|
7756
|
-
__webpack_require__.r(__webpack_exports__);
|
|
7757
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AWSAppSyncRealTimeProvider", function() { return AWSAppSyncRealTimeProvider; });
|
|
7758
|
-
/* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
|
|
7759
|
-
/* harmony import */ var graphql__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! graphql */ "graphql");
|
|
7760
|
-
/* harmony import */ var graphql__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(graphql__WEBPACK_IMPORTED_MODULE_1__);
|
|
7761
|
-
/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! url */ "../../node_modules/url/url.js");
|
|
7762
|
-
/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_2__);
|
|
7763
|
-
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uuid */ "../../node_modules/uuid/index.js");
|
|
7764
|
-
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_3__);
|
|
7765
|
-
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! buffer */ "../../node_modules/buffer/index.js");
|
|
7766
|
-
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(buffer__WEBPACK_IMPORTED_MODULE_4__);
|
|
7767
|
-
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
7768
|
-
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__);
|
|
7769
|
-
/* harmony import */ var _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @aws-amplify/cache */ "@aws-amplify/cache");
|
|
7770
|
-
/* harmony import */ var _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_cache__WEBPACK_IMPORTED_MODULE_6__);
|
|
7771
|
-
/* harmony import */ var _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @aws-amplify/auth */ "@aws-amplify/auth");
|
|
7772
|
-
/* harmony import */ var _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_auth__WEBPACK_IMPORTED_MODULE_7__);
|
|
7773
|
-
/* harmony import */ var _PubSubProvider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../PubSubProvider */ "./lib-esm/Providers/PubSubProvider.js");
|
|
7774
|
-
/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../index */ "./lib-esm/index.js");
|
|
7775
|
-
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./constants */ "./lib-esm/Providers/AWSAppSyncRealTimeProvider/constants.js");
|
|
7776
|
-
/* harmony import */ var _utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils/ConnectionStateMonitor */ "./lib-esm/utils/ConnectionStateMonitor.js");
|
|
7777
|
-
var __extends = undefined && undefined.__extends || function () {
|
|
7778
|
-
var _extendStatics = function extendStatics(d, b) {
|
|
7779
|
-
_extendStatics = Object.setPrototypeOf || {
|
|
7780
|
-
__proto__: []
|
|
7781
|
-
} instanceof Array && function (d, b) {
|
|
7782
|
-
d.__proto__ = b;
|
|
7783
|
-
} || function (d, b) {
|
|
7784
|
-
for (var p in b) {
|
|
7785
|
-
if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
7786
|
-
}
|
|
7787
|
-
};
|
|
7788
|
-
|
|
7789
|
-
return _extendStatics(d, b);
|
|
7790
|
-
};
|
|
7791
|
-
|
|
7792
|
-
return function (d, b) {
|
|
7793
|
-
_extendStatics(d, b);
|
|
7794
|
-
|
|
7795
|
-
function __() {
|
|
7796
|
-
this.constructor = d;
|
|
7797
|
-
}
|
|
7798
|
-
|
|
7799
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
7800
|
-
};
|
|
7801
|
-
}();
|
|
7802
|
-
|
|
7803
|
-
var __assign = undefined && undefined.__assign || function () {
|
|
7804
|
-
__assign = Object.assign || function (t) {
|
|
7805
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7806
|
-
s = arguments[i];
|
|
7807
|
-
|
|
7808
|
-
for (var p in s) {
|
|
7809
|
-
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
7810
|
-
}
|
|
7811
|
-
}
|
|
7812
|
-
|
|
7813
|
-
return t;
|
|
7814
|
-
};
|
|
7815
|
-
|
|
7816
|
-
return __assign.apply(this, arguments);
|
|
7817
|
-
};
|
|
7818
|
-
|
|
7819
|
-
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
7820
|
-
function adopt(value) {
|
|
7821
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
7822
|
-
resolve(value);
|
|
7823
|
-
});
|
|
7824
|
-
}
|
|
7825
|
-
|
|
7826
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7827
|
-
function fulfilled(value) {
|
|
7828
|
-
try {
|
|
7829
|
-
step(generator.next(value));
|
|
7830
|
-
} catch (e) {
|
|
7831
|
-
reject(e);
|
|
7832
|
-
}
|
|
7833
|
-
}
|
|
7834
|
-
|
|
7835
|
-
function rejected(value) {
|
|
7836
|
-
try {
|
|
7837
|
-
step(generator["throw"](value));
|
|
7838
|
-
} catch (e) {
|
|
7839
|
-
reject(e);
|
|
7840
|
-
}
|
|
7841
|
-
}
|
|
7842
|
-
|
|
7843
|
-
function step(result) {
|
|
7844
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
7845
|
-
}
|
|
7846
|
-
|
|
7847
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
7848
|
-
});
|
|
7849
|
-
};
|
|
7850
|
-
|
|
7851
|
-
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
7852
|
-
var _ = {
|
|
7853
|
-
label: 0,
|
|
7854
|
-
sent: function sent() {
|
|
7855
|
-
if (t[0] & 1) throw t[1];
|
|
7856
|
-
return t[1];
|
|
7857
|
-
},
|
|
7858
|
-
trys: [],
|
|
7859
|
-
ops: []
|
|
7860
|
-
},
|
|
7861
|
-
f,
|
|
7862
|
-
y,
|
|
7863
|
-
t,
|
|
7864
|
-
g;
|
|
7865
|
-
return g = {
|
|
7866
|
-
next: verb(0),
|
|
7867
|
-
"throw": verb(1),
|
|
7868
|
-
"return": verb(2)
|
|
7869
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
7870
|
-
return this;
|
|
7871
|
-
}), g;
|
|
7872
|
-
|
|
7873
|
-
function verb(n) {
|
|
7874
|
-
return function (v) {
|
|
7875
|
-
return step([n, v]);
|
|
7876
|
-
};
|
|
7877
|
-
}
|
|
7878
|
-
|
|
7879
|
-
function step(op) {
|
|
7880
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
7881
|
-
|
|
7882
|
-
while (_) {
|
|
7883
|
-
try {
|
|
7884
|
-
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;
|
|
7885
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
7886
|
-
|
|
7887
|
-
switch (op[0]) {
|
|
7888
|
-
case 0:
|
|
7889
|
-
case 1:
|
|
7890
|
-
t = op;
|
|
7891
|
-
break;
|
|
7892
|
-
|
|
7893
|
-
case 4:
|
|
7894
|
-
_.label++;
|
|
7895
|
-
return {
|
|
7896
|
-
value: op[1],
|
|
7897
|
-
done: false
|
|
7898
|
-
};
|
|
7899
|
-
|
|
7900
|
-
case 5:
|
|
7901
|
-
_.label++;
|
|
7902
|
-
y = op[1];
|
|
7903
|
-
op = [0];
|
|
7904
|
-
continue;
|
|
7905
|
-
|
|
7906
|
-
case 7:
|
|
7907
|
-
op = _.ops.pop();
|
|
7908
|
-
|
|
7909
|
-
_.trys.pop();
|
|
7910
|
-
|
|
7911
|
-
continue;
|
|
7912
|
-
|
|
7913
|
-
default:
|
|
7914
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
7915
|
-
_ = 0;
|
|
7916
|
-
continue;
|
|
7917
|
-
}
|
|
7918
|
-
|
|
7919
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
7920
|
-
_.label = op[1];
|
|
7921
|
-
break;
|
|
7922
|
-
}
|
|
7923
|
-
|
|
7924
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
7925
|
-
_.label = t[1];
|
|
7926
|
-
t = op;
|
|
7927
|
-
break;
|
|
7928
|
-
}
|
|
7929
|
-
|
|
7930
|
-
if (t && _.label < t[2]) {
|
|
7931
|
-
_.label = t[2];
|
|
7932
|
-
|
|
7933
|
-
_.ops.push(op);
|
|
7934
|
-
|
|
7935
|
-
break;
|
|
7936
|
-
}
|
|
7937
|
-
|
|
7938
|
-
if (t[2]) _.ops.pop();
|
|
7939
|
-
|
|
7940
|
-
_.trys.pop();
|
|
7941
|
-
|
|
7942
|
-
continue;
|
|
7943
|
-
}
|
|
7944
|
-
|
|
7945
|
-
op = body.call(thisArg, _);
|
|
7946
|
-
} catch (e) {
|
|
7947
|
-
op = [6, e];
|
|
7948
|
-
y = 0;
|
|
7949
|
-
} finally {
|
|
7950
|
-
f = t = 0;
|
|
7951
|
-
}
|
|
7952
|
-
}
|
|
7953
|
-
|
|
7954
|
-
if (op[0] & 5) throw op[1];
|
|
7955
|
-
return {
|
|
7956
|
-
value: op[0] ? op[1] : void 0,
|
|
7957
|
-
done: true
|
|
7958
|
-
};
|
|
7959
|
-
}
|
|
7960
|
-
};
|
|
7961
|
-
|
|
7962
|
-
var __read = undefined && undefined.__read || function (o, n) {
|
|
7963
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
7964
|
-
if (!m) return o;
|
|
7965
|
-
var i = m.call(o),
|
|
7966
|
-
r,
|
|
7967
|
-
ar = [],
|
|
7968
|
-
e;
|
|
7969
|
-
|
|
7970
|
-
try {
|
|
7971
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
|
|
7972
|
-
ar.push(r.value);
|
|
7973
|
-
}
|
|
7974
|
-
} catch (error) {
|
|
7975
|
-
e = {
|
|
7976
|
-
error: error
|
|
7977
|
-
};
|
|
7978
|
-
} finally {
|
|
7979
|
-
try {
|
|
7980
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
7981
|
-
} finally {
|
|
7982
|
-
if (e) throw e.error;
|
|
7983
|
-
}
|
|
7984
|
-
}
|
|
7985
|
-
|
|
7986
|
-
return ar;
|
|
7987
|
-
};
|
|
7988
|
-
/*
|
|
7989
|
-
* Copyright 2017-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7990
|
-
*
|
|
7991
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
7992
|
-
* the License. A copy of the License is located at
|
|
7993
|
-
*
|
|
7994
|
-
* http://aws.amazon.com/apache2.0/
|
|
7995
|
-
*
|
|
7996
|
-
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
7997
|
-
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
7998
|
-
* and limitations under the License.
|
|
7999
|
-
*/
|
|
8000
|
-
|
|
8001
|
-
|
|
8002
|
-
|
|
8003
|
-
|
|
8004
|
-
|
|
8005
|
-
|
|
8006
|
-
|
|
8007
|
-
|
|
8008
|
-
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__["Logger"]('AWSAppSyncRealTimeProvider');
|
|
8015
7669
|
|
|
7670
|
+
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Logger"]('AWSAppSyncRealTimeProvider');
|
|
8016
7671
|
var dispatchApiEvent = function dispatchApiEvent(event, data, message) {
|
|
8017
|
-
|
|
7672
|
+
_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Hub"].dispatch('api', {
|
|
8018
7673
|
event: event,
|
|
8019
7674
|
data: data,
|
|
8020
7675
|
message: message
|
|
8021
|
-
}, 'PubSub',
|
|
7676
|
+
}, 'PubSub', _constants__WEBPACK_IMPORTED_MODULE_11__["AMPLIFY_SYMBOL"]);
|
|
8022
7677
|
};
|
|
8023
|
-
|
|
8024
7678
|
var standardDomainPattern = /^https:\/\/\w{26}\.appsync\-api\.\w{2}(?:(?:\-\w{2,})+)\-\d\.amazonaws.com\/graphql$/i;
|
|
8025
7679
|
var customDomainPath = '/realtime';
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
/** @class */
|
|
8029
|
-
function (_super) {
|
|
8030
|
-
__extends(AWSAppSyncRealTimeProvider, _super);
|
|
8031
|
-
|
|
7680
|
+
var AWSAppSyncRealTimeProvider = /** @class */function (_super) {
|
|
7681
|
+
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(AWSAppSyncRealTimeProvider, _super);
|
|
8032
7682
|
function AWSAppSyncRealTimeProvider(options) {
|
|
8033
7683
|
if (options === void 0) {
|
|
8034
7684
|
options = {};
|
|
8035
7685
|
}
|
|
8036
|
-
|
|
8037
7686
|
var _this = _super.call(this, options) || this;
|
|
8038
|
-
|
|
8039
|
-
_this.
|
|
8040
|
-
_this.keepAliveTimeout = _constants__WEBPACK_IMPORTED_MODULE_10__["DEFAULT_KEEP_ALIVE_TIMEOUT"];
|
|
7687
|
+
_this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED;
|
|
7688
|
+
_this.keepAliveTimeout = _constants__WEBPACK_IMPORTED_MODULE_11__["DEFAULT_KEEP_ALIVE_TIMEOUT"];
|
|
8041
7689
|
_this.subscriptionObserverMap = new Map();
|
|
8042
7690
|
_this.promiseArray = [];
|
|
8043
|
-
_this.connectionStateMonitor = new
|
|
8044
|
-
|
|
8045
|
-
|
|
8046
|
-
|
|
7691
|
+
_this.connectionStateMonitor = new _utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["ConnectionStateMonitor"]();
|
|
7692
|
+
_this.reconnectionMonitor = new _utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_13__["ReconnectionMonitor"]();
|
|
7693
|
+
// Monitor the connection state and pass changes along to Hub
|
|
7694
|
+
_this.connectionStateMonitorSubscription = _this.connectionStateMonitor.connectionStateObservable.subscribe(function (connectionState) {
|
|
7695
|
+
dispatchApiEvent(_constants__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_STATE_CHANGE"], {
|
|
8047
7696
|
provider: _this,
|
|
8048
|
-
connectionState:
|
|
8049
|
-
}, "Connection state is " +
|
|
7697
|
+
connectionState: connectionState
|
|
7698
|
+
}, "Connection state is " + connectionState);
|
|
7699
|
+
_this.connectionState = connectionState;
|
|
7700
|
+
// Trigger START_RECONNECT when the connection is disrupted
|
|
7701
|
+
if (connectionState === _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectionDisrupted) {
|
|
7702
|
+
_this.reconnectionMonitor.record(_utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_13__["ReconnectEvent"].START_RECONNECT);
|
|
7703
|
+
}
|
|
7704
|
+
// Trigger HALT_RECONNECT to halt reconnection attempts when the state is anything other than
|
|
7705
|
+
// ConnectionDisrupted or Connecting
|
|
7706
|
+
if ([_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].Connected, _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectedPendingDisconnect, _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectedPendingKeepAlive, _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectedPendingNetwork, _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectedPendingNetwork, _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectionDisruptedPendingNetwork, _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].Disconnected].includes(connectionState)) {
|
|
7707
|
+
_this.reconnectionMonitor.record(_utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_13__["ReconnectEvent"].HALT_RECONNECT);
|
|
7708
|
+
}
|
|
8050
7709
|
});
|
|
8051
|
-
|
|
8052
7710
|
return _this;
|
|
8053
7711
|
}
|
|
8054
|
-
|
|
7712
|
+
/**
|
|
7713
|
+
* Mark the socket closed and release all active listeners
|
|
7714
|
+
*/
|
|
7715
|
+
AWSAppSyncRealTimeProvider.prototype.close = function () {
|
|
7716
|
+
// Mark the socket closed both in status and the connection monitor
|
|
7717
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED;
|
|
7718
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CONNECTION_FAILED);
|
|
7719
|
+
// Turn off the subscription monitor Hub publishing
|
|
7720
|
+
this.connectionStateMonitorSubscription.unsubscribe();
|
|
7721
|
+
// Complete all reconnect observers
|
|
7722
|
+
this.reconnectionMonitor.close();
|
|
7723
|
+
};
|
|
8055
7724
|
AWSAppSyncRealTimeProvider.prototype.getNewWebSocket = function (url, protocol) {
|
|
8056
7725
|
return new WebSocket(url, protocol);
|
|
8057
7726
|
};
|
|
8058
|
-
|
|
8059
7727
|
AWSAppSyncRealTimeProvider.prototype.getProviderName = function () {
|
|
8060
7728
|
return 'AWSAppSyncRealTimeProvider';
|
|
8061
7729
|
};
|
|
8062
|
-
|
|
8063
7730
|
AWSAppSyncRealTimeProvider.prototype.newClient = function () {
|
|
8064
7731
|
throw new Error('Not used here');
|
|
8065
7732
|
};
|
|
8066
|
-
|
|
8067
7733
|
AWSAppSyncRealTimeProvider.prototype.publish = function (_topics, _msg, _options) {
|
|
8068
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8069
|
-
return __generator(this, function (_a) {
|
|
7734
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
7735
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
8070
7736
|
throw new Error('Operation not supported');
|
|
8071
7737
|
});
|
|
8072
7738
|
});
|
|
8073
|
-
};
|
|
8074
|
-
|
|
8075
|
-
|
|
7739
|
+
};
|
|
7740
|
+
// Check if url matches standard domain pattern
|
|
8076
7741
|
AWSAppSyncRealTimeProvider.prototype.isCustomDomain = function (url) {
|
|
8077
7742
|
return url.match(standardDomainPattern) === null;
|
|
8078
7743
|
};
|
|
8079
|
-
|
|
8080
7744
|
AWSAppSyncRealTimeProvider.prototype.subscribe = function (_topics, options) {
|
|
8081
7745
|
var _this = this;
|
|
8082
|
-
|
|
8083
7746
|
var appSyncGraphqlEndpoint = options === null || options === void 0 ? void 0 : options.appSyncGraphqlEndpoint;
|
|
8084
|
-
return new
|
|
7747
|
+
return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__["default"](function (observer) {
|
|
8085
7748
|
if (!options || !appSyncGraphqlEndpoint) {
|
|
8086
7749
|
observer.error({
|
|
8087
|
-
errors: [__assign({}, new
|
|
7750
|
+
errors: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, new graphql__WEBPACK_IMPORTED_MODULE_2__["GraphQLError"]("Subscribe only available for AWS AppSync endpoint"))]
|
|
8088
7751
|
});
|
|
8089
7752
|
observer.complete();
|
|
8090
7753
|
} else {
|
|
8091
|
-
var
|
|
8092
|
-
|
|
8093
|
-
|
|
8094
|
-
|
|
8095
|
-
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
7754
|
+
var subscriptionStartActive_1 = false;
|
|
7755
|
+
var subscriptionId_1 = Object(uuid__WEBPACK_IMPORTED_MODULE_4__["v4"])();
|
|
7756
|
+
var startSubscription_1 = function startSubscription_1() {
|
|
7757
|
+
if (!subscriptionStartActive_1) {
|
|
7758
|
+
subscriptionStartActive_1 = true;
|
|
7759
|
+
var startSubscriptionPromise = _this._startSubscriptionWithAWSAppSyncRealTime({
|
|
7760
|
+
options: options,
|
|
7761
|
+
observer: observer,
|
|
7762
|
+
subscriptionId: subscriptionId_1
|
|
7763
|
+
})["catch"](function (err) {
|
|
7764
|
+
logger.debug(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].REALTIME_SUBSCRIPTION_INIT_ERROR + ": " + err);
|
|
7765
|
+
_this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CLOSED);
|
|
7766
|
+
});
|
|
7767
|
+
startSubscriptionPromise["finally"](function () {
|
|
7768
|
+
subscriptionStartActive_1 = false;
|
|
7769
|
+
});
|
|
7770
|
+
}
|
|
7771
|
+
};
|
|
7772
|
+
var reconnectSubscription_1;
|
|
7773
|
+
// Add an observable to the reconnection list to manage reconnection for this subscription
|
|
7774
|
+
reconnectSubscription_1 = new zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__["default"](function (observer) {
|
|
7775
|
+
_this.reconnectionMonitor.addObserver(observer);
|
|
7776
|
+
}).subscribe(function () {
|
|
7777
|
+
startSubscription_1();
|
|
8105
7778
|
});
|
|
8106
|
-
|
|
7779
|
+
startSubscription_1();
|
|
8107
7780
|
return function () {
|
|
8108
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
7781
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
8109
7782
|
var subscriptionState, err_1;
|
|
8110
|
-
return __generator(this, function (_a) {
|
|
7783
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
8111
7784
|
switch (_a.label) {
|
|
8112
7785
|
case 0:
|
|
8113
|
-
|
|
8114
|
-
|
|
8115
|
-
|
|
8116
|
-
return [4
|
|
8117
|
-
/*yield*/
|
|
8118
|
-
, this._waitForSubscriptionToBeConnected(subscriptionId_1)];
|
|
8119
|
-
|
|
7786
|
+
// Cleanup reconnection subscription
|
|
7787
|
+
reconnectSubscription_1 === null || reconnectSubscription_1 === void 0 ? void 0 : reconnectSubscription_1.unsubscribe();
|
|
7788
|
+
_a.label = 1;
|
|
8120
7789
|
case 1:
|
|
7790
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
7791
|
+
// Waiting that subscription has been connected before trying to unsubscribe
|
|
7792
|
+
return [4 /*yield*/, this._waitForSubscriptionToBeConnected(subscriptionId_1)];
|
|
7793
|
+
case 2:
|
|
8121
7794
|
// Waiting that subscription has been connected before trying to unsubscribe
|
|
8122
7795
|
_a.sent();
|
|
8123
|
-
|
|
8124
7796
|
subscriptionState = (this.subscriptionObserverMap.get(subscriptionId_1) || {}).subscriptionState;
|
|
8125
|
-
|
|
8126
7797
|
if (!subscriptionState) {
|
|
8127
7798
|
// subscription already unsubscribed
|
|
8128
|
-
return [2
|
|
8129
|
-
/*return*/
|
|
8130
|
-
];
|
|
7799
|
+
return [2 /*return*/];
|
|
8131
7800
|
}
|
|
8132
7801
|
|
|
8133
|
-
if (subscriptionState ===
|
|
7802
|
+
if (subscriptionState === _constants__WEBPACK_IMPORTED_MODULE_11__["SUBSCRIPTION_STATUS"].CONNECTED) {
|
|
8134
7803
|
this._sendUnsubscriptionMessage(subscriptionId_1);
|
|
8135
7804
|
} else {
|
|
8136
7805
|
throw new Error('Subscription never connected');
|
|
8137
7806
|
}
|
|
8138
|
-
|
|
8139
|
-
|
|
8140
|
-
/*break*/
|
|
8141
|
-
, 4];
|
|
8142
|
-
|
|
8143
|
-
case 2:
|
|
7807
|
+
return [3 /*break*/, 5];
|
|
7808
|
+
case 3:
|
|
8144
7809
|
err_1 = _a.sent();
|
|
8145
7810
|
logger.debug("Error while unsubscribing " + err_1);
|
|
8146
|
-
return [3
|
|
8147
|
-
/*break*/
|
|
8148
|
-
, 4];
|
|
8149
|
-
|
|
8150
|
-
case 3:
|
|
8151
|
-
this._removeSubscriptionObserver(subscriptionId_1);
|
|
8152
|
-
|
|
8153
|
-
return [7
|
|
8154
|
-
/*endfinally*/
|
|
8155
|
-
];
|
|
8156
|
-
|
|
7811
|
+
return [3 /*break*/, 5];
|
|
8157
7812
|
case 4:
|
|
8158
|
-
|
|
8159
|
-
/*
|
|
8160
|
-
|
|
7813
|
+
this._removeSubscriptionObserver(subscriptionId_1);
|
|
7814
|
+
return [7 /*endfinally*/];
|
|
7815
|
+
case 5:
|
|
7816
|
+
return [2 /*return*/];
|
|
8161
7817
|
}
|
|
8162
7818
|
});
|
|
8163
7819
|
});
|
|
@@ -8173,33 +7829,27 @@ function (_super) {
|
|
|
8173
7829
|
enumerable: true,
|
|
8174
7830
|
configurable: true
|
|
8175
7831
|
});
|
|
8176
|
-
|
|
8177
7832
|
AWSAppSyncRealTimeProvider.prototype._startSubscriptionWithAWSAppSyncRealTime = function (_a) {
|
|
8178
7833
|
var options = _a.options,
|
|
8179
|
-
|
|
8180
|
-
|
|
8181
|
-
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
-
var appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, _d, graphql_headers, _e, additionalHeaders, subscriptionState, data, dataString, headerObj, _f, _g, subscriptionMessage, stringToAWSRealTime, err_2, message, subscriptionFailedCallback_1, _h, subscriptionFailedCallback, subscriptionReadyCallback;
|
|
8186
|
-
|
|
8187
|
-
var _j;
|
|
8188
|
-
|
|
7834
|
+
observer = _a.observer,
|
|
7835
|
+
subscriptionId = _a.subscriptionId;
|
|
7836
|
+
var _b;
|
|
7837
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
7838
|
+
var appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, _c, graphql_headers, _d, additionalHeaders, subscriptionState, data, dataString, headerObj, _e, _f, subscriptionMessage, stringToAWSRealTime, err_2, _g, subscriptionFailedCallback, subscriptionReadyCallback;
|
|
7839
|
+
var _h;
|
|
8189
7840
|
var _this = this;
|
|
8190
|
-
|
|
8191
|
-
|
|
8192
|
-
switch (_k.label) {
|
|
7841
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_j) {
|
|
7842
|
+
switch (_j.label) {
|
|
8193
7843
|
case 0:
|
|
8194
|
-
appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint, authenticationType = options.authenticationType, query = options.query, variables = options.variables, apiKey = options.apiKey, region = options.region,
|
|
7844
|
+
appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint, authenticationType = options.authenticationType, query = options.query, variables = options.variables, apiKey = options.apiKey, region = options.region, _c = options.graphql_headers, graphql_headers = _c === void 0 ? function () {
|
|
8195
7845
|
return {};
|
|
8196
|
-
} :
|
|
8197
|
-
subscriptionState =
|
|
7846
|
+
} : _c, _d = options.additionalHeaders, additionalHeaders = _d === void 0 ? {} : _d;
|
|
7847
|
+
subscriptionState = _constants__WEBPACK_IMPORTED_MODULE_11__["SUBSCRIPTION_STATUS"].PENDING;
|
|
8198
7848
|
data = {
|
|
8199
7849
|
query: query,
|
|
8200
7850
|
variables: variables
|
|
8201
|
-
};
|
|
8202
|
-
|
|
7851
|
+
};
|
|
7852
|
+
// Having a subscription id map will make it simple to forward messages received
|
|
8203
7853
|
this.subscriptionObserverMap.set(subscriptionId, {
|
|
8204
7854
|
observer: observer,
|
|
8205
7855
|
query: query !== null && query !== void 0 ? query : '',
|
|
@@ -8208,10 +7858,8 @@ function (_super) {
|
|
|
8208
7858
|
startAckTimeoutId: undefined
|
|
8209
7859
|
});
|
|
8210
7860
|
dataString = JSON.stringify(data);
|
|
8211
|
-
|
|
8212
|
-
return [4
|
|
8213
|
-
/*yield*/
|
|
8214
|
-
, this._awsRealTimeHeaderBasedAuth({
|
|
7861
|
+
_e = [{}];
|
|
7862
|
+
return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({
|
|
8215
7863
|
apiKey: apiKey,
|
|
8216
7864
|
appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,
|
|
8217
7865
|
authenticationType: authenticationType,
|
|
@@ -8220,73 +7868,43 @@ function (_super) {
|
|
|
8220
7868
|
region: region,
|
|
8221
7869
|
additionalHeaders: additionalHeaders
|
|
8222
7870
|
})];
|
|
8223
|
-
|
|
8224
7871
|
case 1:
|
|
8225
|
-
|
|
8226
|
-
return [4
|
|
8227
|
-
/*yield*/
|
|
8228
|
-
, graphql_headers()];
|
|
8229
|
-
|
|
7872
|
+
_f = [tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"].apply(void 0, _e.concat([_j.sent()]))];
|
|
7873
|
+
return [4 /*yield*/, graphql_headers()];
|
|
8230
7874
|
case 2:
|
|
8231
|
-
headerObj = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0,
|
|
7875
|
+
headerObj = tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"].apply(void 0, [tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"].apply(void 0, [tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"].apply(void 0, _f.concat([_j.sent()])), additionalHeaders]), (_h = {}, _h[_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["USER_AGENT_HEADER"]] = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Constants"].userAgent, _h)]);
|
|
8232
7876
|
subscriptionMessage = {
|
|
8233
7877
|
id: subscriptionId,
|
|
8234
7878
|
payload: {
|
|
8235
7879
|
data: dataString,
|
|
8236
7880
|
extensions: {
|
|
8237
|
-
authorization: __assign({}, headerObj)
|
|
7881
|
+
authorization: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, headerObj)
|
|
8238
7882
|
}
|
|
8239
7883
|
},
|
|
8240
|
-
type:
|
|
7884
|
+
type: _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_START
|
|
8241
7885
|
};
|
|
8242
7886
|
stringToAWSRealTime = JSON.stringify(subscriptionMessage);
|
|
8243
|
-
|
|
8244
|
-
|
|
7887
|
+
_j.label = 3;
|
|
8245
7888
|
case 3:
|
|
8246
|
-
|
|
8247
|
-
|
|
8248
|
-
this.
|
|
8249
|
-
return [4
|
|
8250
|
-
/*yield*/
|
|
8251
|
-
, this._initializeWebSocketConnection({
|
|
7889
|
+
_j.trys.push([3, 5,, 6]);
|
|
7890
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].OPENING_CONNECTION);
|
|
7891
|
+
return [4 /*yield*/, this._initializeWebSocketConnection({
|
|
8252
7892
|
apiKey: apiKey,
|
|
8253
7893
|
appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,
|
|
8254
7894
|
authenticationType: authenticationType,
|
|
8255
7895
|
region: region,
|
|
8256
7896
|
additionalHeaders: additionalHeaders
|
|
8257
7897
|
})];
|
|
8258
|
-
|
|
8259
7898
|
case 4:
|
|
8260
|
-
|
|
8261
|
-
|
|
8262
|
-
return [3
|
|
8263
|
-
/*break*/
|
|
8264
|
-
, 6];
|
|
8265
|
-
|
|
7899
|
+
_j.sent();
|
|
7900
|
+
return [3 /*break*/, 6];
|
|
8266
7901
|
case 5:
|
|
8267
|
-
err_2 =
|
|
8268
|
-
|
|
8269
|
-
|
|
8270
|
-
});
|
|
8271
|
-
message = (_b = err_2['message']) !== null && _b !== void 0 ? _b : '';
|
|
8272
|
-
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_CHANGE"].CLOSED);
|
|
8273
|
-
observer.error({
|
|
8274
|
-
errors: [__assign({}, new graphql__WEBPACK_IMPORTED_MODULE_1__["GraphQLError"](_index__WEBPACK_IMPORTED_MODULE_9__["CONTROL_MSG"].CONNECTION_FAILED + ": " + message))]
|
|
8275
|
-
});
|
|
8276
|
-
observer.complete();
|
|
8277
|
-
subscriptionFailedCallback_1 = (this.subscriptionObserverMap.get(subscriptionId) || {}).subscriptionFailedCallback; // Notify concurrent unsubscription
|
|
8278
|
-
|
|
8279
|
-
if (typeof subscriptionFailedCallback_1 === 'function') {
|
|
8280
|
-
subscriptionFailedCallback_1();
|
|
8281
|
-
}
|
|
8282
|
-
|
|
8283
|
-
return [2
|
|
8284
|
-
/*return*/
|
|
8285
|
-
];
|
|
8286
|
-
|
|
7902
|
+
err_2 = _j.sent();
|
|
7903
|
+
this._logStartSubscriptionError(subscriptionId, observer, err_2);
|
|
7904
|
+
return [2 /*return*/];
|
|
8287
7905
|
case 6:
|
|
8288
|
-
|
|
8289
|
-
|
|
7906
|
+
_g = (_b = this.subscriptionObserverMap.get(subscriptionId)) !== null && _b !== void 0 ? _b : {}, subscriptionFailedCallback = _g.subscriptionFailedCallback, subscriptionReadyCallback = _g.subscriptionReadyCallback;
|
|
7907
|
+
// This must be done before sending the message in order to be listening immediately
|
|
8290
7908
|
this.subscriptionObserverMap.set(subscriptionId, {
|
|
8291
7909
|
observer: observer,
|
|
8292
7910
|
subscriptionState: subscriptionState,
|
|
@@ -8296,43 +7914,58 @@ function (_super) {
|
|
|
8296
7914
|
subscriptionFailedCallback: subscriptionFailedCallback,
|
|
8297
7915
|
startAckTimeoutId: setTimeout(function () {
|
|
8298
7916
|
_this._timeoutStartSubscriptionAck.call(_this, subscriptionId);
|
|
8299
|
-
},
|
|
7917
|
+
}, _constants__WEBPACK_IMPORTED_MODULE_11__["START_ACK_TIMEOUT"])
|
|
8300
7918
|
});
|
|
8301
|
-
|
|
8302
7919
|
if (this.awsRealTimeSocket) {
|
|
8303
7920
|
this.awsRealTimeSocket.send(stringToAWSRealTime);
|
|
8304
7921
|
}
|
|
8305
|
-
|
|
8306
|
-
return [2
|
|
8307
|
-
/*return*/
|
|
8308
|
-
];
|
|
7922
|
+
return [2 /*return*/];
|
|
8309
7923
|
}
|
|
8310
7924
|
});
|
|
8311
7925
|
});
|
|
8312
|
-
};
|
|
8313
|
-
|
|
8314
|
-
|
|
7926
|
+
};
|
|
7927
|
+
// Log logic for start subscription failures
|
|
7928
|
+
AWSAppSyncRealTimeProvider.prototype._logStartSubscriptionError = function (subscriptionId, observer, err) {
|
|
7929
|
+
var _a;
|
|
7930
|
+
logger.debug({
|
|
7931
|
+
err: err
|
|
7932
|
+
});
|
|
7933
|
+
var message = (_a = err['message']) !== null && _a !== void 0 ? _a : '';
|
|
7934
|
+
// Resolving to give the state observer time to propogate the update
|
|
7935
|
+
Promise.resolve(this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CLOSED));
|
|
7936
|
+
// Capture the error only when the network didn't cause disruption
|
|
7937
|
+
if (this.connectionState !== _types_PubSub__WEBPACK_IMPORTED_MODULE_10__["ConnectionState"].ConnectionDisruptedPendingNetwork) {
|
|
7938
|
+
// When the error is non-retriable, error out the observable
|
|
7939
|
+
if (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["isNonRetryableError"])(err)) {
|
|
7940
|
+
observer.error({
|
|
7941
|
+
errors: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, new graphql__WEBPACK_IMPORTED_MODULE_2__["GraphQLError"](_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].CONNECTION_FAILED + ": " + message))]
|
|
7942
|
+
});
|
|
7943
|
+
} else {
|
|
7944
|
+
logger.debug(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].CONNECTION_FAILED + ": " + message);
|
|
7945
|
+
}
|
|
7946
|
+
var subscriptionFailedCallback = (this.subscriptionObserverMap.get(subscriptionId) || {}).subscriptionFailedCallback;
|
|
7947
|
+
// Notify concurrent unsubscription
|
|
7948
|
+
if (typeof subscriptionFailedCallback === 'function') {
|
|
7949
|
+
subscriptionFailedCallback();
|
|
7950
|
+
}
|
|
7951
|
+
}
|
|
7952
|
+
};
|
|
7953
|
+
// Waiting that subscription has been connected before trying to unsubscribe
|
|
8315
7954
|
AWSAppSyncRealTimeProvider.prototype._waitForSubscriptionToBeConnected = function (subscriptionId) {
|
|
8316
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7955
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8317
7956
|
var subscriptionObserver, subscriptionState;
|
|
8318
|
-
|
|
8319
7957
|
var _this = this;
|
|
8320
|
-
|
|
8321
|
-
return __generator(this, function (_a) {
|
|
7958
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
8322
7959
|
subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);
|
|
8323
|
-
|
|
8324
7960
|
if (subscriptionObserver) {
|
|
8325
|
-
subscriptionState = subscriptionObserver.subscriptionState;
|
|
8326
|
-
|
|
8327
|
-
if (subscriptionState ===
|
|
8328
|
-
return [2
|
|
8329
|
-
/*return*/
|
|
8330
|
-
, new Promise(function (res, rej) {
|
|
7961
|
+
subscriptionState = subscriptionObserver.subscriptionState;
|
|
7962
|
+
// This in case unsubscribe is invoked before sending start subscription message
|
|
7963
|
+
if (subscriptionState === _constants__WEBPACK_IMPORTED_MODULE_11__["SUBSCRIPTION_STATUS"].PENDING) {
|
|
7964
|
+
return [2 /*return*/, new Promise(function (res, rej) {
|
|
8331
7965
|
var observer = subscriptionObserver.observer,
|
|
8332
|
-
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
7966
|
+
subscriptionState = subscriptionObserver.subscriptionState,
|
|
7967
|
+
variables = subscriptionObserver.variables,
|
|
7968
|
+
query = subscriptionObserver.query;
|
|
8336
7969
|
_this.subscriptionObserverMap.set(subscriptionId, {
|
|
8337
7970
|
observer: observer,
|
|
8338
7971
|
subscriptionState: subscriptionState,
|
|
@@ -8344,21 +7977,18 @@ function (_super) {
|
|
|
8344
7977
|
})];
|
|
8345
7978
|
}
|
|
8346
7979
|
}
|
|
8347
|
-
|
|
8348
|
-
return [2
|
|
8349
|
-
/*return*/
|
|
8350
|
-
];
|
|
7980
|
+
return [2 /*return*/];
|
|
8351
7981
|
});
|
|
8352
7982
|
});
|
|
8353
7983
|
};
|
|
8354
7984
|
|
|
8355
7985
|
AWSAppSyncRealTimeProvider.prototype._sendUnsubscriptionMessage = function (subscriptionId) {
|
|
8356
7986
|
try {
|
|
8357
|
-
if (this.awsRealTimeSocket && this.awsRealTimeSocket.readyState === WebSocket.OPEN && this.socketStatus ===
|
|
7987
|
+
if (this.awsRealTimeSocket && this.awsRealTimeSocket.readyState === WebSocket.OPEN && this.socketStatus === _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].READY) {
|
|
8358
7988
|
// Preparing unsubscribe message to stop receiving messages for that subscription
|
|
8359
7989
|
var unsubscribeMessage = {
|
|
8360
7990
|
id: subscriptionId,
|
|
8361
|
-
type:
|
|
7991
|
+
type: _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_STOP
|
|
8362
7992
|
};
|
|
8363
7993
|
var stringToAWSRealTime = JSON.stringify(unsubscribeMessage);
|
|
8364
7994
|
this.awsRealTimeSocket.send(stringToAWSRealTime);
|
|
@@ -8370,107 +8000,88 @@ function (_super) {
|
|
|
8370
8000
|
});
|
|
8371
8001
|
}
|
|
8372
8002
|
};
|
|
8373
|
-
|
|
8374
8003
|
AWSAppSyncRealTimeProvider.prototype._removeSubscriptionObserver = function (subscriptionId) {
|
|
8375
|
-
this.subscriptionObserverMap["delete"](subscriptionId);
|
|
8376
|
-
|
|
8004
|
+
this.subscriptionObserverMap["delete"](subscriptionId);
|
|
8005
|
+
// Verifying 1000ms after removing subscription in case there are new subscription unmount/mount
|
|
8377
8006
|
setTimeout(this._closeSocketIfRequired.bind(this), 1000);
|
|
8378
8007
|
};
|
|
8379
|
-
|
|
8380
8008
|
AWSAppSyncRealTimeProvider.prototype._closeSocketIfRequired = function () {
|
|
8381
8009
|
if (this.subscriptionObserverMap.size > 0) {
|
|
8382
8010
|
// Active subscriptions on the WebSocket
|
|
8383
8011
|
return;
|
|
8384
8012
|
}
|
|
8385
|
-
|
|
8386
8013
|
if (!this.awsRealTimeSocket) {
|
|
8387
|
-
this.socketStatus =
|
|
8014
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED;
|
|
8388
8015
|
return;
|
|
8389
8016
|
}
|
|
8390
|
-
|
|
8391
|
-
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_CHANGE"].CLOSING_CONNECTION);
|
|
8392
|
-
|
|
8017
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CLOSING_CONNECTION);
|
|
8393
8018
|
if (this.awsRealTimeSocket.bufferedAmount > 0) {
|
|
8394
8019
|
// Still data on the WebSocket
|
|
8395
8020
|
setTimeout(this._closeSocketIfRequired.bind(this), 1000);
|
|
8396
8021
|
} else {
|
|
8397
8022
|
logger.debug('closing WebSocket...');
|
|
8398
|
-
|
|
8399
8023
|
if (this.keepAliveTimeoutId) {
|
|
8400
8024
|
clearTimeout(this.keepAliveTimeoutId);
|
|
8401
8025
|
}
|
|
8402
|
-
|
|
8403
8026
|
if (this.keepAliveAlertTimeoutId) {
|
|
8404
8027
|
clearTimeout(this.keepAliveAlertTimeoutId);
|
|
8405
8028
|
}
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8029
|
+
var tempSocket = this.awsRealTimeSocket;
|
|
8030
|
+
// Cleaning callbacks to avoid race condition, socket still exists
|
|
8409
8031
|
tempSocket.onclose = null;
|
|
8410
8032
|
tempSocket.onerror = null;
|
|
8411
8033
|
tempSocket.close(1000);
|
|
8412
8034
|
this.awsRealTimeSocket = undefined;
|
|
8413
|
-
this.socketStatus =
|
|
8414
|
-
this.connectionStateMonitor.record(
|
|
8035
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED;
|
|
8036
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CLOSED);
|
|
8415
8037
|
}
|
|
8416
8038
|
};
|
|
8417
|
-
|
|
8418
8039
|
AWSAppSyncRealTimeProvider.prototype._handleIncomingSubscriptionMessage = function (message) {
|
|
8419
8040
|
var _this = this;
|
|
8420
|
-
|
|
8421
8041
|
logger.debug("subscription message from AWS AppSync RealTime: " + message.data);
|
|
8422
|
-
|
|
8423
8042
|
var _a = JSON.parse(message.data),
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8043
|
+
_b = _a.id,
|
|
8044
|
+
id = _b === void 0 ? '' : _b,
|
|
8045
|
+
payload = _a.payload,
|
|
8046
|
+
type = _a.type;
|
|
8429
8047
|
var _c = this.subscriptionObserverMap.get(id) || {},
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8048
|
+
_d = _c.observer,
|
|
8049
|
+
observer = _d === void 0 ? null : _d,
|
|
8050
|
+
_e = _c.query,
|
|
8051
|
+
query = _e === void 0 ? '' : _e,
|
|
8052
|
+
_f = _c.variables,
|
|
8053
|
+
variables = _f === void 0 ? {} : _f,
|
|
8054
|
+
startAckTimeoutId = _c.startAckTimeoutId,
|
|
8055
|
+
subscriptionReadyCallback = _c.subscriptionReadyCallback,
|
|
8056
|
+
subscriptionFailedCallback = _c.subscriptionFailedCallback;
|
|
8440
8057
|
logger.debug({
|
|
8441
8058
|
id: id,
|
|
8442
8059
|
observer: observer,
|
|
8443
8060
|
query: query,
|
|
8444
8061
|
variables: variables
|
|
8445
8062
|
});
|
|
8446
|
-
|
|
8447
|
-
if (type === _constants__WEBPACK_IMPORTED_MODULE_10__["MESSAGE_TYPES"].GQL_DATA && payload && payload.data) {
|
|
8063
|
+
if (type === _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_DATA && payload && payload.data) {
|
|
8448
8064
|
if (observer) {
|
|
8449
8065
|
observer.next(payload);
|
|
8450
8066
|
} else {
|
|
8451
8067
|
logger.debug("observer not found for id: " + id);
|
|
8452
8068
|
}
|
|
8453
|
-
|
|
8454
8069
|
return;
|
|
8455
8070
|
}
|
|
8456
|
-
|
|
8457
|
-
if (type === _constants__WEBPACK_IMPORTED_MODULE_10__["MESSAGE_TYPES"].GQL_START_ACK) {
|
|
8071
|
+
if (type === _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_START_ACK) {
|
|
8458
8072
|
logger.debug("subscription ready for " + JSON.stringify({
|
|
8459
8073
|
query: query,
|
|
8460
8074
|
variables: variables
|
|
8461
8075
|
}));
|
|
8462
|
-
|
|
8463
8076
|
if (typeof subscriptionReadyCallback === 'function') {
|
|
8464
8077
|
subscriptionReadyCallback();
|
|
8465
8078
|
}
|
|
8466
|
-
|
|
8467
8079
|
if (startAckTimeoutId) clearTimeout(startAckTimeoutId);
|
|
8468
|
-
dispatchApiEvent(
|
|
8080
|
+
dispatchApiEvent(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].SUBSCRIPTION_ACK, {
|
|
8469
8081
|
query: query,
|
|
8470
8082
|
variables: variables
|
|
8471
8083
|
}, 'Connection established for subscription');
|
|
8472
|
-
var subscriptionState =
|
|
8473
|
-
|
|
8084
|
+
var subscriptionState = _constants__WEBPACK_IMPORTED_MODULE_11__["SUBSCRIPTION_STATUS"].CONNECTED;
|
|
8474
8085
|
if (observer) {
|
|
8475
8086
|
this.subscriptionObserverMap.set(id, {
|
|
8476
8087
|
observer: observer,
|
|
@@ -8482,27 +8093,23 @@ function (_super) {
|
|
|
8482
8093
|
subscriptionFailedCallback: subscriptionFailedCallback
|
|
8483
8094
|
});
|
|
8484
8095
|
}
|
|
8485
|
-
|
|
8486
|
-
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_CHANGE"].CONNECTION_ESTABLISHED);
|
|
8096
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CONNECTION_ESTABLISHED);
|
|
8487
8097
|
return;
|
|
8488
8098
|
}
|
|
8489
|
-
|
|
8490
|
-
if (type === _constants__WEBPACK_IMPORTED_MODULE_10__["MESSAGE_TYPES"].GQL_CONNECTION_KEEP_ALIVE) {
|
|
8099
|
+
if (type === _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_CONNECTION_KEEP_ALIVE) {
|
|
8491
8100
|
if (this.keepAliveTimeoutId) clearTimeout(this.keepAliveTimeoutId);
|
|
8492
8101
|
if (this.keepAliveAlertTimeoutId) clearTimeout(this.keepAliveAlertTimeoutId);
|
|
8493
8102
|
this.keepAliveTimeoutId = setTimeout(function () {
|
|
8494
|
-
return _this._errorDisconnect(
|
|
8103
|
+
return _this._errorDisconnect(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].TIMEOUT_DISCONNECT);
|
|
8495
8104
|
}, this.keepAliveTimeout);
|
|
8496
8105
|
this.keepAliveAlertTimeoutId = setTimeout(function () {
|
|
8497
|
-
_this.connectionStateMonitor.record(
|
|
8498
|
-
},
|
|
8499
|
-
this.connectionStateMonitor.record(
|
|
8106
|
+
_this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].KEEP_ALIVE_MISSED);
|
|
8107
|
+
}, _constants__WEBPACK_IMPORTED_MODULE_11__["DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT"]);
|
|
8108
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].KEEP_ALIVE);
|
|
8500
8109
|
return;
|
|
8501
8110
|
}
|
|
8502
|
-
|
|
8503
|
-
|
|
8504
|
-
var subscriptionState = _constants__WEBPACK_IMPORTED_MODULE_10__["SUBSCRIPTION_STATUS"].FAILED;
|
|
8505
|
-
|
|
8111
|
+
if (type === _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_ERROR) {
|
|
8112
|
+
var subscriptionState = _constants__WEBPACK_IMPORTED_MODULE_11__["SUBSCRIPTION_STATUS"].FAILED;
|
|
8506
8113
|
if (observer) {
|
|
8507
8114
|
this.subscriptionObserverMap.set(id, {
|
|
8508
8115
|
observer: observer,
|
|
@@ -8513,115 +8120,75 @@ function (_super) {
|
|
|
8513
8120
|
subscriptionFailedCallback: subscriptionFailedCallback,
|
|
8514
8121
|
subscriptionState: subscriptionState
|
|
8515
8122
|
});
|
|
8123
|
+
logger.debug(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].CONNECTION_FAILED + ": " + JSON.stringify(payload));
|
|
8516
8124
|
observer.error({
|
|
8517
|
-
errors: [__assign({}, new
|
|
8125
|
+
errors: [Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, new graphql__WEBPACK_IMPORTED_MODULE_2__["GraphQLError"](_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].CONNECTION_FAILED + ": " + JSON.stringify(payload)))]
|
|
8518
8126
|
});
|
|
8519
8127
|
if (startAckTimeoutId) clearTimeout(startAckTimeoutId);
|
|
8520
|
-
observer.complete();
|
|
8521
|
-
|
|
8522
8128
|
if (typeof subscriptionFailedCallback === 'function') {
|
|
8523
8129
|
subscriptionFailedCallback();
|
|
8524
8130
|
}
|
|
8525
8131
|
}
|
|
8526
8132
|
}
|
|
8527
8133
|
};
|
|
8528
|
-
|
|
8529
8134
|
AWSAppSyncRealTimeProvider.prototype._errorDisconnect = function (msg) {
|
|
8530
|
-
logger.debug("Disconnect error: " + msg);
|
|
8531
|
-
this.subscriptionObserverMap.forEach(function (_a) {
|
|
8532
|
-
var observer = _a.observer;
|
|
8533
|
-
|
|
8534
|
-
if (observer && !observer.closed) {
|
|
8535
|
-
observer.error({
|
|
8536
|
-
errors: [__assign({}, new graphql__WEBPACK_IMPORTED_MODULE_1__["GraphQLError"](msg))]
|
|
8537
|
-
});
|
|
8538
|
-
}
|
|
8539
|
-
});
|
|
8540
|
-
this.subscriptionObserverMap.clear();
|
|
8541
|
-
|
|
8135
|
+
logger.debug("Disconnect error: " + msg);
|
|
8542
8136
|
if (this.awsRealTimeSocket) {
|
|
8543
|
-
this.connectionStateMonitor.record(
|
|
8137
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CLOSED);
|
|
8544
8138
|
this.awsRealTimeSocket.close();
|
|
8545
8139
|
}
|
|
8546
|
-
|
|
8547
|
-
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_10__["SOCKET_STATUS"].CLOSED;
|
|
8140
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED;
|
|
8548
8141
|
};
|
|
8549
|
-
|
|
8550
8142
|
AWSAppSyncRealTimeProvider.prototype._timeoutStartSubscriptionAck = function (subscriptionId) {
|
|
8551
8143
|
var subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);
|
|
8552
|
-
|
|
8553
8144
|
if (subscriptionObserver) {
|
|
8554
8145
|
var observer = subscriptionObserver.observer,
|
|
8555
|
-
|
|
8556
|
-
|
|
8557
|
-
|
|
8146
|
+
query = subscriptionObserver.query,
|
|
8147
|
+
variables = subscriptionObserver.variables;
|
|
8558
8148
|
if (!observer) {
|
|
8559
8149
|
return;
|
|
8560
8150
|
}
|
|
8561
|
-
|
|
8562
8151
|
this.subscriptionObserverMap.set(subscriptionId, {
|
|
8563
8152
|
observer: observer,
|
|
8564
8153
|
query: query,
|
|
8565
8154
|
variables: variables,
|
|
8566
|
-
subscriptionState:
|
|
8155
|
+
subscriptionState: _constants__WEBPACK_IMPORTED_MODULE_11__["SUBSCRIPTION_STATUS"].FAILED
|
|
8567
8156
|
});
|
|
8568
|
-
|
|
8569
|
-
if (observer && !observer.closed) {
|
|
8570
|
-
observer.error({
|
|
8571
|
-
errors: [__assign({}, new graphql__WEBPACK_IMPORTED_MODULE_1__["GraphQLError"]("Subscription timeout " + JSON.stringify({
|
|
8572
|
-
query: query,
|
|
8573
|
-
variables: variables
|
|
8574
|
-
})))]
|
|
8575
|
-
}); // Cleanup will be automatically executed
|
|
8576
|
-
|
|
8577
|
-
observer.complete();
|
|
8578
|
-
}
|
|
8579
|
-
|
|
8157
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CLOSED);
|
|
8580
8158
|
logger.debug('timeoutStartSubscription', JSON.stringify({
|
|
8581
8159
|
query: query,
|
|
8582
8160
|
variables: variables
|
|
8583
8161
|
}));
|
|
8584
8162
|
}
|
|
8585
8163
|
};
|
|
8586
|
-
|
|
8587
8164
|
AWSAppSyncRealTimeProvider.prototype._initializeWebSocketConnection = function (_a) {
|
|
8588
8165
|
var _this = this;
|
|
8589
|
-
|
|
8590
8166
|
var appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint,
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
if (this.socketStatus === _constants__WEBPACK_IMPORTED_MODULE_10__["SOCKET_STATUS"].READY) {
|
|
8167
|
+
authenticationType = _a.authenticationType,
|
|
8168
|
+
apiKey = _a.apiKey,
|
|
8169
|
+
region = _a.region,
|
|
8170
|
+
additionalHeaders = _a.additionalHeaders;
|
|
8171
|
+
if (this.socketStatus === _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].READY) {
|
|
8597
8172
|
return;
|
|
8598
8173
|
}
|
|
8599
|
-
|
|
8600
8174
|
return new Promise(function (res, rej) {
|
|
8601
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
8175
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
8602
8176
|
var payloadString, headerString, _a, _b, headerQs, payloadQs, discoverableEndpoint, protocol, awsRealTimeUrl, err_3;
|
|
8603
|
-
|
|
8604
|
-
return __generator(this, function (_c) {
|
|
8177
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_c) {
|
|
8605
8178
|
switch (_c.label) {
|
|
8606
8179
|
case 0:
|
|
8607
8180
|
this.promiseArray.push({
|
|
8608
8181
|
res: res,
|
|
8609
8182
|
rej: rej
|
|
8610
8183
|
});
|
|
8611
|
-
if (!(this.socketStatus ===
|
|
8612
|
-
/*break*/
|
|
8613
|
-
, 5];
|
|
8184
|
+
if (!(this.socketStatus === _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED)) return [3 /*break*/, 5];
|
|
8614
8185
|
_c.label = 1;
|
|
8615
|
-
|
|
8616
8186
|
case 1:
|
|
8617
8187
|
_c.trys.push([1, 4,, 5]);
|
|
8618
|
-
|
|
8619
|
-
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_10__["SOCKET_STATUS"].CONNECTING;
|
|
8188
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CONNECTING;
|
|
8620
8189
|
payloadString = '{}';
|
|
8621
8190
|
_b = (_a = JSON).stringify;
|
|
8622
|
-
return [4
|
|
8623
|
-
/*yield*/
|
|
8624
|
-
, this._awsRealTimeHeaderBasedAuth({
|
|
8191
|
+
return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({
|
|
8625
8192
|
authenticationType: authenticationType,
|
|
8626
8193
|
payload: payloadString,
|
|
8627
8194
|
canonicalUri: '/connect',
|
|
@@ -8630,62 +8197,46 @@ function (_super) {
|
|
|
8630
8197
|
region: region,
|
|
8631
8198
|
additionalHeaders: additionalHeaders
|
|
8632
8199
|
})];
|
|
8633
|
-
|
|
8634
8200
|
case 2:
|
|
8635
8201
|
headerString = _b.apply(_a, [_c.sent()]);
|
|
8636
|
-
headerQs =
|
|
8637
|
-
payloadQs =
|
|
8202
|
+
headerQs = buffer__WEBPACK_IMPORTED_MODULE_5__["Buffer"].from(headerString).toString('base64');
|
|
8203
|
+
payloadQs = buffer__WEBPACK_IMPORTED_MODULE_5__["Buffer"].from(payloadString).toString('base64');
|
|
8638
8204
|
discoverableEndpoint = appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '';
|
|
8639
|
-
|
|
8640
8205
|
if (this.isCustomDomain(discoverableEndpoint)) {
|
|
8641
8206
|
discoverableEndpoint = discoverableEndpoint.concat(customDomainPath);
|
|
8642
8207
|
} else {
|
|
8643
8208
|
discoverableEndpoint = discoverableEndpoint.replace('appsync-api', 'appsync-realtime-api').replace('gogi-beta', 'grt-beta');
|
|
8644
8209
|
}
|
|
8645
|
-
|
|
8646
8210
|
protocol = this.isSSLEnabled ? 'wss://' : 'ws://';
|
|
8647
8211
|
discoverableEndpoint = discoverableEndpoint.replace('https://', protocol).replace('http://', protocol);
|
|
8648
8212
|
awsRealTimeUrl = discoverableEndpoint + "?header=" + headerQs + "&payload=" + payloadQs;
|
|
8649
|
-
return [4
|
|
8650
|
-
/*yield*/
|
|
8651
|
-
, this._initializeRetryableHandshake(awsRealTimeUrl)];
|
|
8652
|
-
|
|
8213
|
+
return [4 /*yield*/, this._initializeRetryableHandshake(awsRealTimeUrl)];
|
|
8653
8214
|
case 3:
|
|
8654
8215
|
_c.sent();
|
|
8655
|
-
|
|
8656
8216
|
this.promiseArray.forEach(function (_a) {
|
|
8657
8217
|
var res = _a.res;
|
|
8658
8218
|
logger.debug('Notifying connection successful');
|
|
8659
8219
|
res();
|
|
8660
8220
|
});
|
|
8661
|
-
this.socketStatus =
|
|
8221
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].READY;
|
|
8662
8222
|
this.promiseArray = [];
|
|
8663
|
-
return [3
|
|
8664
|
-
/*break*/
|
|
8665
|
-
, 5];
|
|
8666
|
-
|
|
8223
|
+
return [3 /*break*/, 5];
|
|
8667
8224
|
case 4:
|
|
8668
8225
|
err_3 = _c.sent();
|
|
8226
|
+
logger.debug('Connection exited with', err_3);
|
|
8669
8227
|
this.promiseArray.forEach(function (_a) {
|
|
8670
8228
|
var rej = _a.rej;
|
|
8671
8229
|
return rej(err_3);
|
|
8672
8230
|
});
|
|
8673
8231
|
this.promiseArray = [];
|
|
8674
|
-
|
|
8675
8232
|
if (this.awsRealTimeSocket && this.awsRealTimeSocket.readyState === WebSocket.OPEN) {
|
|
8676
8233
|
this.awsRealTimeSocket.close(3001);
|
|
8677
8234
|
}
|
|
8678
|
-
|
|
8679
8235
|
this.awsRealTimeSocket = undefined;
|
|
8680
|
-
this.socketStatus =
|
|
8681
|
-
return [3
|
|
8682
|
-
/*break*/
|
|
8683
|
-
, 5];
|
|
8684
|
-
|
|
8236
|
+
this.socketStatus = _constants__WEBPACK_IMPORTED_MODULE_11__["SOCKET_STATUS"].CLOSED;
|
|
8237
|
+
return [3 /*break*/, 5];
|
|
8685
8238
|
case 5:
|
|
8686
|
-
return [2
|
|
8687
|
-
/*return*/
|
|
8688
|
-
];
|
|
8239
|
+
return [2 /*return*/];
|
|
8689
8240
|
}
|
|
8690
8241
|
});
|
|
8691
8242
|
});
|
|
@@ -8693,180 +8244,133 @@ function (_super) {
|
|
|
8693
8244
|
};
|
|
8694
8245
|
|
|
8695
8246
|
AWSAppSyncRealTimeProvider.prototype._initializeRetryableHandshake = function (awsRealTimeUrl) {
|
|
8696
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8697
|
-
return __generator(this, function (_a) {
|
|
8247
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8248
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
8698
8249
|
switch (_a.label) {
|
|
8699
8250
|
case 0:
|
|
8700
8251
|
logger.debug("Initializaling retryable Handshake");
|
|
8701
|
-
return [4
|
|
8702
|
-
/*yield*/
|
|
8703
|
-
, Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__["jitteredExponentialRetry"])(this._initializeHandshake.bind(this), [awsRealTimeUrl], _constants__WEBPACK_IMPORTED_MODULE_10__["MAX_DELAY_MS"])];
|
|
8704
|
-
|
|
8252
|
+
return [4 /*yield*/, Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["jitteredExponentialRetry"])(this._initializeHandshake.bind(this), [awsRealTimeUrl], _constants__WEBPACK_IMPORTED_MODULE_11__["MAX_DELAY_MS"])];
|
|
8705
8253
|
case 1:
|
|
8706
8254
|
_a.sent();
|
|
8707
|
-
|
|
8708
|
-
return [2
|
|
8709
|
-
/*return*/
|
|
8710
|
-
];
|
|
8255
|
+
return [2 /*return*/];
|
|
8711
8256
|
}
|
|
8712
8257
|
});
|
|
8713
8258
|
});
|
|
8714
8259
|
};
|
|
8715
8260
|
|
|
8716
8261
|
AWSAppSyncRealTimeProvider.prototype._initializeHandshake = function (awsRealTimeUrl) {
|
|
8717
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8262
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8718
8263
|
var err_4, _a, errorType, errorCode;
|
|
8719
|
-
|
|
8720
8264
|
var _this = this;
|
|
8721
|
-
|
|
8722
|
-
return __generator(this, function (_b) {
|
|
8265
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
8723
8266
|
switch (_b.label) {
|
|
8724
8267
|
case 0:
|
|
8725
8268
|
logger.debug("Initializing handshake " + awsRealTimeUrl);
|
|
8726
8269
|
_b.label = 1;
|
|
8727
|
-
|
|
8728
8270
|
case 1:
|
|
8729
8271
|
_b.trys.push([1, 4,, 5]);
|
|
8730
|
-
|
|
8731
|
-
return [4
|
|
8732
|
-
/*yield*/
|
|
8733
|
-
, function () {
|
|
8272
|
+
return [4 /*yield*/, function () {
|
|
8734
8273
|
return new Promise(function (res, rej) {
|
|
8735
8274
|
var newSocket = _this.getNewWebSocket(awsRealTimeUrl, 'graphql-ws');
|
|
8736
|
-
|
|
8737
8275
|
newSocket.onerror = function () {
|
|
8738
8276
|
logger.debug("WebSocket connection error");
|
|
8739
8277
|
};
|
|
8740
|
-
|
|
8741
8278
|
newSocket.onclose = function () {
|
|
8742
|
-
_this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_CHANGE"].CONNECTION_FAILED);
|
|
8743
|
-
|
|
8744
8279
|
rej(new Error('Connection handshake error'));
|
|
8745
8280
|
};
|
|
8746
|
-
|
|
8747
8281
|
newSocket.onopen = function () {
|
|
8748
8282
|
_this.awsRealTimeSocket = newSocket;
|
|
8749
8283
|
return res();
|
|
8750
8284
|
};
|
|
8751
8285
|
});
|
|
8752
8286
|
}()];
|
|
8753
|
-
|
|
8754
8287
|
case 2:
|
|
8755
|
-
_b.sent();
|
|
8756
|
-
|
|
8757
|
-
|
|
8758
|
-
return [4
|
|
8759
|
-
/*yield*/
|
|
8760
|
-
, function () {
|
|
8288
|
+
_b.sent();
|
|
8289
|
+
// Step 2: wait for ack from AWS AppSyncReaTime after sending init
|
|
8290
|
+
return [4 /*yield*/, function () {
|
|
8761
8291
|
return new Promise(function (res, rej) {
|
|
8762
8292
|
if (_this.awsRealTimeSocket) {
|
|
8763
8293
|
var ackOk_1 = false;
|
|
8764
|
-
|
|
8765
8294
|
_this.awsRealTimeSocket.onerror = function (error) {
|
|
8766
8295
|
logger.debug("WebSocket error " + JSON.stringify(error));
|
|
8767
8296
|
};
|
|
8768
|
-
|
|
8769
8297
|
_this.awsRealTimeSocket.onclose = function (event) {
|
|
8770
8298
|
logger.debug("WebSocket closed " + event.reason);
|
|
8771
8299
|
rej(new Error(JSON.stringify(event)));
|
|
8772
8300
|
};
|
|
8773
|
-
|
|
8774
8301
|
_this.awsRealTimeSocket.onmessage = function (message) {
|
|
8775
8302
|
logger.debug("subscription message from AWS AppSyncRealTime: " + message.data + " ");
|
|
8776
8303
|
var data = JSON.parse(message.data);
|
|
8777
8304
|
var type = data.type,
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
if (type === _constants__WEBPACK_IMPORTED_MODULE_10__["MESSAGE_TYPES"].GQL_CONNECTION_ACK) {
|
|
8305
|
+
_a = data.payload,
|
|
8306
|
+
_b = (_a === void 0 ? {} : _a).connectionTimeoutMs,
|
|
8307
|
+
connectionTimeoutMs = _b === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_11__["DEFAULT_KEEP_ALIVE_TIMEOUT"] : _b;
|
|
8308
|
+
if (type === _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_CONNECTION_ACK) {
|
|
8783
8309
|
ackOk_1 = true;
|
|
8784
|
-
|
|
8785
8310
|
if (_this.awsRealTimeSocket) {
|
|
8786
8311
|
_this.keepAliveTimeout = connectionTimeoutMs;
|
|
8787
8312
|
_this.awsRealTimeSocket.onmessage = _this._handleIncomingSubscriptionMessage.bind(_this);
|
|
8788
|
-
|
|
8789
8313
|
_this.awsRealTimeSocket.onerror = function (err) {
|
|
8790
8314
|
logger.debug(err);
|
|
8791
|
-
|
|
8792
|
-
_this._errorDisconnect(_index__WEBPACK_IMPORTED_MODULE_9__["CONTROL_MSG"].CONNECTION_CLOSED);
|
|
8315
|
+
_this._errorDisconnect(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].CONNECTION_CLOSED);
|
|
8793
8316
|
};
|
|
8794
|
-
|
|
8795
8317
|
_this.awsRealTimeSocket.onclose = function (event) {
|
|
8796
8318
|
logger.debug("WebSocket closed " + event.reason);
|
|
8797
|
-
|
|
8798
|
-
_this._errorDisconnect(_index__WEBPACK_IMPORTED_MODULE_9__["CONTROL_MSG"].CONNECTION_CLOSED);
|
|
8319
|
+
_this._errorDisconnect(_types_PubSub__WEBPACK_IMPORTED_MODULE_10__["CONTROL_MSG"].CONNECTION_CLOSED);
|
|
8799
8320
|
};
|
|
8800
8321
|
}
|
|
8801
|
-
|
|
8802
8322
|
res('Cool, connected to AWS AppSyncRealTime');
|
|
8803
8323
|
return;
|
|
8804
8324
|
}
|
|
8805
|
-
|
|
8806
|
-
if (type === _constants__WEBPACK_IMPORTED_MODULE_10__["MESSAGE_TYPES"].GQL_CONNECTION_ERROR) {
|
|
8325
|
+
if (type === _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_CONNECTION_ERROR) {
|
|
8807
8326
|
var _c = data.payload,
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
|
|
8327
|
+
_d = (_c === void 0 ? {} : _c).errors,
|
|
8328
|
+
_e = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__read"])(_d === void 0 ? [] : _d, 1),
|
|
8329
|
+
_f = _e[0],
|
|
8330
|
+
_g = _f === void 0 ? {} : _f,
|
|
8331
|
+
_h = _g.errorType,
|
|
8332
|
+
errorType = _h === void 0 ? '' : _h,
|
|
8333
|
+
_j = _g.errorCode,
|
|
8334
|
+
errorCode = _j === void 0 ? 0 : _j;
|
|
8817
8335
|
rej({
|
|
8818
8336
|
errorType: errorType,
|
|
8819
8337
|
errorCode: errorCode
|
|
8820
8338
|
});
|
|
8821
8339
|
}
|
|
8822
8340
|
};
|
|
8823
|
-
|
|
8824
8341
|
var gqlInit = {
|
|
8825
|
-
type:
|
|
8342
|
+
type: _constants__WEBPACK_IMPORTED_MODULE_11__["MESSAGE_TYPES"].GQL_CONNECTION_INIT
|
|
8826
8343
|
};
|
|
8827
|
-
|
|
8828
8344
|
_this.awsRealTimeSocket.send(JSON.stringify(gqlInit));
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
8837
|
-
}
|
|
8345
|
+
var checkAckOk_1 = function checkAckOk_1(ackOk) {
|
|
8346
|
+
if (!ackOk) {
|
|
8347
|
+
_this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_12__["CONNECTION_CHANGE"].CONNECTION_FAILED);
|
|
8348
|
+
rej(new Error("Connection timeout: ack from AWSAppSyncRealTime was not received after " + _constants__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_INIT_TIMEOUT"] + " ms"));
|
|
8349
|
+
}
|
|
8350
|
+
};
|
|
8351
|
+
setTimeout(function () {
|
|
8352
|
+
return checkAckOk_1(ackOk_1);
|
|
8353
|
+
}, _constants__WEBPACK_IMPORTED_MODULE_11__["CONNECTION_INIT_TIMEOUT"]);
|
|
8838
8354
|
}
|
|
8839
8355
|
});
|
|
8840
8356
|
}()];
|
|
8841
|
-
|
|
8842
8357
|
case 3:
|
|
8843
8358
|
// Step 2: wait for ack from AWS AppSyncReaTime after sending init
|
|
8844
8359
|
_b.sent();
|
|
8845
|
-
|
|
8846
|
-
return [3
|
|
8847
|
-
/*break*/
|
|
8848
|
-
, 5];
|
|
8849
|
-
|
|
8360
|
+
return [3 /*break*/, 5];
|
|
8850
8361
|
case 4:
|
|
8851
8362
|
err_4 = _b.sent();
|
|
8852
8363
|
_a = err_4, errorType = _a.errorType, errorCode = _a.errorCode;
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
throw new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__["NonRetryableError"](errorType);
|
|
8364
|
+
if (_constants__WEBPACK_IMPORTED_MODULE_11__["NON_RETRYABLE_CODES"].includes(errorCode)) {
|
|
8365
|
+
throw new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["NonRetryableError"](errorType);
|
|
8856
8366
|
} else if (errorType) {
|
|
8857
8367
|
throw new Error(errorType);
|
|
8858
8368
|
} else {
|
|
8859
8369
|
throw err_4;
|
|
8860
8370
|
}
|
|
8861
|
-
|
|
8862
|
-
return [3
|
|
8863
|
-
/*break*/
|
|
8864
|
-
, 5];
|
|
8865
|
-
|
|
8371
|
+
return [3 /*break*/, 5];
|
|
8866
8372
|
case 5:
|
|
8867
|
-
return [2
|
|
8868
|
-
/*return*/
|
|
8869
|
-
];
|
|
8373
|
+
return [2 /*return*/];
|
|
8870
8374
|
}
|
|
8871
8375
|
});
|
|
8872
8376
|
});
|
|
@@ -8874,15 +8378,15 @@ function (_super) {
|
|
|
8874
8378
|
|
|
8875
8379
|
AWSAppSyncRealTimeProvider.prototype._awsRealTimeHeaderBasedAuth = function (_a) {
|
|
8876
8380
|
var authenticationType = _a.authenticationType,
|
|
8877
|
-
|
|
8878
|
-
|
|
8879
|
-
|
|
8880
|
-
|
|
8881
|
-
|
|
8882
|
-
|
|
8883
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8381
|
+
payload = _a.payload,
|
|
8382
|
+
canonicalUri = _a.canonicalUri,
|
|
8383
|
+
appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint,
|
|
8384
|
+
apiKey = _a.apiKey,
|
|
8385
|
+
region = _a.region,
|
|
8386
|
+
additionalHeaders = _a.additionalHeaders;
|
|
8387
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8884
8388
|
var headerHandler, handler, host, result;
|
|
8885
|
-
return __generator(this, function (_b) {
|
|
8389
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
8886
8390
|
switch (_b.label) {
|
|
8887
8391
|
case 0:
|
|
8888
8392
|
headerHandler = {
|
|
@@ -8892,21 +8396,14 @@ function (_super) {
|
|
|
8892
8396
|
AMAZON_COGNITO_USER_POOLS: this._awsRealTimeCUPHeader.bind(this),
|
|
8893
8397
|
AWS_LAMBDA: this._customAuthHeader
|
|
8894
8398
|
};
|
|
8895
|
-
if (!(!authenticationType || !headerHandler[authenticationType])) return [3
|
|
8896
|
-
/*break*/
|
|
8897
|
-
, 1];
|
|
8399
|
+
if (!(!authenticationType || !headerHandler[authenticationType])) return [3 /*break*/, 1];
|
|
8898
8400
|
logger.debug("Authentication type " + authenticationType + " not supported");
|
|
8899
|
-
return [2
|
|
8900
|
-
/*return*/
|
|
8901
|
-
, ''];
|
|
8902
|
-
|
|
8401
|
+
return [2 /*return*/, ''];
|
|
8903
8402
|
case 1:
|
|
8904
8403
|
handler = headerHandler[authenticationType];
|
|
8905
|
-
host =
|
|
8404
|
+
host = url__WEBPACK_IMPORTED_MODULE_3__["parse"](appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '').host;
|
|
8906
8405
|
logger.debug("Authenticating with " + authenticationType);
|
|
8907
|
-
return [4
|
|
8908
|
-
/*yield*/
|
|
8909
|
-
, handler({
|
|
8406
|
+
return [4 /*yield*/, handler({
|
|
8910
8407
|
payload: payload,
|
|
8911
8408
|
canonicalUri: canonicalUri,
|
|
8912
8409
|
appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,
|
|
@@ -8915,33 +8412,24 @@ function (_super) {
|
|
|
8915
8412
|
host: host,
|
|
8916
8413
|
additionalHeaders: additionalHeaders
|
|
8917
8414
|
})];
|
|
8918
|
-
|
|
8919
8415
|
case 2:
|
|
8920
8416
|
result = _b.sent();
|
|
8921
|
-
return [2
|
|
8922
|
-
/*return*/
|
|
8923
|
-
, result];
|
|
8417
|
+
return [2 /*return*/, result];
|
|
8924
8418
|
}
|
|
8925
8419
|
});
|
|
8926
8420
|
});
|
|
8927
8421
|
};
|
|
8928
|
-
|
|
8929
8422
|
AWSAppSyncRealTimeProvider.prototype._awsRealTimeCUPHeader = function (_a) {
|
|
8930
8423
|
var host = _a.host;
|
|
8931
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8424
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8932
8425
|
var session;
|
|
8933
|
-
return __generator(this, function (_b) {
|
|
8426
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
8934
8427
|
switch (_b.label) {
|
|
8935
8428
|
case 0:
|
|
8936
|
-
return [4
|
|
8937
|
-
/*yield*/
|
|
8938
|
-
, _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_7___default.a.currentSession()];
|
|
8939
|
-
|
|
8429
|
+
return [4 /*yield*/, _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_8___default.a.currentSession()];
|
|
8940
8430
|
case 1:
|
|
8941
8431
|
session = _b.sent();
|
|
8942
|
-
return [2
|
|
8943
|
-
/*return*/
|
|
8944
|
-
, {
|
|
8432
|
+
return [2 /*return*/, {
|
|
8945
8433
|
Authorization: session.getAccessToken().getJwtToken(),
|
|
8946
8434
|
host: host
|
|
8947
8435
|
}];
|
|
@@ -8949,50 +8437,32 @@ function (_super) {
|
|
|
8949
8437
|
});
|
|
8950
8438
|
});
|
|
8951
8439
|
};
|
|
8952
|
-
|
|
8953
8440
|
AWSAppSyncRealTimeProvider.prototype._awsRealTimeOPENIDHeader = function (_a) {
|
|
8954
8441
|
var host = _a.host;
|
|
8955
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8442
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8956
8443
|
var token, federatedInfo, currentUser;
|
|
8957
|
-
return __generator(this, function (_b) {
|
|
8444
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
8958
8445
|
switch (_b.label) {
|
|
8959
8446
|
case 0:
|
|
8960
|
-
return [4
|
|
8961
|
-
/*yield*/
|
|
8962
|
-
, _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_6___default.a.getItem('federatedInfo')];
|
|
8963
|
-
|
|
8447
|
+
return [4 /*yield*/, _aws_amplify_cache__WEBPACK_IMPORTED_MODULE_7___default.a.getItem('federatedInfo')];
|
|
8964
8448
|
case 1:
|
|
8965
8449
|
federatedInfo = _b.sent();
|
|
8966
|
-
if (!federatedInfo) return [3
|
|
8967
|
-
/*break*/
|
|
8968
|
-
, 2];
|
|
8450
|
+
if (!federatedInfo) return [3 /*break*/, 2];
|
|
8969
8451
|
token = federatedInfo.token;
|
|
8970
|
-
return [3
|
|
8971
|
-
/*break*/
|
|
8972
|
-
, 4];
|
|
8973
|
-
|
|
8452
|
+
return [3 /*break*/, 4];
|
|
8974
8453
|
case 2:
|
|
8975
|
-
return [4
|
|
8976
|
-
/*yield*/
|
|
8977
|
-
, _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_7___default.a.currentAuthenticatedUser()];
|
|
8978
|
-
|
|
8454
|
+
return [4 /*yield*/, _aws_amplify_auth__WEBPACK_IMPORTED_MODULE_8___default.a.currentAuthenticatedUser()];
|
|
8979
8455
|
case 3:
|
|
8980
8456
|
currentUser = _b.sent();
|
|
8981
|
-
|
|
8982
8457
|
if (currentUser) {
|
|
8983
8458
|
token = currentUser.token;
|
|
8984
8459
|
}
|
|
8985
|
-
|
|
8986
8460
|
_b.label = 4;
|
|
8987
|
-
|
|
8988
8461
|
case 4:
|
|
8989
8462
|
if (!token) {
|
|
8990
8463
|
throw new Error('No federated jwt');
|
|
8991
8464
|
}
|
|
8992
|
-
|
|
8993
|
-
return [2
|
|
8994
|
-
/*return*/
|
|
8995
|
-
, {
|
|
8465
|
+
return [2 /*return*/, {
|
|
8996
8466
|
Authorization: token,
|
|
8997
8467
|
host: host
|
|
8998
8468
|
}];
|
|
@@ -9000,18 +8470,15 @@ function (_super) {
|
|
|
9000
8470
|
});
|
|
9001
8471
|
});
|
|
9002
8472
|
};
|
|
9003
|
-
|
|
9004
8473
|
AWSAppSyncRealTimeProvider.prototype._awsRealTimeApiKeyHeader = function (_a) {
|
|
9005
8474
|
var apiKey = _a.apiKey,
|
|
9006
|
-
|
|
9007
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8475
|
+
host = _a.host;
|
|
8476
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
9008
8477
|
var dt, dtStr;
|
|
9009
|
-
return __generator(this, function (_b) {
|
|
8478
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
9010
8479
|
dt = new Date();
|
|
9011
8480
|
dtStr = dt.toISOString().replace(/[:\-]|\.\d{3}/g, '');
|
|
9012
|
-
return [2
|
|
9013
|
-
/*return*/
|
|
9014
|
-
, {
|
|
8481
|
+
return [2 /*return*/, {
|
|
9015
8482
|
host: host,
|
|
9016
8483
|
'x-amz-date': dtStr,
|
|
9017
8484
|
'x-api-key': apiKey
|
|
@@ -9019,71 +8486,57 @@ function (_super) {
|
|
|
9019
8486
|
});
|
|
9020
8487
|
});
|
|
9021
8488
|
};
|
|
9022
|
-
|
|
9023
8489
|
AWSAppSyncRealTimeProvider.prototype._awsRealTimeIAMHeader = function (_a) {
|
|
9024
8490
|
var payload = _a.payload,
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8491
|
+
canonicalUri = _a.canonicalUri,
|
|
8492
|
+
appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint,
|
|
8493
|
+
region = _a.region;
|
|
8494
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
9029
8495
|
var endpointInfo, credentialsOK, creds, request, signed_params;
|
|
9030
|
-
return __generator(this, function (_b) {
|
|
8496
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
9031
8497
|
switch (_b.label) {
|
|
9032
8498
|
case 0:
|
|
9033
8499
|
endpointInfo = {
|
|
9034
8500
|
region: region,
|
|
9035
8501
|
service: 'appsync'
|
|
9036
8502
|
};
|
|
9037
|
-
return [4
|
|
9038
|
-
/*yield*/
|
|
9039
|
-
, this._ensureCredentials()];
|
|
9040
|
-
|
|
8503
|
+
return [4 /*yield*/, this._ensureCredentials()];
|
|
9041
8504
|
case 1:
|
|
9042
8505
|
credentialsOK = _b.sent();
|
|
9043
|
-
|
|
9044
8506
|
if (!credentialsOK) {
|
|
9045
8507
|
throw new Error('No credentials');
|
|
9046
8508
|
}
|
|
9047
|
-
|
|
9048
|
-
return [4
|
|
9049
|
-
/*yield*/
|
|
9050
|
-
, _aws_amplify_core__WEBPACK_IMPORTED_MODULE_5__["Credentials"].get().then(function (credentials) {
|
|
8509
|
+
return [4 /*yield*/, _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Credentials"].get().then(function (credentials) {
|
|
9051
8510
|
var _a = credentials,
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
|
|
8511
|
+
secretAccessKey = _a.secretAccessKey,
|
|
8512
|
+
accessKeyId = _a.accessKeyId,
|
|
8513
|
+
sessionToken = _a.sessionToken;
|
|
9055
8514
|
return {
|
|
9056
8515
|
secret_key: secretAccessKey,
|
|
9057
8516
|
access_key: accessKeyId,
|
|
9058
8517
|
session_token: sessionToken
|
|
9059
8518
|
};
|
|
9060
8519
|
})];
|
|
9061
|
-
|
|
9062
8520
|
case 2:
|
|
9063
8521
|
creds = _b.sent();
|
|
9064
8522
|
request = {
|
|
9065
8523
|
url: "" + appSyncGraphqlEndpoint + canonicalUri,
|
|
9066
8524
|
data: payload,
|
|
9067
8525
|
method: 'POST',
|
|
9068
|
-
headers: __assign({},
|
|
8526
|
+
headers: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, _constants__WEBPACK_IMPORTED_MODULE_11__["AWS_APPSYNC_REALTIME_HEADERS"])
|
|
9069
8527
|
};
|
|
9070
|
-
signed_params =
|
|
9071
|
-
return [2
|
|
9072
|
-
/*return*/
|
|
9073
|
-
, signed_params.headers];
|
|
8528
|
+
signed_params = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Signer"].sign(request, creds, endpointInfo);
|
|
8529
|
+
return [2 /*return*/, signed_params.headers];
|
|
9074
8530
|
}
|
|
9075
8531
|
});
|
|
9076
8532
|
});
|
|
9077
8533
|
};
|
|
9078
|
-
|
|
9079
8534
|
AWSAppSyncRealTimeProvider.prototype._customAuthHeader = function (_a) {
|
|
9080
8535
|
var host = _a.host,
|
|
9081
|
-
|
|
9082
|
-
|
|
8536
|
+
additionalHeaders = _a.additionalHeaders;
|
|
9083
8537
|
if (!additionalHeaders || !additionalHeaders['Authorization']) {
|
|
9084
8538
|
throw new Error('No auth token specified');
|
|
9085
8539
|
}
|
|
9086
|
-
|
|
9087
8540
|
return {
|
|
9088
8541
|
Authorization: additionalHeaders.Authorization,
|
|
9089
8542
|
host: host
|
|
@@ -9092,12 +8545,10 @@ function (_super) {
|
|
|
9092
8545
|
/**
|
|
9093
8546
|
* @private
|
|
9094
8547
|
*/
|
|
9095
|
-
|
|
9096
|
-
|
|
9097
8548
|
AWSAppSyncRealTimeProvider.prototype._ensureCredentials = function () {
|
|
9098
|
-
return
|
|
8549
|
+
return _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Credentials"].get().then(function (credentials) {
|
|
9099
8550
|
if (!credentials) return false;
|
|
9100
|
-
var cred =
|
|
8551
|
+
var cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Credentials"].shear(credentials);
|
|
9101
8552
|
logger.debug('set credentials for AWSAppSyncRealTimeProvider', cred);
|
|
9102
8553
|
return true;
|
|
9103
8554
|
})["catch"](function (err) {
|
|
@@ -9105,10 +8556,8 @@ function (_super) {
|
|
|
9105
8556
|
return false;
|
|
9106
8557
|
});
|
|
9107
8558
|
};
|
|
9108
|
-
|
|
9109
8559
|
return AWSAppSyncRealTimeProvider;
|
|
9110
|
-
}(
|
|
9111
|
-
|
|
8560
|
+
}(_PubSubProvider__WEBPACK_IMPORTED_MODULE_9__["AbstractPubSubProvider"]);
|
|
9112
8561
|
|
|
9113
8562
|
|
|
9114
8563
|
/***/ }),
|
|
@@ -9123,177 +8572,11 @@ function (_super) {
|
|
|
9123
8572
|
"use strict";
|
|
9124
8573
|
__webpack_require__.r(__webpack_exports__);
|
|
9125
8574
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AWSIoTProvider", function() { return AWSIoTProvider; });
|
|
9126
|
-
/* harmony import */ var
|
|
9127
|
-
/* harmony import */ var
|
|
9128
|
-
/* harmony import */ var
|
|
9129
|
-
|
|
9130
|
-
var _extendStatics = function extendStatics(d, b) {
|
|
9131
|
-
_extendStatics = Object.setPrototypeOf || {
|
|
9132
|
-
__proto__: []
|
|
9133
|
-
} instanceof Array && function (d, b) {
|
|
9134
|
-
d.__proto__ = b;
|
|
9135
|
-
} || function (d, b) {
|
|
9136
|
-
for (var p in b) {
|
|
9137
|
-
if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
9138
|
-
}
|
|
9139
|
-
};
|
|
9140
|
-
|
|
9141
|
-
return _extendStatics(d, b);
|
|
9142
|
-
};
|
|
9143
|
-
|
|
9144
|
-
return function (d, b) {
|
|
9145
|
-
_extendStatics(d, b);
|
|
9146
|
-
|
|
9147
|
-
function __() {
|
|
9148
|
-
this.constructor = d;
|
|
9149
|
-
}
|
|
9150
|
-
|
|
9151
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
9152
|
-
};
|
|
9153
|
-
}();
|
|
9154
|
-
|
|
9155
|
-
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
9156
|
-
function adopt(value) {
|
|
9157
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
9158
|
-
resolve(value);
|
|
9159
|
-
});
|
|
9160
|
-
}
|
|
9161
|
-
|
|
9162
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9163
|
-
function fulfilled(value) {
|
|
9164
|
-
try {
|
|
9165
|
-
step(generator.next(value));
|
|
9166
|
-
} catch (e) {
|
|
9167
|
-
reject(e);
|
|
9168
|
-
}
|
|
9169
|
-
}
|
|
9170
|
-
|
|
9171
|
-
function rejected(value) {
|
|
9172
|
-
try {
|
|
9173
|
-
step(generator["throw"](value));
|
|
9174
|
-
} catch (e) {
|
|
9175
|
-
reject(e);
|
|
9176
|
-
}
|
|
9177
|
-
}
|
|
9178
|
-
|
|
9179
|
-
function step(result) {
|
|
9180
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
9181
|
-
}
|
|
9182
|
-
|
|
9183
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9184
|
-
});
|
|
9185
|
-
};
|
|
9186
|
-
|
|
9187
|
-
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
9188
|
-
var _ = {
|
|
9189
|
-
label: 0,
|
|
9190
|
-
sent: function sent() {
|
|
9191
|
-
if (t[0] & 1) throw t[1];
|
|
9192
|
-
return t[1];
|
|
9193
|
-
},
|
|
9194
|
-
trys: [],
|
|
9195
|
-
ops: []
|
|
9196
|
-
},
|
|
9197
|
-
f,
|
|
9198
|
-
y,
|
|
9199
|
-
t,
|
|
9200
|
-
g;
|
|
9201
|
-
return g = {
|
|
9202
|
-
next: verb(0),
|
|
9203
|
-
"throw": verb(1),
|
|
9204
|
-
"return": verb(2)
|
|
9205
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
9206
|
-
return this;
|
|
9207
|
-
}), g;
|
|
9208
|
-
|
|
9209
|
-
function verb(n) {
|
|
9210
|
-
return function (v) {
|
|
9211
|
-
return step([n, v]);
|
|
9212
|
-
};
|
|
9213
|
-
}
|
|
9214
|
-
|
|
9215
|
-
function step(op) {
|
|
9216
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
9217
|
-
|
|
9218
|
-
while (_) {
|
|
9219
|
-
try {
|
|
9220
|
-
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;
|
|
9221
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
9222
|
-
|
|
9223
|
-
switch (op[0]) {
|
|
9224
|
-
case 0:
|
|
9225
|
-
case 1:
|
|
9226
|
-
t = op;
|
|
9227
|
-
break;
|
|
9228
|
-
|
|
9229
|
-
case 4:
|
|
9230
|
-
_.label++;
|
|
9231
|
-
return {
|
|
9232
|
-
value: op[1],
|
|
9233
|
-
done: false
|
|
9234
|
-
};
|
|
9235
|
-
|
|
9236
|
-
case 5:
|
|
9237
|
-
_.label++;
|
|
9238
|
-
y = op[1];
|
|
9239
|
-
op = [0];
|
|
9240
|
-
continue;
|
|
9241
|
-
|
|
9242
|
-
case 7:
|
|
9243
|
-
op = _.ops.pop();
|
|
9244
|
-
|
|
9245
|
-
_.trys.pop();
|
|
9246
|
-
|
|
9247
|
-
continue;
|
|
9248
|
-
|
|
9249
|
-
default:
|
|
9250
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
9251
|
-
_ = 0;
|
|
9252
|
-
continue;
|
|
9253
|
-
}
|
|
9254
|
-
|
|
9255
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
9256
|
-
_.label = op[1];
|
|
9257
|
-
break;
|
|
9258
|
-
}
|
|
9259
|
-
|
|
9260
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
9261
|
-
_.label = t[1];
|
|
9262
|
-
t = op;
|
|
9263
|
-
break;
|
|
9264
|
-
}
|
|
9265
|
-
|
|
9266
|
-
if (t && _.label < t[2]) {
|
|
9267
|
-
_.label = t[2];
|
|
9268
|
-
|
|
9269
|
-
_.ops.push(op);
|
|
9270
|
-
|
|
9271
|
-
break;
|
|
9272
|
-
}
|
|
9273
|
-
|
|
9274
|
-
if (t[2]) _.ops.pop();
|
|
9275
|
-
|
|
9276
|
-
_.trys.pop();
|
|
9277
|
-
|
|
9278
|
-
continue;
|
|
9279
|
-
}
|
|
9280
|
-
|
|
9281
|
-
op = body.call(thisArg, _);
|
|
9282
|
-
} catch (e) {
|
|
9283
|
-
op = [6, e];
|
|
9284
|
-
y = 0;
|
|
9285
|
-
} finally {
|
|
9286
|
-
f = t = 0;
|
|
9287
|
-
}
|
|
9288
|
-
}
|
|
8575
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
8576
|
+
/* harmony import */ var _MqttOverWSProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MqttOverWSProvider */ "./lib-esm/Providers/MqttOverWSProvider.js");
|
|
8577
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
8578
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__);
|
|
9289
8579
|
|
|
9290
|
-
if (op[0] & 5) throw op[1];
|
|
9291
|
-
return {
|
|
9292
|
-
value: op[0] ? op[1] : void 0,
|
|
9293
|
-
done: true
|
|
9294
|
-
};
|
|
9295
|
-
}
|
|
9296
|
-
};
|
|
9297
8580
|
/*
|
|
9298
8581
|
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
9299
8582
|
*
|
|
@@ -9308,23 +8591,15 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
9308
8591
|
*/
|
|
9309
8592
|
|
|
9310
8593
|
|
|
9311
|
-
|
|
9312
|
-
|
|
9313
8594
|
var SERVICE_NAME = 'iotdevicegateway';
|
|
9314
|
-
|
|
9315
|
-
|
|
9316
|
-
/** @class */
|
|
9317
|
-
function (_super) {
|
|
9318
|
-
__extends(AWSIoTProvider, _super);
|
|
9319
|
-
|
|
8595
|
+
var AWSIoTProvider = /** @class */function (_super) {
|
|
8596
|
+
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(AWSIoTProvider, _super);
|
|
9320
8597
|
function AWSIoTProvider(options) {
|
|
9321
8598
|
if (options === void 0) {
|
|
9322
8599
|
options = {};
|
|
9323
8600
|
}
|
|
9324
|
-
|
|
9325
8601
|
return _super.call(this, options) || this;
|
|
9326
8602
|
}
|
|
9327
|
-
|
|
9328
8603
|
Object.defineProperty(AWSIoTProvider.prototype, "region", {
|
|
9329
8604
|
get: function get() {
|
|
9330
8605
|
return this.options.aws_pubsub_region;
|
|
@@ -9332,20 +8607,16 @@ function (_super) {
|
|
|
9332
8607
|
enumerable: true,
|
|
9333
8608
|
configurable: true
|
|
9334
8609
|
});
|
|
9335
|
-
|
|
9336
8610
|
AWSIoTProvider.prototype.getProviderName = function () {
|
|
9337
8611
|
return 'AWSIoTProvider';
|
|
9338
8612
|
};
|
|
9339
|
-
|
|
9340
8613
|
Object.defineProperty(AWSIoTProvider.prototype, "endpoint", {
|
|
9341
8614
|
get: function get() {
|
|
9342
8615
|
var _this = this;
|
|
9343
|
-
|
|
9344
8616
|
return function () {
|
|
9345
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
8617
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
9346
8618
|
var endpoint, serviceInfo, _a, access_key, secret_key, session_token, result;
|
|
9347
|
-
|
|
9348
|
-
return __generator(this, function (_b) {
|
|
8619
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
9349
8620
|
switch (_b.label) {
|
|
9350
8621
|
case 0:
|
|
9351
8622
|
endpoint = this.options.aws_pubsub_endpoint;
|
|
@@ -9353,20 +8624,15 @@ function (_super) {
|
|
|
9353
8624
|
service: SERVICE_NAME,
|
|
9354
8625
|
region: this.region
|
|
9355
8626
|
};
|
|
9356
|
-
return [4
|
|
9357
|
-
/*yield*/
|
|
9358
|
-
, _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Credentials"].get()];
|
|
9359
|
-
|
|
8627
|
+
return [4 /*yield*/, _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["Credentials"].get()];
|
|
9360
8628
|
case 1:
|
|
9361
8629
|
_a = _b.sent(), access_key = _a.accessKeyId, secret_key = _a.secretAccessKey, session_token = _a.sessionToken;
|
|
9362
|
-
result =
|
|
8630
|
+
result = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["Signer"].signUrl(endpoint, {
|
|
9363
8631
|
access_key: access_key,
|
|
9364
8632
|
secret_key: secret_key,
|
|
9365
8633
|
session_token: session_token
|
|
9366
8634
|
}, serviceInfo);
|
|
9367
|
-
return [2
|
|
9368
|
-
/*return*/
|
|
9369
|
-
, result];
|
|
8635
|
+
return [2 /*return*/, result];
|
|
9370
8636
|
}
|
|
9371
8637
|
});
|
|
9372
8638
|
});
|
|
@@ -9376,8 +8642,7 @@ function (_super) {
|
|
|
9376
8642
|
configurable: true
|
|
9377
8643
|
});
|
|
9378
8644
|
return AWSIoTProvider;
|
|
9379
|
-
}(
|
|
9380
|
-
|
|
8645
|
+
}(_MqttOverWSProvider__WEBPACK_IMPORTED_MODULE_1__["MqttOverWSProvider"]);
|
|
9381
8646
|
|
|
9382
8647
|
|
|
9383
8648
|
/***/ }),
|
|
@@ -9393,221 +8658,29 @@ function (_super) {
|
|
|
9393
8658
|
__webpack_require__.r(__webpack_exports__);
|
|
9394
8659
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mqttTopicMatch", function() { return mqttTopicMatch; });
|
|
9395
8660
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MqttOverWSProvider", function() { return MqttOverWSProvider; });
|
|
9396
|
-
/* harmony import */ var
|
|
9397
|
-
/* harmony import */ var
|
|
9398
|
-
/* harmony import */ var
|
|
9399
|
-
/* harmony import */ var
|
|
9400
|
-
/* harmony import */ var
|
|
9401
|
-
/* harmony import */ var
|
|
9402
|
-
/* harmony import */ var
|
|
9403
|
-
/* harmony import */ var
|
|
9404
|
-
|
|
9405
|
-
|
|
9406
|
-
|
|
9407
|
-
|
|
9408
|
-
|
|
9409
|
-
|
|
9410
|
-
|
|
9411
|
-
}, _typeof(obj);
|
|
9412
|
-
}
|
|
9413
|
-
|
|
9414
|
-
var __extends = undefined && undefined.__extends || function () {
|
|
9415
|
-
var _extendStatics = function extendStatics(d, b) {
|
|
9416
|
-
_extendStatics = Object.setPrototypeOf || {
|
|
9417
|
-
__proto__: []
|
|
9418
|
-
} instanceof Array && function (d, b) {
|
|
9419
|
-
d.__proto__ = b;
|
|
9420
|
-
} || function (d, b) {
|
|
9421
|
-
for (var p in b) {
|
|
9422
|
-
if (b.hasOwnProperty(p)) d[p] = b[p];
|
|
9423
|
-
}
|
|
9424
|
-
};
|
|
9425
|
-
|
|
9426
|
-
return _extendStatics(d, b);
|
|
9427
|
-
};
|
|
9428
|
-
|
|
9429
|
-
return function (d, b) {
|
|
9430
|
-
_extendStatics(d, b);
|
|
9431
|
-
|
|
9432
|
-
function __() {
|
|
9433
|
-
this.constructor = d;
|
|
9434
|
-
}
|
|
9435
|
-
|
|
9436
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
9437
|
-
};
|
|
9438
|
-
}();
|
|
9439
|
-
|
|
9440
|
-
var __assign = undefined && undefined.__assign || function () {
|
|
9441
|
-
__assign = Object.assign || function (t) {
|
|
9442
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9443
|
-
s = arguments[i];
|
|
9444
|
-
|
|
9445
|
-
for (var p in s) {
|
|
9446
|
-
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
9447
|
-
}
|
|
9448
|
-
}
|
|
9449
|
-
|
|
9450
|
-
return t;
|
|
9451
|
-
};
|
|
9452
|
-
|
|
9453
|
-
return __assign.apply(this, arguments);
|
|
9454
|
-
};
|
|
9455
|
-
|
|
9456
|
-
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
9457
|
-
function adopt(value) {
|
|
9458
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
9459
|
-
resolve(value);
|
|
9460
|
-
});
|
|
9461
|
-
}
|
|
9462
|
-
|
|
9463
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9464
|
-
function fulfilled(value) {
|
|
9465
|
-
try {
|
|
9466
|
-
step(generator.next(value));
|
|
9467
|
-
} catch (e) {
|
|
9468
|
-
reject(e);
|
|
9469
|
-
}
|
|
9470
|
-
}
|
|
9471
|
-
|
|
9472
|
-
function rejected(value) {
|
|
9473
|
-
try {
|
|
9474
|
-
step(generator["throw"](value));
|
|
9475
|
-
} catch (e) {
|
|
9476
|
-
reject(e);
|
|
9477
|
-
}
|
|
9478
|
-
}
|
|
9479
|
-
|
|
9480
|
-
function step(result) {
|
|
9481
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
9482
|
-
}
|
|
9483
|
-
|
|
9484
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9485
|
-
});
|
|
9486
|
-
};
|
|
9487
|
-
|
|
9488
|
-
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
9489
|
-
var _ = {
|
|
9490
|
-
label: 0,
|
|
9491
|
-
sent: function sent() {
|
|
9492
|
-
if (t[0] & 1) throw t[1];
|
|
9493
|
-
return t[1];
|
|
9494
|
-
},
|
|
9495
|
-
trys: [],
|
|
9496
|
-
ops: []
|
|
9497
|
-
},
|
|
9498
|
-
f,
|
|
9499
|
-
y,
|
|
9500
|
-
t,
|
|
9501
|
-
g;
|
|
9502
|
-
return g = {
|
|
9503
|
-
next: verb(0),
|
|
9504
|
-
"throw": verb(1),
|
|
9505
|
-
"return": verb(2)
|
|
9506
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
9507
|
-
return this;
|
|
9508
|
-
}), g;
|
|
9509
|
-
|
|
9510
|
-
function verb(n) {
|
|
9511
|
-
return function (v) {
|
|
9512
|
-
return step([n, v]);
|
|
9513
|
-
};
|
|
9514
|
-
}
|
|
9515
|
-
|
|
9516
|
-
function step(op) {
|
|
9517
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
9518
|
-
|
|
9519
|
-
while (_) {
|
|
9520
|
-
try {
|
|
9521
|
-
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;
|
|
9522
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
9523
|
-
|
|
9524
|
-
switch (op[0]) {
|
|
9525
|
-
case 0:
|
|
9526
|
-
case 1:
|
|
9527
|
-
t = op;
|
|
9528
|
-
break;
|
|
9529
|
-
|
|
9530
|
-
case 4:
|
|
9531
|
-
_.label++;
|
|
9532
|
-
return {
|
|
9533
|
-
value: op[1],
|
|
9534
|
-
done: false
|
|
9535
|
-
};
|
|
9536
|
-
|
|
9537
|
-
case 5:
|
|
9538
|
-
_.label++;
|
|
9539
|
-
y = op[1];
|
|
9540
|
-
op = [0];
|
|
9541
|
-
continue;
|
|
9542
|
-
|
|
9543
|
-
case 7:
|
|
9544
|
-
op = _.ops.pop();
|
|
9545
|
-
|
|
9546
|
-
_.trys.pop();
|
|
9547
|
-
|
|
9548
|
-
continue;
|
|
9549
|
-
|
|
9550
|
-
default:
|
|
9551
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
9552
|
-
_ = 0;
|
|
9553
|
-
continue;
|
|
9554
|
-
}
|
|
9555
|
-
|
|
9556
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
9557
|
-
_.label = op[1];
|
|
9558
|
-
break;
|
|
9559
|
-
}
|
|
9560
|
-
|
|
9561
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
9562
|
-
_.label = t[1];
|
|
9563
|
-
t = op;
|
|
9564
|
-
break;
|
|
9565
|
-
}
|
|
9566
|
-
|
|
9567
|
-
if (t && _.label < t[2]) {
|
|
9568
|
-
_.label = t[2];
|
|
9569
|
-
|
|
9570
|
-
_.ops.push(op);
|
|
9571
|
-
|
|
9572
|
-
break;
|
|
9573
|
-
}
|
|
9574
|
-
|
|
9575
|
-
if (t[2]) _.ops.pop();
|
|
9576
|
-
|
|
9577
|
-
_.trys.pop();
|
|
9578
|
-
|
|
9579
|
-
continue;
|
|
9580
|
-
}
|
|
9581
|
-
|
|
9582
|
-
op = body.call(thisArg, _);
|
|
9583
|
-
} catch (e) {
|
|
9584
|
-
op = [6, e];
|
|
9585
|
-
y = 0;
|
|
9586
|
-
} finally {
|
|
9587
|
-
f = t = 0;
|
|
9588
|
-
}
|
|
9589
|
-
}
|
|
9590
|
-
|
|
9591
|
-
if (op[0] & 5) throw op[1];
|
|
9592
|
-
return {
|
|
9593
|
-
value: op[0] ? op[1] : void 0,
|
|
9594
|
-
done: true
|
|
9595
|
-
};
|
|
9596
|
-
}
|
|
9597
|
-
};
|
|
9598
|
-
|
|
9599
|
-
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
9600
|
-
var t = {};
|
|
8661
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
8662
|
+
/* harmony import */ var paho_mqtt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! paho-mqtt */ "../../node_modules/paho-mqtt/paho-mqtt.js");
|
|
8663
|
+
/* harmony import */ var paho_mqtt__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(paho_mqtt__WEBPACK_IMPORTED_MODULE_1__);
|
|
8664
|
+
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uuid */ "../../node_modules/uuid/index.js");
|
|
8665
|
+
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(uuid__WEBPACK_IMPORTED_MODULE_2__);
|
|
8666
|
+
/* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
|
|
8667
|
+
/* harmony import */ var _PubSubProvider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PubSubProvider */ "./lib-esm/Providers/PubSubProvider.js");
|
|
8668
|
+
/* harmony import */ var _types_PubSub__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../types/PubSub */ "./lib-esm/types/PubSub.js");
|
|
8669
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
8670
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__);
|
|
8671
|
+
/* harmony import */ var _utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/ConnectionStateMonitor */ "./lib-esm/utils/ConnectionStateMonitor.js");
|
|
8672
|
+
/* harmony import */ var _utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/ReconnectionMonitor */ "./lib-esm/utils/ReconnectionMonitor.js");
|
|
8673
|
+
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./constants */ "./lib-esm/Providers/constants.js");
|
|
8674
|
+
function _typeof(obj) {
|
|
8675
|
+
"@babel/helpers - typeof";
|
|
9601
8676
|
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
}
|
|
8677
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
8678
|
+
return typeof obj;
|
|
8679
|
+
} : function (obj) {
|
|
8680
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
8681
|
+
}, _typeof(obj);
|
|
8682
|
+
}
|
|
9605
8683
|
|
|
9606
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
9607
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
9608
|
-
}
|
|
9609
|
-
return t;
|
|
9610
|
-
};
|
|
9611
8684
|
/*
|
|
9612
8685
|
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
9613
8686
|
*
|
|
@@ -9627,56 +8700,44 @@ var __rest = undefined && undefined.__rest || function (s, e) {
|
|
|
9627
8700
|
|
|
9628
8701
|
|
|
9629
8702
|
|
|
9630
|
-
|
|
8703
|
+
|
|
8704
|
+
|
|
8705
|
+
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["ConsoleLogger"]('MqttOverWSProvider');
|
|
9631
8706
|
function mqttTopicMatch(filter, topic) {
|
|
9632
8707
|
var filterArray = filter.split('/');
|
|
9633
8708
|
var length = filterArray.length;
|
|
9634
8709
|
var topicArray = topic.split('/');
|
|
9635
|
-
|
|
9636
8710
|
for (var i = 0; i < length; ++i) {
|
|
9637
8711
|
var left = filterArray[i];
|
|
9638
8712
|
var right = topicArray[i];
|
|
9639
8713
|
if (left === '#') return topicArray.length >= length;
|
|
9640
8714
|
if (left !== '+' && left !== right) return false;
|
|
9641
8715
|
}
|
|
9642
|
-
|
|
9643
8716
|
return length === topicArray.length;
|
|
9644
8717
|
}
|
|
9645
|
-
|
|
9646
|
-
var ClientsQueue =
|
|
9647
|
-
/** @class */
|
|
9648
|
-
function () {
|
|
8718
|
+
var ClientsQueue = /** @class */function () {
|
|
9649
8719
|
function ClientsQueue() {
|
|
9650
8720
|
this.promises = new Map();
|
|
9651
8721
|
}
|
|
9652
|
-
|
|
9653
8722
|
ClientsQueue.prototype.get = function (clientId, clientFactory) {
|
|
9654
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8723
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
9655
8724
|
var cachedPromise, newPromise;
|
|
9656
|
-
|
|
8725
|
+
var _this = this;
|
|
8726
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
9657
8727
|
cachedPromise = this.promises.get(clientId);
|
|
9658
|
-
|
|
9659
|
-
if (cachedPromise) {
|
|
9660
|
-
return [2
|
|
9661
|
-
/*return*/
|
|
9662
|
-
, cachedPromise];
|
|
9663
|
-
}
|
|
9664
|
-
|
|
8728
|
+
if (cachedPromise) return [2 /*return*/, cachedPromise];
|
|
9665
8729
|
if (clientFactory) {
|
|
9666
8730
|
newPromise = clientFactory(clientId);
|
|
9667
8731
|
this.promises.set(clientId, newPromise);
|
|
9668
|
-
|
|
9669
|
-
|
|
9670
|
-
|
|
8732
|
+
newPromise["catch"](function (v) {
|
|
8733
|
+
return _this.promises["delete"](clientId);
|
|
8734
|
+
});
|
|
8735
|
+
return [2 /*return*/, newPromise];
|
|
9671
8736
|
}
|
|
9672
|
-
|
|
9673
|
-
return [2
|
|
9674
|
-
/*return*/
|
|
9675
|
-
, undefined];
|
|
8737
|
+
return [2 /*return*/, undefined];
|
|
9676
8738
|
});
|
|
9677
8739
|
});
|
|
9678
8740
|
};
|
|
9679
|
-
|
|
9680
8741
|
Object.defineProperty(ClientsQueue.prototype, "allClients", {
|
|
9681
8742
|
get: function get() {
|
|
9682
8743
|
return Array.from(this.promises.keys());
|
|
@@ -9684,36 +8745,50 @@ function () {
|
|
|
9684
8745
|
enumerable: true,
|
|
9685
8746
|
configurable: true
|
|
9686
8747
|
});
|
|
9687
|
-
|
|
9688
8748
|
ClientsQueue.prototype.remove = function (clientId) {
|
|
9689
8749
|
this.promises["delete"](clientId);
|
|
9690
8750
|
};
|
|
9691
|
-
|
|
9692
8751
|
return ClientsQueue;
|
|
9693
8752
|
}();
|
|
9694
|
-
|
|
8753
|
+
var dispatchPubSubEvent = function dispatchPubSubEvent(event, data, message) {
|
|
8754
|
+
_aws_amplify_core__WEBPACK_IMPORTED_MODULE_6__["Hub"].dispatch('pubsub', {
|
|
8755
|
+
event: event,
|
|
8756
|
+
data: data,
|
|
8757
|
+
message: message
|
|
8758
|
+
}, 'PubSub', _constants__WEBPACK_IMPORTED_MODULE_9__["AMPLIFY_SYMBOL"]);
|
|
8759
|
+
};
|
|
9695
8760
|
var topicSymbol = typeof Symbol !== 'undefined' ? Symbol('topic') : '@@topic';
|
|
9696
|
-
|
|
9697
|
-
|
|
9698
|
-
/** @class */
|
|
9699
|
-
function (_super) {
|
|
9700
|
-
__extends(MqttOverWSProvider, _super);
|
|
9701
|
-
|
|
8761
|
+
var MqttOverWSProvider = /** @class */function (_super) {
|
|
8762
|
+
Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(MqttOverWSProvider, _super);
|
|
9702
8763
|
function MqttOverWSProvider(options) {
|
|
9703
8764
|
if (options === void 0) {
|
|
9704
8765
|
options = {};
|
|
9705
8766
|
}
|
|
9706
|
-
|
|
9707
|
-
|
|
9708
|
-
clientId: options.clientId || Object(uuid__WEBPACK_IMPORTED_MODULE_1__["v4"])()
|
|
8767
|
+
var _this = _super.call(this, Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, options), {
|
|
8768
|
+
clientId: options.clientId || Object(uuid__WEBPACK_IMPORTED_MODULE_2__["v4"])()
|
|
9709
8769
|
})) || this;
|
|
9710
|
-
|
|
9711
8770
|
_this._clientsQueue = new ClientsQueue();
|
|
8771
|
+
_this.connectionStateMonitor = new _utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["ConnectionStateMonitor"]();
|
|
8772
|
+
_this.reconnectionMonitor = new _utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_8__["ReconnectionMonitor"]();
|
|
9712
8773
|
_this._topicObservers = new Map();
|
|
9713
8774
|
_this._clientIdObservers = new Map();
|
|
8775
|
+
// Monitor the connection health state and pass changes along to Hub
|
|
8776
|
+
_this.connectionStateMonitor.connectionStateObservable.subscribe(function (connectionStateChange) {
|
|
8777
|
+
dispatchPubSubEvent(_constants__WEBPACK_IMPORTED_MODULE_9__["CONNECTION_STATE_CHANGE"], {
|
|
8778
|
+
provider: _this,
|
|
8779
|
+
connectionState: connectionStateChange
|
|
8780
|
+
}, "Connection state is " + connectionStateChange);
|
|
8781
|
+
_this.connectionState = connectionStateChange;
|
|
8782
|
+
// Trigger reconnection when the connection is disrupted
|
|
8783
|
+
if (connectionStateChange === _types_PubSub__WEBPACK_IMPORTED_MODULE_5__["ConnectionState"].ConnectionDisrupted) {
|
|
8784
|
+
_this.reconnectionMonitor.record(_utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_8__["ReconnectEvent"].START_RECONNECT);
|
|
8785
|
+
} else if (connectionStateChange !== _types_PubSub__WEBPACK_IMPORTED_MODULE_5__["ConnectionState"].Connecting) {
|
|
8786
|
+
// Trigger connected to halt reconnection attempts
|
|
8787
|
+
_this.reconnectionMonitor.record(_utils_ReconnectionMonitor__WEBPACK_IMPORTED_MODULE_8__["ReconnectEvent"].HALT_RECONNECT);
|
|
8788
|
+
}
|
|
8789
|
+
});
|
|
9714
8790
|
return _this;
|
|
9715
8791
|
}
|
|
9716
|
-
|
|
9717
8792
|
Object.defineProperty(MqttOverWSProvider.prototype, "clientId", {
|
|
9718
8793
|
get: function get() {
|
|
9719
8794
|
return this.options.clientId;
|
|
@@ -9742,197 +8817,157 @@ function (_super) {
|
|
|
9742
8817
|
enumerable: true,
|
|
9743
8818
|
configurable: true
|
|
9744
8819
|
});
|
|
9745
|
-
|
|
9746
8820
|
MqttOverWSProvider.prototype.getTopicForValue = function (value) {
|
|
9747
8821
|
return _typeof(value) === 'object' && value[topicSymbol];
|
|
9748
8822
|
};
|
|
9749
|
-
|
|
9750
8823
|
MqttOverWSProvider.prototype.getProviderName = function () {
|
|
9751
8824
|
return 'MqttOverWSProvider';
|
|
9752
8825
|
};
|
|
9753
|
-
|
|
9754
8826
|
MqttOverWSProvider.prototype.onDisconnect = function (_a) {
|
|
9755
|
-
var _this = this;
|
|
9756
|
-
|
|
9757
8827
|
var clientId = _a.clientId,
|
|
9758
|
-
|
|
9759
|
-
|
|
9760
|
-
|
|
8828
|
+
errorCode = _a.errorCode,
|
|
8829
|
+
args = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__rest"])(_a, ["clientId", "errorCode"]);
|
|
9761
8830
|
if (errorCode !== 0) {
|
|
9762
|
-
logger.warn(clientId, JSON.stringify(__assign({
|
|
8831
|
+
logger.warn(clientId, JSON.stringify(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({
|
|
9763
8832
|
errorCode: errorCode
|
|
9764
8833
|
}, args), null, 2));
|
|
9765
|
-
var topicsToDelete_1 = [];
|
|
9766
|
-
|
|
9767
8834
|
if (!clientId) {
|
|
9768
8835
|
return;
|
|
9769
8836
|
}
|
|
9770
|
-
|
|
9771
8837
|
var clientIdObservers = this._clientIdObservers.get(clientId);
|
|
9772
|
-
|
|
9773
8838
|
if (!clientIdObservers) {
|
|
9774
8839
|
return;
|
|
9775
8840
|
}
|
|
9776
|
-
|
|
9777
|
-
clientIdObservers.forEach(function (observer) {
|
|
9778
|
-
observer.error('Disconnected, error code: ' + errorCode); // removing observers for disconnected clientId
|
|
9779
|
-
|
|
9780
|
-
_this._topicObservers.forEach(function (observerForTopic, observerTopic) {
|
|
9781
|
-
observerForTopic["delete"](observer);
|
|
9782
|
-
|
|
9783
|
-
if (observerForTopic.size === 0) {
|
|
9784
|
-
topicsToDelete_1.push(observerTopic);
|
|
9785
|
-
}
|
|
9786
|
-
});
|
|
9787
|
-
}); // forgiving any trace of clientId
|
|
9788
|
-
|
|
9789
|
-
this._clientIdObservers["delete"](clientId); // Removing topics that are not listen by an observer
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
topicsToDelete_1.forEach(function (topic) {
|
|
9793
|
-
_this._topicObservers["delete"](topic);
|
|
9794
|
-
});
|
|
8841
|
+
this.disconnect(clientId);
|
|
9795
8842
|
}
|
|
9796
8843
|
};
|
|
9797
|
-
|
|
9798
8844
|
MqttOverWSProvider.prototype.newClient = function (_a) {
|
|
9799
8845
|
var url = _a.url,
|
|
9800
|
-
|
|
9801
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
9802
|
-
var client;
|
|
9803
|
-
|
|
8846
|
+
clientId = _a.clientId;
|
|
8847
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8848
|
+
var client, connected;
|
|
9804
8849
|
var _this = this;
|
|
9805
|
-
|
|
9806
|
-
return __generator(this, function (_b) {
|
|
8850
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
|
|
9807
8851
|
switch (_b.label) {
|
|
9808
8852
|
case 0:
|
|
9809
8853
|
logger.debug('Creating new MQTT client', clientId);
|
|
9810
|
-
|
|
9811
|
-
|
|
8854
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["CONNECTION_CHANGE"].OPENING_CONNECTION);
|
|
8855
|
+
client = new paho_mqtt__WEBPACK_IMPORTED_MODULE_1__["Client"](url, clientId);
|
|
9812
8856
|
client.onMessageArrived = function (_a) {
|
|
9813
8857
|
var topic = _a.destinationName,
|
|
9814
|
-
|
|
9815
|
-
|
|
8858
|
+
msg = _a.payloadString;
|
|
9816
8859
|
_this._onMessage(topic, msg);
|
|
9817
8860
|
};
|
|
9818
|
-
|
|
9819
8861
|
client.onConnectionLost = function (_a) {
|
|
9820
8862
|
var errorCode = _a.errorCode,
|
|
9821
|
-
|
|
9822
|
-
|
|
9823
|
-
_this.onDisconnect(__assign({
|
|
8863
|
+
args = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__rest"])(_a, ["errorCode"]);
|
|
8864
|
+
_this.onDisconnect(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({
|
|
9824
8865
|
clientId: clientId,
|
|
9825
8866
|
errorCode: errorCode
|
|
9826
8867
|
}, args));
|
|
8868
|
+
_this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["CONNECTION_CHANGE"].CLOSED);
|
|
9827
8869
|
};
|
|
9828
|
-
|
|
9829
|
-
return [4
|
|
9830
|
-
/*yield*/
|
|
9831
|
-
, new Promise(function (resolve, reject) {
|
|
8870
|
+
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
9832
8871
|
client.connect({
|
|
9833
8872
|
useSSL: _this.isSSLEnabled,
|
|
9834
8873
|
mqttVersion: 3,
|
|
9835
8874
|
onSuccess: function onSuccess() {
|
|
9836
|
-
return resolve(
|
|
8875
|
+
return resolve(true);
|
|
9837
8876
|
},
|
|
9838
|
-
onFailure:
|
|
8877
|
+
onFailure: function onFailure(x) {
|
|
8878
|
+
if (clientId) _this._clientsQueue.remove(clientId);
|
|
8879
|
+
_this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["CONNECTION_CHANGE"].CLOSED);
|
|
8880
|
+
resolve(false);
|
|
8881
|
+
}
|
|
9839
8882
|
});
|
|
9840
8883
|
})];
|
|
9841
|
-
|
|
9842
8884
|
case 1:
|
|
9843
|
-
_b.sent();
|
|
9844
|
-
|
|
9845
|
-
|
|
9846
|
-
|
|
9847
|
-
|
|
8885
|
+
connected = _b.sent();
|
|
8886
|
+
if (connected) {
|
|
8887
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["CONNECTION_CHANGE"].CONNECTION_ESTABLISHED);
|
|
8888
|
+
}
|
|
8889
|
+
return [2 /*return*/, client];
|
|
9848
8890
|
}
|
|
9849
8891
|
});
|
|
9850
8892
|
});
|
|
9851
8893
|
};
|
|
9852
|
-
|
|
9853
8894
|
MqttOverWSProvider.prototype.connect = function (clientId, options) {
|
|
9854
8895
|
if (options === void 0) {
|
|
9855
8896
|
options = {};
|
|
9856
8897
|
}
|
|
9857
|
-
|
|
9858
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8898
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
9859
8899
|
var _this = this;
|
|
9860
|
-
|
|
9861
|
-
return __generator(this, function (_a) {
|
|
8900
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
9862
8901
|
switch (_a.label) {
|
|
9863
8902
|
case 0:
|
|
9864
|
-
return [4
|
|
9865
|
-
|
|
9866
|
-
|
|
9867
|
-
|
|
9868
|
-
|
|
9869
|
-
|
|
8903
|
+
return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) {
|
|
8904
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
8905
|
+
var client;
|
|
8906
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
8907
|
+
switch (_a.label) {
|
|
8908
|
+
case 0:
|
|
8909
|
+
return [4 /*yield*/, this.newClient(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, options), {
|
|
8910
|
+
clientId: clientId
|
|
8911
|
+
}))];
|
|
8912
|
+
case 1:
|
|
8913
|
+
client = _a.sent();
|
|
8914
|
+
if (client) {
|
|
8915
|
+
// Once connected, subscribe to all topics registered observers
|
|
8916
|
+
this._topicObservers.forEach(function (_value, key) {
|
|
8917
|
+
client.subscribe(key);
|
|
8918
|
+
});
|
|
8919
|
+
}
|
|
8920
|
+
return [2 /*return*/, client];
|
|
8921
|
+
}
|
|
8922
|
+
});
|
|
8923
|
+
});
|
|
9870
8924
|
})];
|
|
9871
|
-
|
|
9872
8925
|
case 1:
|
|
9873
|
-
return [2
|
|
9874
|
-
/*return*/
|
|
9875
|
-
, _a.sent()];
|
|
8926
|
+
return [2 /*return*/, _a.sent()];
|
|
9876
8927
|
}
|
|
9877
8928
|
});
|
|
9878
8929
|
});
|
|
9879
8930
|
};
|
|
9880
|
-
|
|
9881
8931
|
MqttOverWSProvider.prototype.disconnect = function (clientId) {
|
|
9882
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8932
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
9883
8933
|
var client;
|
|
9884
|
-
return __generator(this, function (_a) {
|
|
8934
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
9885
8935
|
switch (_a.label) {
|
|
9886
8936
|
case 0:
|
|
9887
|
-
return [4
|
|
9888
|
-
/*yield*/
|
|
9889
|
-
, this.clientsQueue.get(clientId)];
|
|
9890
|
-
|
|
8937
|
+
return [4 /*yield*/, this.clientsQueue.get(clientId)];
|
|
9891
8938
|
case 1:
|
|
9892
8939
|
client = _a.sent();
|
|
9893
|
-
|
|
9894
8940
|
if (client && client.isConnected()) {
|
|
9895
8941
|
client.disconnect();
|
|
9896
8942
|
}
|
|
9897
|
-
|
|
9898
8943
|
this.clientsQueue.remove(clientId);
|
|
9899
|
-
|
|
9900
|
-
/*return*/
|
|
9901
|
-
];
|
|
8944
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["CONNECTION_CHANGE"].CLOSED);
|
|
8945
|
+
return [2 /*return*/];
|
|
9902
8946
|
}
|
|
9903
8947
|
});
|
|
9904
8948
|
});
|
|
9905
8949
|
};
|
|
9906
8950
|
|
|
9907
8951
|
MqttOverWSProvider.prototype.publish = function (topics, msg) {
|
|
9908
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
9909
|
-
var targetTopics, message,
|
|
9910
|
-
return __generator(this, function (_a) {
|
|
8952
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
8953
|
+
var targetTopics, message, client;
|
|
8954
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
9911
8955
|
switch (_a.label) {
|
|
9912
8956
|
case 0:
|
|
9913
8957
|
targetTopics = [].concat(topics);
|
|
9914
8958
|
message = JSON.stringify(msg);
|
|
9915
|
-
return [4
|
|
9916
|
-
/*yield*/
|
|
9917
|
-
, this.endpoint];
|
|
9918
|
-
|
|
8959
|
+
return [4 /*yield*/, this.clientsQueue.get(this.clientId)];
|
|
9919
8960
|
case 1:
|
|
9920
|
-
url = _a.sent();
|
|
9921
|
-
return [4
|
|
9922
|
-
/*yield*/
|
|
9923
|
-
, this.connect(this.clientId, {
|
|
9924
|
-
url: url
|
|
9925
|
-
})];
|
|
9926
|
-
|
|
9927
|
-
case 2:
|
|
9928
8961
|
client = _a.sent();
|
|
9929
|
-
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
|
|
9934
|
-
|
|
9935
|
-
|
|
8962
|
+
if (client) {
|
|
8963
|
+
logger.debug('Publishing to topic(s)', targetTopics.join(','), message);
|
|
8964
|
+
targetTopics.forEach(function (topic) {
|
|
8965
|
+
return client.send(topic, message);
|
|
8966
|
+
});
|
|
8967
|
+
} else {
|
|
8968
|
+
logger.debug('Publishing to topic(s) failed', targetTopics.join(','), message);
|
|
8969
|
+
}
|
|
8970
|
+
return [2 /*return*/];
|
|
9936
8971
|
}
|
|
9937
8972
|
});
|
|
9938
8973
|
});
|
|
@@ -9941,19 +8976,15 @@ function (_super) {
|
|
|
9941
8976
|
MqttOverWSProvider.prototype._onMessage = function (topic, msg) {
|
|
9942
8977
|
try {
|
|
9943
8978
|
var matchedTopicObservers_1 = [];
|
|
9944
|
-
|
|
9945
8979
|
this._topicObservers.forEach(function (observerForTopic, observerTopic) {
|
|
9946
8980
|
if (mqttTopicMatch(observerTopic, topic)) {
|
|
9947
8981
|
matchedTopicObservers_1.push(observerForTopic);
|
|
9948
8982
|
}
|
|
9949
8983
|
});
|
|
9950
|
-
|
|
9951
8984
|
var parsedMessage_1 = JSON.parse(msg);
|
|
9952
|
-
|
|
9953
8985
|
if (_typeof(parsedMessage_1) === 'object') {
|
|
9954
8986
|
parsedMessage_1[topicSymbol] = topic;
|
|
9955
8987
|
}
|
|
9956
|
-
|
|
9957
8988
|
matchedTopicObservers_1.forEach(function (observersForTopic) {
|
|
9958
8989
|
observersForTopic.forEach(function (observer) {
|
|
9959
8990
|
return observer.next(parsedMessage_1);
|
|
@@ -9963,143 +8994,137 @@ function (_super) {
|
|
|
9963
8994
|
logger.warn('Error handling message', error, msg);
|
|
9964
8995
|
}
|
|
9965
8996
|
};
|
|
9966
|
-
|
|
9967
8997
|
MqttOverWSProvider.prototype.subscribe = function (topics, options) {
|
|
9968
8998
|
var _this = this;
|
|
9969
|
-
|
|
9970
8999
|
if (options === void 0) {
|
|
9971
9000
|
options = {};
|
|
9972
9001
|
}
|
|
9973
|
-
|
|
9974
9002
|
var targetTopics = [].concat(topics);
|
|
9975
9003
|
logger.debug('Subscribing to topic(s)', targetTopics.join(','));
|
|
9976
|
-
|
|
9004
|
+
var reconnectSubscription;
|
|
9005
|
+
return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_3__["default"](function (observer) {
|
|
9977
9006
|
targetTopics.forEach(function (topic) {
|
|
9978
9007
|
// this._topicObservers is used to notify the observers according to the topic received on the message
|
|
9979
9008
|
var observersForTopic = _this._topicObservers.get(topic);
|
|
9980
|
-
|
|
9981
9009
|
if (!observersForTopic) {
|
|
9982
9010
|
observersForTopic = new Set();
|
|
9983
|
-
|
|
9984
9011
|
_this._topicObservers.set(topic, observersForTopic);
|
|
9985
9012
|
}
|
|
9986
|
-
|
|
9987
9013
|
observersForTopic.add(observer);
|
|
9988
|
-
});
|
|
9989
|
-
|
|
9990
|
-
var client;
|
|
9014
|
+
});
|
|
9991
9015
|
var _a = options.clientId,
|
|
9992
|
-
|
|
9993
|
-
|
|
9016
|
+
clientId = _a === void 0 ? _this.clientId : _a;
|
|
9017
|
+
// this._clientIdObservers is used to close observers when client gets disconnected
|
|
9994
9018
|
var observersForClientId = _this._clientIdObservers.get(clientId);
|
|
9995
|
-
|
|
9996
9019
|
if (!observersForClientId) {
|
|
9997
9020
|
observersForClientId = new Set();
|
|
9998
9021
|
}
|
|
9999
|
-
|
|
10000
9022
|
observersForClientId.add(observer);
|
|
10001
|
-
|
|
10002
9023
|
_this._clientIdObservers.set(clientId, observersForClientId);
|
|
10003
|
-
|
|
10004
9024
|
(function () {
|
|
10005
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
10006
|
-
var
|
|
10007
|
-
|
|
10008
|
-
return __generator(this, function (
|
|
10009
|
-
switch (
|
|
9025
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
9026
|
+
var getClient;
|
|
9027
|
+
var _this = this;
|
|
9028
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
9029
|
+
switch (_a.label) {
|
|
10010
9030
|
case 0:
|
|
10011
|
-
|
|
10012
|
-
|
|
10013
|
-
|
|
10014
|
-
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
|
|
10018
|
-
|
|
9031
|
+
getClient = function getClient() {
|
|
9032
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
9033
|
+
var _a, url, _b, client_1, e_1;
|
|
9034
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_c) {
|
|
9035
|
+
switch (_c.label) {
|
|
9036
|
+
case 0:
|
|
9037
|
+
_c.trys.push([0, 5,, 6]);
|
|
9038
|
+
_a = options.url;
|
|
9039
|
+
if (!(_a === void 0)) return [3 /*break*/, 2];
|
|
9040
|
+
return [4 /*yield*/, this.endpoint];
|
|
9041
|
+
case 1:
|
|
9042
|
+
_b = _c.sent();
|
|
9043
|
+
return [3 /*break*/, 3];
|
|
9044
|
+
case 2:
|
|
9045
|
+
_b = _a;
|
|
9046
|
+
_c.label = 3;
|
|
9047
|
+
case 3:
|
|
9048
|
+
url = _b;
|
|
9049
|
+
return [4 /*yield*/, this.connect(clientId, {
|
|
9050
|
+
url: url
|
|
9051
|
+
})];
|
|
9052
|
+
case 4:
|
|
9053
|
+
client_1 = _c.sent();
|
|
9054
|
+
if (client_1 !== undefined) {
|
|
9055
|
+
targetTopics.forEach(function (topic) {
|
|
9056
|
+
client_1.subscribe(topic);
|
|
9057
|
+
});
|
|
9058
|
+
}
|
|
9059
|
+
return [3 /*break*/, 6];
|
|
9060
|
+
case 5:
|
|
9061
|
+
e_1 = _c.sent();
|
|
9062
|
+
logger.debug('Error forming connection', e_1);
|
|
9063
|
+
return [3 /*break*/, 6];
|
|
9064
|
+
case 6:
|
|
9065
|
+
return [2 /*return*/];
|
|
9066
|
+
}
|
|
9067
|
+
});
|
|
9068
|
+
});
|
|
9069
|
+
};
|
|
9070
|
+
// Establish the initial connection
|
|
9071
|
+
return [4 /*yield*/, getClient()];
|
|
10019
9072
|
case 1:
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
_c.label = 3;
|
|
10028
|
-
|
|
10029
|
-
case 3:
|
|
10030
|
-
url = _b;
|
|
10031
|
-
_c.label = 4;
|
|
10032
|
-
|
|
10033
|
-
case 4:
|
|
10034
|
-
_c.trys.push([4, 6,, 7]);
|
|
10035
|
-
|
|
10036
|
-
return [4
|
|
10037
|
-
/*yield*/
|
|
10038
|
-
, this.connect(clientId, {
|
|
10039
|
-
url: url
|
|
10040
|
-
})];
|
|
10041
|
-
|
|
10042
|
-
case 5:
|
|
10043
|
-
client = _c.sent();
|
|
10044
|
-
targetTopics.forEach(function (topic) {
|
|
10045
|
-
client.subscribe(topic);
|
|
9073
|
+
// Establish the initial connection
|
|
9074
|
+
_a.sent();
|
|
9075
|
+
// Add an observable to the reconnection list to manage reconnection for this subscription
|
|
9076
|
+
reconnectSubscription = new zen_observable_ts__WEBPACK_IMPORTED_MODULE_3__["default"](function (observer) {
|
|
9077
|
+
_this.reconnectionMonitor.addObserver(observer);
|
|
9078
|
+
}).subscribe(function () {
|
|
9079
|
+
getClient();
|
|
10046
9080
|
});
|
|
10047
|
-
return [
|
|
10048
|
-
/*break*/
|
|
10049
|
-
, 7];
|
|
10050
|
-
|
|
10051
|
-
case 6:
|
|
10052
|
-
e_1 = _c.sent();
|
|
10053
|
-
observer.error(e_1);
|
|
10054
|
-
return [3
|
|
10055
|
-
/*break*/
|
|
10056
|
-
, 7];
|
|
10057
|
-
|
|
10058
|
-
case 7:
|
|
10059
|
-
return [2
|
|
10060
|
-
/*return*/
|
|
10061
|
-
];
|
|
9081
|
+
return [2 /*return*/];
|
|
10062
9082
|
}
|
|
10063
9083
|
});
|
|
10064
9084
|
});
|
|
10065
9085
|
})();
|
|
10066
9086
|
|
|
10067
9087
|
return function () {
|
|
10068
|
-
|
|
10069
|
-
|
|
10070
|
-
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
|
|
10074
|
-
|
|
10075
|
-
|
|
10076
|
-
|
|
10077
|
-
|
|
10078
|
-
|
|
10079
|
-
|
|
10080
|
-
|
|
10081
|
-
|
|
10082
|
-
|
|
10083
|
-
|
|
10084
|
-
|
|
10085
|
-
|
|
10086
|
-
|
|
10087
|
-
|
|
10088
|
-
|
|
10089
|
-
|
|
10090
|
-
|
|
9088
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
|
|
9089
|
+
var client;
|
|
9090
|
+
var _this = this;
|
|
9091
|
+
var _a, _b;
|
|
9092
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_c) {
|
|
9093
|
+
switch (_c.label) {
|
|
9094
|
+
case 0:
|
|
9095
|
+
return [4 /*yield*/, this.clientsQueue.get(clientId)];
|
|
9096
|
+
case 1:
|
|
9097
|
+
client = _c.sent();
|
|
9098
|
+
reconnectSubscription === null || reconnectSubscription === void 0 ? void 0 : reconnectSubscription.unsubscribe();
|
|
9099
|
+
if (client) {
|
|
9100
|
+
(_a = this._clientIdObservers.get(clientId)) === null || _a === void 0 ? void 0 : _a["delete"](observer);
|
|
9101
|
+
// No more observers per client => client not needed anymore
|
|
9102
|
+
if (((_b = this._clientIdObservers.get(clientId)) === null || _b === void 0 ? void 0 : _b.size) === 0) {
|
|
9103
|
+
this.disconnect(clientId);
|
|
9104
|
+
this.connectionStateMonitor.record(_utils_ConnectionStateMonitor__WEBPACK_IMPORTED_MODULE_7__["CONNECTION_CHANGE"].CLOSING_CONNECTION);
|
|
9105
|
+
this._clientIdObservers["delete"](clientId);
|
|
9106
|
+
}
|
|
9107
|
+
targetTopics.forEach(function (topic) {
|
|
9108
|
+
var observersForTopic = _this._topicObservers.get(topic) || new Set();
|
|
9109
|
+
observersForTopic["delete"](observer);
|
|
9110
|
+
// if no observers exists for the topic, topic should be removed
|
|
9111
|
+
if (observersForTopic.size === 0) {
|
|
9112
|
+
_this._topicObservers["delete"](topic);
|
|
9113
|
+
if (client.isConnected()) {
|
|
9114
|
+
client.unsubscribe(topic);
|
|
9115
|
+
}
|
|
9116
|
+
}
|
|
9117
|
+
});
|
|
9118
|
+
}
|
|
9119
|
+
return [2 /*return*/, null];
|
|
10091
9120
|
}
|
|
10092
9121
|
});
|
|
10093
|
-
}
|
|
10094
|
-
|
|
10095
|
-
return null;
|
|
9122
|
+
});
|
|
10096
9123
|
};
|
|
10097
9124
|
});
|
|
10098
9125
|
};
|
|
10099
|
-
|
|
10100
9126
|
return MqttOverWSProvider;
|
|
10101
|
-
}(
|
|
10102
|
-
|
|
9127
|
+
}(_PubSubProvider__WEBPACK_IMPORTED_MODULE_4__["AbstractPubSubProvider"]);
|
|
10103
9128
|
|
|
10104
9129
|
|
|
10105
9130
|
/***/ }),
|
|
@@ -10114,55 +9139,33 @@ function (_super) {
|
|
|
10114
9139
|
"use strict";
|
|
10115
9140
|
__webpack_require__.r(__webpack_exports__);
|
|
10116
9141
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AbstractPubSubProvider", function() { return AbstractPubSubProvider; });
|
|
10117
|
-
/* harmony import */ var
|
|
10118
|
-
/* harmony import */ var
|
|
10119
|
-
|
|
10120
|
-
__assign = Object.assign || function (t) {
|
|
10121
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
10122
|
-
s = arguments[i];
|
|
10123
|
-
|
|
10124
|
-
for (var p in s) {
|
|
10125
|
-
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
10126
|
-
}
|
|
10127
|
-
}
|
|
10128
|
-
|
|
10129
|
-
return t;
|
|
10130
|
-
};
|
|
10131
|
-
|
|
10132
|
-
return __assign.apply(this, arguments);
|
|
10133
|
-
};
|
|
10134
|
-
|
|
9142
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
9143
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
9144
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__);
|
|
10135
9145
|
|
|
10136
|
-
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AbstractPubSubProvider');
|
|
10137
9146
|
|
|
10138
|
-
var
|
|
10139
|
-
/** @class */
|
|
10140
|
-
function () {
|
|
9147
|
+
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]('AbstractPubSubProvider');
|
|
9148
|
+
var AbstractPubSubProvider = /** @class */function () {
|
|
10141
9149
|
function AbstractPubSubProvider(options) {
|
|
10142
9150
|
if (options === void 0) {
|
|
10143
9151
|
options = {};
|
|
10144
9152
|
}
|
|
10145
|
-
|
|
10146
9153
|
this._config = options;
|
|
10147
9154
|
}
|
|
10148
|
-
|
|
10149
9155
|
AbstractPubSubProvider.prototype.configure = function (config) {
|
|
10150
9156
|
if (config === void 0) {
|
|
10151
9157
|
config = {};
|
|
10152
9158
|
}
|
|
10153
|
-
|
|
10154
|
-
this._config = __assign(__assign({}, config), this._config);
|
|
9159
|
+
this._config = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, config), this._config);
|
|
10155
9160
|
logger.debug("configure " + this.getProviderName(), this._config);
|
|
10156
9161
|
return this.options;
|
|
10157
9162
|
};
|
|
10158
|
-
|
|
10159
9163
|
AbstractPubSubProvider.prototype.getCategory = function () {
|
|
10160
9164
|
return 'PubSub';
|
|
10161
9165
|
};
|
|
10162
|
-
|
|
10163
9166
|
Object.defineProperty(AbstractPubSubProvider.prototype, "options", {
|
|
10164
9167
|
get: function get() {
|
|
10165
|
-
return __assign({}, this._config);
|
|
9168
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, this._config);
|
|
10166
9169
|
},
|
|
10167
9170
|
enumerable: true,
|
|
10168
9171
|
configurable: true
|
|
@@ -10171,6 +9174,129 @@ function () {
|
|
|
10171
9174
|
}();
|
|
10172
9175
|
|
|
10173
9176
|
|
|
9177
|
+
/***/ }),
|
|
9178
|
+
|
|
9179
|
+
/***/ "./lib-esm/Providers/constants.js":
|
|
9180
|
+
/*!****************************************!*\
|
|
9181
|
+
!*** ./lib-esm/Providers/constants.js ***!
|
|
9182
|
+
\****************************************/
|
|
9183
|
+
/*! exports provided: MAX_DELAY_MS, NON_RETRYABLE_CODES, CONNECTION_STATE_CHANGE, MESSAGE_TYPES, SUBSCRIPTION_STATUS, SOCKET_STATUS, AMPLIFY_SYMBOL, AWS_APPSYNC_REALTIME_HEADERS, CONNECTION_INIT_TIMEOUT, START_ACK_TIMEOUT, DEFAULT_KEEP_ALIVE_TIMEOUT, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT, RECONNECT_DELAY, RECONNECT_INTERVAL */
|
|
9184
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9185
|
+
|
|
9186
|
+
"use strict";
|
|
9187
|
+
__webpack_require__.r(__webpack_exports__);
|
|
9188
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MAX_DELAY_MS", function() { return MAX_DELAY_MS; });
|
|
9189
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NON_RETRYABLE_CODES", function() { return NON_RETRYABLE_CODES; });
|
|
9190
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONNECTION_STATE_CHANGE", function() { return CONNECTION_STATE_CHANGE; });
|
|
9191
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MESSAGE_TYPES", function() { return MESSAGE_TYPES; });
|
|
9192
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SUBSCRIPTION_STATUS", function() { return SUBSCRIPTION_STATUS; });
|
|
9193
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SOCKET_STATUS", function() { return SOCKET_STATUS; });
|
|
9194
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AMPLIFY_SYMBOL", function() { return AMPLIFY_SYMBOL; });
|
|
9195
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AWS_APPSYNC_REALTIME_HEADERS", function() { return AWS_APPSYNC_REALTIME_HEADERS; });
|
|
9196
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONNECTION_INIT_TIMEOUT", function() { return CONNECTION_INIT_TIMEOUT; });
|
|
9197
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "START_ACK_TIMEOUT", function() { return START_ACK_TIMEOUT; });
|
|
9198
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DEFAULT_KEEP_ALIVE_TIMEOUT", function() { return DEFAULT_KEEP_ALIVE_TIMEOUT; });
|
|
9199
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT", function() { return DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT; });
|
|
9200
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RECONNECT_DELAY", function() { return RECONNECT_DELAY; });
|
|
9201
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RECONNECT_INTERVAL", function() { return RECONNECT_INTERVAL; });
|
|
9202
|
+
var MAX_DELAY_MS = 5000;
|
|
9203
|
+
var NON_RETRYABLE_CODES = [400, 401, 403];
|
|
9204
|
+
var CONNECTION_STATE_CHANGE = 'ConnectionStateChange';
|
|
9205
|
+
var MESSAGE_TYPES;
|
|
9206
|
+
(function (MESSAGE_TYPES) {
|
|
9207
|
+
/**
|
|
9208
|
+
* Client -> Server message.
|
|
9209
|
+
* This message type is the first message after handshake and this will initialize AWS AppSync RealTime communication
|
|
9210
|
+
*/
|
|
9211
|
+
MESSAGE_TYPES["GQL_CONNECTION_INIT"] = "connection_init";
|
|
9212
|
+
/**
|
|
9213
|
+
* Server -> Client message
|
|
9214
|
+
* This message type is in case there is an issue with AWS AppSync RealTime when establishing connection
|
|
9215
|
+
*/
|
|
9216
|
+
MESSAGE_TYPES["GQL_CONNECTION_ERROR"] = "connection_error";
|
|
9217
|
+
/**
|
|
9218
|
+
* Server -> Client message.
|
|
9219
|
+
* This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message
|
|
9220
|
+
*/
|
|
9221
|
+
MESSAGE_TYPES["GQL_CONNECTION_ACK"] = "connection_ack";
|
|
9222
|
+
/**
|
|
9223
|
+
* Client -> Server message.
|
|
9224
|
+
* This message type is for register subscriptions with AWS AppSync RealTime
|
|
9225
|
+
*/
|
|
9226
|
+
MESSAGE_TYPES["GQL_START"] = "start";
|
|
9227
|
+
/**
|
|
9228
|
+
* Server -> Client message.
|
|
9229
|
+
* This message type is for the ack response from AWS AppSync RealTime for GQL_START message
|
|
9230
|
+
*/
|
|
9231
|
+
MESSAGE_TYPES["GQL_START_ACK"] = "start_ack";
|
|
9232
|
+
/**
|
|
9233
|
+
* Server -> Client message.
|
|
9234
|
+
* This message type is for subscription message from AWS AppSync RealTime
|
|
9235
|
+
*/
|
|
9236
|
+
MESSAGE_TYPES["GQL_DATA"] = "data";
|
|
9237
|
+
/**
|
|
9238
|
+
* Server -> Client message.
|
|
9239
|
+
* This message type helps the client to know is still receiving messages from AWS AppSync RealTime
|
|
9240
|
+
*/
|
|
9241
|
+
MESSAGE_TYPES["GQL_CONNECTION_KEEP_ALIVE"] = "ka";
|
|
9242
|
+
/**
|
|
9243
|
+
* Client -> Server message.
|
|
9244
|
+
* This message type is for unregister subscriptions with AWS AppSync RealTime
|
|
9245
|
+
*/
|
|
9246
|
+
MESSAGE_TYPES["GQL_STOP"] = "stop";
|
|
9247
|
+
/**
|
|
9248
|
+
* Server -> Client message.
|
|
9249
|
+
* This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message
|
|
9250
|
+
*/
|
|
9251
|
+
MESSAGE_TYPES["GQL_COMPLETE"] = "complete";
|
|
9252
|
+
/**
|
|
9253
|
+
* Server -> Client message.
|
|
9254
|
+
* This message type is for sending error messages from AWS AppSync RealTime to the client
|
|
9255
|
+
*/
|
|
9256
|
+
MESSAGE_TYPES["GQL_ERROR"] = "error";
|
|
9257
|
+
})(MESSAGE_TYPES || (MESSAGE_TYPES = {}));
|
|
9258
|
+
var SUBSCRIPTION_STATUS;
|
|
9259
|
+
(function (SUBSCRIPTION_STATUS) {
|
|
9260
|
+
SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["PENDING"] = 0] = "PENDING";
|
|
9261
|
+
SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["CONNECTED"] = 1] = "CONNECTED";
|
|
9262
|
+
SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["FAILED"] = 2] = "FAILED";
|
|
9263
|
+
})(SUBSCRIPTION_STATUS || (SUBSCRIPTION_STATUS = {}));
|
|
9264
|
+
var SOCKET_STATUS;
|
|
9265
|
+
(function (SOCKET_STATUS) {
|
|
9266
|
+
SOCKET_STATUS[SOCKET_STATUS["CLOSED"] = 0] = "CLOSED";
|
|
9267
|
+
SOCKET_STATUS[SOCKET_STATUS["READY"] = 1] = "READY";
|
|
9268
|
+
SOCKET_STATUS[SOCKET_STATUS["CONNECTING"] = 2] = "CONNECTING";
|
|
9269
|
+
})(SOCKET_STATUS || (SOCKET_STATUS = {}));
|
|
9270
|
+
var AMPLIFY_SYMBOL = typeof Symbol !== 'undefined' && typeof Symbol["for"] === 'function' ? Symbol["for"]('amplify_default') : '@@amplify_default';
|
|
9271
|
+
var AWS_APPSYNC_REALTIME_HEADERS = {
|
|
9272
|
+
accept: 'application/json, text/javascript',
|
|
9273
|
+
'content-encoding': 'amz-1.0',
|
|
9274
|
+
'content-type': 'application/json; charset=UTF-8'
|
|
9275
|
+
};
|
|
9276
|
+
/**
|
|
9277
|
+
* Time in milleseconds to wait for GQL_CONNECTION_INIT message
|
|
9278
|
+
*/
|
|
9279
|
+
var CONNECTION_INIT_TIMEOUT = 15000;
|
|
9280
|
+
/**
|
|
9281
|
+
* Time in milleseconds to wait for GQL_START_ACK message
|
|
9282
|
+
*/
|
|
9283
|
+
var START_ACK_TIMEOUT = 15000;
|
|
9284
|
+
/**
|
|
9285
|
+
* Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message
|
|
9286
|
+
*/
|
|
9287
|
+
var DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;
|
|
9288
|
+
/**
|
|
9289
|
+
* Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message
|
|
9290
|
+
*/
|
|
9291
|
+
var DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;
|
|
9292
|
+
/**
|
|
9293
|
+
* Default delay time in milleseconds between when reconnect is triggered vs when it is attempted
|
|
9294
|
+
*/
|
|
9295
|
+
var RECONNECT_DELAY = 5 * 1000;
|
|
9296
|
+
/**
|
|
9297
|
+
* Default interval time in milleseconds between when reconnect is re-attempted
|
|
9298
|
+
*/
|
|
9299
|
+
var RECONNECT_INTERVAL = 60 * 1000;
|
|
10174
9300
|
|
|
10175
9301
|
/***/ }),
|
|
10176
9302
|
|
|
@@ -10231,152 +9357,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10231
9357
|
__webpack_require__.r(__webpack_exports__);
|
|
10232
9358
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PubSubClass", function() { return PubSubClass; });
|
|
10233
9359
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PubSub", function() { return PubSub; });
|
|
10234
|
-
/* harmony import */ var
|
|
10235
|
-
/* harmony import */ var
|
|
10236
|
-
/* harmony import */ var
|
|
10237
|
-
/* harmony import */ var
|
|
10238
|
-
|
|
10239
|
-
function adopt(value) {
|
|
10240
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
10241
|
-
resolve(value);
|
|
10242
|
-
});
|
|
10243
|
-
}
|
|
10244
|
-
|
|
10245
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10246
|
-
function fulfilled(value) {
|
|
10247
|
-
try {
|
|
10248
|
-
step(generator.next(value));
|
|
10249
|
-
} catch (e) {
|
|
10250
|
-
reject(e);
|
|
10251
|
-
}
|
|
10252
|
-
}
|
|
10253
|
-
|
|
10254
|
-
function rejected(value) {
|
|
10255
|
-
try {
|
|
10256
|
-
step(generator["throw"](value));
|
|
10257
|
-
} catch (e) {
|
|
10258
|
-
reject(e);
|
|
10259
|
-
}
|
|
10260
|
-
}
|
|
10261
|
-
|
|
10262
|
-
function step(result) {
|
|
10263
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
10264
|
-
}
|
|
10265
|
-
|
|
10266
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10267
|
-
});
|
|
10268
|
-
};
|
|
10269
|
-
|
|
10270
|
-
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
10271
|
-
var _ = {
|
|
10272
|
-
label: 0,
|
|
10273
|
-
sent: function sent() {
|
|
10274
|
-
if (t[0] & 1) throw t[1];
|
|
10275
|
-
return t[1];
|
|
10276
|
-
},
|
|
10277
|
-
trys: [],
|
|
10278
|
-
ops: []
|
|
10279
|
-
},
|
|
10280
|
-
f,
|
|
10281
|
-
y,
|
|
10282
|
-
t,
|
|
10283
|
-
g;
|
|
10284
|
-
return g = {
|
|
10285
|
-
next: verb(0),
|
|
10286
|
-
"throw": verb(1),
|
|
10287
|
-
"return": verb(2)
|
|
10288
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
10289
|
-
return this;
|
|
10290
|
-
}), g;
|
|
10291
|
-
|
|
10292
|
-
function verb(n) {
|
|
10293
|
-
return function (v) {
|
|
10294
|
-
return step([n, v]);
|
|
10295
|
-
};
|
|
10296
|
-
}
|
|
10297
|
-
|
|
10298
|
-
function step(op) {
|
|
10299
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
10300
|
-
|
|
10301
|
-
while (_) {
|
|
10302
|
-
try {
|
|
10303
|
-
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;
|
|
10304
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
10305
|
-
|
|
10306
|
-
switch (op[0]) {
|
|
10307
|
-
case 0:
|
|
10308
|
-
case 1:
|
|
10309
|
-
t = op;
|
|
10310
|
-
break;
|
|
10311
|
-
|
|
10312
|
-
case 4:
|
|
10313
|
-
_.label++;
|
|
10314
|
-
return {
|
|
10315
|
-
value: op[1],
|
|
10316
|
-
done: false
|
|
10317
|
-
};
|
|
10318
|
-
|
|
10319
|
-
case 5:
|
|
10320
|
-
_.label++;
|
|
10321
|
-
y = op[1];
|
|
10322
|
-
op = [0];
|
|
10323
|
-
continue;
|
|
10324
|
-
|
|
10325
|
-
case 7:
|
|
10326
|
-
op = _.ops.pop();
|
|
10327
|
-
|
|
10328
|
-
_.trys.pop();
|
|
10329
|
-
|
|
10330
|
-
continue;
|
|
10331
|
-
|
|
10332
|
-
default:
|
|
10333
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
10334
|
-
_ = 0;
|
|
10335
|
-
continue;
|
|
10336
|
-
}
|
|
10337
|
-
|
|
10338
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
10339
|
-
_.label = op[1];
|
|
10340
|
-
break;
|
|
10341
|
-
}
|
|
10342
|
-
|
|
10343
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
10344
|
-
_.label = t[1];
|
|
10345
|
-
t = op;
|
|
10346
|
-
break;
|
|
10347
|
-
}
|
|
10348
|
-
|
|
10349
|
-
if (t && _.label < t[2]) {
|
|
10350
|
-
_.label = t[2];
|
|
10351
|
-
|
|
10352
|
-
_.ops.push(op);
|
|
10353
|
-
|
|
10354
|
-
break;
|
|
10355
|
-
}
|
|
10356
|
-
|
|
10357
|
-
if (t[2]) _.ops.pop();
|
|
10358
|
-
|
|
10359
|
-
_.trys.pop();
|
|
10360
|
-
|
|
10361
|
-
continue;
|
|
10362
|
-
}
|
|
10363
|
-
|
|
10364
|
-
op = body.call(thisArg, _);
|
|
10365
|
-
} catch (e) {
|
|
10366
|
-
op = [6, e];
|
|
10367
|
-
y = 0;
|
|
10368
|
-
} finally {
|
|
10369
|
-
f = t = 0;
|
|
10370
|
-
}
|
|
10371
|
-
}
|
|
9360
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
9361
|
+
/* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
|
|
9362
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
9363
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__);
|
|
9364
|
+
/* harmony import */ var _Providers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Providers */ "./lib-esm/Providers/index.js");
|
|
10372
9365
|
|
|
10373
|
-
if (op[0] & 5) throw op[1];
|
|
10374
|
-
return {
|
|
10375
|
-
value: op[0] ? op[1] : void 0,
|
|
10376
|
-
done: true
|
|
10377
|
-
};
|
|
10378
|
-
}
|
|
10379
|
-
};
|
|
10380
9366
|
/*
|
|
10381
9367
|
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
10382
9368
|
*
|
|
@@ -10393,14 +9379,9 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
10393
9379
|
|
|
10394
9380
|
|
|
10395
9381
|
|
|
10396
|
-
|
|
10397
|
-
|
|
10398
|
-
var
|
|
10399
|
-
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]('PubSub');
|
|
10400
|
-
|
|
10401
|
-
var PubSubClass =
|
|
10402
|
-
/** @class */
|
|
10403
|
-
function () {
|
|
9382
|
+
var isNode = Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["browserOrNode"])().isNode;
|
|
9383
|
+
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["ConsoleLogger"]('PubSub');
|
|
9384
|
+
var PubSubClass = /** @class */function () {
|
|
10404
9385
|
/**
|
|
10405
9386
|
* Initialize PubSub with AWS configurations
|
|
10406
9387
|
*
|
|
@@ -10412,16 +9393,14 @@ function () {
|
|
|
10412
9393
|
this._pluggables = [];
|
|
10413
9394
|
this.subscribe = this.subscribe.bind(this);
|
|
10414
9395
|
}
|
|
10415
|
-
|
|
10416
9396
|
Object.defineProperty(PubSubClass.prototype, "awsAppSyncProvider", {
|
|
10417
9397
|
/**
|
|
10418
9398
|
* Lazy instantiate AWSAppSyncProvider when it is required by the API category
|
|
10419
9399
|
*/
|
|
10420
9400
|
get: function get() {
|
|
10421
9401
|
if (!this._awsAppSyncProvider) {
|
|
10422
|
-
this._awsAppSyncProvider = new
|
|
9402
|
+
this._awsAppSyncProvider = new _Providers__WEBPACK_IMPORTED_MODULE_3__["AWSAppSyncProvider"](this._options);
|
|
10423
9403
|
}
|
|
10424
|
-
|
|
10425
9404
|
return this._awsAppSyncProvider;
|
|
10426
9405
|
},
|
|
10427
9406
|
enumerable: true,
|
|
@@ -10433,15 +9412,13 @@ function () {
|
|
|
10433
9412
|
*/
|
|
10434
9413
|
get: function get() {
|
|
10435
9414
|
if (!this._awsAppSyncRealTimeProvider) {
|
|
10436
|
-
this._awsAppSyncRealTimeProvider = new
|
|
9415
|
+
this._awsAppSyncRealTimeProvider = new _Providers__WEBPACK_IMPORTED_MODULE_3__["AWSAppSyncRealTimeProvider"](this._options);
|
|
10437
9416
|
}
|
|
10438
|
-
|
|
10439
9417
|
return this._awsAppSyncRealTimeProvider;
|
|
10440
9418
|
},
|
|
10441
9419
|
enumerable: true,
|
|
10442
9420
|
configurable: true
|
|
10443
9421
|
});
|
|
10444
|
-
|
|
10445
9422
|
PubSubClass.prototype.getModuleName = function () {
|
|
10446
9423
|
return 'PubSub';
|
|
10447
9424
|
};
|
|
@@ -10451,45 +9428,32 @@ function () {
|
|
|
10451
9428
|
* @param {PubSubOptions} config - Configuration for PubSub
|
|
10452
9429
|
* @return {Object} - The current configuration
|
|
10453
9430
|
*/
|
|
10454
|
-
|
|
10455
|
-
|
|
10456
9431
|
PubSubClass.prototype.configure = function (options) {
|
|
10457
9432
|
var _this = this;
|
|
10458
|
-
|
|
10459
9433
|
var opt = options ? options.PubSub || options : {};
|
|
10460
9434
|
logger.debug('configure PubSub', {
|
|
10461
9435
|
opt: opt
|
|
10462
9436
|
});
|
|
10463
9437
|
this._options = Object.assign({}, this._options, opt);
|
|
10464
|
-
|
|
10465
9438
|
this._pluggables.map(function (pluggable) {
|
|
10466
9439
|
return pluggable.configure(_this._options);
|
|
10467
9440
|
});
|
|
10468
|
-
|
|
10469
9441
|
return this._options;
|
|
10470
9442
|
};
|
|
10471
9443
|
/**
|
|
10472
9444
|
* add plugin into Analytics category
|
|
10473
9445
|
* @param {Object} pluggable - an instance of the plugin
|
|
10474
9446
|
*/
|
|
10475
|
-
|
|
10476
|
-
|
|
10477
9447
|
PubSubClass.prototype.addPluggable = function (pluggable) {
|
|
10478
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
9448
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
10479
9449
|
var config;
|
|
10480
|
-
return __generator(this, function (_a) {
|
|
9450
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
10481
9451
|
if (pluggable && pluggable.getCategory() === 'PubSub') {
|
|
10482
9452
|
this._pluggables.push(pluggable);
|
|
10483
|
-
|
|
10484
9453
|
config = pluggable.configure(this._options);
|
|
10485
|
-
return [2
|
|
10486
|
-
/*return*/
|
|
10487
|
-
, config];
|
|
9454
|
+
return [2 /*return*/, config];
|
|
10488
9455
|
}
|
|
10489
|
-
|
|
10490
|
-
return [2
|
|
10491
|
-
/*return*/
|
|
10492
|
-
];
|
|
9456
|
+
return [2 /*return*/];
|
|
10493
9457
|
});
|
|
10494
9458
|
});
|
|
10495
9459
|
};
|
|
@@ -10497,68 +9461,52 @@ function () {
|
|
|
10497
9461
|
* remove plugin from PubSub category
|
|
10498
9462
|
* @param providerName - the name of the plugin
|
|
10499
9463
|
*/
|
|
10500
|
-
|
|
10501
|
-
|
|
10502
9464
|
PubSubClass.prototype.removePluggable = function (providerName) {
|
|
10503
9465
|
this._pluggables = this._pluggables.filter(function (pluggable) {
|
|
10504
9466
|
return pluggable.getProviderName() !== providerName;
|
|
10505
9467
|
});
|
|
10506
9468
|
};
|
|
10507
|
-
|
|
10508
9469
|
PubSubClass.prototype.getProviderByName = function (providerName) {
|
|
10509
|
-
if (providerName ===
|
|
9470
|
+
if (providerName === _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER"]) {
|
|
10510
9471
|
return this.awsAppSyncProvider;
|
|
10511
9472
|
}
|
|
10512
|
-
|
|
10513
|
-
if (providerName === _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER"]) {
|
|
9473
|
+
if (providerName === _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER"]) {
|
|
10514
9474
|
return this.awsAppSyncRealTimeProvider;
|
|
10515
9475
|
}
|
|
10516
|
-
|
|
10517
9476
|
return this._pluggables.find(function (pluggable) {
|
|
10518
9477
|
return pluggable.getProviderName() === providerName;
|
|
10519
9478
|
});
|
|
10520
9479
|
};
|
|
10521
|
-
|
|
10522
9480
|
PubSubClass.prototype.getProviders = function (options) {
|
|
10523
9481
|
if (options === void 0) {
|
|
10524
9482
|
options = {};
|
|
10525
9483
|
}
|
|
10526
|
-
|
|
10527
9484
|
var providerName = options.provider;
|
|
10528
|
-
|
|
10529
9485
|
if (!providerName) {
|
|
10530
9486
|
return this._pluggables;
|
|
10531
9487
|
}
|
|
10532
|
-
|
|
10533
9488
|
var provider = this.getProviderByName(providerName);
|
|
10534
|
-
|
|
10535
9489
|
if (!provider) {
|
|
10536
9490
|
throw new Error("Could not find provider named " + providerName);
|
|
10537
9491
|
}
|
|
10538
|
-
|
|
10539
9492
|
return [provider];
|
|
10540
9493
|
};
|
|
10541
|
-
|
|
10542
9494
|
PubSubClass.prototype.publish = function (topics, msg, options) {
|
|
10543
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
10544
|
-
return __generator(this, function (_a) {
|
|
10545
|
-
return [2
|
|
10546
|
-
/*return*/
|
|
10547
|
-
, Promise.all(this.getProviders(options).map(function (provider) {
|
|
9495
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
|
|
9496
|
+
return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
|
|
9497
|
+
return [2 /*return*/, Promise.all(this.getProviders(options).map(function (provider) {
|
|
10548
9498
|
return provider.publish(topics, msg, options);
|
|
10549
9499
|
}))];
|
|
10550
9500
|
});
|
|
10551
9501
|
});
|
|
10552
9502
|
};
|
|
10553
|
-
|
|
10554
9503
|
PubSubClass.prototype.subscribe = function (topics, options) {
|
|
10555
9504
|
if (isNode && this._options && this._options.ssr) {
|
|
10556
9505
|
throw new Error('Subscriptions are not supported for Server-Side Rendering (SSR)');
|
|
10557
9506
|
}
|
|
10558
|
-
|
|
10559
9507
|
logger.debug('subscribe options', options);
|
|
10560
9508
|
var providers = this.getProviders(options);
|
|
10561
|
-
return new
|
|
9509
|
+
return new zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__["default"](function (observer) {
|
|
10562
9510
|
var observables = providers.map(function (provider) {
|
|
10563
9511
|
return {
|
|
10564
9512
|
provider: provider,
|
|
@@ -10567,7 +9515,7 @@ function () {
|
|
|
10567
9515
|
});
|
|
10568
9516
|
var subscriptions = observables.map(function (_a) {
|
|
10569
9517
|
var provider = _a.provider,
|
|
10570
|
-
|
|
9518
|
+
observable = _a.observable;
|
|
10571
9519
|
return observable.subscribe({
|
|
10572
9520
|
start: console.error,
|
|
10573
9521
|
next: function next(value) {
|
|
@@ -10591,13 +9539,11 @@ function () {
|
|
|
10591
9539
|
};
|
|
10592
9540
|
});
|
|
10593
9541
|
};
|
|
10594
|
-
|
|
10595
9542
|
return PubSubClass;
|
|
10596
9543
|
}();
|
|
10597
9544
|
|
|
10598
|
-
|
|
10599
9545
|
var PubSub = new PubSubClass();
|
|
10600
|
-
|
|
9546
|
+
_aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__["Amplify"].register(PubSub);
|
|
10601
9547
|
|
|
10602
9548
|
/***/ }),
|
|
10603
9549
|
|
|
@@ -10605,13 +9551,11 @@ _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Amplify"].register(PubSub);
|
|
|
10605
9551
|
/*!**************************!*\
|
|
10606
9552
|
!*** ./lib-esm/index.js ***!
|
|
10607
9553
|
\**************************/
|
|
10608
|
-
/*! exports provided: AbstractPubSubProvider, AWSAppSyncProvider, AWSAppSyncRealTimeProvider, AWSIoTProvider, mqttTopicMatch, MqttOverWSProvider, CONNECTION_STATE_CHANGE, ConnectionState,
|
|
9554
|
+
/*! exports provided: AbstractPubSubProvider, AWSAppSyncProvider, AWSAppSyncRealTimeProvider, AWSIoTProvider, mqttTopicMatch, MqttOverWSProvider, CONNECTION_STATE_CHANGE, ConnectionState, CONTROL_MSG, PubSub, default */
|
|
10609
9555
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
10610
9556
|
|
|
10611
9557
|
"use strict";
|
|
10612
9558
|
__webpack_require__.r(__webpack_exports__);
|
|
10613
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONNECTION_STATE_CHANGE", function() { return CONNECTION_STATE_CHANGE; });
|
|
10614
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONTROL_MSG", function() { return CONTROL_MSG; });
|
|
10615
9559
|
/* harmony import */ var _PubSub__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PubSub */ "./lib-esm/PubSub.js");
|
|
10616
9560
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PubSub", function() { return _PubSub__WEBPACK_IMPORTED_MODULE_0__["PubSub"]; });
|
|
10617
9561
|
|
|
@@ -10628,8 +9572,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10628
9572
|
|
|
10629
9573
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MqttOverWSProvider", function() { return _Providers__WEBPACK_IMPORTED_MODULE_1__["MqttOverWSProvider"]; });
|
|
10630
9574
|
|
|
10631
|
-
/* harmony import */ var
|
|
10632
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
9575
|
+
/* harmony import */ var _Providers_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Providers/constants */ "./lib-esm/Providers/constants.js");
|
|
9576
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONNECTION_STATE_CHANGE", function() { return _Providers_constants__WEBPACK_IMPORTED_MODULE_2__["CONNECTION_STATE_CHANGE"]; });
|
|
9577
|
+
|
|
9578
|
+
/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./types */ "./lib-esm/types/index.js");
|
|
9579
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ConnectionState", function() { return _types__WEBPACK_IMPORTED_MODULE_3__["ConnectionState"]; });
|
|
9580
|
+
|
|
9581
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONTROL_MSG", function() { return _types__WEBPACK_IMPORTED_MODULE_3__["CONTROL_MSG"]; });
|
|
10633
9582
|
|
|
10634
9583
|
/*
|
|
10635
9584
|
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -10645,40 +9594,49 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10645
9594
|
*/
|
|
10646
9595
|
|
|
10647
9596
|
|
|
10648
|
-
var CONTROL_MSG;
|
|
10649
|
-
|
|
10650
|
-
(function (CONTROL_MSG) {
|
|
10651
|
-
CONTROL_MSG["CONNECTION_CLOSED"] = "Connection closed";
|
|
10652
|
-
CONTROL_MSG["CONNECTION_FAILED"] = "Connection failed";
|
|
10653
|
-
CONTROL_MSG["REALTIME_SUBSCRIPTION_INIT_ERROR"] = "AppSync Realtime subscription init error";
|
|
10654
|
-
CONTROL_MSG["SUBSCRIPTION_ACK"] = "Subscription ack";
|
|
10655
|
-
CONTROL_MSG["TIMEOUT_DISCONNECT"] = "Timeout disconnect";
|
|
10656
|
-
})(CONTROL_MSG || (CONTROL_MSG = {}));
|
|
10657
9597
|
|
|
10658
|
-
var CONNECTION_STATE_CHANGE = 'ConnectionStateChange';
|
|
10659
9598
|
|
|
10660
9599
|
|
|
10661
9600
|
/**
|
|
10662
9601
|
* @deprecated use named import
|
|
10663
9602
|
*/
|
|
10664
|
-
|
|
10665
9603
|
/* harmony default export */ __webpack_exports__["default"] = (_PubSub__WEBPACK_IMPORTED_MODULE_0__["PubSub"]);
|
|
10666
9604
|
|
|
10667
9605
|
/***/ }),
|
|
10668
9606
|
|
|
10669
|
-
/***/ "./lib-esm/types/
|
|
10670
|
-
|
|
10671
|
-
!*** ./lib-esm/types/
|
|
10672
|
-
|
|
10673
|
-
/*! exports provided: ConnectionState */
|
|
9607
|
+
/***/ "./lib-esm/types/PubSub.js":
|
|
9608
|
+
/*!*********************************!*\
|
|
9609
|
+
!*** ./lib-esm/types/PubSub.js ***!
|
|
9610
|
+
\*********************************/
|
|
9611
|
+
/*! exports provided: CONTROL_MSG, ConnectionState */
|
|
10674
9612
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
10675
9613
|
|
|
10676
9614
|
"use strict";
|
|
10677
9615
|
__webpack_require__.r(__webpack_exports__);
|
|
9616
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONTROL_MSG", function() { return CONTROL_MSG; });
|
|
10678
9617
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConnectionState", function() { return ConnectionState; });
|
|
9618
|
+
/*
|
|
9619
|
+
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
9620
|
+
*
|
|
9621
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
9622
|
+
* the License. A copy of the License is located at
|
|
9623
|
+
*
|
|
9624
|
+
* http://aws.amazon.com/apache2.0/
|
|
9625
|
+
*
|
|
9626
|
+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
9627
|
+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
9628
|
+
* and limitations under the License.
|
|
9629
|
+
*/
|
|
9630
|
+
var CONTROL_MSG;
|
|
9631
|
+
(function (CONTROL_MSG) {
|
|
9632
|
+
CONTROL_MSG["CONNECTION_CLOSED"] = "Connection closed";
|
|
9633
|
+
CONTROL_MSG["CONNECTION_FAILED"] = "Connection failed";
|
|
9634
|
+
CONTROL_MSG["REALTIME_SUBSCRIPTION_INIT_ERROR"] = "AppSync Realtime subscription init error";
|
|
9635
|
+
CONTROL_MSG["SUBSCRIPTION_ACK"] = "Subscription ack";
|
|
9636
|
+
CONTROL_MSG["TIMEOUT_DISCONNECT"] = "Timeout disconnect";
|
|
9637
|
+
})(CONTROL_MSG || (CONTROL_MSG = {}));
|
|
10679
9638
|
/** @enum {string} */
|
|
10680
9639
|
var ConnectionState;
|
|
10681
|
-
|
|
10682
9640
|
(function (ConnectionState) {
|
|
10683
9641
|
/*
|
|
10684
9642
|
* The connection is alive and healthy
|
|
@@ -10687,40 +9645,51 @@ var ConnectionState;
|
|
|
10687
9645
|
/*
|
|
10688
9646
|
* The connection is alive, but the connection is offline
|
|
10689
9647
|
*/
|
|
10690
|
-
|
|
10691
9648
|
ConnectionState["ConnectedPendingNetwork"] = "ConnectedPendingNetwork";
|
|
10692
9649
|
/*
|
|
10693
9650
|
* The connection has been disconnected while in use
|
|
10694
9651
|
*/
|
|
10695
|
-
|
|
10696
9652
|
ConnectionState["ConnectionDisrupted"] = "ConnectionDisrupted";
|
|
10697
9653
|
/*
|
|
10698
9654
|
* The connection has been disconnected and the network is offline
|
|
10699
9655
|
*/
|
|
10700
|
-
|
|
10701
9656
|
ConnectionState["ConnectionDisruptedPendingNetwork"] = "ConnectionDisruptedPendingNetwork";
|
|
10702
9657
|
/*
|
|
10703
9658
|
* The connection is in the process of connecting
|
|
10704
9659
|
*/
|
|
10705
|
-
|
|
10706
9660
|
ConnectionState["Connecting"] = "Connecting";
|
|
10707
9661
|
/*
|
|
10708
9662
|
* The connection is not in use and is being disconnected
|
|
10709
9663
|
*/
|
|
10710
|
-
|
|
10711
9664
|
ConnectionState["ConnectedPendingDisconnect"] = "ConnectedPendingDisconnect";
|
|
10712
9665
|
/*
|
|
10713
9666
|
* The connection is not in use and has been disconnected
|
|
10714
9667
|
*/
|
|
10715
|
-
|
|
10716
9668
|
ConnectionState["Disconnected"] = "Disconnected";
|
|
10717
9669
|
/*
|
|
10718
9670
|
* The connection is alive, but a keep alive message has been missed
|
|
10719
9671
|
*/
|
|
10720
|
-
|
|
10721
9672
|
ConnectionState["ConnectedPendingKeepAlive"] = "ConnectedPendingKeepAlive";
|
|
10722
9673
|
})(ConnectionState || (ConnectionState = {}));
|
|
10723
9674
|
|
|
9675
|
+
/***/ }),
|
|
9676
|
+
|
|
9677
|
+
/***/ "./lib-esm/types/index.js":
|
|
9678
|
+
/*!********************************!*\
|
|
9679
|
+
!*** ./lib-esm/types/index.js ***!
|
|
9680
|
+
\********************************/
|
|
9681
|
+
/*! exports provided: CONTROL_MSG, ConnectionState */
|
|
9682
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9683
|
+
|
|
9684
|
+
"use strict";
|
|
9685
|
+
__webpack_require__.r(__webpack_exports__);
|
|
9686
|
+
/* harmony import */ var _PubSub__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PubSub */ "./lib-esm/types/PubSub.js");
|
|
9687
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONTROL_MSG", function() { return _PubSub__WEBPACK_IMPORTED_MODULE_0__["CONTROL_MSG"]; });
|
|
9688
|
+
|
|
9689
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ConnectionState", function() { return _PubSub__WEBPACK_IMPORTED_MODULE_0__["ConnectionState"]; });
|
|
9690
|
+
|
|
9691
|
+
|
|
9692
|
+
|
|
10724
9693
|
/***/ }),
|
|
10725
9694
|
|
|
10726
9695
|
/***/ "./lib-esm/utils/ConnectionStateMonitor.js":
|
|
@@ -10734,10 +9703,10 @@ var ConnectionState;
|
|
|
10734
9703
|
__webpack_require__.r(__webpack_exports__);
|
|
10735
9704
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONNECTION_CHANGE", function() { return CONNECTION_CHANGE; });
|
|
10736
9705
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConnectionStateMonitor", function() { return ConnectionStateMonitor; });
|
|
10737
|
-
/* harmony import */ var
|
|
10738
|
-
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
9706
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
|
|
10739
9707
|
/* harmony import */ var zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zen-observable-ts */ "../../node_modules/zen-observable-ts/lib/bundle.esm.js");
|
|
10740
|
-
/* harmony import */ var
|
|
9708
|
+
/* harmony import */ var _types_PubSub__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../types/PubSub */ "./lib-esm/types/PubSub.js");
|
|
9709
|
+
/* harmony import */ var _ReachabilityMonitor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ReachabilityMonitor */ "./lib-esm/utils/ReachabilityMonitor/index.js");
|
|
10741
9710
|
/*
|
|
10742
9711
|
* Copyright 2017-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
10743
9712
|
*
|
|
@@ -10750,21 +9719,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10750
9719
|
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
10751
9720
|
* and limitations under the License.
|
|
10752
9721
|
*/
|
|
10753
|
-
var __assign = undefined && undefined.__assign || function () {
|
|
10754
|
-
__assign = Object.assign || function (t) {
|
|
10755
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
10756
|
-
s = arguments[i];
|
|
10757
|
-
|
|
10758
|
-
for (var p in s) {
|
|
10759
|
-
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
10760
|
-
}
|
|
10761
|
-
}
|
|
10762
|
-
|
|
10763
|
-
return t;
|
|
10764
|
-
};
|
|
10765
|
-
|
|
10766
|
-
return __assign.apply(this, arguments);
|
|
10767
|
-
};
|
|
10768
9722
|
|
|
10769
9723
|
|
|
10770
9724
|
|
|
@@ -10800,13 +9754,9 @@ var CONNECTION_CHANGE = {
|
|
|
10800
9754
|
networkState: 'disconnected'
|
|
10801
9755
|
}
|
|
10802
9756
|
};
|
|
10803
|
-
|
|
10804
|
-
var ConnectionStateMonitor =
|
|
10805
|
-
/** @class */
|
|
10806
|
-
function () {
|
|
9757
|
+
var ConnectionStateMonitor = /** @class */function () {
|
|
10807
9758
|
function ConnectionStateMonitor() {
|
|
10808
9759
|
var _this = this;
|
|
10809
|
-
|
|
10810
9760
|
this._networkMonitoringSubscription = undefined;
|
|
10811
9761
|
this._linkedConnectionState = {
|
|
10812
9762
|
networkState: 'connected',
|
|
@@ -10814,6 +9764,13 @@ function () {
|
|
|
10814
9764
|
intendedConnectionState: 'disconnected',
|
|
10815
9765
|
keepAliveState: 'healthy'
|
|
10816
9766
|
};
|
|
9767
|
+
// Attempt to update the state with the current actual network state
|
|
9768
|
+
this._initialNetworkStateSubscription = Object(_ReachabilityMonitor__WEBPACK_IMPORTED_MODULE_3__["ReachabilityMonitor"])().subscribe(function (_a) {
|
|
9769
|
+
var online = _a.online;
|
|
9770
|
+
var _b;
|
|
9771
|
+
_this.record(online ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE);
|
|
9772
|
+
(_b = _this._initialNetworkStateSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
9773
|
+
});
|
|
10817
9774
|
this._linkedConnectionStateObservable = new zen_observable_ts__WEBPACK_IMPORTED_MODULE_1__["default"](function (connectionStateObserver) {
|
|
10818
9775
|
connectionStateObserver.next(_this._linkedConnectionState);
|
|
10819
9776
|
_this._linkedConnectionStateObserver = connectionStateObserver;
|
|
@@ -10822,16 +9779,15 @@ function () {
|
|
|
10822
9779
|
/**
|
|
10823
9780
|
* Turn network state monitoring on if it isn't on already
|
|
10824
9781
|
*/
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
9782
|
ConnectionStateMonitor.prototype.enableNetworkMonitoring = function () {
|
|
10828
|
-
var _this = this;
|
|
10829
|
-
|
|
10830
|
-
|
|
9783
|
+
var _this = this;
|
|
9784
|
+
var _a;
|
|
9785
|
+
// If no initial network state was discovered, stop trying
|
|
9786
|
+
(_a = this._initialNetworkStateSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
9787
|
+
// Maintain the network state based on the reachability monitor
|
|
10831
9788
|
if (this._networkMonitoringSubscription === undefined) {
|
|
10832
|
-
this._networkMonitoringSubscription =
|
|
9789
|
+
this._networkMonitoringSubscription = Object(_ReachabilityMonitor__WEBPACK_IMPORTED_MODULE_3__["ReachabilityMonitor"])().subscribe(function (_a) {
|
|
10833
9790
|
var online = _a.online;
|
|
10834
|
-
|
|
10835
9791
|
_this.record(online ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE);
|
|
10836
9792
|
});
|
|
10837
9793
|
}
|
|
@@ -10839,15 +9795,11 @@ function () {
|
|
|
10839
9795
|
/**
|
|
10840
9796
|
* Turn network state monitoring off if it isn't off already
|
|
10841
9797
|
*/
|
|
10842
|
-
|
|
10843
|
-
|
|
10844
9798
|
ConnectionStateMonitor.prototype.disableNetworkMonitoring = function () {
|
|
10845
9799
|
var _a;
|
|
10846
|
-
|
|
10847
9800
|
(_a = this._networkMonitoringSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
10848
9801
|
this._networkMonitoringSubscription = undefined;
|
|
10849
9802
|
};
|
|
10850
|
-
|
|
10851
9803
|
Object.defineProperty(ConnectionStateMonitor.prototype, "connectionStateObservable", {
|
|
10852
9804
|
/**
|
|
10853
9805
|
* Get the observable that allows us to monitor the connection state
|
|
@@ -10856,12 +9808,11 @@ function () {
|
|
|
10856
9808
|
*/
|
|
10857
9809
|
get: function get() {
|
|
10858
9810
|
var _this = this;
|
|
10859
|
-
|
|
10860
|
-
|
|
9811
|
+
var previous;
|
|
9812
|
+
// The linked state aggregates state changes to any of the network, connection,
|
|
10861
9813
|
// intendedConnection and keepAliveHealth. Some states will change these independent
|
|
10862
9814
|
// states without changing the overall connection state.
|
|
10863
9815
|
// After translating from linked states to ConnectionState, then remove any duplicates
|
|
10864
|
-
|
|
10865
9816
|
return this._linkedConnectionStateObservable.map(function (value) {
|
|
10866
9817
|
return _this.connectionStatesTranslator(value);
|
|
10867
9818
|
}).filter(function (current) {
|
|
@@ -10876,47 +9827,142 @@ function () {
|
|
|
10876
9827
|
/*
|
|
10877
9828
|
* Updates local connection state and emits the full state to the observer.
|
|
10878
9829
|
*/
|
|
10879
|
-
|
|
10880
9830
|
ConnectionStateMonitor.prototype.record = function (statusUpdates) {
|
|
10881
9831
|
// Maintain the network monitor
|
|
10882
9832
|
if (statusUpdates.intendedConnectionState === 'connected') {
|
|
10883
9833
|
this.enableNetworkMonitoring();
|
|
10884
9834
|
} else if (statusUpdates.intendedConnectionState === 'disconnected') {
|
|
10885
9835
|
this.disableNetworkMonitoring();
|
|
10886
|
-
}
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
this._linkedConnectionState = __assign({}, newSocketStatus);
|
|
10892
|
-
|
|
9836
|
+
}
|
|
9837
|
+
// Maintain the socket state
|
|
9838
|
+
var newSocketStatus = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, this._linkedConnectionState), statusUpdates);
|
|
9839
|
+
this._linkedConnectionState = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, newSocketStatus);
|
|
10893
9840
|
this._linkedConnectionStateObserver.next(this._linkedConnectionState);
|
|
10894
9841
|
};
|
|
10895
9842
|
/*
|
|
10896
9843
|
* Translate the ConnectionState structure into a specific ConnectionState string literal union
|
|
10897
9844
|
*/
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
9845
|
ConnectionStateMonitor.prototype.connectionStatesTranslator = function (_a) {
|
|
10901
9846
|
var connectionState = _a.connectionState,
|
|
10902
|
-
|
|
10903
|
-
|
|
10904
|
-
|
|
10905
|
-
if (connectionState === 'connected' && networkState === 'disconnected') return
|
|
10906
|
-
if (connectionState === 'connected' && intendedConnectionState === 'disconnected') return
|
|
10907
|
-
if (connectionState === 'disconnected' && intendedConnectionState === 'connected' && networkState === 'disconnected') return
|
|
10908
|
-
if (connectionState === 'disconnected' && intendedConnectionState === 'connected') return
|
|
10909
|
-
if (connectionState === 'connected' && keepAliveState === 'unhealthy') return
|
|
10910
|
-
|
|
10911
|
-
if (connectionState === 'connecting') return
|
|
10912
|
-
if (connectionState === 'disconnected') return
|
|
10913
|
-
return
|
|
9847
|
+
networkState = _a.networkState,
|
|
9848
|
+
intendedConnectionState = _a.intendedConnectionState,
|
|
9849
|
+
keepAliveState = _a.keepAliveState;
|
|
9850
|
+
if (connectionState === 'connected' && networkState === 'disconnected') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].ConnectedPendingNetwork;
|
|
9851
|
+
if (connectionState === 'connected' && intendedConnectionState === 'disconnected') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].ConnectedPendingDisconnect;
|
|
9852
|
+
if (connectionState === 'disconnected' && intendedConnectionState === 'connected' && networkState === 'disconnected') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].ConnectionDisruptedPendingNetwork;
|
|
9853
|
+
if (connectionState === 'disconnected' && intendedConnectionState === 'connected') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].ConnectionDisrupted;
|
|
9854
|
+
if (connectionState === 'connected' && keepAliveState === 'unhealthy') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].ConnectedPendingKeepAlive;
|
|
9855
|
+
// All remaining states directly correspond to the connection state
|
|
9856
|
+
if (connectionState === 'connecting') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].Connecting;
|
|
9857
|
+
if (connectionState === 'disconnected') return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].Disconnected;
|
|
9858
|
+
return _types_PubSub__WEBPACK_IMPORTED_MODULE_2__["ConnectionState"].Connected;
|
|
10914
9859
|
};
|
|
10915
|
-
|
|
10916
9860
|
return ConnectionStateMonitor;
|
|
10917
9861
|
}();
|
|
10918
9862
|
|
|
10919
9863
|
|
|
9864
|
+
/***/ }),
|
|
9865
|
+
|
|
9866
|
+
/***/ "./lib-esm/utils/ReachabilityMonitor/index.js":
|
|
9867
|
+
/*!****************************************************!*\
|
|
9868
|
+
!*** ./lib-esm/utils/ReachabilityMonitor/index.js ***!
|
|
9869
|
+
\****************************************************/
|
|
9870
|
+
/*! exports provided: ReachabilityMonitor */
|
|
9871
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9872
|
+
|
|
9873
|
+
"use strict";
|
|
9874
|
+
__webpack_require__.r(__webpack_exports__);
|
|
9875
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReachabilityMonitor", function() { return ReachabilityMonitor; });
|
|
9876
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
|
|
9877
|
+
/* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
9878
|
+
|
|
9879
|
+
var ReachabilityMonitor = function ReachabilityMonitor() {
|
|
9880
|
+
return new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Reachability"]().networkMonitor();
|
|
9881
|
+
};
|
|
9882
|
+
|
|
9883
|
+
/***/ }),
|
|
9884
|
+
|
|
9885
|
+
/***/ "./lib-esm/utils/ReconnectionMonitor.js":
|
|
9886
|
+
/*!**********************************************!*\
|
|
9887
|
+
!*** ./lib-esm/utils/ReconnectionMonitor.js ***!
|
|
9888
|
+
\**********************************************/
|
|
9889
|
+
/*! exports provided: ReconnectEvent, ReconnectionMonitor */
|
|
9890
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
9891
|
+
|
|
9892
|
+
"use strict";
|
|
9893
|
+
__webpack_require__.r(__webpack_exports__);
|
|
9894
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReconnectEvent", function() { return ReconnectEvent; });
|
|
9895
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReconnectionMonitor", function() { return ReconnectionMonitor; });
|
|
9896
|
+
/* harmony import */ var _Providers_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Providers/constants */ "./lib-esm/Providers/constants.js");
|
|
9897
|
+
|
|
9898
|
+
var ReconnectEvent;
|
|
9899
|
+
(function (ReconnectEvent) {
|
|
9900
|
+
ReconnectEvent["START_RECONNECT"] = "START_RECONNECT";
|
|
9901
|
+
ReconnectEvent["HALT_RECONNECT"] = "HALT_RECONNECT";
|
|
9902
|
+
})(ReconnectEvent || (ReconnectEvent = {}));
|
|
9903
|
+
/**
|
|
9904
|
+
* Captures the reconnect event logic used to determine when to reconnect to PubSub providers.
|
|
9905
|
+
* Reconnnect attempts are delayed by 5 seconds to let the interface settle.
|
|
9906
|
+
* Attempting to reconnect only once creates unrecoverable states when the network state isn't
|
|
9907
|
+
* supported by the browser, so this keeps retrying every minute until halted.
|
|
9908
|
+
*/
|
|
9909
|
+
var ReconnectionMonitor = /** @class */function () {
|
|
9910
|
+
function ReconnectionMonitor() {
|
|
9911
|
+
this.reconnectObservers = [];
|
|
9912
|
+
}
|
|
9913
|
+
/**
|
|
9914
|
+
* Add reconnect observer to the list of observers to alert on reconnect
|
|
9915
|
+
*/
|
|
9916
|
+
ReconnectionMonitor.prototype.addObserver = function (reconnectObserver) {
|
|
9917
|
+
this.reconnectObservers.push(reconnectObserver);
|
|
9918
|
+
};
|
|
9919
|
+
/**
|
|
9920
|
+
* Given a reconnect event, start the appropriate behavior
|
|
9921
|
+
*/
|
|
9922
|
+
ReconnectionMonitor.prototype.record = function (event) {
|
|
9923
|
+
var _this = this;
|
|
9924
|
+
if (event === ReconnectEvent.START_RECONNECT) {
|
|
9925
|
+
// If the reconnection hasn't been started
|
|
9926
|
+
if (this.reconnectSetTimeoutId === undefined && this.reconnectIntervalId === undefined) {
|
|
9927
|
+
this.reconnectSetTimeoutId = setTimeout(function () {
|
|
9928
|
+
// Reconnect now
|
|
9929
|
+
_this._triggerReconnect();
|
|
9930
|
+
// Retry reconnect every periodically until it works
|
|
9931
|
+
_this.reconnectIntervalId = setInterval(function () {
|
|
9932
|
+
_this._triggerReconnect();
|
|
9933
|
+
}, _Providers_constants__WEBPACK_IMPORTED_MODULE_0__["RECONNECT_INTERVAL"]);
|
|
9934
|
+
}, _Providers_constants__WEBPACK_IMPORTED_MODULE_0__["RECONNECT_DELAY"]);
|
|
9935
|
+
}
|
|
9936
|
+
}
|
|
9937
|
+
if (event === ReconnectEvent.HALT_RECONNECT) {
|
|
9938
|
+
if (this.reconnectIntervalId) {
|
|
9939
|
+
clearInterval(this.reconnectIntervalId);
|
|
9940
|
+
this.reconnectIntervalId = undefined;
|
|
9941
|
+
}
|
|
9942
|
+
if (this.reconnectSetTimeoutId) {
|
|
9943
|
+
clearTimeout(this.reconnectSetTimeoutId);
|
|
9944
|
+
this.reconnectSetTimeoutId = undefined;
|
|
9945
|
+
}
|
|
9946
|
+
}
|
|
9947
|
+
};
|
|
9948
|
+
/**
|
|
9949
|
+
* Complete all reconnect observers
|
|
9950
|
+
*/
|
|
9951
|
+
ReconnectionMonitor.prototype.close = function () {
|
|
9952
|
+
this.reconnectObservers.forEach(function (reconnectObserver) {
|
|
9953
|
+
var _a;
|
|
9954
|
+
(_a = reconnectObserver.complete) === null || _a === void 0 ? void 0 : _a.call(reconnectObserver);
|
|
9955
|
+
});
|
|
9956
|
+
};
|
|
9957
|
+
ReconnectionMonitor.prototype._triggerReconnect = function () {
|
|
9958
|
+
this.reconnectObservers.forEach(function (reconnectObserver) {
|
|
9959
|
+
var _a;
|
|
9960
|
+
(_a = reconnectObserver.next) === null || _a === void 0 ? void 0 : _a.call(reconnectObserver);
|
|
9961
|
+
});
|
|
9962
|
+
};
|
|
9963
|
+
return ReconnectionMonitor;
|
|
9964
|
+
}();
|
|
9965
|
+
|
|
10920
9966
|
|
|
10921
9967
|
/***/ }),
|
|
10922
9968
|
|