@aws-amplify/api-graphql 4.4.1-events.619318.0 → 4.4.1

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 (98) hide show
  1. package/dist/cjs/Providers/AWSAppSyncRealTimeProvider/index.js +732 -35
  2. package/dist/cjs/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  3. package/dist/cjs/Providers/constants.js +2 -32
  4. package/dist/cjs/Providers/constants.js.map +1 -1
  5. package/dist/cjs/index.js +1 -4
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/internals/InternalGraphQLAPI.js +67 -8
  8. package/dist/cjs/internals/InternalGraphQLAPI.js.map +1 -1
  9. package/dist/cjs/utils/ReconnectionMonitor.js +1 -1
  10. package/dist/cjs/utils/ReconnectionMonitor.js.map +1 -1
  11. package/dist/cjs/utils/resolveConfig.js +0 -19
  12. package/dist/cjs/utils/resolveConfig.js.map +1 -1
  13. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +71 -24
  14. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.mjs +732 -35
  15. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.mjs.map +1 -1
  16. package/dist/esm/Providers/constants.d.ts +3 -33
  17. package/dist/esm/Providers/constants.mjs +2 -32
  18. package/dist/esm/Providers/constants.mjs.map +1 -1
  19. package/dist/esm/index.d.ts +0 -3
  20. package/dist/esm/index.mjs +0 -2
  21. package/dist/esm/index.mjs.map +1 -1
  22. package/dist/esm/internals/InternalGraphQLAPI.d.ts +1 -0
  23. package/dist/esm/internals/InternalGraphQLAPI.mjs +68 -9
  24. package/dist/esm/internals/InternalGraphQLAPI.mjs.map +1 -1
  25. package/dist/esm/utils/ConnectionStateMonitor.d.ts +1 -29
  26. package/dist/esm/utils/ReconnectionMonitor.d.ts +1 -1
  27. package/dist/esm/utils/ReconnectionMonitor.mjs +1 -1
  28. package/dist/esm/utils/ReconnectionMonitor.mjs.map +1 -1
  29. package/dist/esm/utils/resolveConfig.mjs +0 -19
  30. package/dist/esm/utils/resolveConfig.mjs.map +1 -1
  31. package/package.json +4 -4
  32. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +1051 -58
  33. package/src/Providers/constants.ts +2 -32
  34. package/src/index.ts +0 -5
  35. package/src/internals/InternalGraphQLAPI.ts +102 -15
  36. package/src/utils/ConnectionStateMonitor.ts +13 -2
  37. package/src/utils/ReconnectionMonitor.ts +1 -1
  38. package/src/utils/resolveConfig.ts +0 -23
  39. package/dist/cjs/Providers/AWSAppSyncEventsProvider/index.js +0 -94
  40. package/dist/cjs/Providers/AWSAppSyncEventsProvider/index.js.map +0 -1
  41. package/dist/cjs/Providers/AWSWebSocketProvider/appsyncUrl.js +0 -112
  42. package/dist/cjs/Providers/AWSWebSocketProvider/appsyncUrl.js.map +0 -1
  43. package/dist/cjs/Providers/AWSWebSocketProvider/authHeaders.js +0 -99
  44. package/dist/cjs/Providers/AWSWebSocketProvider/authHeaders.js.map +0 -1
  45. package/dist/cjs/Providers/AWSWebSocketProvider/index.js +0 -623
  46. package/dist/cjs/Providers/AWSWebSocketProvider/index.js.map +0 -1
  47. package/dist/cjs/internals/events/appsyncRequest.js +0 -97
  48. package/dist/cjs/internals/events/appsyncRequest.js.map +0 -1
  49. package/dist/cjs/internals/events/index.js +0 -73
  50. package/dist/cjs/internals/events/index.js.map +0 -1
  51. package/dist/cjs/internals/events/types.js +0 -6
  52. package/dist/cjs/internals/events/types.js.map +0 -1
  53. package/dist/cjs/internals/events/utils.js +0 -57
  54. package/dist/cjs/internals/events/utils.js.map +0 -1
  55. package/dist/cjs/internals/graphqlAuth.js +0 -64
  56. package/dist/cjs/internals/graphqlAuth.js.map +0 -1
  57. package/dist/cjs/internals/graphqlRequest.js +0 -20
  58. package/dist/cjs/internals/graphqlRequest.js.map +0 -1
  59. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.d.ts +0 -42
  60. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.mjs +0 -93
  61. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.mjs.map +0 -1
  62. package/dist/esm/Providers/AWSWebSocketProvider/appsyncUrl.d.ts +0 -21
  63. package/dist/esm/Providers/AWSWebSocketProvider/appsyncUrl.mjs +0 -106
  64. package/dist/esm/Providers/AWSWebSocketProvider/appsyncUrl.mjs.map +0 -1
  65. package/dist/esm/Providers/AWSWebSocketProvider/authHeaders.d.ts +0 -8
  66. package/dist/esm/Providers/AWSWebSocketProvider/authHeaders.mjs +0 -97
  67. package/dist/esm/Providers/AWSWebSocketProvider/authHeaders.mjs.map +0 -1
  68. package/dist/esm/Providers/AWSWebSocketProvider/index.d.ts +0 -83
  69. package/dist/esm/Providers/AWSWebSocketProvider/index.mjs +0 -621
  70. package/dist/esm/Providers/AWSWebSocketProvider/index.mjs.map +0 -1
  71. package/dist/esm/internals/events/appsyncRequest.d.ts +0 -14
  72. package/dist/esm/internals/events/appsyncRequest.mjs +0 -96
  73. package/dist/esm/internals/events/appsyncRequest.mjs.map +0 -1
  74. package/dist/esm/internals/events/index.d.ts +0 -17
  75. package/dist/esm/internals/events/index.mjs +0 -69
  76. package/dist/esm/internals/events/index.mjs.map +0 -1
  77. package/dist/esm/internals/events/types.d.ts +0 -23
  78. package/dist/esm/internals/events/types.mjs +0 -2
  79. package/dist/esm/internals/events/types.mjs.map +0 -1
  80. package/dist/esm/internals/events/utils.d.ts +0 -16
  81. package/dist/esm/internals/events/utils.mjs +0 -53
  82. package/dist/esm/internals/events/utils.mjs.map +0 -1
  83. package/dist/esm/internals/graphqlAuth.d.ts +0 -3
  84. package/dist/esm/internals/graphqlAuth.mjs +0 -64
  85. package/dist/esm/internals/graphqlAuth.mjs.map +0 -1
  86. package/dist/esm/internals/graphqlRequest.d.ts +0 -3
  87. package/dist/esm/internals/graphqlRequest.mjs +0 -18
  88. package/dist/esm/internals/graphqlRequest.mjs.map +0 -1
  89. package/src/Providers/AWSAppSyncEventsProvider/index.ts +0 -187
  90. package/src/Providers/AWSWebSocketProvider/appsyncUrl.ts +0 -151
  91. package/src/Providers/AWSWebSocketProvider/authHeaders.ts +0 -146
  92. package/src/Providers/AWSWebSocketProvider/index.ts +0 -925
  93. package/src/internals/events/appsyncRequest.ts +0 -169
  94. package/src/internals/events/index.ts +0 -138
  95. package/src/internals/events/types.ts +0 -35
  96. package/src/internals/events/utils.ts +0 -77
  97. package/src/internals/graphqlAuth.ts +0 -87
  98. package/src/internals/graphqlRequest.ts +0 -30
@@ -1,12 +1,23 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { CustomUserAgentDetails, DocumentType, GraphQLAuthMode } from '@aws-amplify/core/internals/utils';
2
3
  import { CustomHeaders } from '@aws-amplify/data-schema/runtime';
3
- import { AWSWebSocketProvider } from '../AWSWebSocketProvider';
4
+ import { PubSubContentObserver } from '../../types/PubSub';
5
+ import { SUBSCRIPTION_STATUS } from '../constants';
4
6
  type ResolvedGraphQLAuthModes = Exclude<GraphQLAuthMode, 'identityPool'>;
7
+ export interface ObserverQuery {
8
+ observer: PubSubContentObserver;
9
+ query: string;
10
+ variables: Record<string, DocumentType>;
11
+ subscriptionState: SUBSCRIPTION_STATUS;
12
+ subscriptionReadyCallback?(): void;
13
+ subscriptionFailedCallback?(reason?: any): void;
14
+ startAckTimeoutId?: ReturnType<typeof setTimeout>;
15
+ }
5
16
  export interface AWSAppSyncRealTimeProviderOptions {
6
17
  appSyncGraphqlEndpoint?: string;
7
18
  authenticationType?: ResolvedGraphQLAuthModes;
8
19
  query?: string;
9
- variables?: DocumentType;
20
+ variables?: Record<string, DocumentType>;
10
21
  apiKey?: string;
11
22
  region?: string;
12
23
  libraryConfigHeaders?(): Promise<Record<string, unknown> | Headers>;
@@ -14,29 +25,65 @@ export interface AWSAppSyncRealTimeProviderOptions {
14
25
  additionalCustomHeaders?: Record<string, string>;
15
26
  authToken?: string;
16
27
  }
17
- interface DataObject extends Record<string, unknown> {
18
- data: Record<string, unknown>;
19
- }
20
- interface DataPayload {
21
- id: string;
22
- payload: DataObject;
23
- type: string;
24
- }
25
- export declare class AWSAppSyncRealTimeProvider extends AWSWebSocketProvider {
28
+ export declare class AWSAppSyncRealTimeProvider {
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;
26
40
  constructor();
27
- subscribe(options?: AWSAppSyncRealTimeProviderOptions, customUserAgentDetails?: CustomUserAgentDetails): import("rxjs").Observable<Record<string, unknown>>;
41
+ /**
42
+ * Mark the socket closed and release all active listeners
43
+ */
44
+ close(): void;
45
+ getNewWebSocket(url: string, protocol: string[]): WebSocket;
28
46
  getProviderName(): string;
29
- protected _prepareSubscriptionPayload({ options, subscriptionId, customUserAgentDetails, additionalCustomHeaders, libraryConfigHeaders, }: {
30
- options: AWSAppSyncRealTimeProviderOptions;
31
- subscriptionId: string;
32
- customUserAgentDetails: CustomUserAgentDetails | undefined;
33
- additionalCustomHeaders: Record<string, string>;
34
- libraryConfigHeaders: Record<string, string>;
35
- }): Promise<string>;
36
- protected _handleSubscriptionData(message: MessageEvent): [boolean, DataPayload];
37
- protected _unsubscribeMessage(subscriptionId: string): {
38
- id: string;
39
- type: string;
40
- };
47
+ private isCustomDomain;
48
+ subscribe(options?: AWSAppSyncRealTimeProviderOptions, customUserAgentDetails?: CustomUserAgentDetails): Observable<Record<string, unknown>>;
49
+ private _startSubscriptionWithAWSAppSyncRealTime;
50
+ private _logStartSubscriptionError;
51
+ private _waitForSubscriptionToBeConnected;
52
+ private _sendUnsubscriptionMessage;
53
+ private _removeSubscriptionObserver;
54
+ private _closeSocketIfRequired;
55
+ private _handleIncomingSubscriptionMessage;
56
+ private _errorDisconnect;
57
+ private _timeoutStartSubscriptionAck;
58
+ /**
59
+ * Strips out `Authorization` header if present
60
+ */
61
+ private _extractNonAuthHeaders;
62
+ /**
63
+ *
64
+ * @param headers - http headers
65
+ * @returns uri-encoded query parameters derived from custom headers
66
+ */
67
+ private _queryParamsFromCustomHeaders;
68
+ /**
69
+ * Normalizes AppSync realtime endpoint URL
70
+ *
71
+ * @param appSyncGraphqlEndpoint - AppSync endpointUri from config
72
+ * @param urlParams - URLSearchParams
73
+ * @returns fully resolved string realtime endpoint URL
74
+ */
75
+ private _realtimeUrlWithQueryString;
76
+ private _initializeWebSocketConnection;
77
+ private _initializeRetryableHandshake;
78
+ /**
79
+ *
80
+ * @param subprotocol -
81
+ */
82
+ private _initializeHandshake;
83
+ private _awsRealTimeHeaderBasedAuth;
84
+ private _awsAuthTokenHeader;
85
+ private _awsRealTimeApiKeyHeader;
86
+ private _awsRealTimeIAMHeader;
87
+ private _customAuthHeader;
41
88
  }
42
89
  export {};