@aws-amplify/pubsub 4.5.11 → 4.5.12-unstable.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -8
- package/lib/.tsbuildinfo +3 -0
- package/lib/Providers/AWSAppSyncProvider.d.ts +21 -0
- package/lib/Providers/AWSAppSyncProvider.js +20 -102
- package/lib/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +75 -0
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +158 -210
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib/Providers/AWSIotProvider.d.ts +11 -0
- package/lib/Providers/AWSIotProvider.js +6 -64
- package/lib/Providers/AWSIotProvider.js.map +1 -1
- package/lib/Providers/MqttOverWSProvider.d.ts +41 -0
- package/lib/Providers/MqttOverWSProvider.js +158 -204
- package/lib/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib/Providers/PubSubProvider.d.ts +13 -0
- package/lib/Providers/PubSubProvider.js +3 -13
- package/lib/Providers/PubSubProvider.js.map +1 -1
- package/lib/Providers/constants.d.ts +95 -0
- package/lib/Providers/constants.js +8 -0
- package/lib/Providers/constants.js.map +1 -1
- package/lib/Providers/index.d.ts +5 -0
- package/lib/Providers/index.js +13 -20
- package/lib/Providers/index.js.map +1 -1
- package/lib/PubSub.d.ts +51 -0
- package/lib/PubSub.js +8 -56
- package/lib/PubSub.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +9 -20
- package/lib/index.js.map +1 -1
- package/lib/types/Provider.d.ts +14 -0
- package/lib/types/PubSub.d.ts +24 -0
- package/lib/types/PubSub.js +2 -12
- package/lib/types/PubSub.js.map +1 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.js +2 -4
- package/lib/types/index.js.map +1 -1
- package/lib/utils/ConnectionStateMonitor.d.ts +41 -0
- package/lib/utils/ConnectionStateMonitor.js +16 -29
- package/lib/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib/utils/ReachabilityMonitor/index.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.native.d.ts +3 -0
- package/lib/utils/ReachabilityMonitor/index.native.js +2 -4
- package/lib/utils/ReachabilityMonitor/index.native.js.map +1 -1
- package/lib/utils/ReconnectionMonitor.d.ts +29 -0
- package/lib/utils/ReconnectionMonitor.js +73 -0
- package/lib/utils/ReconnectionMonitor.js.map +1 -0
- package/lib-esm/.tsbuildinfo +3 -0
- package/lib-esm/Providers/AWSAppSyncProvider.js +1 -80
- package/lib-esm/Providers/AWSAppSyncProvider.js.map +1 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +8 -0
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +126 -168
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib-esm/Providers/AWSIotProvider.js +3 -61
- package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
- package/lib-esm/Providers/MqttOverWSProvider.d.ts +2 -4
- package/lib-esm/Providers/MqttOverWSProvider.js +139 -175
- package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib-esm/Providers/PubSubProvider.js +1 -11
- package/lib-esm/Providers/PubSubProvider.js.map +1 -1
- package/lib-esm/Providers/constants.d.ts +8 -0
- package/lib-esm/Providers/constants.js +8 -0
- package/lib-esm/Providers/constants.js.map +1 -1
- package/lib-esm/Providers/index.d.ts +5 -5
- package/lib-esm/Providers/index.js +7 -17
- package/lib-esm/Providers/index.js.map +1 -1
- package/lib-esm/PubSub.js +3 -48
- package/lib-esm/PubSub.js.map +1 -1
- package/lib-esm/index.d.ts +2 -7
- package/lib-esm/index.js +4 -19
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +0 -4
- package/lib-esm/types/PubSub.js +2 -12
- package/lib-esm/types/PubSub.js.map +1 -1
- package/lib-esm/types/index.js.map +1 -1
- package/lib-esm/utils/ConnectionStateMonitor.d.ts +1 -0
- package/lib-esm/utils/ConnectionStateMonitor.js +13 -23
- package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib-esm/utils/ReconnectionMonitor.d.ts +29 -0
- package/lib-esm/utils/ReconnectionMonitor.js +71 -0
- package/lib-esm/utils/ReconnectionMonitor.js.map +1 -0
- package/package.json +14 -10
- package/src/Providers/AWSAppSyncProvider.ts +2 -12
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +142 -89
- package/src/Providers/AWSIotProvider.ts +2 -12
- package/src/Providers/MqttOverWSProvider.ts +90 -79
- package/src/Providers/PubSubProvider.ts +2 -12
- package/src/Providers/constants.ts +10 -0
- package/src/Providers/index.ts +15 -17
- package/src/PubSub.ts +2 -12
- package/src/index.ts +15 -23
- package/src/types/Provider.ts +2 -17
- package/src/types/PubSub.ts +2 -12
- package/src/types/index.ts +2 -12
- package/src/utils/ConnectionStateMonitor.ts +16 -12
- package/src/utils/ReconnectionMonitor.ts +74 -0
- package/build.js +0 -5
- package/dist/aws-amplify-pubsub.js +0 -10314
- package/dist/aws-amplify-pubsub.js.map +0 -1
- package/dist/aws-amplify-pubsub.min.js +0 -11
- package/dist/aws-amplify-pubsub.min.js.map +0 -1
- package/index.js +0 -7
- package/webpack.config.dev.js +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,14 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [4.5.11](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@4.5.10...@aws-amplify/pubsub@4.5.11) (2022-11-04)
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @aws-amplify/pubsub
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
6
|
## [4.5.10](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/pubsub@4.5.9...@aws-amplify/pubsub@4.5.10) (2022-10-27)
|
|
15
7
|
|
|
16
8
|
**Note:** Version bump only for package @aws-amplify/pubsub
|
package/lib/.tsbuildinfo
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Observable from 'zen-observable-ts';
|
|
2
|
+
import { MqttOverWSProvider } from './MqttOverWSProvider';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
|
|
5
|
+
*/
|
|
6
|
+
export declare class AWSAppSyncProvider extends MqttOverWSProvider {
|
|
7
|
+
protected get endpoint(): void;
|
|
8
|
+
getProviderName(): string;
|
|
9
|
+
publish(topics: string[] | string, msg: any, options?: any): Promise<void>;
|
|
10
|
+
private _cleanUp;
|
|
11
|
+
private _cleanUpForTopic;
|
|
12
|
+
onDisconnect({ clientId, errorCode, ...args }: {
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
clientId: any;
|
|
15
|
+
errorCode: any;
|
|
16
|
+
}): void;
|
|
17
|
+
private _topicClient;
|
|
18
|
+
private _topicAlias;
|
|
19
|
+
protected disconnect(clientId: string): Promise<void>;
|
|
20
|
+
subscribe(topics: string[] | string, options?: any): Observable<any>;
|
|
21
|
+
}
|
|
@@ -1,89 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
25
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
26
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
27
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
28
|
-
function step(op) {
|
|
29
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
30
|
-
while (_) try {
|
|
31
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
32
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
33
|
-
switch (op[0]) {
|
|
34
|
-
case 0: case 1: t = op; break;
|
|
35
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
36
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
37
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
38
|
-
default:
|
|
39
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
40
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
41
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
42
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
43
|
-
if (t[2]) _.ops.pop();
|
|
44
|
-
_.trys.pop(); continue;
|
|
45
|
-
}
|
|
46
|
-
op = body.call(thisArg, _);
|
|
47
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
48
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
52
|
-
var t = {};
|
|
53
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
54
|
-
t[p] = s[p];
|
|
55
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
56
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
57
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
58
|
-
t[p[i]] = s[p[i]];
|
|
59
|
-
}
|
|
60
|
-
return t;
|
|
61
|
-
};
|
|
62
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
63
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
64
|
-
if (!m) return o;
|
|
65
|
-
var i = m.call(o), r, ar = [], e;
|
|
66
|
-
try {
|
|
67
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
68
|
-
}
|
|
69
|
-
catch (error) { e = { error: error }; }
|
|
70
|
-
finally {
|
|
71
|
-
try {
|
|
72
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
73
|
-
}
|
|
74
|
-
finally { if (e) throw e.error; }
|
|
75
|
-
}
|
|
76
|
-
return ar;
|
|
77
|
-
};
|
|
78
|
-
var __spread = (this && this.__spread) || function () {
|
|
79
|
-
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
80
|
-
return ar;
|
|
81
|
-
};
|
|
82
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
83
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
84
|
-
};
|
|
85
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
86
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var zen_observable_ts_1 = tslib_1.__importDefault(require("zen-observable-ts"));
|
|
87
5
|
var core_1 = require("@aws-amplify/core");
|
|
88
6
|
var MqttOverWSProvider_1 = require("./MqttOverWSProvider");
|
|
89
7
|
var logger = new core_1.ConsoleLogger('AWSAppSyncProvider');
|
|
@@ -91,7 +9,7 @@ var logger = new core_1.ConsoleLogger('AWSAppSyncProvider');
|
|
|
91
9
|
* @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider
|
|
92
10
|
*/
|
|
93
11
|
var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
94
|
-
__extends(AWSAppSyncProvider, _super);
|
|
12
|
+
tslib_1.__extends(AWSAppSyncProvider, _super);
|
|
95
13
|
function AWSAppSyncProvider() {
|
|
96
14
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
97
15
|
_this._topicClient = new Map();
|
|
@@ -109,8 +27,8 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
109
27
|
return 'AWSAppSyncProvider';
|
|
110
28
|
};
|
|
111
29
|
AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {
|
|
112
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
113
|
-
return __generator(this, function (_a) {
|
|
30
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
31
|
+
return tslib_1.__generator(this, function (_a) {
|
|
114
32
|
throw new Error('Operation not supported');
|
|
115
33
|
});
|
|
116
34
|
});
|
|
@@ -119,11 +37,11 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
119
37
|
var _this = this;
|
|
120
38
|
var topicsForClient = Array.from(this._topicClient.entries())
|
|
121
39
|
.filter(function (_a) {
|
|
122
|
-
var _b = __read(_a, 2), c = _b[1];
|
|
40
|
+
var _b = tslib_1.__read(_a, 2), c = _b[1];
|
|
123
41
|
return c.clientId === clientId;
|
|
124
42
|
})
|
|
125
43
|
.map(function (_a) {
|
|
126
|
-
var _b = __read(_a, 1), t = _b[0];
|
|
44
|
+
var _b = tslib_1.__read(_a, 1), t = _b[0];
|
|
127
45
|
return t;
|
|
128
46
|
});
|
|
129
47
|
topicsForClient.forEach(function (t) { return _this._cleanUpForTopic(t); });
|
|
@@ -134,15 +52,15 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
134
52
|
};
|
|
135
53
|
AWSAppSyncProvider.prototype.onDisconnect = function (_a) {
|
|
136
54
|
var _this = this;
|
|
137
|
-
var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, ["clientId", "errorCode"]);
|
|
55
|
+
var clientId = _a.clientId, errorCode = _a.errorCode, args = tslib_1.__rest(_a, ["clientId", "errorCode"]);
|
|
138
56
|
if (errorCode !== 0) {
|
|
139
57
|
var topicsForClient = Array.from(this._topicClient.entries())
|
|
140
58
|
.filter(function (_a) {
|
|
141
|
-
var _b = __read(_a, 2), c = _b[1];
|
|
59
|
+
var _b = tslib_1.__read(_a, 2), c = _b[1];
|
|
142
60
|
return c.clientId === clientId;
|
|
143
61
|
})
|
|
144
62
|
.map(function (_a) {
|
|
145
|
-
var _b = __read(_a, 1), t = _b[0];
|
|
63
|
+
var _b = tslib_1.__read(_a, 1), t = _b[0];
|
|
146
64
|
return t;
|
|
147
65
|
});
|
|
148
66
|
topicsForClient.forEach(function (topic) {
|
|
@@ -159,9 +77,9 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
159
77
|
}
|
|
160
78
|
};
|
|
161
79
|
AWSAppSyncProvider.prototype.disconnect = function (clientId) {
|
|
162
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
163
81
|
var client;
|
|
164
|
-
return __generator(this, function (_a) {
|
|
82
|
+
return tslib_1.__generator(this, function (_a) {
|
|
165
83
|
switch (_a.label) {
|
|
166
84
|
case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function () { return null; })];
|
|
167
85
|
case 1:
|
|
@@ -181,10 +99,10 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
181
99
|
var result = new zen_observable_ts_1.default(function (observer) {
|
|
182
100
|
var targetTopics = [].concat(topics);
|
|
183
101
|
logger.debug('Subscribing to topic(s)', targetTopics.join(','));
|
|
184
|
-
(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
102
|
+
(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
185
103
|
var _a, mqttConnections, newSubscriptions, newAliases, map;
|
|
186
104
|
var _this = this;
|
|
187
|
-
return __generator(this, function (_b) {
|
|
105
|
+
return tslib_1.__generator(this, function (_b) {
|
|
188
106
|
switch (_b.label) {
|
|
189
107
|
case 0:
|
|
190
108
|
// Add these topics to map
|
|
@@ -196,11 +114,11 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
196
114
|
});
|
|
197
115
|
_a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;
|
|
198
116
|
newAliases = Object.entries(newSubscriptions).map(function (_a) {
|
|
199
|
-
var _b = __read(_a, 2), alias = _b[0], v = _b[1];
|
|
117
|
+
var _b = tslib_1.__read(_a, 2), alias = _b[0], v = _b[1];
|
|
200
118
|
return [v.topic, alias];
|
|
201
119
|
});
|
|
202
120
|
// Merge new aliases with old ones
|
|
203
|
-
this._topicAlias = new Map(__spread(Array.from(this._topicAlias.entries()), newAliases));
|
|
121
|
+
this._topicAlias = new Map(tslib_1.__spread(Array.from(this._topicAlias.entries()), newAliases));
|
|
204
122
|
map = Object.entries(targetTopics.reduce(function (acc, elem) {
|
|
205
123
|
var connectionInfoForTopic = mqttConnections.find(function (c) { return c.topics.indexOf(elem) > -1; });
|
|
206
124
|
if (connectionInfoForTopic) {
|
|
@@ -217,11 +135,11 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
217
135
|
}, {}));
|
|
218
136
|
// reconnect everything we have in the map
|
|
219
137
|
return [4 /*yield*/, Promise.all(map.map(function (_a) {
|
|
220
|
-
var _b = __read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;
|
|
221
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
138
|
+
var _b = tslib_1.__read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;
|
|
139
|
+
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
222
140
|
var client, err_1;
|
|
223
141
|
var _this = this;
|
|
224
|
-
return __generator(this, function (_d) {
|
|
142
|
+
return tslib_1.__generator(this, function (_d) {
|
|
225
143
|
switch (_d.label) {
|
|
226
144
|
case 0:
|
|
227
145
|
client = null;
|
|
@@ -280,7 +198,7 @@ var AWSAppSyncProvider = /** @class */ (function (_super) {
|
|
|
280
198
|
var topic = _this.getTopicForValue(value);
|
|
281
199
|
var alias = _this._topicAlias.get(topic);
|
|
282
200
|
value.data = Object.entries(value.data).reduce(function (obj, _a) {
|
|
283
|
-
var _b = __read(_a, 2), origKey = _b[0], val = _b[1];
|
|
201
|
+
var _b = tslib_1.__read(_a, 2), origKey = _b[0], val = _b[1];
|
|
284
202
|
return ((obj[(alias || origKey)] = val), obj);
|
|
285
203
|
}, {});
|
|
286
204
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AWSAppSyncProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSAppSyncProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import Observable, { ZenObservable } from 'zen-observable-ts';
|
|
2
|
+
import { ProviderOptions } from '../../types/Provider';
|
|
3
|
+
import { GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';
|
|
4
|
+
import { AbstractPubSubProvider } from '../PubSubProvider';
|
|
5
|
+
import { SUBSCRIPTION_STATUS } from '../constants';
|
|
6
|
+
export declare type ObserverQuery = {
|
|
7
|
+
observer: ZenObservable.SubscriptionObserver<any>;
|
|
8
|
+
query: string;
|
|
9
|
+
variables: object;
|
|
10
|
+
subscriptionState: SUBSCRIPTION_STATUS;
|
|
11
|
+
subscriptionReadyCallback?: Function;
|
|
12
|
+
subscriptionFailedCallback?: Function;
|
|
13
|
+
startAckTimeoutId?: ReturnType<typeof setTimeout>;
|
|
14
|
+
};
|
|
15
|
+
declare type GraphqlAuthModes = keyof typeof GRAPHQL_AUTH_MODE;
|
|
16
|
+
export interface AWSAppSyncRealTimeProviderOptions extends ProviderOptions {
|
|
17
|
+
appSyncGraphqlEndpoint?: string;
|
|
18
|
+
authenticationType?: GraphqlAuthModes;
|
|
19
|
+
query?: string;
|
|
20
|
+
variables?: object;
|
|
21
|
+
apiKey?: string;
|
|
22
|
+
region?: string;
|
|
23
|
+
graphql_headers?: () => {} | (() => Promise<{}>);
|
|
24
|
+
additionalHeaders?: {
|
|
25
|
+
[key: string]: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
29
|
+
private awsRealTimeSocket?;
|
|
30
|
+
private socketStatus;
|
|
31
|
+
private keepAliveTimeoutId?;
|
|
32
|
+
private keepAliveTimeout;
|
|
33
|
+
private keepAliveAlertTimeoutId?;
|
|
34
|
+
private subscriptionObserverMap;
|
|
35
|
+
private promiseArray;
|
|
36
|
+
private connectionState;
|
|
37
|
+
private readonly connectionStateMonitor;
|
|
38
|
+
private readonly reconnectionMonitor;
|
|
39
|
+
private connectionStateMonitorSubscription;
|
|
40
|
+
constructor(options?: ProviderOptions);
|
|
41
|
+
/**
|
|
42
|
+
* Mark the socket closed and release all active listeners
|
|
43
|
+
*/
|
|
44
|
+
close(): void;
|
|
45
|
+
getNewWebSocket(url: any, protocol: any): WebSocket;
|
|
46
|
+
getProviderName(): string;
|
|
47
|
+
newClient(): Promise<any>;
|
|
48
|
+
publish(_topics: string[] | string, _msg: any, _options?: any): Promise<void>;
|
|
49
|
+
private isCustomDomain;
|
|
50
|
+
subscribe(_topics: string[] | string, options?: AWSAppSyncRealTimeProviderOptions): Observable<any>;
|
|
51
|
+
protected get isSSLEnabled(): boolean;
|
|
52
|
+
private _startSubscriptionWithAWSAppSyncRealTime;
|
|
53
|
+
private _logStartSubscriptionError;
|
|
54
|
+
private _waitForSubscriptionToBeConnected;
|
|
55
|
+
private _sendUnsubscriptionMessage;
|
|
56
|
+
private _removeSubscriptionObserver;
|
|
57
|
+
private _closeSocketIfRequired;
|
|
58
|
+
private _handleIncomingSubscriptionMessage;
|
|
59
|
+
private _errorDisconnect;
|
|
60
|
+
private _timeoutStartSubscriptionAck;
|
|
61
|
+
private _initializeWebSocketConnection;
|
|
62
|
+
private _initializeRetryableHandshake;
|
|
63
|
+
private _initializeHandshake;
|
|
64
|
+
private _awsRealTimeHeaderBasedAuth;
|
|
65
|
+
private _awsRealTimeCUPHeader;
|
|
66
|
+
private _awsRealTimeOPENIDHeader;
|
|
67
|
+
private _awsRealTimeApiKeyHeader;
|
|
68
|
+
private _awsRealTimeIAMHeader;
|
|
69
|
+
private _customAuthHeader;
|
|
70
|
+
/**
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
_ensureCredentials(): any;
|
|
74
|
+
}
|
|
75
|
+
export {};
|