@aws-amplify/pubsub 5.0.12 → 5.0.13-push-notification-dryrun.43
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/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +9 -8
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +19 -14
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib/Providers/AWSIotProvider.d.ts +1 -1
- package/lib/Providers/AWSIotProvider.js +1 -1
- package/lib/Providers/AWSIotProvider.js.map +1 -1
- package/lib/Providers/MqttOverWSProvider.d.ts +29 -12
- package/lib/Providers/MqttOverWSProvider.js +9 -10
- package/lib/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib/Providers/PubSubProvider.d.ts +8 -7
- package/lib/Providers/PubSubProvider.js +0 -2
- package/lib/Providers/PubSubProvider.js.map +1 -1
- package/lib/Providers/index.d.ts +0 -1
- package/lib/Providers/index.js +0 -2
- package/lib/Providers/index.js.map +1 -1
- package/lib/PubSub.d.ts +9 -3
- package/lib/PubSub.js +4 -2
- package/lib/PubSub.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/types/Provider.d.ts +7 -3
- package/lib/types/PubSub.d.ts +3 -0
- package/lib/types/PubSub.js +0 -2
- package/lib/types/PubSub.js.map +1 -1
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +3 -2
- package/lib/types/index.js.map +1 -1
- package/lib/utils/ConnectionStateMonitor.js.map +1 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +9 -8
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +20 -15
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
- package/lib-esm/Providers/AWSIotProvider.d.ts +1 -1
- package/lib-esm/Providers/AWSIotProvider.js +1 -1
- package/lib-esm/Providers/AWSIotProvider.js.map +1 -1
- package/lib-esm/Providers/MqttOverWSProvider.d.ts +29 -12
- package/lib-esm/Providers/MqttOverWSProvider.js +10 -11
- package/lib-esm/Providers/MqttOverWSProvider.js.map +1 -1
- package/lib-esm/Providers/PubSubProvider.d.ts +8 -7
- package/lib-esm/Providers/PubSubProvider.js +0 -2
- package/lib-esm/Providers/PubSubProvider.js.map +1 -1
- package/lib-esm/Providers/index.d.ts +0 -1
- package/lib-esm/Providers/index.js +0 -1
- package/lib-esm/Providers/index.js.map +1 -1
- package/lib-esm/PubSub.d.ts +9 -3
- package/lib-esm/PubSub.js +4 -2
- package/lib-esm/PubSub.js.map +1 -1
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/index.js +1 -1
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +7 -3
- package/lib-esm/types/PubSub.d.ts +3 -0
- package/lib-esm/types/PubSub.js +0 -2
- package/lib-esm/types/PubSub.js.map +1 -1
- package/lib-esm/types/index.d.ts +1 -1
- package/lib-esm/types/index.js +1 -1
- package/lib-esm/types/index.js.map +1 -1
- package/lib-esm/utils/ConnectionStateMonitor.js.map +1 -1
- package/package.json +9 -9
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +79 -29
- package/src/Providers/AWSIotProvider.ts +2 -2
- package/src/Providers/MqttOverWSProvider.ts +67 -31
- package/src/Providers/PubSubProvider.ts +13 -10
- package/src/Providers/index.ts +0 -1
- package/src/PubSub.ts +16 -8
- package/src/index.ts +0 -1
- package/src/types/Provider.ts +11 -3
- package/src/types/PubSub.ts +5 -0
- package/src/types/index.ts +1 -1
- package/src/utils/ConnectionStateMonitor.ts +0 -1
- package/CHANGELOG.md +0 -1269
- package/lib/Providers/AWSAppSyncProvider.d.ts +0 -21
- package/lib/Providers/AWSAppSyncProvider.js +0 -210
- package/lib/Providers/AWSAppSyncProvider.js.map +0 -1
- package/lib-esm/Providers/AWSAppSyncProvider.d.ts +0 -21
- package/lib-esm/Providers/AWSAppSyncProvider.js +0 -208
- package/lib-esm/Providers/AWSAppSyncProvider.js.map +0 -1
- package/src/Providers/AWSAppSyncProvider.ts +0 -194
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import Observable from 'zen-observable-ts';
|
|
2
2
|
import { PubSubProvider, ProviderOptions } from '../types/Provider';
|
|
3
|
-
|
|
3
|
+
import { PubSubContent } from '../types/PubSub';
|
|
4
|
+
export declare abstract class AbstractPubSubProvider<T extends ProviderOptions> implements PubSubProvider {
|
|
4
5
|
private _config;
|
|
5
|
-
constructor(options
|
|
6
|
-
configure(config
|
|
6
|
+
constructor(options: T);
|
|
7
|
+
configure(config: T): T;
|
|
7
8
|
getCategory(): string;
|
|
8
9
|
abstract getProviderName(): string;
|
|
9
|
-
protected get options():
|
|
10
|
-
abstract newClient(clientOptions:
|
|
11
|
-
abstract publish(topics: string[] | string, msg:
|
|
12
|
-
abstract subscribe(topics: string[] | string, options?:
|
|
10
|
+
protected get options(): T;
|
|
11
|
+
abstract newClient(clientOptions: T): Promise<any>;
|
|
12
|
+
abstract publish(topics: string[] | string, msg: PubSubContent, options?: T): void;
|
|
13
|
+
abstract subscribe(topics: string[] | string, options?: T): Observable<PubSubContent>;
|
|
13
14
|
}
|
|
@@ -3,11 +3,9 @@ import { ConsoleLogger as Logger } from '@aws-amplify/core';
|
|
|
3
3
|
var logger = new Logger('AbstractPubSubProvider');
|
|
4
4
|
var AbstractPubSubProvider = /** @class */ (function () {
|
|
5
5
|
function AbstractPubSubProvider(options) {
|
|
6
|
-
if (options === void 0) { options = {}; }
|
|
7
6
|
this._config = options;
|
|
8
7
|
}
|
|
9
8
|
AbstractPubSubProvider.prototype.configure = function (config) {
|
|
10
|
-
if (config === void 0) { config = {}; }
|
|
11
9
|
this._config = __assign(__assign({}, config), this._config);
|
|
12
10
|
logger.debug("configure " + this.getProviderName(), this._config);
|
|
13
11
|
return this.options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubProvider.js","sourceRoot":"","sources":["../../src/Providers/PubSubProvider.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PubSubProvider.js","sourceRoot":"","sources":["../../src/Providers/PubSubProvider.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG5D,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpD;IAKC,gCAAY,OAAU;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,0CAAS,GAAT,UAAU,MAAS;QAClB,IAAI,CAAC,OAAO,yBAAQ,MAAM,GAAK,IAAI,CAAC,OAAO,CAAE,CAAC;QAE9C,MAAM,CAAC,KAAK,CAAC,eAAa,IAAI,CAAC,eAAe,EAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,4CAAW,GAAX;QACC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAID,sBAAc,2CAAO;aAArB;YACC,oBAAY,IAAI,CAAC,OAAO,EAAG;QAC5B,CAAC;;;OAAA;IAcF,6BAAC;AAAD,CAAC,AAvCD,IAuCC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { AbstractPubSubProvider } from './PubSubProvider';
|
|
2
|
-
export { AWSAppSyncProvider } from './AWSAppSyncProvider';
|
|
3
2
|
export { AWSAppSyncRealTimeProvider, AWSAppSyncRealTimeProviderOptions, ObserverQuery, } from './AWSAppSyncRealTimeProvider';
|
|
4
3
|
export { AWSIoTProvider, AWSIoTProviderOptions } from './AWSIotProvider';
|
|
5
4
|
export { MqttProviderOptions, MqttOverWSProvider, mqttTopicMatch, } from './MqttOverWSProvider';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
export { AbstractPubSubProvider } from './PubSubProvider';
|
|
4
|
-
export { AWSAppSyncProvider } from './AWSAppSyncProvider';
|
|
5
4
|
export { AWSAppSyncRealTimeProvider, } from './AWSAppSyncRealTimeProvider';
|
|
6
5
|
export { AWSIoTProvider } from './AWSIotProvider';
|
|
7
6
|
export { MqttOverWSProvider, mqttTopicMatch, } from './MqttOverWSProvider';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Providers/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Providers/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACN,0BAA0B,GAG1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAEN,kBAAkB,EAClB,cAAc,GACd,MAAM,sBAAsB,CAAC"}
|
package/lib-esm/PubSub.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import Observable from 'zen-observable-ts';
|
|
2
2
|
import { PubSubProvider, PubSubOptions, ProviderOptions } from './types';
|
|
3
|
+
import { PubSubContent } from './types/PubSub';
|
|
4
|
+
declare type PubSubObservable = {
|
|
5
|
+
provider: PubSubProvider;
|
|
6
|
+
value: string | Record<string, unknown>;
|
|
7
|
+
};
|
|
3
8
|
export declare class PubSubClass {
|
|
4
9
|
private _options;
|
|
5
10
|
private _pluggables;
|
|
@@ -29,7 +34,7 @@ export declare class PubSubClass {
|
|
|
29
34
|
* add plugin into Analytics category
|
|
30
35
|
* @param {Object} pluggable - an instance of the plugin
|
|
31
36
|
*/
|
|
32
|
-
addPluggable(pluggable: PubSubProvider): Promise<
|
|
37
|
+
addPluggable(pluggable: PubSubProvider): Promise<Record<string, unknown>>;
|
|
33
38
|
/**
|
|
34
39
|
* remove plugin from PubSub category
|
|
35
40
|
* @param providerName - the name of the plugin
|
|
@@ -37,7 +42,8 @@ export declare class PubSubClass {
|
|
|
37
42
|
removePluggable(providerName: string): void;
|
|
38
43
|
private getProviderByName;
|
|
39
44
|
private getProviders;
|
|
40
|
-
publish(topics: string[] | string, msg:
|
|
41
|
-
subscribe(topics: string[] | string, options?: ProviderOptions): Observable<
|
|
45
|
+
publish(topics: string[] | string, msg: PubSubContent, options?: ProviderOptions): Promise<void[]>;
|
|
46
|
+
subscribe(topics: string[] | string, options?: ProviderOptions): Observable<PubSubObservable>;
|
|
42
47
|
}
|
|
43
48
|
export declare const PubSub: PubSubClass;
|
|
49
|
+
export {};
|
package/lib-esm/PubSub.js
CHANGED
|
@@ -43,7 +43,9 @@ var PubSubClass = /** @class */ (function () {
|
|
|
43
43
|
*/
|
|
44
44
|
PubSubClass.prototype.configure = function (options) {
|
|
45
45
|
var _this = this;
|
|
46
|
-
var opt = options
|
|
46
|
+
var opt = options
|
|
47
|
+
? options.PubSub || options
|
|
48
|
+
: {};
|
|
47
49
|
logger.debug('configure PubSub', { opt: opt });
|
|
48
50
|
this._options = Object.assign({}, this._options, opt);
|
|
49
51
|
this._pluggables.map(function (pluggable) { return pluggable.configure(_this._options); });
|
|
@@ -87,7 +89,7 @@ var PubSubClass = /** @class */ (function () {
|
|
|
87
89
|
}
|
|
88
90
|
var provider = this.getProviderByName(providerName);
|
|
89
91
|
if (!provider) {
|
|
90
|
-
throw new Error("Could not find provider named " + providerName);
|
|
92
|
+
throw new Error("Could not find provider named " + String(providerName));
|
|
91
93
|
}
|
|
92
94
|
return [provider];
|
|
93
95
|
};
|
package/lib-esm/PubSub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,gCAAgC;AAChC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EACN,OAAO,EACP,aAAa,EACb,aAAa,IAAI,MAAM,EACvB,6CAA6C,GAC7C,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
|
package/lib-esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { PubSub } from './PubSub';
|
|
2
2
|
export { CONNECTION_STATE_CHANGE } from './Providers/constants';
|
|
3
3
|
export { ConnectionState, CONTROL_MSG } from './types';
|
|
4
|
-
export {
|
|
4
|
+
export { AWSAppSyncRealTimeProvider, AWSAppSyncRealTimeProviderOptions, AWSIoTProvider, AWSIoTProviderOptions, AbstractPubSubProvider, MqttOverWSProvider, MqttProviderOptions, ObserverQuery, mqttTopicMatch, } from './Providers';
|
package/lib-esm/index.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
export { PubSub } from './PubSub';
|
|
4
4
|
export { CONNECTION_STATE_CHANGE } from './Providers/constants';
|
|
5
5
|
export { ConnectionState, CONTROL_MSG } from './types';
|
|
6
|
-
export {
|
|
6
|
+
export { AWSAppSyncRealTimeProvider, AWSIoTProvider, AbstractPubSubProvider, MqttOverWSProvider, mqttTopicMatch, } from './Providers';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/lib-esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EACN,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EACN,0BAA0B,EAE1B,cAAc,EAEd,sBAAsB,EACtB,kBAAkB,EAGlB,cAAc,GACd,MAAM,aAAa,CAAC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import Observable from 'zen-observable-ts';
|
|
2
|
+
import { PubSubContent } from './PubSub';
|
|
2
3
|
export interface PubSubOptions {
|
|
3
4
|
[key: string]: any;
|
|
5
|
+
ssr?: boolean;
|
|
6
|
+
PubSub?: {};
|
|
4
7
|
}
|
|
5
8
|
export interface ProviderOptions {
|
|
6
9
|
[key: string]: any;
|
|
10
|
+
provider?: string | symbol;
|
|
7
11
|
}
|
|
8
12
|
export interface PubSubProvider {
|
|
9
|
-
configure(config:
|
|
13
|
+
configure(config: Record<string, unknown>): Record<string, unknown>;
|
|
10
14
|
getCategory(): string;
|
|
11
15
|
getProviderName(): string;
|
|
12
|
-
publish(topics: string[] | string, msg:
|
|
13
|
-
subscribe(topics: string[] | string, options?: ProviderOptions): Observable<
|
|
16
|
+
publish(topics: string[] | string, msg: PubSubContent, options?: ProviderOptions): void;
|
|
17
|
+
subscribe(topics: string[] | string, options?: ProviderOptions): Observable<PubSubContent>;
|
|
14
18
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ZenObservable } from 'zen-observable-ts';
|
|
1
2
|
export interface SubscriptionObserver<T> {
|
|
2
3
|
closed: boolean;
|
|
3
4
|
next(value: T): void;
|
|
@@ -22,3 +23,5 @@ export declare enum ConnectionState {
|
|
|
22
23
|
Disconnected = "Disconnected",
|
|
23
24
|
ConnectedPendingKeepAlive = "ConnectedPendingKeepAlive"
|
|
24
25
|
}
|
|
26
|
+
export declare type PubSubContent = Record<string, unknown> | string;
|
|
27
|
+
export declare type PubSubContentObserver = ZenObservable.SubscriptionObserver<PubSubContent>;
|
package/lib-esm/types/PubSub.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../../src/types/PubSub.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../../src/types/PubSub.ts"],"names":[],"mappings":"AAWA,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACtB,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,4FAA6E,CAAA;IAC7E,oDAAqC,CAAA;IACrC,wDAAyC,CAAA;AAC1C,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,qBAAqB;AACrB,MAAM,CAAN,IAAY,eAiCX;AAjCD,WAAY,eAAe;IAC1B;;OAEG;IACH,0CAAuB,CAAA;IACvB;;OAEG;IACH,sEAAmD,CAAA;IACnD;;OAEG;IACH,8DAA2C,CAAA;IAC3C;;OAEG;IACH,0FAAuE,CAAA;IACvE;;OAEG;IACH,4CAAyB,CAAA;IACzB;;OAEG;IACH,4EAAyD,CAAA;IACzD;;OAEG;IACH,gDAA6B,CAAA;IAC7B;;OAEG;IACH,0EAAuD,CAAA;AACxD,CAAC,EAjCW,eAAe,KAAf,eAAe,QAiC1B"}
|
package/lib-esm/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './Provider';
|
|
2
|
-
export
|
|
2
|
+
export { SubscriptionObserver, CONTROL_MSG, ConnectionState } from './PubSub';
|
package/lib-esm/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { CONTROL_MSG, ConnectionState } from './PubSub';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionStateMonitor.js","sourceRoot":"","sources":["../../src/utils/ConnectionStateMonitor.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;
|
|
1
|
+
{"version":3,"file":"ConnectionStateMonitor.js","sourceRoot":"","sources":["../../src/utils/ConnectionStateMonitor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/pubsub",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.13-push-notification-dryrun.43+1d076358b",
|
|
4
4
|
"description": "Pubsub category of aws-amplify",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
-
"test": "
|
|
19
|
+
"test": "npm run lint && jest -w 1 --coverage",
|
|
20
20
|
"test:size": "size-limit",
|
|
21
21
|
"build-with-test": "npm run clean && npm test && tsc && webpack",
|
|
22
22
|
"build:cjs": "node ./build es5 && cpx src/vendor/** lib/vendor && webpack && webpack --config ./webpack.config.dev.js",
|
|
@@ -24,10 +24,11 @@
|
|
|
24
24
|
"build:cjs:watch": "node ./build es5 --watch",
|
|
25
25
|
"build:esm:watch": "node ./build es6 --watch",
|
|
26
26
|
"build": "npm run clean && npm run build:esm && npm run build:cjs",
|
|
27
|
-
"clean": "rimraf lib-esm lib dist
|
|
27
|
+
"clean": "npm run clean:size && rimraf lib-esm lib dist",
|
|
28
|
+
"clean:size": "rimraf dual-publish-tmp tmp*",
|
|
28
29
|
"format": "echo \"Not implemented\"",
|
|
29
30
|
"lint": "tslint 'src/**/*.ts' && npm run ts-coverage",
|
|
30
|
-
"ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t
|
|
31
|
+
"ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 93.0 -i src/vendor/paho-mqtt.js"
|
|
31
32
|
},
|
|
32
33
|
"repository": {
|
|
33
34
|
"type": "git",
|
|
@@ -49,11 +50,10 @@
|
|
|
49
50
|
"src"
|
|
50
51
|
],
|
|
51
52
|
"dependencies": {
|
|
52
|
-
"@aws-amplify/auth": "5.1.
|
|
53
|
-
"@aws-amplify/cache": "5.0.
|
|
54
|
-
"@aws-amplify/core": "5.0.
|
|
53
|
+
"@aws-amplify/auth": "5.1.7-push-notification-dryrun.43+1d076358b",
|
|
54
|
+
"@aws-amplify/cache": "5.0.13-push-notification-dryrun.43+1d076358b",
|
|
55
|
+
"@aws-amplify/core": "5.0.13-push-notification-dryrun.43+1d076358b",
|
|
55
56
|
"graphql": "15.8.0",
|
|
56
|
-
"paho-mqtt": "^1.1.0",
|
|
57
57
|
"tslib": "^1.8.0",
|
|
58
58
|
"uuid": "^3.2.1",
|
|
59
59
|
"zen-observable-ts": "0.8.19"
|
|
@@ -122,5 +122,5 @@
|
|
|
122
122
|
"lib-esm"
|
|
123
123
|
]
|
|
124
124
|
},
|
|
125
|
-
"gitHead": "
|
|
125
|
+
"gitHead": "1d076358bec5e941f1e03b4bae5a9ae0b4dd8c81"
|
|
126
126
|
}
|
|
@@ -21,7 +21,12 @@ import {
|
|
|
21
21
|
import { Cache } from '@aws-amplify/cache';
|
|
22
22
|
import { Auth, GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';
|
|
23
23
|
import { AbstractPubSubProvider } from '../PubSubProvider';
|
|
24
|
-
import {
|
|
24
|
+
import {
|
|
25
|
+
CONTROL_MSG,
|
|
26
|
+
ConnectionState,
|
|
27
|
+
PubSubContent,
|
|
28
|
+
PubSubContentObserver,
|
|
29
|
+
} from '../../types/PubSub';
|
|
25
30
|
|
|
26
31
|
import {
|
|
27
32
|
AMPLIFY_SYMBOL,
|
|
@@ -48,14 +53,18 @@ import {
|
|
|
48
53
|
|
|
49
54
|
const logger = new Logger('AWSAppSyncRealTimeProvider');
|
|
50
55
|
|
|
51
|
-
const dispatchApiEvent = (
|
|
56
|
+
const dispatchApiEvent = (
|
|
57
|
+
event: string,
|
|
58
|
+
data: Record<string, unknown>,
|
|
59
|
+
message: string
|
|
60
|
+
) => {
|
|
52
61
|
Hub.dispatch('api', { event, data, message }, 'PubSub', AMPLIFY_SYMBOL);
|
|
53
62
|
};
|
|
54
63
|
|
|
55
64
|
export type ObserverQuery = {
|
|
56
|
-
observer:
|
|
65
|
+
observer: PubSubContentObserver;
|
|
57
66
|
query: string;
|
|
58
|
-
variables:
|
|
67
|
+
variables: Record<string, unknown>;
|
|
59
68
|
subscriptionState: SUBSCRIPTION_STATUS;
|
|
60
69
|
subscriptionReadyCallback?: Function;
|
|
61
70
|
subscriptionFailedCallback?: Function;
|
|
@@ -69,11 +78,29 @@ const customDomainPath = '/realtime';
|
|
|
69
78
|
|
|
70
79
|
type GraphqlAuthModes = keyof typeof GRAPHQL_AUTH_MODE;
|
|
71
80
|
|
|
81
|
+
type DataObject = {
|
|
82
|
+
data: Record<string, unknown>;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
type DataPayload = {
|
|
86
|
+
id: string;
|
|
87
|
+
payload: DataObject;
|
|
88
|
+
type: string;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
type ParsedMessagePayload = {
|
|
92
|
+
type: string;
|
|
93
|
+
payload: {
|
|
94
|
+
connectionTimeoutMs: number;
|
|
95
|
+
errors?: [{ errorType: string; errorCode: number }];
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
|
|
72
99
|
export interface AWSAppSyncRealTimeProviderOptions extends ProviderOptions {
|
|
73
100
|
appSyncGraphqlEndpoint?: string;
|
|
74
101
|
authenticationType?: GraphqlAuthModes;
|
|
75
102
|
query?: string;
|
|
76
|
-
variables?:
|
|
103
|
+
variables?: Record<string, unknown>;
|
|
77
104
|
apiKey?: string;
|
|
78
105
|
region?: string;
|
|
79
106
|
graphql_headers?: () => {} | (() => Promise<{}>);
|
|
@@ -84,9 +111,10 @@ type AWSAppSyncRealTimeAuthInput =
|
|
|
84
111
|
Partial<AWSAppSyncRealTimeProviderOptions> & {
|
|
85
112
|
canonicalUri: string;
|
|
86
113
|
payload: string;
|
|
114
|
+
host?: string | undefined;
|
|
87
115
|
};
|
|
88
116
|
|
|
89
|
-
export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
117
|
+
export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider<AWSAppSyncRealTimeProviderOptions> {
|
|
90
118
|
private awsRealTimeSocket?: WebSocket;
|
|
91
119
|
private socketStatus: SOCKET_STATUS = SOCKET_STATUS.CLOSED;
|
|
92
120
|
private keepAliveTimeoutId?: ReturnType<typeof setTimeout>;
|
|
@@ -153,7 +181,7 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
153
181
|
this.reconnectionMonitor.close();
|
|
154
182
|
}
|
|
155
183
|
|
|
156
|
-
getNewWebSocket(url, protocol) {
|
|
184
|
+
getNewWebSocket(url: string, protocol: string) {
|
|
157
185
|
return new WebSocket(url, protocol);
|
|
158
186
|
}
|
|
159
187
|
|
|
@@ -165,7 +193,11 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
165
193
|
throw new Error('Not used here');
|
|
166
194
|
}
|
|
167
195
|
|
|
168
|
-
public async publish(
|
|
196
|
+
public async publish(
|
|
197
|
+
_topics: string[] | string,
|
|
198
|
+
_msg: PubSubContent,
|
|
199
|
+
_options?: AWSAppSyncRealTimeProviderOptions
|
|
200
|
+
) {
|
|
169
201
|
throw new Error('Operation not supported');
|
|
170
202
|
}
|
|
171
203
|
|
|
@@ -177,7 +209,7 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
177
209
|
subscribe(
|
|
178
210
|
_topics: string[] | string,
|
|
179
211
|
options?: AWSAppSyncRealTimeProviderOptions
|
|
180
|
-
): Observable<
|
|
212
|
+
): Observable<Record<string, unknown>> {
|
|
181
213
|
const appSyncGraphqlEndpoint = options?.appSyncGraphqlEndpoint;
|
|
182
214
|
|
|
183
215
|
return new Observable(observer => {
|
|
@@ -260,8 +292,9 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
260
292
|
}
|
|
261
293
|
|
|
262
294
|
protected get isSSLEnabled() {
|
|
263
|
-
return !this.options
|
|
264
|
-
|
|
295
|
+
return !this.options[
|
|
296
|
+
'aws_appsync_dangerously_connect_to_http_endpoint_for_testing'
|
|
297
|
+
];
|
|
265
298
|
}
|
|
266
299
|
|
|
267
300
|
private async _startSubscriptionWithAWSAppSyncRealTime({
|
|
@@ -270,7 +303,7 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
270
303
|
subscriptionId,
|
|
271
304
|
}: {
|
|
272
305
|
options: AWSAppSyncRealTimeProviderOptions;
|
|
273
|
-
observer:
|
|
306
|
+
observer: PubSubContentObserver;
|
|
274
307
|
subscriptionId: string;
|
|
275
308
|
}) {
|
|
276
309
|
const {
|
|
@@ -370,9 +403,13 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
370
403
|
}
|
|
371
404
|
|
|
372
405
|
// Log logic for start subscription failures
|
|
373
|
-
private _logStartSubscriptionError(
|
|
406
|
+
private _logStartSubscriptionError(
|
|
407
|
+
subscriptionId: string,
|
|
408
|
+
observer: PubSubContentObserver,
|
|
409
|
+
err: { message?: string }
|
|
410
|
+
) {
|
|
374
411
|
logger.debug({ err });
|
|
375
|
-
const message = err
|
|
412
|
+
const message = String(err.message ?? '');
|
|
376
413
|
// Resolving to give the state observer time to propogate the update
|
|
377
414
|
Promise.resolve(
|
|
378
415
|
this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED)
|
|
@@ -495,10 +532,17 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
495
532
|
}
|
|
496
533
|
|
|
497
534
|
private _handleIncomingSubscriptionMessage(message: MessageEvent) {
|
|
535
|
+
if (typeof message.data !== 'string') {
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
498
538
|
logger.debug(
|
|
499
539
|
`subscription message from AWS AppSync RealTime: ${message.data}`
|
|
500
540
|
);
|
|
501
|
-
const {
|
|
541
|
+
const {
|
|
542
|
+
id = '',
|
|
543
|
+
payload,
|
|
544
|
+
type,
|
|
545
|
+
}: DataPayload = JSON.parse(String(message.data));
|
|
502
546
|
const {
|
|
503
547
|
observer = null,
|
|
504
548
|
query = '',
|
|
@@ -654,17 +698,18 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
654
698
|
this.socketStatus = SOCKET_STATUS.CONNECTING;
|
|
655
699
|
|
|
656
700
|
const payloadString = '{}';
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
701
|
+
|
|
702
|
+
const authHeader = await this._awsRealTimeHeaderBasedAuth({
|
|
703
|
+
authenticationType,
|
|
704
|
+
payload: payloadString,
|
|
705
|
+
canonicalUri: '/connect',
|
|
706
|
+
apiKey,
|
|
707
|
+
appSyncGraphqlEndpoint,
|
|
708
|
+
region,
|
|
709
|
+
additionalHeaders,
|
|
710
|
+
});
|
|
711
|
+
|
|
712
|
+
const headerString = authHeader ? JSON.stringify(authHeader) : '';
|
|
668
713
|
const headerQs = Buffer.from(headerString).toString('base64');
|
|
669
714
|
|
|
670
715
|
const payloadQs = Buffer.from(payloadString).toString('base64');
|
|
@@ -756,10 +801,13 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
756
801
|
};
|
|
757
802
|
|
|
758
803
|
this.awsRealTimeSocket.onmessage = (message: MessageEvent) => {
|
|
804
|
+
if (typeof message.data !== 'string') {
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
759
807
|
logger.debug(
|
|
760
808
|
`subscription message from AWS AppSyncRealTime: ${message.data} `
|
|
761
809
|
);
|
|
762
|
-
const data = JSON.parse(message.data);
|
|
810
|
+
const data = JSON.parse(message.data) as ParsedMessagePayload;
|
|
763
811
|
const {
|
|
764
812
|
type,
|
|
765
813
|
payload: {
|
|
@@ -842,7 +890,9 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
842
890
|
apiKey,
|
|
843
891
|
region,
|
|
844
892
|
additionalHeaders,
|
|
845
|
-
}:
|
|
893
|
+
}: AWSAppSyncRealTimeAuthInput): Promise<
|
|
894
|
+
Record<string, unknown> | undefined
|
|
895
|
+
> {
|
|
846
896
|
const headerHandler: {
|
|
847
897
|
[key in GraphqlAuthModes]: (AWSAppSyncRealTimeAuthInput) => {};
|
|
848
898
|
} = {
|
|
@@ -855,7 +905,7 @@ export class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {
|
|
|
855
905
|
|
|
856
906
|
if (!authenticationType || !headerHandler[authenticationType]) {
|
|
857
907
|
logger.debug(`Authentication type ${authenticationType} not supported`);
|
|
858
|
-
return
|
|
908
|
+
return undefined;
|
|
859
909
|
} else {
|
|
860
910
|
const handler = headerHandler[authenticationType];
|
|
861
911
|
|
|
@@ -15,8 +15,8 @@ export class AWSIoTProvider extends MqttOverWSProvider {
|
|
|
15
15
|
super(options);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
protected get region() {
|
|
19
|
-
return this.options
|
|
18
|
+
protected get region(): string | undefined {
|
|
19
|
+
return this.options['aws_pubsub_region'];
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
public getProviderName() {
|