@aws-amplify/api-graphql 4.3.4-unstable.ffa8a24.0 → 4.4.1-events.619318.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 (98) hide show
  1. package/dist/cjs/Providers/AWSAppSyncEventsProvider/index.js +94 -0
  2. package/dist/cjs/Providers/AWSAppSyncEventsProvider/index.js.map +1 -0
  3. package/dist/cjs/Providers/AWSAppSyncRealTimeProvider/index.js +35 -732
  4. package/dist/cjs/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  5. package/dist/cjs/Providers/AWSWebSocketProvider/appsyncUrl.js +112 -0
  6. package/dist/cjs/Providers/AWSWebSocketProvider/appsyncUrl.js.map +1 -0
  7. package/dist/cjs/Providers/AWSWebSocketProvider/authHeaders.js +99 -0
  8. package/dist/cjs/Providers/AWSWebSocketProvider/authHeaders.js.map +1 -0
  9. package/dist/cjs/Providers/AWSWebSocketProvider/index.js +623 -0
  10. package/dist/cjs/Providers/AWSWebSocketProvider/index.js.map +1 -0
  11. package/dist/cjs/Providers/constants.js +32 -2
  12. package/dist/cjs/Providers/constants.js.map +1 -1
  13. package/dist/cjs/index.js +4 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/internals/InternalGraphQLAPI.js +8 -67
  16. package/dist/cjs/internals/InternalGraphQLAPI.js.map +1 -1
  17. package/dist/cjs/internals/events/appsyncRequest.js +97 -0
  18. package/dist/cjs/internals/events/appsyncRequest.js.map +1 -0
  19. package/dist/cjs/internals/events/index.js +73 -0
  20. package/dist/cjs/internals/events/index.js.map +1 -0
  21. package/dist/cjs/internals/events/types.js +6 -0
  22. package/dist/cjs/internals/events/types.js.map +1 -0
  23. package/dist/cjs/internals/events/utils.js +57 -0
  24. package/dist/cjs/internals/events/utils.js.map +1 -0
  25. package/dist/cjs/internals/graphqlAuth.js +64 -0
  26. package/dist/cjs/internals/graphqlAuth.js.map +1 -0
  27. package/dist/cjs/internals/graphqlRequest.js +20 -0
  28. package/dist/cjs/internals/graphqlRequest.js.map +1 -0
  29. package/dist/cjs/utils/ReconnectionMonitor.js +1 -1
  30. package/dist/cjs/utils/ReconnectionMonitor.js.map +1 -1
  31. package/dist/cjs/utils/resolveConfig.js +19 -0
  32. package/dist/cjs/utils/resolveConfig.js.map +1 -1
  33. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.d.ts +42 -0
  34. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.mjs +93 -0
  35. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.mjs.map +1 -0
  36. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +24 -71
  37. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.mjs +35 -732
  38. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.mjs.map +1 -1
  39. package/dist/esm/Providers/AWSWebSocketProvider/appsyncUrl.d.ts +21 -0
  40. package/dist/esm/Providers/AWSWebSocketProvider/appsyncUrl.mjs +106 -0
  41. package/dist/esm/Providers/AWSWebSocketProvider/appsyncUrl.mjs.map +1 -0
  42. package/dist/esm/Providers/AWSWebSocketProvider/authHeaders.d.ts +8 -0
  43. package/dist/esm/Providers/AWSWebSocketProvider/authHeaders.mjs +97 -0
  44. package/dist/esm/Providers/AWSWebSocketProvider/authHeaders.mjs.map +1 -0
  45. package/dist/esm/Providers/AWSWebSocketProvider/index.d.ts +83 -0
  46. package/dist/esm/Providers/AWSWebSocketProvider/index.mjs +621 -0
  47. package/dist/esm/Providers/AWSWebSocketProvider/index.mjs.map +1 -0
  48. package/dist/esm/Providers/constants.d.ts +33 -3
  49. package/dist/esm/Providers/constants.mjs +32 -2
  50. package/dist/esm/Providers/constants.mjs.map +1 -1
  51. package/dist/esm/index.d.ts +3 -0
  52. package/dist/esm/index.mjs +2 -0
  53. package/dist/esm/index.mjs.map +1 -1
  54. package/dist/esm/internals/InternalGraphQLAPI.d.ts +0 -1
  55. package/dist/esm/internals/InternalGraphQLAPI.mjs +9 -68
  56. package/dist/esm/internals/InternalGraphQLAPI.mjs.map +1 -1
  57. package/dist/esm/internals/events/appsyncRequest.d.ts +14 -0
  58. package/dist/esm/internals/events/appsyncRequest.mjs +96 -0
  59. package/dist/esm/internals/events/appsyncRequest.mjs.map +1 -0
  60. package/dist/esm/internals/events/index.d.ts +17 -0
  61. package/dist/esm/internals/events/index.mjs +69 -0
  62. package/dist/esm/internals/events/index.mjs.map +1 -0
  63. package/dist/esm/internals/events/types.d.ts +23 -0
  64. package/dist/esm/internals/events/types.mjs +2 -0
  65. package/dist/esm/internals/events/types.mjs.map +1 -0
  66. package/dist/esm/internals/events/utils.d.ts +16 -0
  67. package/dist/esm/internals/events/utils.mjs +53 -0
  68. package/dist/esm/internals/events/utils.mjs.map +1 -0
  69. package/dist/esm/internals/graphqlAuth.d.ts +3 -0
  70. package/dist/esm/internals/graphqlAuth.mjs +64 -0
  71. package/dist/esm/internals/graphqlAuth.mjs.map +1 -0
  72. package/dist/esm/internals/graphqlRequest.d.ts +3 -0
  73. package/dist/esm/internals/graphqlRequest.mjs +18 -0
  74. package/dist/esm/internals/graphqlRequest.mjs.map +1 -0
  75. package/dist/esm/utils/ConnectionStateMonitor.d.ts +29 -1
  76. package/dist/esm/utils/ReconnectionMonitor.d.ts +1 -1
  77. package/dist/esm/utils/ReconnectionMonitor.mjs +1 -1
  78. package/dist/esm/utils/ReconnectionMonitor.mjs.map +1 -1
  79. package/dist/esm/utils/resolveConfig.mjs +19 -0
  80. package/dist/esm/utils/resolveConfig.mjs.map +1 -1
  81. package/package.json +4 -4
  82. package/src/Providers/AWSAppSyncEventsProvider/index.ts +187 -0
  83. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +58 -1051
  84. package/src/Providers/AWSWebSocketProvider/appsyncUrl.ts +151 -0
  85. package/src/Providers/AWSWebSocketProvider/authHeaders.ts +146 -0
  86. package/src/Providers/AWSWebSocketProvider/index.ts +925 -0
  87. package/src/Providers/constants.ts +32 -2
  88. package/src/index.ts +5 -0
  89. package/src/internals/InternalGraphQLAPI.ts +15 -102
  90. package/src/internals/events/appsyncRequest.ts +169 -0
  91. package/src/internals/events/index.ts +138 -0
  92. package/src/internals/events/types.ts +35 -0
  93. package/src/internals/events/utils.ts +77 -0
  94. package/src/internals/graphqlAuth.ts +87 -0
  95. package/src/internals/graphqlRequest.ts +30 -0
  96. package/src/utils/ConnectionStateMonitor.ts +2 -13
  97. package/src/utils/ReconnectionMonitor.ts +1 -1
  98. package/src/utils/resolveConfig.ts +23 -0
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AppSyncEventProvider = void 0;
5
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ // SPDX-License-Identifier: Apache-2.0
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ const constants_1 = require("../constants");
9
+ const AWSWebSocketProvider_1 = require("../AWSWebSocketProvider");
10
+ const authHeaders_1 = require("../AWSWebSocketProvider/authHeaders");
11
+ const PROVIDER_NAME = 'AWSAppSyncEventsProvider';
12
+ class AWSAppSyncEventProvider extends AWSWebSocketProvider_1.AWSWebSocketProvider {
13
+ constructor() {
14
+ super(PROVIDER_NAME);
15
+ }
16
+ async connect(options) {
17
+ super.connect(options);
18
+ }
19
+ subscribe(options, customUserAgentDetails) {
20
+ return super.subscribe(options, customUserAgentDetails).pipe();
21
+ }
22
+ async publish(options, customUserAgentDetails) {
23
+ super.publish(options, customUserAgentDetails);
24
+ }
25
+ async _prepareSubscriptionPayload({ options, subscriptionId, customUserAgentDetails, additionalCustomHeaders, libraryConfigHeaders, publish, }) {
26
+ const { appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, } = options;
27
+ // This will be needed for WS publish
28
+ // const data = {
29
+ // events: [variables],
30
+ // };
31
+ const serializedData = JSON.stringify([variables]);
32
+ const headers = {
33
+ ...(await (0, authHeaders_1.awsRealTimeHeaderBasedAuth)({
34
+ apiKey,
35
+ appSyncGraphqlEndpoint,
36
+ authenticationType,
37
+ payload: serializedData,
38
+ canonicalUri: '',
39
+ region,
40
+ additionalCustomHeaders,
41
+ })),
42
+ ...libraryConfigHeaders,
43
+ ...additionalCustomHeaders,
44
+ [utils_1.USER_AGENT_HEADER]: (0, utils_1.getAmplifyUserAgent)(customUserAgentDetails),
45
+ };
46
+ // Commented out code will be needed for WS publish
47
+ const subscriptionMessage = {
48
+ id: subscriptionId,
49
+ channel: query,
50
+ // events: [JSON.stringify(variables)],
51
+ authorization: {
52
+ ...headers,
53
+ },
54
+ // payload: {
55
+ // events: serializedData,
56
+ // extensions: {
57
+ // authorization: {
58
+ // ...headers,
59
+ // },
60
+ // },
61
+ // },
62
+ type: publish
63
+ ? constants_1.MESSAGE_TYPES.EVENT_PUBLISH
64
+ : constants_1.MESSAGE_TYPES.EVENT_SUBSCRIBE,
65
+ };
66
+ const serializedSubscriptionMessage = JSON.stringify(subscriptionMessage);
67
+ return serializedSubscriptionMessage;
68
+ }
69
+ _handleSubscriptionData(message) {
70
+ this.logger.debug(`subscription message from AWS AppSync Events: ${message.data}`);
71
+ const { id = '', event: payload, type, } = JSON.parse(String(message.data));
72
+ const { observer = null, query = '', variables = {}, } = this.subscriptionObserverMap.get(id) || {};
73
+ this.logger.debug({ id, observer, query, variables });
74
+ if (type === constants_1.MESSAGE_TYPES.DATA && payload) {
75
+ const deserializedEvent = JSON.parse(payload);
76
+ if (observer) {
77
+ observer.next(deserializedEvent);
78
+ }
79
+ else {
80
+ this.logger.debug(`observer not found for id: ${id}`);
81
+ }
82
+ return [true, { id, type, payload: deserializedEvent }];
83
+ }
84
+ return [false, { id, type, payload }];
85
+ }
86
+ _unsubscribeMessage(subscriptionId) {
87
+ return {
88
+ id: subscriptionId,
89
+ type: constants_1.MESSAGE_TYPES.EVENT_STOP,
90
+ };
91
+ }
92
+ }
93
+ exports.AppSyncEventProvider = new AWSAppSyncEventProvider();
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/Providers/AWSAppSyncEventsProvider/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AppSyncEventProvider = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst constants_1 = require(\"../constants\");\nconst AWSWebSocketProvider_1 = require(\"../AWSWebSocketProvider\");\nconst authHeaders_1 = require(\"../AWSWebSocketProvider/authHeaders\");\nconst PROVIDER_NAME = 'AWSAppSyncEventsProvider';\nclass AWSAppSyncEventProvider extends AWSWebSocketProvider_1.AWSWebSocketProvider {\n constructor() {\n super(PROVIDER_NAME);\n }\n async connect(options) {\n super.connect(options);\n }\n subscribe(options, customUserAgentDetails) {\n return super.subscribe(options, customUserAgentDetails).pipe();\n }\n async publish(options, customUserAgentDetails) {\n super.publish(options, customUserAgentDetails);\n }\n async _prepareSubscriptionPayload({ options, subscriptionId, customUserAgentDetails, additionalCustomHeaders, libraryConfigHeaders, publish, }) {\n const { appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, } = options;\n // This will be needed for WS publish\n // const data = {\n // \tevents: [variables],\n // };\n const serializedData = JSON.stringify([variables]);\n const headers = {\n ...(await (0, authHeaders_1.awsRealTimeHeaderBasedAuth)({\n apiKey,\n appSyncGraphqlEndpoint,\n authenticationType,\n payload: serializedData,\n canonicalUri: '',\n region,\n additionalCustomHeaders,\n })),\n ...libraryConfigHeaders,\n ...additionalCustomHeaders,\n [utils_1.USER_AGENT_HEADER]: (0, utils_1.getAmplifyUserAgent)(customUserAgentDetails),\n };\n // Commented out code will be needed for WS publish\n const subscriptionMessage = {\n id: subscriptionId,\n channel: query,\n // events: [JSON.stringify(variables)],\n authorization: {\n ...headers,\n },\n // payload: {\n // \tevents: serializedData,\n // \textensions: {\n // \t\tauthorization: {\n // \t\t\t...headers,\n // \t\t},\n // \t},\n // },\n type: publish\n ? constants_1.MESSAGE_TYPES.EVENT_PUBLISH\n : constants_1.MESSAGE_TYPES.EVENT_SUBSCRIBE,\n };\n const serializedSubscriptionMessage = JSON.stringify(subscriptionMessage);\n return serializedSubscriptionMessage;\n }\n _handleSubscriptionData(message) {\n this.logger.debug(`subscription message from AWS AppSync Events: ${message.data}`);\n const { id = '', event: payload, type, } = JSON.parse(String(message.data));\n const { observer = null, query = '', variables = {}, } = this.subscriptionObserverMap.get(id) || {};\n this.logger.debug({ id, observer, query, variables });\n if (type === constants_1.MESSAGE_TYPES.DATA && payload) {\n const deserializedEvent = JSON.parse(payload);\n if (observer) {\n observer.next(deserializedEvent);\n }\n else {\n this.logger.debug(`observer not found for id: ${id}`);\n }\n return [true, { id, type, payload: deserializedEvent }];\n }\n return [false, { id, type, payload }];\n }\n _unsubscribeMessage(subscriptionId) {\n return {\n id: subscriptionId,\n type: constants_1.MESSAGE_TYPES.EVENT_STOP,\n };\n }\n}\nexports.AppSyncEventProvider = new AWSAppSyncEventProvider();\n"],"names":[],"mappings":"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"}