@apollo/gateway 2.4.4 → 2.4.6

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 (176) hide show
  1. package/dist/__generated__/graphqlTypes.d.ts +178 -0
  2. package/dist/__generated__/graphqlTypes.d.ts.map +1 -0
  3. package/dist/__generated__/graphqlTypes.js +31 -0
  4. package/dist/__generated__/graphqlTypes.js.map +1 -0
  5. package/dist/config.d.ts +138 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +60 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/dataRewrites.d.ts +5 -0
  10. package/dist/dataRewrites.d.ts.map +1 -0
  11. package/dist/dataRewrites.js +103 -0
  12. package/dist/dataRewrites.js.map +1 -0
  13. package/dist/datasources/LocalGraphQLDataSource.d.ts +10 -0
  14. package/dist/datasources/LocalGraphQLDataSource.d.ts.map +1 -0
  15. package/dist/datasources/LocalGraphQLDataSource.js +31 -0
  16. package/dist/datasources/LocalGraphQLDataSource.js.map +1 -0
  17. package/dist/datasources/RemoteGraphQLDataSource.d.ts +24 -0
  18. package/dist/datasources/RemoteGraphQLDataSource.d.ts.map +1 -0
  19. package/dist/datasources/RemoteGraphQLDataSource.js +180 -0
  20. package/dist/datasources/RemoteGraphQLDataSource.js.map +1 -0
  21. package/dist/datasources/index.d.ts +4 -0
  22. package/dist/datasources/index.d.ts.map +1 -0
  23. package/dist/datasources/index.js +8 -0
  24. package/dist/datasources/index.js.map +1 -0
  25. package/dist/datasources/parseCacheControlHeader.d.ts +2 -0
  26. package/dist/datasources/parseCacheControlHeader.d.ts.map +1 -0
  27. package/dist/datasources/parseCacheControlHeader.js +16 -0
  28. package/dist/datasources/parseCacheControlHeader.js.map +1 -0
  29. package/dist/datasources/types.d.ts +23 -0
  30. package/dist/datasources/types.d.ts.map +1 -0
  31. package/dist/datasources/types.js +10 -0
  32. package/dist/datasources/types.js.map +1 -0
  33. package/dist/executeQueryPlan.d.ts +15 -0
  34. package/dist/executeQueryPlan.d.ts.map +1 -0
  35. package/dist/executeQueryPlan.js +539 -0
  36. package/dist/executeQueryPlan.js.map +1 -0
  37. package/dist/index.d.ts +113 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +590 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/logger.d.ts +3 -0
  42. package/dist/logger.d.ts.map +1 -0
  43. package/dist/logger.js +15 -0
  44. package/dist/logger.js.map +1 -0
  45. package/dist/operationContext.d.ts +17 -0
  46. package/dist/operationContext.d.ts.map +1 -0
  47. package/dist/operationContext.js +38 -0
  48. package/dist/operationContext.js.map +1 -0
  49. package/dist/resultShaping.d.ts +12 -0
  50. package/dist/resultShaping.d.ts.map +1 -0
  51. package/dist/resultShaping.js +229 -0
  52. package/dist/resultShaping.js.map +1 -0
  53. package/dist/schema-helper/addExtensions.d.ts +3 -0
  54. package/dist/schema-helper/addExtensions.d.ts.map +1 -0
  55. package/dist/schema-helper/addExtensions.js +23 -0
  56. package/dist/schema-helper/addExtensions.js.map +1 -0
  57. package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts +31 -0
  58. package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts.map +1 -0
  59. package/dist/supergraphManagers/IntrospectAndCompose/index.js +112 -0
  60. package/dist/supergraphManagers/IntrospectAndCompose/index.js.map +1 -0
  61. package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts +12 -0
  62. package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts.map +1 -0
  63. package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js +57 -0
  64. package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js.map +1 -0
  65. package/dist/supergraphManagers/LegacyFetcher/index.d.ts +33 -0
  66. package/dist/supergraphManagers/LegacyFetcher/index.d.ts.map +1 -0
  67. package/dist/supergraphManagers/LegacyFetcher/index.js +149 -0
  68. package/dist/supergraphManagers/LegacyFetcher/index.js.map +1 -0
  69. package/dist/supergraphManagers/LocalCompose/index.d.ts +19 -0
  70. package/dist/supergraphManagers/LocalCompose/index.d.ts.map +1 -0
  71. package/dist/supergraphManagers/LocalCompose/index.js +55 -0
  72. package/dist/supergraphManagers/LocalCompose/index.js.map +1 -0
  73. package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts +63 -0
  74. package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts.map +1 -0
  75. package/dist/supergraphManagers/UplinkSupergraphManager/index.js +210 -0
  76. package/dist/supergraphManagers/UplinkSupergraphManager/index.js.map +1 -0
  77. package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts +30 -0
  78. package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts.map +1 -0
  79. package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js +145 -0
  80. package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js.map +1 -0
  81. package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts +14 -0
  82. package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts.map +1 -0
  83. package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js +85 -0
  84. package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js.map +1 -0
  85. package/dist/supergraphManagers/index.d.ts +6 -0
  86. package/dist/supergraphManagers/index.d.ts.map +1 -0
  87. package/dist/supergraphManagers/index.js +27 -0
  88. package/dist/supergraphManagers/index.js.map +1 -0
  89. package/dist/typings/graphql.d.ts +11 -0
  90. package/dist/typings/graphql.d.ts.map +1 -0
  91. package/dist/typings/graphql.js +3 -0
  92. package/dist/typings/graphql.js.map +1 -0
  93. package/dist/utilities/array.d.ts +5 -0
  94. package/dist/utilities/array.d.ts.map +1 -0
  95. package/dist/utilities/array.js +46 -0
  96. package/dist/utilities/array.js.map +1 -0
  97. package/dist/utilities/assert.d.ts +2 -0
  98. package/dist/utilities/assert.d.ts.map +1 -0
  99. package/dist/utilities/assert.js +10 -0
  100. package/dist/utilities/assert.js.map +1 -0
  101. package/dist/utilities/deepMerge.d.ts +2 -0
  102. package/dist/utilities/deepMerge.d.ts.map +1 -0
  103. package/dist/utilities/deepMerge.js +34 -0
  104. package/dist/utilities/deepMerge.js.map +1 -0
  105. package/dist/utilities/graphql.d.ts +5 -0
  106. package/dist/utilities/graphql.d.ts.map +1 -0
  107. package/dist/utilities/graphql.js +28 -0
  108. package/dist/utilities/graphql.js.map +1 -0
  109. package/dist/utilities/opentelemetry.d.ts +10 -0
  110. package/dist/utilities/opentelemetry.d.ts.map +1 -0
  111. package/dist/utilities/opentelemetry.js +19 -0
  112. package/dist/utilities/opentelemetry.js.map +1 -0
  113. package/dist/utilities/predicates.d.ts +2 -0
  114. package/dist/utilities/predicates.d.ts.map +1 -0
  115. package/dist/utilities/predicates.js +11 -0
  116. package/dist/utilities/predicates.js.map +1 -0
  117. package/package.json +4 -4
  118. package/src/__generated__/graphqlTypes.ts +33 -2
  119. package/src/__mocks__/tsconfig.json +0 -7
  120. package/src/__tests__/.gitkeep +0 -0
  121. package/src/__tests__/CucumberREADME.md +0 -96
  122. package/src/__tests__/build-query-plan.feature +0 -1471
  123. package/src/__tests__/buildQueryPlan.test.ts +0 -1225
  124. package/src/__tests__/executeQueryPlan.conditions.test.ts +0 -1488
  125. package/src/__tests__/executeQueryPlan.introspection.test.ts +0 -140
  126. package/src/__tests__/executeQueryPlan.test.ts +0 -6140
  127. package/src/__tests__/execution-utils.ts +0 -124
  128. package/src/__tests__/gateway/__snapshots__/opentelemetry.test.ts.snap +0 -195
  129. package/src/__tests__/gateway/buildService.test.ts +0 -249
  130. package/src/__tests__/gateway/endToEnd.test.ts +0 -486
  131. package/src/__tests__/gateway/executor.test.ts +0 -96
  132. package/src/__tests__/gateway/extensions.test.ts +0 -37
  133. package/src/__tests__/gateway/lifecycle-hooks.test.ts +0 -239
  134. package/src/__tests__/gateway/opentelemetry.test.ts +0 -123
  135. package/src/__tests__/gateway/queryPlanCache.test.ts +0 -231
  136. package/src/__tests__/gateway/queryPlannerConfig.test.ts +0 -101
  137. package/src/__tests__/gateway/reporting.test.ts +0 -616
  138. package/src/__tests__/gateway/supergraphSdl.test.ts +0 -396
  139. package/src/__tests__/gateway/testUtils.ts +0 -89
  140. package/src/__tests__/integration/abstract-types.test.ts +0 -1861
  141. package/src/__tests__/integration/aliases.test.ts +0 -180
  142. package/src/__tests__/integration/boolean.test.ts +0 -279
  143. package/src/__tests__/integration/complex-key.test.ts +0 -197
  144. package/src/__tests__/integration/configuration.test.ts +0 -404
  145. package/src/__tests__/integration/custom-directives.test.ts +0 -174
  146. package/src/__tests__/integration/execution-style.test.ts +0 -35
  147. package/src/__tests__/integration/fragments.test.ts +0 -237
  148. package/src/__tests__/integration/list-key.test.ts +0 -128
  149. package/src/__tests__/integration/logger.test.ts +0 -122
  150. package/src/__tests__/integration/managed.test.ts +0 -319
  151. package/src/__tests__/integration/merge-arrays.test.ts +0 -34
  152. package/src/__tests__/integration/multiple-key.test.ts +0 -327
  153. package/src/__tests__/integration/mutations.test.ts +0 -287
  154. package/src/__tests__/integration/networkRequests.test.ts +0 -542
  155. package/src/__tests__/integration/nockMocks.ts +0 -157
  156. package/src/__tests__/integration/provides.test.ts +0 -77
  157. package/src/__tests__/integration/requires.test.ts +0 -359
  158. package/src/__tests__/integration/scope.test.ts +0 -557
  159. package/src/__tests__/integration/single-service.test.ts +0 -119
  160. package/src/__tests__/integration/unions.test.ts +0 -79
  161. package/src/__tests__/integration/value-types.test.ts +0 -382
  162. package/src/__tests__/integration/variables.test.ts +0 -120
  163. package/src/__tests__/nockAssertions.ts +0 -20
  164. package/src/__tests__/queryPlanCucumber.test.ts +0 -55
  165. package/src/__tests__/resultShaping.test.ts +0 -605
  166. package/src/__tests__/testSetup.ts +0 -1
  167. package/src/__tests__/tsconfig.json +0 -8
  168. package/src/core/__tests__/core.test.ts +0 -412
  169. package/src/datasources/__tests__/LocalGraphQLDataSource.test.ts +0 -51
  170. package/src/datasources/__tests__/RemoteGraphQLDataSource.test.ts +0 -574
  171. package/src/schema-helper/__tests__/addExtensions.test.ts +0 -70
  172. package/src/supergraphManagers/IntrospectAndCompose/__tests__/IntrospectAndCompose.test.ts +0 -364
  173. package/src/supergraphManagers/IntrospectAndCompose/__tests__/loadServicesFromRemoteEndpoint.test.ts +0 -40
  174. package/src/supergraphManagers/UplinkSupergraphManager/__tests__/UplinkSupergraphManager.test.ts +0 -65
  175. package/src/supergraphManagers/UplinkSupergraphManager/__tests__/loadSupergraphSdlFromStorage.test.ts +0 -511
  176. package/src/utilities/__tests__/deepMerge.test.ts +0 -77
@@ -0,0 +1,178 @@
1
+ export type Maybe<T> = T | null;
2
+ export type InputMaybe<T> = Maybe<T>;
3
+ export type Exact<T extends {
4
+ [key: string]: unknown;
5
+ }> = {
6
+ [K in keyof T]: T[K];
7
+ };
8
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
9
+ [SubKey in K]?: Maybe<T[SubKey]>;
10
+ };
11
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
12
+ [SubKey in K]: Maybe<T[SubKey]>;
13
+ };
14
+ export type Scalars = {
15
+ ID: string;
16
+ String: string;
17
+ Boolean: boolean;
18
+ Int: number;
19
+ Float: number;
20
+ Timestamp: any;
21
+ };
22
+ export type ApiMonitoringReport = {
23
+ endedAt: Scalars['Timestamp'];
24
+ error: Error;
25
+ request: Request;
26
+ response?: InputMaybe<Response>;
27
+ startedAt: Scalars['Timestamp'];
28
+ tags?: InputMaybe<Array<Scalars['String']>>;
29
+ };
30
+ export type Error = {
31
+ code: ErrorCode;
32
+ message?: InputMaybe<Scalars['String']>;
33
+ };
34
+ export declare enum ErrorCode {
35
+ ConnectionFailed = "CONNECTION_FAILED",
36
+ InvalidBody = "INVALID_BODY",
37
+ Other = "OTHER",
38
+ Timeout = "TIMEOUT",
39
+ UnexpectedResponse = "UNEXPECTED_RESPONSE"
40
+ }
41
+ export type FetchError = {
42
+ __typename?: 'FetchError';
43
+ code: FetchErrorCode;
44
+ message: Scalars['String'];
45
+ minDelaySeconds: Scalars['Float'];
46
+ };
47
+ export declare enum FetchErrorCode {
48
+ AccessDenied = "ACCESS_DENIED",
49
+ AuthenticationFailed = "AUTHENTICATION_FAILED",
50
+ NotImplementedOnThisInstance = "NOT_IMPLEMENTED_ON_THIS_INSTANCE",
51
+ RetryLater = "RETRY_LATER",
52
+ UnknownRef = "UNKNOWN_REF"
53
+ }
54
+ export type HttpHeader = {
55
+ name: Scalars['String'];
56
+ value?: InputMaybe<Scalars['String']>;
57
+ };
58
+ export type Message = {
59
+ __typename?: 'Message';
60
+ body: Scalars['String'];
61
+ level: MessageLevel;
62
+ };
63
+ export declare enum MessageLevel {
64
+ Error = "ERROR",
65
+ Info = "INFO",
66
+ Warn = "WARN"
67
+ }
68
+ export type Mutation = {
69
+ __typename?: 'Mutation';
70
+ reportError: Scalars['Boolean'];
71
+ };
72
+ export type MutationReportErrorArgs = {
73
+ report?: InputMaybe<ApiMonitoringReport>;
74
+ };
75
+ export type PersistedQueriesChunk = {
76
+ __typename?: 'PersistedQueriesChunk';
77
+ id: Scalars['ID'];
78
+ urls: Array<Scalars['String']>;
79
+ };
80
+ export type PersistedQueriesResponse = FetchError | PersistedQueriesResult | Unchanged;
81
+ export type PersistedQueriesResult = {
82
+ __typename?: 'PersistedQueriesResult';
83
+ chunks?: Maybe<Array<PersistedQueriesChunk>>;
84
+ id: Scalars['ID'];
85
+ minDelaySeconds: Scalars['Float'];
86
+ };
87
+ export type Query = {
88
+ __typename?: 'Query';
89
+ _empty?: Maybe<Scalars['String']>;
90
+ persistedQueries: PersistedQueriesResponse;
91
+ routerConfig: RouterConfigResponse;
92
+ routerEntitlements: RouterEntitlementsResponse;
93
+ };
94
+ export type QueryPersistedQueriesArgs = {
95
+ apiKey: Scalars['String'];
96
+ ifAfterId?: InputMaybe<Scalars['ID']>;
97
+ ref: Scalars['String'];
98
+ };
99
+ export type QueryRouterConfigArgs = {
100
+ apiKey: Scalars['String'];
101
+ ifAfterId?: InputMaybe<Scalars['ID']>;
102
+ ref: Scalars['String'];
103
+ };
104
+ export type QueryRouterEntitlementsArgs = {
105
+ apiKey: Scalars['String'];
106
+ ifAfterId?: InputMaybe<Scalars['ID']>;
107
+ ref: Scalars['String'];
108
+ };
109
+ export type Request = {
110
+ body?: InputMaybe<Scalars['String']>;
111
+ headers?: InputMaybe<Array<HttpHeader>>;
112
+ url: Scalars['String'];
113
+ };
114
+ export type Response = {
115
+ body?: InputMaybe<Scalars['String']>;
116
+ headers?: InputMaybe<Array<HttpHeader>>;
117
+ httpStatusCode: Scalars['Int'];
118
+ };
119
+ export type RouterConfigResponse = FetchError | RouterConfigResult | Unchanged;
120
+ export type RouterConfigResult = {
121
+ __typename?: 'RouterConfigResult';
122
+ id: Scalars['ID'];
123
+ messages: Array<Message>;
124
+ minDelaySeconds: Scalars['Float'];
125
+ supergraphSDL: Scalars['String'];
126
+ };
127
+ export type RouterEntitlement = {
128
+ __typename?: 'RouterEntitlement';
129
+ audience: Array<RouterEntitlementAudience>;
130
+ haltAt?: Maybe<Scalars['Timestamp']>;
131
+ jwt: Scalars['String'];
132
+ subject: Scalars['String'];
133
+ warnAt?: Maybe<Scalars['Timestamp']>;
134
+ };
135
+ export declare enum RouterEntitlementAudience {
136
+ Cloud = "CLOUD",
137
+ SelfHosted = "SELF_HOSTED"
138
+ }
139
+ export type RouterEntitlementsResponse = FetchError | RouterEntitlementsResult | Unchanged;
140
+ export type RouterEntitlementsResult = {
141
+ __typename?: 'RouterEntitlementsResult';
142
+ entitlement?: Maybe<RouterEntitlement>;
143
+ id: Scalars['ID'];
144
+ minDelaySeconds: Scalars['Float'];
145
+ };
146
+ export type Unchanged = {
147
+ __typename?: 'Unchanged';
148
+ id: Scalars['ID'];
149
+ minDelaySeconds: Scalars['Float'];
150
+ };
151
+ export type SupergraphSdlQueryVariables = Exact<{
152
+ apiKey: Scalars['String'];
153
+ ref: Scalars['String'];
154
+ ifAfterId?: InputMaybe<Scalars['ID']>;
155
+ }>;
156
+ export type SupergraphSdlQuery = {
157
+ __typename?: 'Query';
158
+ routerConfig: {
159
+ __typename: 'FetchError';
160
+ code: FetchErrorCode;
161
+ message: string;
162
+ } | {
163
+ __typename: 'RouterConfigResult';
164
+ id: string;
165
+ minDelaySeconds: number;
166
+ supergraphSdl: string;
167
+ } | {
168
+ __typename: 'Unchanged';
169
+ };
170
+ };
171
+ export type OobReportMutationVariables = Exact<{
172
+ input?: InputMaybe<ApiMonitoringReport>;
173
+ }>;
174
+ export type OobReportMutation = {
175
+ __typename?: 'Mutation';
176
+ reportError: boolean;
177
+ };
178
+ //# sourceMappingURL=graphqlTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphqlTypes.d.ts","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RouterEntitlementAudience = exports.MessageLevel = exports.FetchErrorCode = exports.ErrorCode = void 0;
4
+ var ErrorCode;
5
+ (function (ErrorCode) {
6
+ ErrorCode["ConnectionFailed"] = "CONNECTION_FAILED";
7
+ ErrorCode["InvalidBody"] = "INVALID_BODY";
8
+ ErrorCode["Other"] = "OTHER";
9
+ ErrorCode["Timeout"] = "TIMEOUT";
10
+ ErrorCode["UnexpectedResponse"] = "UNEXPECTED_RESPONSE";
11
+ })(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {}));
12
+ var FetchErrorCode;
13
+ (function (FetchErrorCode) {
14
+ FetchErrorCode["AccessDenied"] = "ACCESS_DENIED";
15
+ FetchErrorCode["AuthenticationFailed"] = "AUTHENTICATION_FAILED";
16
+ FetchErrorCode["NotImplementedOnThisInstance"] = "NOT_IMPLEMENTED_ON_THIS_INSTANCE";
17
+ FetchErrorCode["RetryLater"] = "RETRY_LATER";
18
+ FetchErrorCode["UnknownRef"] = "UNKNOWN_REF";
19
+ })(FetchErrorCode = exports.FetchErrorCode || (exports.FetchErrorCode = {}));
20
+ var MessageLevel;
21
+ (function (MessageLevel) {
22
+ MessageLevel["Error"] = "ERROR";
23
+ MessageLevel["Info"] = "INFO";
24
+ MessageLevel["Warn"] = "WARN";
25
+ })(MessageLevel = exports.MessageLevel || (exports.MessageLevel = {}));
26
+ var RouterEntitlementAudience;
27
+ (function (RouterEntitlementAudience) {
28
+ RouterEntitlementAudience["Cloud"] = "CLOUD";
29
+ RouterEntitlementAudience["SelfHosted"] = "SELF_HOSTED";
30
+ })(RouterEntitlementAudience = exports.RouterEntitlementAudience || (exports.RouterEntitlementAudience = {}));
31
+ //# sourceMappingURL=graphqlTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphqlTypes.js","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":";;;AAkCA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,mDAAsC,CAAA;IACtC,yCAA4B,CAAA;IAC5B,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,uDAA0C,CAAA;AAC5C,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB;AAUD,IAAY,cAWX;AAXD,WAAY,cAAc;IAExB,gDAA8B,CAAA;IAE9B,gEAA8C,CAAA;IAE9C,mFAAiE,CAAA;IAEjE,4CAA0B,CAAA;IAE1B,4CAA0B,CAAA;AAC5B,CAAC,EAXW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAWzB;AAaD,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAwGD,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,4CAAe,CAAA;IACf,uDAA0B,CAAA;AAC5B,CAAC,EAHW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAGpC"}
@@ -0,0 +1,138 @@
1
+ import { GraphQLError, GraphQLSchema } from 'graphql';
2
+ import type { HeadersInit } from 'node-fetch';
3
+ import { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
4
+ import type { Logger } from '@apollo/utils.logger';
5
+ import { GraphQLDataSource } from './datasources/types';
6
+ import { QueryPlan, QueryPlannerConfig } from '@apollo/query-planner';
7
+ import { OperationContext } from './operationContext';
8
+ import { ServiceMap } from './executeQueryPlan';
9
+ import { ServiceDefinition } from "@apollo/federation-internals";
10
+ import { Fetcher } from '@apollo/utils.fetcher';
11
+ export type ServiceEndpointDefinition = Pick<ServiceDefinition, 'name' | 'url'>;
12
+ export type Experimental_DidResolveQueryPlanCallback = ({ queryPlan, serviceMap, operationContext, requestContext, }: {
13
+ readonly queryPlan: QueryPlan;
14
+ readonly serviceMap: ServiceMap;
15
+ readonly operationContext: OperationContext;
16
+ readonly requestContext: GatewayGraphQLRequestContext;
17
+ }) => void;
18
+ interface ImplementingServiceLocation {
19
+ name: string;
20
+ path: string;
21
+ }
22
+ export interface CompositionMetadata {
23
+ formatVersion: number;
24
+ id: string;
25
+ implementingServiceLocations: ImplementingServiceLocation[];
26
+ schemaHash: string;
27
+ }
28
+ export type Experimental_DidFailCompositionCallback = ({ errors, serviceList, compositionMetadata, }: {
29
+ readonly errors: GraphQLError[];
30
+ readonly serviceList: ServiceDefinition[];
31
+ readonly compositionMetadata?: CompositionMetadata;
32
+ }) => void;
33
+ export interface ServiceDefinitionCompositionInfo {
34
+ serviceDefinitions: ServiceDefinition[];
35
+ schema: GraphQLSchema;
36
+ compositionMetadata?: CompositionMetadata;
37
+ }
38
+ export interface SupergraphSdlCompositionInfo {
39
+ schema: GraphQLSchema;
40
+ compositionId: string;
41
+ supergraphSdl: string;
42
+ }
43
+ export type CompositionInfo = ServiceDefinitionCompositionInfo | SupergraphSdlCompositionInfo;
44
+ export type Experimental_DidUpdateSupergraphCallback = (currentConfig: CompositionInfo, previousConfig?: CompositionInfo) => void;
45
+ export type CompositionUpdate = ServiceDefinitionUpdate | SupergraphSdlUpdate;
46
+ export interface ServiceDefinitionUpdate {
47
+ serviceDefinitions?: ServiceDefinition[];
48
+ compositionMetadata?: CompositionMetadata;
49
+ isNewSchema: boolean;
50
+ }
51
+ export interface SupergraphSdlUpdate {
52
+ id: string;
53
+ supergraphSdl: string;
54
+ minDelaySeconds?: number;
55
+ }
56
+ export declare function isSupergraphSdlUpdate(update: CompositionUpdate): update is SupergraphSdlUpdate;
57
+ export declare function isServiceDefinitionUpdate(update: CompositionUpdate): update is ServiceDefinitionUpdate;
58
+ export type Experimental_UpdateServiceDefinitions = (config: DynamicGatewayConfig) => Promise<ServiceDefinitionUpdate>;
59
+ export type Experimental_UpdateSupergraphSdl = (config: DynamicGatewayConfig) => Promise<SupergraphSdlUpdate>;
60
+ export type Experimental_UpdateComposition = (config: DynamicGatewayConfig) => Promise<CompositionUpdate>;
61
+ interface GatewayConfigBase {
62
+ debug?: boolean;
63
+ logger?: Logger;
64
+ __exposeQueryPlanExperimental?: boolean;
65
+ buildService?: (definition: ServiceEndpointDefinition) => GraphQLDataSource;
66
+ experimental_didResolveQueryPlan?: Experimental_DidResolveQueryPlanCallback;
67
+ experimental_didUpdateSupergraph?: Experimental_DidUpdateSupergraphCallback;
68
+ experimental_approximateQueryPlanStoreMiB?: number;
69
+ experimental_autoFragmentization?: boolean;
70
+ fetcher?: Fetcher;
71
+ serviceHealthCheck?: boolean;
72
+ queryPlannerConfig?: QueryPlannerConfig;
73
+ }
74
+ export interface ServiceListGatewayConfig extends GatewayConfigBase {
75
+ serviceList: ServiceEndpointDefinition[];
76
+ introspectionHeaders?: HeadersInit | ((service: ServiceEndpointDefinition) => Promise<HeadersInit> | HeadersInit);
77
+ pollIntervalInMs?: number;
78
+ }
79
+ export interface ManagedGatewayConfig extends GatewayConfigBase {
80
+ schemaConfigDeliveryEndpoint?: string;
81
+ uplinkEndpoints?: string[];
82
+ uplinkMaxRetries?: number;
83
+ pollIntervalInMs?: number;
84
+ fallbackPollIntervalInMs?: number;
85
+ }
86
+ interface ManuallyManagedServiceDefsGatewayConfig extends GatewayConfigBase {
87
+ experimental_updateServiceDefinitions: Experimental_UpdateServiceDefinitions;
88
+ pollIntervalInMs?: number;
89
+ }
90
+ interface ExperimentalManuallyManagedSupergraphSdlGatewayConfig extends GatewayConfigBase {
91
+ experimental_updateSupergraphSdl: Experimental_UpdateSupergraphSdl;
92
+ pollIntervalInMs?: number;
93
+ }
94
+ export declare function isManuallyManagedSupergraphSdlGatewayConfig(config: GatewayConfig): config is ManuallyManagedSupergraphSdlGatewayConfig;
95
+ export type SupergraphSdlUpdateFunction = (updatedSupergraphSdl: string) => void;
96
+ export type SubgraphHealthCheckFunction = (supergraphSdl: string) => Promise<void>;
97
+ export type GetDataSourceFunction = ({ name, url, }: ServiceEndpointDefinition) => GraphQLDataSource;
98
+ export interface SupergraphSdlHookOptions {
99
+ update: SupergraphSdlUpdateFunction;
100
+ healthCheck: SubgraphHealthCheckFunction;
101
+ getDataSource: GetDataSourceFunction;
102
+ }
103
+ export interface SupergraphSdlHook {
104
+ (options: SupergraphSdlHookOptions): Promise<{
105
+ supergraphSdl: string;
106
+ cleanup?: () => Promise<void>;
107
+ }>;
108
+ }
109
+ export interface SupergraphManager {
110
+ initialize: SupergraphSdlHook;
111
+ }
112
+ type ManuallyManagedSupergraphSdlGatewayConfig = SupergraphSdlHookGatewayConfig | SupergraphManagerGatewayConfig;
113
+ export interface SupergraphSdlHookGatewayConfig extends GatewayConfigBase {
114
+ supergraphSdl: SupergraphSdlHook;
115
+ }
116
+ export interface SupergraphManagerGatewayConfig extends GatewayConfigBase {
117
+ supergraphSdl: SupergraphManager;
118
+ }
119
+ type ManuallyManagedGatewayConfig = ManuallyManagedServiceDefsGatewayConfig | ExperimentalManuallyManagedSupergraphSdlGatewayConfig | ManuallyManagedSupergraphSdlGatewayConfig | ServiceListGatewayConfig;
120
+ interface LocalGatewayConfig extends GatewayConfigBase {
121
+ localServiceList: ServiceDefinition[];
122
+ }
123
+ interface StaticSupergraphSdlGatewayConfig extends GatewayConfigBase {
124
+ supergraphSdl: string;
125
+ }
126
+ export type StaticGatewayConfig = LocalGatewayConfig | StaticSupergraphSdlGatewayConfig;
127
+ export type DynamicGatewayConfig = ManagedGatewayConfig | ManuallyManagedGatewayConfig;
128
+ export type GatewayConfig = StaticGatewayConfig | DynamicGatewayConfig;
129
+ export declare function isLocalConfig(config: GatewayConfig): config is LocalGatewayConfig;
130
+ export declare function isServiceListConfig(config: GatewayConfig): config is ServiceListGatewayConfig;
131
+ export declare function isStaticSupergraphSdlConfig(config: GatewayConfig): config is StaticSupergraphSdlGatewayConfig;
132
+ export declare function isSupergraphSdlHookConfig(config: GatewayConfig): config is SupergraphSdlHookGatewayConfig;
133
+ export declare function isSupergraphManagerConfig(config: GatewayConfig): config is SupergraphManagerGatewayConfig;
134
+ export declare function isManuallyManagedConfig(config: GatewayConfig): config is ManuallyManagedGatewayConfig;
135
+ export declare function isManagedConfig(config: GatewayConfig): config is ManagedGatewayConfig;
136
+ export declare function isStaticConfig(config: GatewayConfig): config is StaticGatewayConfig;
137
+ export {};
138
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js ADDED
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStaticConfig = exports.isManagedConfig = exports.isManuallyManagedConfig = exports.isSupergraphManagerConfig = exports.isSupergraphSdlHookConfig = exports.isStaticSupergraphSdlConfig = exports.isServiceListConfig = exports.isLocalConfig = exports.isManuallyManagedSupergraphSdlGatewayConfig = exports.isServiceDefinitionUpdate = exports.isSupergraphSdlUpdate = void 0;
4
+ const supergraphManagers_1 = require("./supergraphManagers");
5
+ function isSupergraphSdlUpdate(update) {
6
+ return 'supergraphSdl' in update;
7
+ }
8
+ exports.isSupergraphSdlUpdate = isSupergraphSdlUpdate;
9
+ function isServiceDefinitionUpdate(update) {
10
+ return 'isNewSchema' in update;
11
+ }
12
+ exports.isServiceDefinitionUpdate = isServiceDefinitionUpdate;
13
+ function isManuallyManagedSupergraphSdlGatewayConfig(config) {
14
+ return isSupergraphSdlHookConfig(config) || isSupergraphManagerConfig(config);
15
+ }
16
+ exports.isManuallyManagedSupergraphSdlGatewayConfig = isManuallyManagedSupergraphSdlGatewayConfig;
17
+ function isLocalConfig(config) {
18
+ return 'localServiceList' in config;
19
+ }
20
+ exports.isLocalConfig = isLocalConfig;
21
+ function isServiceListConfig(config) {
22
+ return 'serviceList' in config;
23
+ }
24
+ exports.isServiceListConfig = isServiceListConfig;
25
+ function isStaticSupergraphSdlConfig(config) {
26
+ return 'supergraphSdl' in config && typeof config.supergraphSdl === 'string';
27
+ }
28
+ exports.isStaticSupergraphSdlConfig = isStaticSupergraphSdlConfig;
29
+ function isSupergraphSdlHookConfig(config) {
30
+ return ('supergraphSdl' in config && typeof config.supergraphSdl === 'function');
31
+ }
32
+ exports.isSupergraphSdlHookConfig = isSupergraphSdlHookConfig;
33
+ function isSupergraphManagerConfig(config) {
34
+ return ('supergraphSdl' in config &&
35
+ typeof config.supergraphSdl === 'object' &&
36
+ 'initialize' in config.supergraphSdl);
37
+ }
38
+ exports.isSupergraphManagerConfig = isSupergraphManagerConfig;
39
+ function isManuallyManagedConfig(config) {
40
+ return (isManuallyManagedSupergraphSdlGatewayConfig(config) ||
41
+ 'experimental_updateServiceDefinitions' in config ||
42
+ 'experimental_updateSupergraphSdl' in config ||
43
+ isServiceListConfig(config));
44
+ }
45
+ exports.isManuallyManagedConfig = isManuallyManagedConfig;
46
+ function isManagedConfig(config) {
47
+ return ('schemaConfigDeliveryEndpoint' in config ||
48
+ 'uplinkEndpoints' in config ||
49
+ 'fallbackPollIntervalInMs' in config ||
50
+ (isSupergraphManagerConfig(config) && config.supergraphSdl instanceof supergraphManagers_1.UplinkSupergraphManager) ||
51
+ (!isLocalConfig(config) &&
52
+ !isStaticSupergraphSdlConfig(config) &&
53
+ !isManuallyManagedConfig(config)));
54
+ }
55
+ exports.isManagedConfig = isManagedConfig;
56
+ function isStaticConfig(config) {
57
+ return isLocalConfig(config) || isStaticSupergraphSdlConfig(config);
58
+ }
59
+ exports.isStaticConfig = isStaticConfig;
60
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAUA,6DAA+D;AAyE/D,SAAgB,qBAAqB,CACnC,MAAyB;IAEzB,OAAO,eAAe,IAAI,MAAM,CAAC;AACnC,CAAC;AAJD,sDAIC;AAED,SAAgB,yBAAyB,CACvC,MAAyB;IAEzB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,8DAIC;AAmGD,SAAgB,2CAA2C,CACzD,MAAqB;IAErB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC;AAJD,kGAIC;AAyED,SAAgB,aAAa,CAC3B,MAAqB;IAErB,OAAO,kBAAkB,IAAI,MAAM,CAAC;AACtC,CAAC;AAJD,sCAIC;AAGD,SAAgB,mBAAmB,CACjC,MAAqB;IAErB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,kDAIC;AAED,SAAgB,2BAA2B,CACzC,MAAqB;IAErB,OAAO,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAJD,kEAIC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,CACxE,CAAC;AACJ,CAAC;AAND,8DAMC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM;QACzB,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,YAAY,IAAI,MAAM,CAAC,aAAa,CACrC,CAAC;AACJ,CAAC;AARD,8DAQC;AAID,SAAgB,uBAAuB,CACrC,MAAqB;IAErB,OAAO,CACL,2CAA2C,CAAC,MAAM,CAAC;QACnD,uCAAuC,IAAI,MAAM;QACjD,kCAAkC,IAAI,MAAM;QAE5C,mBAAmB,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAVD,0DAUC;AAGD,SAAgB,eAAe,CAC7B,MAAqB;IAErB,OAAO,CACL,8BAA8B,IAAI,MAAM;QACxC,iBAAiB,IAAI,MAAM;QAC3B,0BAA0B,IAAI,MAAM;QACpC,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,YAAY,4CAAuB,CAAC;QAC9F,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;YACrB,CAAC,2BAA2B,CAAC,MAAM,CAAC;YACpC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAZD,0CAYC;AAGD,SAAgB,cAAc,CAC5B,MAAqB;IAErB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAJD,wCAIC"}
@@ -0,0 +1,5 @@
1
+ import { FetchDataRewrite } from "@apollo/query-planner";
2
+ import { GraphQLSchema } from "graphql";
3
+ export declare function applyRewrites(schema: GraphQLSchema, rewrites: FetchDataRewrite[] | undefined, value: Record<string, any>): void;
4
+ export declare function isObjectOfType(schema: GraphQLSchema, obj: Record<string, any>, typeCondition: string, defaultOnUnknownObjectType?: boolean): boolean;
5
+ //# sourceMappingURL=dataRewrites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRewrites.d.ts","sourceRoot":"","sources":["../src/dataRewrites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAiD,MAAM,SAAS,CAAC;AAIvF,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAQzH;AAqFD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,aAAa,EAAE,MAAM,EACrB,0BAA0B,GAAE,OAAe,GAC1C,OAAO,CAyBT"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isObjectOfType = exports.applyRewrites = void 0;
4
+ const federation_internals_1 = require("@apollo/federation-internals");
5
+ const graphql_1 = require("graphql");
6
+ const FRAGMENT_PREFIX = '... on ';
7
+ function applyRewrites(schema, rewrites, value) {
8
+ if (!rewrites) {
9
+ return;
10
+ }
11
+ for (const rewrite of rewrites) {
12
+ applyRewrite(schema, rewrite, value);
13
+ }
14
+ }
15
+ exports.applyRewrites = applyRewrites;
16
+ function applyRewrite(schema, rewrite, value) {
17
+ const splitted = splitPathLastElement(rewrite.path);
18
+ if (!splitted) {
19
+ return;
20
+ }
21
+ const [parent, last] = splitted;
22
+ const { kind, value: fieldName } = parsePathElement(last);
23
+ (0, federation_internals_1.assert)(kind === 'fieldName', () => `Unexpected fragment as last element of ${rewrite.path}`);
24
+ applyAtPath(schema, parent, value, rewriteAtPathFunction(rewrite, fieldName));
25
+ }
26
+ function rewriteAtPathFunction(rewrite, fieldAtPath) {
27
+ switch (rewrite.kind) {
28
+ case 'ValueSetter':
29
+ return (obj) => {
30
+ obj[fieldAtPath] = rewrite.setValueTo;
31
+ };
32
+ case 'KeyRenamer':
33
+ return (obj) => {
34
+ obj[rewrite.renameKeyTo] = obj[fieldAtPath];
35
+ obj[fieldAtPath] = undefined;
36
+ };
37
+ }
38
+ }
39
+ function splitPathLastElement(path) {
40
+ if (path.length === 0) {
41
+ return undefined;
42
+ }
43
+ const lastIdx = path.length - 1;
44
+ return [path.slice(0, lastIdx), path[lastIdx]];
45
+ }
46
+ function applyAtPath(schema, path, value, fct) {
47
+ if (Array.isArray(value)) {
48
+ for (const arrayValue of value) {
49
+ applyAtPath(schema, path, arrayValue, fct);
50
+ }
51
+ return;
52
+ }
53
+ if (typeof value !== 'object') {
54
+ return;
55
+ }
56
+ if (path.length === 0) {
57
+ fct(value);
58
+ return;
59
+ }
60
+ const [first, ...rest] = path;
61
+ const { kind, value: eltValue } = parsePathElement(first);
62
+ switch (kind) {
63
+ case 'fieldName':
64
+ applyAtPath(schema, rest, value[eltValue], fct);
65
+ break;
66
+ case 'typeName':
67
+ if (isObjectOfType(schema, value, eltValue, true)) {
68
+ applyAtPath(schema, rest, value, fct);
69
+ }
70
+ break;
71
+ }
72
+ }
73
+ function parsePathElement(elt) {
74
+ if (elt.startsWith(FRAGMENT_PREFIX)) {
75
+ return { kind: 'typeName', value: elt.slice(FRAGMENT_PREFIX.length) };
76
+ }
77
+ else {
78
+ return { kind: 'fieldName', value: elt };
79
+ }
80
+ }
81
+ function isObjectOfType(schema, obj, typeCondition, defaultOnUnknownObjectType = false) {
82
+ const objTypename = obj['__typename'];
83
+ if (!objTypename) {
84
+ return defaultOnUnknownObjectType;
85
+ }
86
+ if (typeCondition === objTypename) {
87
+ return true;
88
+ }
89
+ const type = schema.getType(objTypename);
90
+ if (!type) {
91
+ return false;
92
+ }
93
+ const conditionalType = schema.getType(typeCondition);
94
+ if (!conditionalType) {
95
+ return false;
96
+ }
97
+ if ((0, graphql_1.isAbstractType)(conditionalType)) {
98
+ return ((0, graphql_1.isObjectType)(type) || (0, graphql_1.isInterfaceType)(type)) && schema.isSubType(conditionalType, type);
99
+ }
100
+ return false;
101
+ }
102
+ exports.isObjectOfType = isObjectOfType;
103
+ //# sourceMappingURL=dataRewrites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataRewrites.js","sourceRoot":"","sources":["../src/dataRewrites.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { GatewayGraphQLResponse } from '@apollo/server-gateway-interface';
2
+ import { GraphQLSchema, DocumentNode } from 'graphql';
3
+ import { GraphQLDataSource, GraphQLDataSourceProcessOptions } from './types';
4
+ export declare class LocalGraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> implements GraphQLDataSource<TContext> {
5
+ readonly schema: GraphQLSchema;
6
+ constructor(schema: GraphQLSchema);
7
+ process({ request, context, }: GraphQLDataSourceProcessOptions<TContext>): Promise<GatewayGraphQLResponse>;
8
+ sdl(): DocumentNode;
9
+ }
10
+ //# sourceMappingURL=LocalGraphQLDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/LocalGraphQLDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACL,aAAa,EAGb,YAAY,EAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE7E,qBAAa,sBAAsB,CACjC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC1D,YAAW,iBAAiB,CAAC,QAAQ,CAAC;aAEV,MAAM,EAAE,aAAa;gBAArB,MAAM,EAAE,aAAa;IAG3C,OAAO,CAAC,EACZ,OAAO,EACP,OAAO,GACR,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUvE,GAAG,IAAI,YAAY;CAY3B"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalGraphQLDataSource = void 0;
4
+ const graphql_1 = require("graphql");
5
+ class LocalGraphQLDataSource {
6
+ constructor(schema) {
7
+ this.schema = schema;
8
+ }
9
+ async process({ request, context, }) {
10
+ return (0, graphql_1.graphql)({
11
+ schema: this.schema,
12
+ source: request.query,
13
+ variableValues: request.variables,
14
+ operationName: request.operationName,
15
+ contextValue: context,
16
+ });
17
+ }
18
+ sdl() {
19
+ const result = (0, graphql_1.graphqlSync)({
20
+ schema: this.schema,
21
+ source: `{ _service { sdl }}`,
22
+ });
23
+ if (result.errors) {
24
+ throw new Error(result.errors.map((error) => error.message).join('\n\n'));
25
+ }
26
+ const sdl = result.data && result.data._service && result.data._service.sdl;
27
+ return (0, graphql_1.parse)(sdl);
28
+ }
29
+ }
30
+ exports.LocalGraphQLDataSource = LocalGraphQLDataSource;
31
+ //# sourceMappingURL=LocalGraphQLDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalGraphQLDataSource.js","sourceRoot":"","sources":["../../src/datasources/LocalGraphQLDataSource.ts"],"names":[],"mappings":";;;AACA,qCAMiB;AAGjB,MAAa,sBAAsB;IAIjC,YAA4B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IACjD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EACZ,OAAO,EACP,OAAO,GACmC;QAC1C,OAAO,IAAA,iBAAO,EAAC;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,OAAO,CAAC,KAAM;YACtB,cAAc,EAAE,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3E;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAK,MAAM,CAAC,IAAI,CAAC,QAAgB,CAAC,GAAG,CAAC;QACrF,OAAO,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACF;AAhCD,wDAgCC"}
@@ -0,0 +1,24 @@
1
+ import { GraphQLDataSource, GraphQLDataSourceProcessOptions } from './types';
2
+ import { ResponsePath } from '@apollo/query-planner';
3
+ import { Request as NodeFetchRequest } from 'node-fetch';
4
+ import { Fetcher, FetcherResponse } from '@apollo/utils.fetcher';
5
+ import { GraphQLError } from 'graphql';
6
+ import { GatewayGraphQLRequestContext, GatewayGraphQLResponse } from '@apollo/server-gateway-interface';
7
+ export declare class RemoteGraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> implements GraphQLDataSource<TContext> {
8
+ fetcher: Fetcher;
9
+ constructor(config?: Partial<RemoteGraphQLDataSource<TContext>> & object & ThisType<RemoteGraphQLDataSource<TContext>>);
10
+ url: string;
11
+ apq: boolean;
12
+ honorSubgraphCacheControlHeader: boolean;
13
+ process(options: GraphQLDataSourceProcessOptions<TContext>): Promise<GatewayGraphQLResponse>;
14
+ private sendRequest;
15
+ willSendRequest?(options: GraphQLDataSourceProcessOptions<TContext>): void | Promise<void>;
16
+ private respond;
17
+ didReceiveResponse?(requestContext: Required<Pick<GatewayGraphQLRequestContext<TContext>, 'request' | 'response' | 'context'>> & {
18
+ pathInIncomingRequest?: ResponsePath;
19
+ }): GatewayGraphQLResponse | Promise<GatewayGraphQLResponse>;
20
+ didEncounterError(error: Error, _fetchRequest: NodeFetchRequest, _fetchResponse?: FetcherResponse, _context?: TContext): void;
21
+ parseBody(fetchResponse: FetcherResponse, _fetchRequest?: NodeFetchRequest, _context?: TContext): Promise<object | string>;
22
+ errorFromResponse(response: FetcherResponse): Promise<GraphQLError>;
23
+ }
24
+ //# sourceMappingURL=RemoteGraphQLDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAgC,MAAM,SAAS,CAAC;AAE3G,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAA+B,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,OAAO,EAAsB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAC;AAC/D,OAAO,EAA+D,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAErK,qBAAa,uBAAuB,CAClC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC1D,YAAW,iBAAiB,CAAC,QAAQ,CAAC;IAEtC,OAAO,EAAE,OAAO,CAAC;gBAGf,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,GACjD,MAAM,GACN,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAkB/C,GAAG,EAAG,MAAM,CAAC;IAoBb,GAAG,EAAE,OAAO,CAAS;IAMrB,+BAA+B,EAAE,OAAO,CAAQ;IAE1C,OAAO,CACX,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,OAAO,CAAC,sBAAsB,CAAC;YAyGpB,WAAW;IAsDlB,eAAe,CAAC,CACrB,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAET,OAAO;IA4Cd,kBAAkB,CAAC,CACxB,cAAc,EAAE,QAAQ,CACtB,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CACjF,GAAG;QAAE,qBAAqB,CAAC,EAAE,YAAY,CAAA;KAAE,GAC3C,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAEpD,iBAAiB,CACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,gBAAgB,EAC/B,cAAc,CAAC,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,QAAQ;IAKd,SAAS,CACd,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,gBAAgB,EAChC,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IASd,iBAAiB,CAAC,QAAQ,EAAE,eAAe;CAsBzD"}