@apollo/gateway 2.4.4 → 2.4.5
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.
- package/dist/__generated__/graphqlTypes.d.ts +160 -0
- package/dist/__generated__/graphqlTypes.d.ts.map +1 -0
- package/dist/__generated__/graphqlTypes.js +30 -0
- package/dist/__generated__/graphqlTypes.js.map +1 -0
- package/dist/config.d.ts +138 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +60 -0
- package/dist/config.js.map +1 -0
- package/dist/dataRewrites.d.ts +5 -0
- package/dist/dataRewrites.d.ts.map +1 -0
- package/dist/dataRewrites.js +103 -0
- package/dist/dataRewrites.js.map +1 -0
- package/dist/datasources/LocalGraphQLDataSource.d.ts +10 -0
- package/dist/datasources/LocalGraphQLDataSource.d.ts.map +1 -0
- package/dist/datasources/LocalGraphQLDataSource.js +31 -0
- package/dist/datasources/LocalGraphQLDataSource.js.map +1 -0
- package/dist/datasources/RemoteGraphQLDataSource.d.ts +24 -0
- package/dist/datasources/RemoteGraphQLDataSource.d.ts.map +1 -0
- package/dist/datasources/RemoteGraphQLDataSource.js +180 -0
- package/dist/datasources/RemoteGraphQLDataSource.js.map +1 -0
- package/dist/datasources/index.d.ts +4 -0
- package/dist/datasources/index.d.ts.map +1 -0
- package/dist/datasources/index.js +8 -0
- package/dist/datasources/index.js.map +1 -0
- package/dist/datasources/parseCacheControlHeader.d.ts +2 -0
- package/dist/datasources/parseCacheControlHeader.d.ts.map +1 -0
- package/dist/datasources/parseCacheControlHeader.js +16 -0
- package/dist/datasources/parseCacheControlHeader.js.map +1 -0
- package/dist/datasources/types.d.ts +23 -0
- package/dist/datasources/types.d.ts.map +1 -0
- package/dist/datasources/types.js +10 -0
- package/dist/datasources/types.js.map +1 -0
- package/dist/executeQueryPlan.d.ts +15 -0
- package/dist/executeQueryPlan.d.ts.map +1 -0
- package/dist/executeQueryPlan.js +539 -0
- package/dist/executeQueryPlan.js.map +1 -0
- package/dist/index.d.ts +113 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +590 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +3 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +15 -0
- package/dist/logger.js.map +1 -0
- package/dist/operationContext.d.ts +17 -0
- package/dist/operationContext.d.ts.map +1 -0
- package/dist/operationContext.js +38 -0
- package/dist/operationContext.js.map +1 -0
- package/dist/resultShaping.d.ts +12 -0
- package/dist/resultShaping.d.ts.map +1 -0
- package/dist/resultShaping.js +229 -0
- package/dist/resultShaping.js.map +1 -0
- package/dist/schema-helper/addExtensions.d.ts +3 -0
- package/dist/schema-helper/addExtensions.d.ts.map +1 -0
- package/dist/schema-helper/addExtensions.js +23 -0
- package/dist/schema-helper/addExtensions.js.map +1 -0
- package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts +31 -0
- package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts.map +1 -0
- package/dist/supergraphManagers/IntrospectAndCompose/index.js +112 -0
- package/dist/supergraphManagers/IntrospectAndCompose/index.js.map +1 -0
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts +12 -0
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts.map +1 -0
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js +57 -0
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js.map +1 -0
- package/dist/supergraphManagers/LegacyFetcher/index.d.ts +33 -0
- package/dist/supergraphManagers/LegacyFetcher/index.d.ts.map +1 -0
- package/dist/supergraphManagers/LegacyFetcher/index.js +149 -0
- package/dist/supergraphManagers/LegacyFetcher/index.js.map +1 -0
- package/dist/supergraphManagers/LocalCompose/index.d.ts +19 -0
- package/dist/supergraphManagers/LocalCompose/index.d.ts.map +1 -0
- package/dist/supergraphManagers/LocalCompose/index.js +55 -0
- package/dist/supergraphManagers/LocalCompose/index.js.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts +63 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/index.js +210 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/index.js.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts +30 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js +145 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts +14 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js +85 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js.map +1 -0
- package/dist/supergraphManagers/index.d.ts +6 -0
- package/dist/supergraphManagers/index.d.ts.map +1 -0
- package/dist/supergraphManagers/index.js +27 -0
- package/dist/supergraphManagers/index.js.map +1 -0
- package/dist/typings/graphql.d.ts +11 -0
- package/dist/typings/graphql.d.ts.map +1 -0
- package/dist/typings/graphql.js +3 -0
- package/dist/typings/graphql.js.map +1 -0
- package/dist/utilities/array.d.ts +5 -0
- package/dist/utilities/array.d.ts.map +1 -0
- package/dist/utilities/array.js +46 -0
- package/dist/utilities/array.js.map +1 -0
- package/dist/utilities/assert.d.ts +2 -0
- package/dist/utilities/assert.d.ts.map +1 -0
- package/dist/utilities/assert.js +10 -0
- package/dist/utilities/assert.js.map +1 -0
- package/dist/utilities/deepMerge.d.ts +2 -0
- package/dist/utilities/deepMerge.d.ts.map +1 -0
- package/dist/utilities/deepMerge.js +34 -0
- package/dist/utilities/deepMerge.js.map +1 -0
- package/dist/utilities/graphql.d.ts +5 -0
- package/dist/utilities/graphql.d.ts.map +1 -0
- package/dist/utilities/graphql.js +28 -0
- package/dist/utilities/graphql.js.map +1 -0
- package/dist/utilities/opentelemetry.d.ts +10 -0
- package/dist/utilities/opentelemetry.d.ts.map +1 -0
- package/dist/utilities/opentelemetry.js +19 -0
- package/dist/utilities/opentelemetry.js.map +1 -0
- package/dist/utilities/predicates.d.ts +2 -0
- package/dist/utilities/predicates.d.ts.map +1 -0
- package/dist/utilities/predicates.js +11 -0
- package/dist/utilities/predicates.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,160 @@
|
|
|
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
|
+
RetryLater = "RETRY_LATER",
|
|
51
|
+
UnknownRef = "UNKNOWN_REF"
|
|
52
|
+
}
|
|
53
|
+
export type HttpHeader = {
|
|
54
|
+
name: Scalars['String'];
|
|
55
|
+
value?: InputMaybe<Scalars['String']>;
|
|
56
|
+
};
|
|
57
|
+
export type Message = {
|
|
58
|
+
__typename?: 'Message';
|
|
59
|
+
body: Scalars['String'];
|
|
60
|
+
level: MessageLevel;
|
|
61
|
+
};
|
|
62
|
+
export declare enum MessageLevel {
|
|
63
|
+
Error = "ERROR",
|
|
64
|
+
Info = "INFO",
|
|
65
|
+
Warn = "WARN"
|
|
66
|
+
}
|
|
67
|
+
export type Mutation = {
|
|
68
|
+
__typename?: 'Mutation';
|
|
69
|
+
reportError: Scalars['Boolean'];
|
|
70
|
+
};
|
|
71
|
+
export type MutationReportErrorArgs = {
|
|
72
|
+
report?: InputMaybe<ApiMonitoringReport>;
|
|
73
|
+
};
|
|
74
|
+
export type Query = {
|
|
75
|
+
__typename?: 'Query';
|
|
76
|
+
_empty?: Maybe<Scalars['String']>;
|
|
77
|
+
routerConfig: RouterConfigResponse;
|
|
78
|
+
routerEntitlements: RouterEntitlementsResponse;
|
|
79
|
+
};
|
|
80
|
+
export type QueryRouterConfigArgs = {
|
|
81
|
+
apiKey: Scalars['String'];
|
|
82
|
+
ifAfterId?: InputMaybe<Scalars['ID']>;
|
|
83
|
+
ref: Scalars['String'];
|
|
84
|
+
};
|
|
85
|
+
export type QueryRouterEntitlementsArgs = {
|
|
86
|
+
apiKey: Scalars['String'];
|
|
87
|
+
ifAfterId?: InputMaybe<Scalars['ID']>;
|
|
88
|
+
ref: Scalars['String'];
|
|
89
|
+
unlessId?: InputMaybe<Scalars['ID']>;
|
|
90
|
+
};
|
|
91
|
+
export type Request = {
|
|
92
|
+
body?: InputMaybe<Scalars['String']>;
|
|
93
|
+
headers?: InputMaybe<Array<HttpHeader>>;
|
|
94
|
+
url: Scalars['String'];
|
|
95
|
+
};
|
|
96
|
+
export type Response = {
|
|
97
|
+
body?: InputMaybe<Scalars['String']>;
|
|
98
|
+
headers?: InputMaybe<Array<HttpHeader>>;
|
|
99
|
+
httpStatusCode: Scalars['Int'];
|
|
100
|
+
};
|
|
101
|
+
export type RouterConfigResponse = FetchError | RouterConfigResult | Unchanged;
|
|
102
|
+
export type RouterConfigResult = {
|
|
103
|
+
__typename?: 'RouterConfigResult';
|
|
104
|
+
id: Scalars['ID'];
|
|
105
|
+
messages: Array<Message>;
|
|
106
|
+
minDelaySeconds: Scalars['Float'];
|
|
107
|
+
supergraphSDL: Scalars['String'];
|
|
108
|
+
};
|
|
109
|
+
export type RouterEntitlement = {
|
|
110
|
+
__typename?: 'RouterEntitlement';
|
|
111
|
+
audience: Array<RouterEntitlementAudience>;
|
|
112
|
+
haltAt?: Maybe<Scalars['Timestamp']>;
|
|
113
|
+
jwt: Scalars['String'];
|
|
114
|
+
subject: Scalars['String'];
|
|
115
|
+
warnAt?: Maybe<Scalars['Timestamp']>;
|
|
116
|
+
};
|
|
117
|
+
export declare enum RouterEntitlementAudience {
|
|
118
|
+
Cloud = "CLOUD",
|
|
119
|
+
SelfHosted = "SELF_HOSTED"
|
|
120
|
+
}
|
|
121
|
+
export type RouterEntitlementsResponse = FetchError | RouterEntitlementsResult | Unchanged;
|
|
122
|
+
export type RouterEntitlementsResult = {
|
|
123
|
+
__typename?: 'RouterEntitlementsResult';
|
|
124
|
+
entitlement?: Maybe<RouterEntitlement>;
|
|
125
|
+
id: Scalars['ID'];
|
|
126
|
+
minDelaySeconds: Scalars['Float'];
|
|
127
|
+
};
|
|
128
|
+
export type Unchanged = {
|
|
129
|
+
__typename?: 'Unchanged';
|
|
130
|
+
id: Scalars['ID'];
|
|
131
|
+
minDelaySeconds: Scalars['Float'];
|
|
132
|
+
};
|
|
133
|
+
export type SupergraphSdlQueryVariables = Exact<{
|
|
134
|
+
apiKey: Scalars['String'];
|
|
135
|
+
ref: Scalars['String'];
|
|
136
|
+
ifAfterId?: InputMaybe<Scalars['ID']>;
|
|
137
|
+
}>;
|
|
138
|
+
export type SupergraphSdlQuery = {
|
|
139
|
+
__typename?: 'Query';
|
|
140
|
+
routerConfig: {
|
|
141
|
+
__typename: 'FetchError';
|
|
142
|
+
code: FetchErrorCode;
|
|
143
|
+
message: string;
|
|
144
|
+
} | {
|
|
145
|
+
__typename: 'RouterConfigResult';
|
|
146
|
+
id: string;
|
|
147
|
+
minDelaySeconds: number;
|
|
148
|
+
supergraphSdl: string;
|
|
149
|
+
} | {
|
|
150
|
+
__typename: 'Unchanged';
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
export type OobReportMutationVariables = Exact<{
|
|
154
|
+
input?: InputMaybe<ApiMonitoringReport>;
|
|
155
|
+
}>;
|
|
156
|
+
export type OobReportMutation = {
|
|
157
|
+
__typename?: 'Mutation';
|
|
158
|
+
reportError: boolean;
|
|
159
|
+
};
|
|
160
|
+
//# 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,30 @@
|
|
|
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["RetryLater"] = "RETRY_LATER";
|
|
17
|
+
FetchErrorCode["UnknownRef"] = "UNKNOWN_REF";
|
|
18
|
+
})(FetchErrorCode = exports.FetchErrorCode || (exports.FetchErrorCode = {}));
|
|
19
|
+
var MessageLevel;
|
|
20
|
+
(function (MessageLevel) {
|
|
21
|
+
MessageLevel["Error"] = "ERROR";
|
|
22
|
+
MessageLevel["Info"] = "INFO";
|
|
23
|
+
MessageLevel["Warn"] = "WARN";
|
|
24
|
+
})(MessageLevel = exports.MessageLevel || (exports.MessageLevel = {}));
|
|
25
|
+
var RouterEntitlementAudience;
|
|
26
|
+
(function (RouterEntitlementAudience) {
|
|
27
|
+
RouterEntitlementAudience["Cloud"] = "CLOUD";
|
|
28
|
+
RouterEntitlementAudience["SelfHosted"] = "SELF_HOSTED";
|
|
29
|
+
})(RouterEntitlementAudience = exports.RouterEntitlementAudience || (exports.RouterEntitlementAudience = {}));
|
|
30
|
+
//# 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,cASX;AATD,WAAY,cAAc;IAExB,gDAA8B,CAAA;IAE9B,gEAA8C,CAAA;IAE9C,4CAA0B,CAAA;IAE1B,4CAA0B,CAAA;AAC5B,CAAC,EATW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QASzB;AAaD,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AA2ED,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,4CAAe,CAAA;IACf,uDAA0B,CAAA;AAC5B,CAAC,EAHW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAGpC"}
|
package/dist/config.d.ts
ADDED
|
@@ -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"}
|