@aws-amplify/api-graphql 4.3.3 → 4.3.4-events.81620c6.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 (92) hide show
  1. package/dist/cjs/GraphQLAPI.js +15 -1
  2. package/dist/cjs/GraphQLAPI.js.map +1 -1
  3. package/dist/cjs/Providers/AWSAppSyncEventsProvider/index.js +88 -0
  4. package/dist/cjs/Providers/AWSAppSyncEventsProvider/index.js.map +1 -0
  5. package/dist/cjs/Providers/AWSAppSyncRealTimeProvider/index.js +32 -735
  6. package/dist/cjs/Providers/AWSAppSyncRealTimeProvider/index.js.map +1 -1
  7. package/dist/cjs/Providers/AWSWebSocketProvider/appsyncUrl.js +112 -0
  8. package/dist/cjs/Providers/AWSWebSocketProvider/appsyncUrl.js.map +1 -0
  9. package/dist/cjs/Providers/AWSWebSocketProvider/authHeaders.js +99 -0
  10. package/dist/cjs/Providers/AWSWebSocketProvider/authHeaders.js.map +1 -0
  11. package/dist/cjs/Providers/AWSWebSocketProvider/index.js +626 -0
  12. package/dist/cjs/Providers/AWSWebSocketProvider/index.js.map +1 -0
  13. package/dist/cjs/Providers/constants.js +22 -2
  14. package/dist/cjs/Providers/constants.js.map +1 -1
  15. package/dist/cjs/index.js +2 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/internals/InternalGraphQLAPI.js +8 -67
  18. package/dist/cjs/internals/InternalGraphQLAPI.js.map +1 -1
  19. package/dist/cjs/internals/events/appsyncRequest.js +97 -0
  20. package/dist/cjs/internals/events/appsyncRequest.js.map +1 -0
  21. package/dist/cjs/internals/events/index.js +109 -0
  22. package/dist/cjs/internals/events/index.js.map +1 -0
  23. package/dist/cjs/internals/graphqlAuth.js +64 -0
  24. package/dist/cjs/internals/graphqlAuth.js.map +1 -0
  25. package/dist/cjs/internals/graphqlRequest.js +20 -0
  26. package/dist/cjs/internals/graphqlRequest.js.map +1 -0
  27. package/dist/cjs/utils/ReconnectionMonitor.js +1 -1
  28. package/dist/cjs/utils/ReconnectionMonitor.js.map +1 -1
  29. package/dist/cjs/utils/resolveConfig.js +18 -1
  30. package/dist/cjs/utils/resolveConfig.js.map +1 -1
  31. package/dist/esm/GraphQLAPI.mjs +15 -1
  32. package/dist/esm/GraphQLAPI.mjs.map +1 -1
  33. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.d.ts +37 -0
  34. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.mjs +86 -0
  35. package/dist/esm/Providers/AWSAppSyncEventsProvider/index.mjs.map +1 -0
  36. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +20 -71
  37. package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.mjs +32 -735
  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 +79 -0
  46. package/dist/esm/Providers/AWSWebSocketProvider/index.mjs +624 -0
  47. package/dist/esm/Providers/AWSWebSocketProvider/index.mjs.map +1 -0
  48. package/dist/esm/Providers/constants.d.ts +23 -3
  49. package/dist/esm/Providers/constants.mjs +22 -2
  50. package/dist/esm/Providers/constants.mjs.map +1 -1
  51. package/dist/esm/index.d.ts +1 -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 +31 -0
  61. package/dist/esm/internals/events/index.mjs +105 -0
  62. package/dist/esm/internals/events/index.mjs.map +1 -0
  63. package/dist/esm/internals/graphqlAuth.d.ts +3 -0
  64. package/dist/esm/internals/graphqlAuth.mjs +64 -0
  65. package/dist/esm/internals/graphqlAuth.mjs.map +1 -0
  66. package/dist/esm/internals/graphqlRequest.d.ts +3 -0
  67. package/dist/esm/internals/graphqlRequest.mjs +18 -0
  68. package/dist/esm/internals/graphqlRequest.mjs.map +1 -0
  69. package/dist/esm/utils/ConnectionStateMonitor.d.ts +29 -1
  70. package/dist/esm/utils/ReconnectionMonitor.d.ts +1 -1
  71. package/dist/esm/utils/ReconnectionMonitor.mjs +1 -1
  72. package/dist/esm/utils/ReconnectionMonitor.mjs.map +1 -1
  73. package/dist/esm/utils/resolveConfig.d.ts +9 -0
  74. package/dist/esm/utils/resolveConfig.mjs +17 -1
  75. package/dist/esm/utils/resolveConfig.mjs.map +1 -1
  76. package/package.json +5 -5
  77. package/src/GraphQLAPI.ts +34 -3
  78. package/src/Providers/AWSAppSyncEventsProvider/index.ts +174 -0
  79. package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +52 -1055
  80. package/src/Providers/AWSWebSocketProvider/appsyncUrl.ts +151 -0
  81. package/src/Providers/AWSWebSocketProvider/authHeaders.ts +146 -0
  82. package/src/Providers/AWSWebSocketProvider/index.ts +923 -0
  83. package/src/Providers/constants.ts +22 -2
  84. package/src/index.ts +1 -0
  85. package/src/internals/InternalGraphQLAPI.ts +15 -102
  86. package/src/internals/events/appsyncRequest.ts +173 -0
  87. package/src/internals/events/index.ts +209 -0
  88. package/src/internals/graphqlAuth.ts +87 -0
  89. package/src/internals/graphqlRequest.ts +30 -0
  90. package/src/utils/ConnectionStateMonitor.ts +2 -13
  91. package/src/utils/ReconnectionMonitor.ts +1 -1
  92. package/src/utils/resolveConfig.ts +23 -0
@@ -3,7 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.GraphQLAPI = exports.GraphQLAPIClass = exports.graphqlOperation = void 0;
5
5
  const utils_1 = require("@aws-amplify/core/internals/utils");
6
+ const runtime_1 = require("@aws-amplify/data-schema/runtime");
6
7
  const InternalGraphQLAPI_1 = require("./internals/InternalGraphQLAPI");
8
+ function isGraphQLOptionsWithOverride(options) {
9
+ return runtime_1.INTERNAL_USER_AGENT_OVERRIDE in options;
10
+ }
7
11
  const graphqlOperation = (query, variables = {}, authToken) => ({
8
12
  query,
9
13
  variables,
@@ -25,9 +29,19 @@ class GraphQLAPIClass extends InternalGraphQLAPI_1.InternalGraphQLAPIClass {
25
29
  * @returns An Observable if the query is a subscription query, else a promise of the graphql result.
26
30
  */
27
31
  graphql(amplify, options, additionalHeaders) {
28
- return super.graphql(amplify, options, additionalHeaders, {
32
+ const userAgentDetails = {
29
33
  category: utils_1.Category.API,
30
34
  action: utils_1.ApiAction.GraphQl,
35
+ };
36
+ if (isGraphQLOptionsWithOverride(options)) {
37
+ const { [runtime_1.INTERNAL_USER_AGENT_OVERRIDE]: internalUserAgentOverride, ...cleanOptions } = options;
38
+ return super.graphql(amplify, cleanOptions, additionalHeaders, {
39
+ ...userAgentDetails,
40
+ ...internalUserAgentOverride,
41
+ });
42
+ }
43
+ return super.graphql(amplify, options, additionalHeaders, {
44
+ ...userAgentDetails,
31
45
  });
32
46
  }
33
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQLAPI.js","sources":["../../src/GraphQLAPI.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GraphQLAPI = exports.GraphQLAPIClass = exports.graphqlOperation = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst InternalGraphQLAPI_1 = require(\"./internals/InternalGraphQLAPI\");\nconst graphqlOperation = (query, variables = {}, authToken) => ({\n query,\n variables,\n authToken,\n});\nexports.graphqlOperation = graphqlOperation;\n/**\n * Export Cloud Logic APIs\n */\nclass GraphQLAPIClass extends InternalGraphQLAPI_1.InternalGraphQLAPIClass {\n getModuleName() {\n return 'GraphQLAPI';\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `libraryConfigHeaders` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, options, additionalHeaders) {\n return super.graphql(amplify, options, additionalHeaders, {\n category: utils_1.Category.API,\n action: utils_1.ApiAction.GraphQl,\n });\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param error - Any error\n * @returns A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return super.isCancelError(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return super.cancel(request, message);\n }\n}\nexports.GraphQLAPIClass = GraphQLAPIClass;\nexports.GraphQLAPI = new GraphQLAPIClass();\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;AACjF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,oBAAoB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AACvE,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,MAAM;AAChE,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC5C;AACA;AACA;AACA,MAAM,eAAe,SAAS,oBAAoB,CAAC,uBAAuB,CAAC;AAC3E,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO,YAAY,CAAC;AAC5B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;AACjD,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;AAClE,YAAY,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;AAC1C,YAAY,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;AAC7C,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AAC7B,QAAQ,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,KAAK;AACL,CAAC;AACD,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;AAC1C,OAAO,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE;;"}
1
+ {"version":3,"file":"GraphQLAPI.js","sources":["../../src/GraphQLAPI.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GraphQLAPI = exports.GraphQLAPIClass = exports.graphqlOperation = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst runtime_1 = require(\"@aws-amplify/data-schema/runtime\");\nconst InternalGraphQLAPI_1 = require(\"./internals/InternalGraphQLAPI\");\nfunction isGraphQLOptionsWithOverride(options) {\n return runtime_1.INTERNAL_USER_AGENT_OVERRIDE in options;\n}\nconst graphqlOperation = (query, variables = {}, authToken) => ({\n query,\n variables,\n authToken,\n});\nexports.graphqlOperation = graphqlOperation;\n/**\n * Export Cloud Logic APIs\n */\nclass GraphQLAPIClass extends InternalGraphQLAPI_1.InternalGraphQLAPIClass {\n getModuleName() {\n return 'GraphQLAPI';\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `libraryConfigHeaders` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, options, additionalHeaders) {\n const userAgentDetails = {\n category: utils_1.Category.API,\n action: utils_1.ApiAction.GraphQl,\n };\n if (isGraphQLOptionsWithOverride(options)) {\n const { [runtime_1.INTERNAL_USER_AGENT_OVERRIDE]: internalUserAgentOverride, ...cleanOptions } = options;\n return super.graphql(amplify, cleanOptions, additionalHeaders, {\n ...userAgentDetails,\n ...internalUserAgentOverride,\n });\n }\n return super.graphql(amplify, options, additionalHeaders, {\n ...userAgentDetails,\n });\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param error - Any error\n * @returns A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return super.isCancelError(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return super.cancel(request, message);\n }\n}\nexports.GraphQLAPIClass = GraphQLAPIClass;\nexports.GraphQLAPI = new GraphQLAPIClass();\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;AACjF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AACvE,SAAS,4BAA4B,CAAC,OAAO,EAAE;AAC/C,IAAI,OAAO,SAAS,CAAC,4BAA4B,IAAI,OAAO,CAAC;AAC7D,CAAC;AACD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,MAAM;AAChE,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC5C;AACA;AACA;AACA,MAAM,eAAe,SAAS,oBAAoB,CAAC,uBAAuB,CAAC;AAC3E,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO,YAAY,CAAC;AAC5B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;AACjD,QAAQ,MAAM,gBAAgB,GAAG;AACjC,YAAY,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;AAC1C,YAAY,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;AAC7C,SAAS,CAAC;AACV,QAAQ,IAAI,4BAA4B,CAAC,OAAO,CAAC,EAAE;AACnD,YAAY,MAAM,EAAE,CAAC,SAAS,CAAC,4BAA4B,GAAG,yBAAyB,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AACrH,YAAY,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE;AAC3E,gBAAgB,GAAG,gBAAgB;AACnC,gBAAgB,GAAG,yBAAyB;AAC5C,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;AAClE,YAAY,GAAG,gBAAgB;AAC/B,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AAC7B,QAAQ,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,KAAK;AACL,CAAC;AACD,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;AAC1C,OAAO,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE;;"}
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AWSAppSyncEventProvider = 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
+ }
87
+ exports.AWSAppSyncEventProvider = AWSAppSyncEventProvider;
88
+ //# 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.AWSAppSyncEventProvider = 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}\nexports.AWSAppSyncEventProvider = AWSAppSyncEventProvider;\n"],"names":[],"mappings":"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"}