@aws-amplify/pubsub 5.5.6-api-v6-models.b3abc9b.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/iot/packages.json +7 -0
  2. package/lib/Providers/AWSIot.d.ts +10 -0
  3. package/lib/Providers/AWSIot.js +34 -0
  4. package/lib/Providers/{MqttOverWSProvider.d.ts → MqttOverWS.d.ts} +16 -16
  5. package/lib/Providers/MqttOverWS.js +274 -0
  6. package/lib/Providers/PubSub.d.ts +11 -0
  7. package/lib/Providers/PubSub.js +19 -0
  8. package/lib/Providers/constants.d.ts +1 -1
  9. package/lib/Providers/constants.js +3 -4
  10. package/lib/Providers/index.d.ts +3 -4
  11. package/lib/Providers/index.js +8 -10
  12. package/lib/clients/iot.d.ts +1 -0
  13. package/lib/clients/iot.js +7 -0
  14. package/lib/clients/mqtt.d.ts +1 -0
  15. package/lib/clients/mqtt.js +7 -0
  16. package/lib/index.d.ts +2 -2
  17. package/lib/index.js +7 -11
  18. package/lib/tsconfig.tsbuildinfo +1 -0
  19. package/lib/types/PubSub.d.ts +21 -3
  20. package/lib/types/PubSub.js +1 -1
  21. package/lib/types/index.d.ts +0 -1
  22. package/lib/types/index.js +5 -3
  23. package/lib/utils/ConnectionStateMonitor.d.ts +5 -5
  24. package/lib/utils/ConnectionStateMonitor.js +52 -64
  25. package/lib/utils/ReachabilityMonitor/index.d.ts +1 -3
  26. package/lib/utils/ReachabilityMonitor/index.js +4 -3
  27. package/lib/utils/ReachabilityMonitor/index.native.d.ts +1 -3
  28. package/lib/utils/ReachabilityMonitor/index.native.js +7 -8
  29. package/lib/utils/ReconnectionMonitor.d.ts +1 -1
  30. package/lib/utils/ReconnectionMonitor.js +21 -25
  31. package/lib-esm/Providers/AWSIot.d.ts +10 -0
  32. package/lib-esm/Providers/AWSIot.js +30 -0
  33. package/lib-esm/Providers/{MqttOverWSProvider.d.ts → MqttOverWS.d.ts} +16 -16
  34. package/lib-esm/Providers/MqttOverWS.js +268 -0
  35. package/lib-esm/Providers/PubSub.d.ts +11 -0
  36. package/lib-esm/Providers/PubSub.js +15 -0
  37. package/lib-esm/Providers/constants.d.ts +1 -1
  38. package/lib-esm/Providers/constants.js +11 -14
  39. package/lib-esm/Providers/index.d.ts +3 -4
  40. package/lib-esm/Providers/index.js +3 -5
  41. package/lib-esm/clients/iot.d.ts +1 -0
  42. package/{src/internals/index.ts → lib-esm/clients/iot.js} +1 -1
  43. package/lib-esm/clients/mqtt.d.ts +1 -0
  44. package/lib-esm/{internals/index.js → clients/mqtt.js} +1 -2
  45. package/lib-esm/index.d.ts +2 -2
  46. package/lib-esm/index.js +2 -3
  47. package/lib-esm/tsconfig.tsbuildinfo +1 -0
  48. package/lib-esm/types/PubSub.d.ts +21 -3
  49. package/lib-esm/types/PubSub.js +0 -1
  50. package/lib-esm/types/index.d.ts +0 -1
  51. package/lib-esm/types/index.js +2 -1
  52. package/lib-esm/utils/ConnectionStateMonitor.d.ts +5 -5
  53. package/lib-esm/utils/ConnectionStateMonitor.js +50 -64
  54. package/lib-esm/utils/ReachabilityMonitor/index.d.ts +1 -3
  55. package/lib-esm/utils/ReachabilityMonitor/index.js +2 -3
  56. package/lib-esm/utils/ReachabilityMonitor/index.native.d.ts +1 -3
  57. package/lib-esm/utils/ReachabilityMonitor/index.native.js +2 -5
  58. package/lib-esm/utils/ReconnectionMonitor.d.ts +1 -1
  59. package/lib-esm/utils/ReconnectionMonitor.js +19 -25
  60. package/mqtt/packages.json +7 -0
  61. package/package.json +146 -126
  62. package/src/Providers/{AWSIotProvider.ts → AWSIot.ts} +17 -15
  63. package/src/Providers/{MqttOverWSProvider.ts → MqttOverWS.ts} +38 -50
  64. package/src/Providers/PubSub.ts +40 -0
  65. package/src/Providers/constants.ts +2 -6
  66. package/src/Providers/index.ts +3 -12
  67. package/src/clients/iot.ts +4 -0
  68. package/src/clients/mqtt.ts +7 -0
  69. package/src/index.ts +3 -12
  70. package/src/types/PubSub.ts +28 -5
  71. package/src/types/index.ts +0 -1
  72. package/src/utils/ConnectionStateMonitor.ts +17 -13
  73. package/src/utils/ReachabilityMonitor/index.native.ts +2 -1
  74. package/src/utils/ReachabilityMonitor/index.ts +1 -1
  75. package/src/utils/ReconnectionMonitor.ts +1 -1
  76. package/internals/package.json +0 -8
  77. package/lib/.tsbuildinfo +0 -3
  78. package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +0 -77
  79. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +0 -856
  80. package/lib/Providers/AWSAppSyncRealTimeProvider/index.js.map +0 -1
  81. package/lib/Providers/AWSIotProvider.d.ts +0 -11
  82. package/lib/Providers/AWSIotProvider.js +0 -53
  83. package/lib/Providers/AWSIotProvider.js.map +0 -1
  84. package/lib/Providers/MqttOverWSProvider.js +0 -396
  85. package/lib/Providers/MqttOverWSProvider.js.map +0 -1
  86. package/lib/Providers/PubSubProvider.d.ts +0 -15
  87. package/lib/Providers/PubSubProvider.js +0 -28
  88. package/lib/Providers/PubSubProvider.js.map +0 -1
  89. package/lib/Providers/constants.js.map +0 -1
  90. package/lib/Providers/index.js.map +0 -1
  91. package/lib/PubSub.d.ts +0 -13
  92. package/lib/PubSub.js +0 -22
  93. package/lib/PubSub.js.map +0 -1
  94. package/lib/index.js.map +0 -1
  95. package/lib/internals/InternalPubSub.d.ts +0 -50
  96. package/lib/internals/InternalPubSub.js +0 -136
  97. package/lib/internals/InternalPubSub.js.map +0 -1
  98. package/lib/internals/index.d.ts +0 -1
  99. package/lib/internals/index.js +0 -8
  100. package/lib/internals/index.js.map +0 -1
  101. package/lib/types/Provider.d.ts +0 -18
  102. package/lib/types/Provider.js +0 -3
  103. package/lib/types/Provider.js.map +0 -1
  104. package/lib/types/PubSub.js.map +0 -1
  105. package/lib/types/index.js.map +0 -1
  106. package/lib/utils/ConnectionStateMonitor.js.map +0 -1
  107. package/lib/utils/ReachabilityMonitor/index.js.map +0 -1
  108. package/lib/utils/ReachabilityMonitor/index.native.js.map +0 -1
  109. package/lib/utils/ReconnectionMonitor.js.map +0 -1
  110. package/lib/vendor/paho-mqtt.d.ts +0 -2
  111. package/lib/vendor/paho-mqtt.js.map +0 -1
  112. package/lib-esm/.tsbuildinfo +0 -3
  113. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +0 -77
  114. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +0 -854
  115. package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js.map +0 -1
  116. package/lib-esm/Providers/AWSIotProvider.d.ts +0 -11
  117. package/lib-esm/Providers/AWSIotProvider.js +0 -51
  118. package/lib-esm/Providers/AWSIotProvider.js.map +0 -1
  119. package/lib-esm/Providers/MqttOverWSProvider.js +0 -393
  120. package/lib-esm/Providers/MqttOverWSProvider.js.map +0 -1
  121. package/lib-esm/Providers/PubSubProvider.d.ts +0 -15
  122. package/lib-esm/Providers/PubSubProvider.js +0 -26
  123. package/lib-esm/Providers/PubSubProvider.js.map +0 -1
  124. package/lib-esm/Providers/constants.js.map +0 -1
  125. package/lib-esm/Providers/index.js.map +0 -1
  126. package/lib-esm/PubSub.d.ts +0 -13
  127. package/lib-esm/PubSub.js +0 -20
  128. package/lib-esm/PubSub.js.map +0 -1
  129. package/lib-esm/index.js.map +0 -1
  130. package/lib-esm/internals/InternalPubSub.d.ts +0 -50
  131. package/lib-esm/internals/InternalPubSub.js +0 -134
  132. package/lib-esm/internals/InternalPubSub.js.map +0 -1
  133. package/lib-esm/internals/index.d.ts +0 -1
  134. package/lib-esm/internals/index.js.map +0 -1
  135. package/lib-esm/types/Provider.d.ts +0 -18
  136. package/lib-esm/types/Provider.js +0 -1
  137. package/lib-esm/types/Provider.js.map +0 -1
  138. package/lib-esm/types/PubSub.js.map +0 -1
  139. package/lib-esm/types/index.js.map +0 -1
  140. package/lib-esm/utils/ConnectionStateMonitor.js.map +0 -1
  141. package/lib-esm/utils/ReachabilityMonitor/index.js.map +0 -1
  142. package/lib-esm/utils/ReachabilityMonitor/index.native.js.map +0 -1
  143. package/lib-esm/utils/ReconnectionMonitor.js.map +0 -1
  144. package/lib-esm/vendor/paho-mqtt.d.ts +0 -2
  145. package/lib-esm/vendor/paho-mqtt.js.map +0 -1
  146. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +0 -1049
  147. package/src/Providers/PubSubProvider.ts +0 -53
  148. package/src/PubSub.ts +0 -33
  149. package/src/internals/InternalPubSub.ts +0 -185
  150. package/src/types/Provider.ts +0 -37
package/src/index.ts CHANGED
@@ -1,17 +1,8 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- export { PubSub } from './PubSub';
5
4
  export { CONNECTION_STATE_CHANGE } from './Providers/constants';
6
5
  export { ConnectionState, CONTROL_MSG } from './types';
7
- export {
8
- AWSAppSyncRealTimeProvider,
9
- AWSAppSyncRealTimeProviderOptions,
10
- AWSIoTProvider,
11
- AWSIoTProviderOptions,
12
- AbstractPubSubProvider,
13
- MqttOverWSProvider,
14
- MqttProviderOptions,
15
- ObserverQuery,
16
- mqttTopicMatch,
17
- } from './Providers';
6
+ export { mqttTopicMatch } from './Providers';
7
+
8
+ export { PubSub, PubSubOptions } from './clients/iot';
@@ -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
- import { ZenObservable } from 'zen-observable-ts';
4
-
3
+ import { Observer, Observable } from 'rxjs';
5
4
  export interface SubscriptionObserver<T> {
6
5
  closed: boolean;
7
6
  next(value: T): void;
@@ -53,6 +52,30 @@ export enum ConnectionState {
53
52
  ConnectedPendingKeepAlive = 'ConnectedPendingKeepAlive',
54
53
  }
55
54
 
56
- export type PubSubContent = Record<string, unknown> | string;
57
- export type PubSubContentObserver =
58
- ZenObservable.SubscriptionObserver<PubSubContent>;
55
+ export type PubSubContent = Record<string, unknown>;
56
+ export type PubSubContentObserver = Observer<PubSubContent>;
57
+
58
+ export interface PubSubOptions {
59
+ [key: string]: any;
60
+ provider?: string | symbol;
61
+ }
62
+
63
+ export interface PubSubBase {
64
+ // configure your provider
65
+ configure(config: Record<string, unknown>): Record<string, unknown>;
66
+
67
+ publish(input: PublishInput): void;
68
+
69
+ subscribe(input: SubscribeInput): Observable<PubSubContent>;
70
+ }
71
+
72
+ export type PublishInput = {
73
+ topics: string[] | string;
74
+ message: PubSubContent;
75
+ options?: PubSubOptions;
76
+ };
77
+
78
+ export type SubscribeInput = {
79
+ topics: string[] | string;
80
+ options?: PubSubOptions;
81
+ };
@@ -1,4 +1,3 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- export * from './Provider';
4
3
  export { SubscriptionObserver, CONTROL_MSG, ConnectionState } from './PubSub';
@@ -1,7 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import Observable, { ZenObservable } from 'zen-observable-ts';
4
+ import { Observable, Observer, SubscriptionLike, map, filter } from 'rxjs';
5
5
  import { ConnectionState } from '../types/PubSub';
6
6
  import { ReachabilityMonitor } from './ReachabilityMonitor';
7
7
 
@@ -50,9 +50,9 @@ export class ConnectionStateMonitor {
50
50
  */
51
51
  private _linkedConnectionState: LinkedConnectionStates;
52
52
  private _linkedConnectionStateObservable: Observable<LinkedConnectionStates>;
53
- private _linkedConnectionStateObserver: ZenObservable.SubscriptionObserver<LinkedConnectionStates>;
54
- private _networkMonitoringSubscription?: ZenObservable.Subscription;
55
- private _initialNetworkStateSubscription?: ZenObservable.Subscription;
53
+ private _linkedConnectionStateObserver?: Observer<LinkedConnectionStates>;
54
+ private _networkMonitoringSubscription?: SubscriptionLike;
55
+ private _initialNetworkStateSubscription?: SubscriptionLike;
56
56
 
57
57
  constructor() {
58
58
  this._networkMonitoringSubscription = undefined;
@@ -121,14 +121,18 @@ export class ConnectionStateMonitor {
121
121
 
122
122
  // After translating from linked states to ConnectionState, then remove any duplicates
123
123
  return this._linkedConnectionStateObservable
124
- .map(value => {
125
- return this.connectionStatesTranslator(value);
126
- })
127
- .filter(current => {
128
- const toInclude = current !== previous;
129
- previous = current;
130
- return toInclude;
131
- });
124
+ .pipe(
125
+ map(value => {
126
+ return this.connectionStatesTranslator(value);
127
+ })
128
+ )
129
+ .pipe(
130
+ filter(current => {
131
+ const toInclude = current !== previous;
132
+ previous = current;
133
+ return toInclude;
134
+ })
135
+ );
132
136
  }
133
137
 
134
138
  /*
@@ -150,7 +154,7 @@ export class ConnectionStateMonitor {
150
154
 
151
155
  this._linkedConnectionState = { ...newSocketStatus };
152
156
 
153
- this._linkedConnectionStateObserver.next(this._linkedConnectionState);
157
+ this._linkedConnectionStateObserver?.next(this._linkedConnectionState);
154
158
  }
155
159
 
156
160
  /*
@@ -1,6 +1,7 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { Reachability } from '@aws-amplify/core';
3
+
4
+ import { Reachability } from '@aws-amplify/core/internals/utils';
4
5
  import { default as NetInfo } from '@react-native-community/netinfo';
5
6
 
6
7
  export const ReachabilityMonitor = () =>
@@ -1,5 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { Reachability } from '@aws-amplify/core';
3
+ import { Reachability } from '@aws-amplify/core/internals/utils';
4
4
 
5
5
  export const ReachabilityMonitor = () => new Reachability().networkMonitor();
@@ -1,6 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { Observer } from 'zen-observable-ts';
3
+ import { Observer } from 'rxjs';
4
4
  import { RECONNECT_DELAY, RECONNECT_INTERVAL } from '../Providers/constants';
5
5
 
6
6
  export enum ReconnectEvent {
@@ -1,8 +0,0 @@
1
- {
2
- "name": "@aws-amplify/pubsub/internals",
3
- "types": "../lib-esm/internals/index.d.ts",
4
- "main": "../lib/internals/index.js",
5
- "module": "../lib-esm/internals/index.js",
6
- "react-native": "../lib-esm/internals/index.js",
7
- "sideEffects": false
8
- }
package/lib/.tsbuildinfo DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "version": "3.8.3"
3
- }
@@ -1,77 +0,0 @@
1
- import Observable from 'zen-observable-ts';
2
- import { ProviderOptions } from '../../types/Provider';
3
- import { CustomUserAgentDetails } from '@aws-amplify/core';
4
- import { GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';
5
- import { AbstractPubSubProvider } from '../PubSubProvider';
6
- import { PubSubContent, PubSubContentObserver } from '../../types/PubSub';
7
- import { SUBSCRIPTION_STATUS } from '../constants';
8
- export declare type ObserverQuery = {
9
- observer: PubSubContentObserver;
10
- query: string;
11
- variables: Record<string, unknown>;
12
- subscriptionState: SUBSCRIPTION_STATUS;
13
- subscriptionReadyCallback?: Function;
14
- subscriptionFailedCallback?: Function;
15
- startAckTimeoutId?: ReturnType<typeof setTimeout>;
16
- };
17
- declare type GraphqlAuthModes = keyof typeof GRAPHQL_AUTH_MODE;
18
- export interface AWSAppSyncRealTimeProviderOptions extends ProviderOptions {
19
- appSyncGraphqlEndpoint?: string;
20
- authenticationType?: GraphqlAuthModes;
21
- query?: string;
22
- variables?: Record<string, unknown>;
23
- apiKey?: string;
24
- region?: string;
25
- graphql_headers?: () => {} | (() => Promise<{}>);
26
- additionalHeaders?: {
27
- [key: string]: string;
28
- };
29
- }
30
- export declare class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider<AWSAppSyncRealTimeProviderOptions> {
31
- private awsRealTimeSocket?;
32
- private socketStatus;
33
- private keepAliveTimeoutId?;
34
- private keepAliveTimeout;
35
- private keepAliveAlertTimeoutId?;
36
- private subscriptionObserverMap;
37
- private promiseArray;
38
- private connectionState;
39
- private readonly connectionStateMonitor;
40
- private readonly reconnectionMonitor;
41
- private connectionStateMonitorSubscription;
42
- constructor(options?: ProviderOptions);
43
- /**
44
- * Mark the socket closed and release all active listeners
45
- */
46
- close(): void;
47
- getNewWebSocket(url: string, protocol: string): WebSocket;
48
- getProviderName(): string;
49
- newClient(): Promise<any>;
50
- publish(_topics: string[] | string, _msg: PubSubContent, _options?: AWSAppSyncRealTimeProviderOptions): Promise<void>;
51
- private isCustomDomain;
52
- subscribe(_topics: string[] | string, options?: AWSAppSyncRealTimeProviderOptions, customUserAgentDetails?: CustomUserAgentDetails): Observable<Record<string, unknown>>;
53
- protected get isSSLEnabled(): boolean;
54
- private _startSubscriptionWithAWSAppSyncRealTime;
55
- private _logStartSubscriptionError;
56
- private _waitForSubscriptionToBeConnected;
57
- private _sendUnsubscriptionMessage;
58
- private _removeSubscriptionObserver;
59
- private _closeSocketIfRequired;
60
- private _handleIncomingSubscriptionMessage;
61
- private _errorDisconnect;
62
- private _timeoutStartSubscriptionAck;
63
- private _initializeWebSocketConnection;
64
- private _initializeRetryableHandshake;
65
- private _initializeHandshake;
66
- private _awsRealTimeHeaderBasedAuth;
67
- private _awsRealTimeCUPHeader;
68
- private _awsRealTimeOPENIDHeader;
69
- private _awsRealTimeApiKeyHeader;
70
- private _awsRealTimeIAMHeader;
71
- private _customAuthHeader;
72
- /**
73
- * @private
74
- */
75
- _ensureCredentials(): any;
76
- }
77
- export {};