@wundergraph/composition 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +3 -0
  3. package/dist/ast/ast.d.ts +84 -0
  4. package/dist/ast/ast.js +183 -0
  5. package/dist/ast/ast.js.map +1 -0
  6. package/dist/ast/utils.d.ts +130 -0
  7. package/dist/ast/utils.js +298 -0
  8. package/dist/ast/utils.js.map +1 -0
  9. package/dist/buildASTSchema/buildASTSchema.d.ts +22 -0
  10. package/dist/buildASTSchema/buildASTSchema.js +59 -0
  11. package/dist/buildASTSchema/buildASTSchema.js.map +1 -0
  12. package/dist/buildASTSchema/extendSchema.d.ts +21 -0
  13. package/dist/buildASTSchema/extendSchema.js +555 -0
  14. package/dist/buildASTSchema/extendSchema.js.map +1 -0
  15. package/dist/errors/errors.d.ts +60 -0
  16. package/dist/errors/errors.js +302 -0
  17. package/dist/errors/errors.js.map +1 -0
  18. package/dist/federation/federation-factory.d.ts +58 -0
  19. package/dist/federation/federation-factory.js +843 -0
  20. package/dist/federation/federation-factory.js.map +1 -0
  21. package/dist/federation/federation-result.d.ts +6 -0
  22. package/dist/federation/federation-result.js +10 -0
  23. package/dist/federation/federation-result.js.map +1 -0
  24. package/dist/federation/subgraph.d.ts +18 -0
  25. package/dist/federation/subgraph.js +305 -0
  26. package/dist/federation/subgraph.js.map +1 -0
  27. package/dist/index.d.ts +9 -0
  28. package/dist/index.js +26 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/normalization/normalization-factory.d.ts +54 -0
  31. package/dist/normalization/normalization-factory.js +882 -0
  32. package/dist/normalization/normalization-factory.js.map +1 -0
  33. package/dist/normalization/utils.d.ts +121 -0
  34. package/dist/normalization/utils.js +278 -0
  35. package/dist/normalization/utils.js.map +1 -0
  36. package/dist/tsconfig.tsbuildinfo +1 -0
  37. package/dist/type-merging/type-merging.d.ts +9 -0
  38. package/dist/type-merging/type-merging.js +112 -0
  39. package/dist/type-merging/type-merging.js.map +1 -0
  40. package/dist/utils/constants.d.ts +6 -0
  41. package/dist/utils/constants.js +157 -0
  42. package/dist/utils/constants.js.map +1 -0
  43. package/dist/utils/string-constants.d.ts +39 -0
  44. package/dist/utils/string-constants.js +43 -0
  45. package/dist/utils/string-constants.js.map +1 -0
  46. package/dist/utils/utils.d.ts +7 -0
  47. package/dist/utils/utils.js +80 -0
  48. package/dist/utils/utils.js.map +1 -0
  49. package/package.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation-factory.js","sourceRoot":"","sources":["../../src/federation/federation-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DocumentNode, GraphQLSchema } from 'graphql';
2
+ export declare class FederationResult {
3
+ errors?: Error[];
4
+ federatedGraphAST?: DocumentNode;
5
+ federatedGraphSchema?: GraphQLSchema;
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FederationResult = void 0;
4
+ class FederationResult {
5
+ errors;
6
+ federatedGraphAST;
7
+ federatedGraphSchema;
8
+ }
9
+ exports.FederationResult = FederationResult;
10
+ //# sourceMappingURL=federation-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation-result.js","sourceRoot":"","sources":["../../src/federation/federation-result.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAC3B,MAAM,CAAW;IACjB,iBAAiB,CAAgB;IACjC,oBAAoB,CAAiB;CACtC;AAJD,4CAIC"}
@@ -0,0 +1,18 @@
1
+ import { DocumentNode, OperationTypeNode } from 'graphql';
2
+ import { FederationFactory } from './federation-factory';
3
+ export type Subgraph = {
4
+ definitions: DocumentNode;
5
+ name: string;
6
+ url: string;
7
+ };
8
+ export type InternalSubgraph = {
9
+ definitions: DocumentNode;
10
+ isVersionTwo: boolean;
11
+ name: string;
12
+ operationTypes: Map<string, OperationTypeNode>;
13
+ url: string;
14
+ };
15
+ export declare function validateSubgraphName(subgraphName: string, subgraphNames: Set<string>, nonUniqueSubgraphNames: Set<string>): void;
16
+ export declare function walkSubgraphToCollectObjects(factory: FederationFactory, subgraph: InternalSubgraph): void;
17
+ export declare function walkSubgraphToCollectOperationsAndFields(factory: FederationFactory, subgraph: Subgraph): void;
18
+ export declare function walkSubgraphToFederate(subgraph: DocumentNode, factory: FederationFactory): void;
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.walkSubgraphToFederate = exports.walkSubgraphToCollectOperationsAndFields = exports.walkSubgraphToCollectObjects = exports.validateSubgraphName = void 0;
4
+ const graphql_1 = require("graphql");
5
+ const utils_1 = require("../ast/utils");
6
+ const type_merging_1 = require("../type-merging/type-merging");
7
+ const utils_2 = require("../utils/utils");
8
+ const merge_1 = require("@graphql-tools/merge");
9
+ function validateSubgraphName(subgraphName, subgraphNames, nonUniqueSubgraphNames) {
10
+ if (!subgraphNames.has(subgraphName)) {
11
+ subgraphNames.add(subgraphName);
12
+ return;
13
+ }
14
+ nonUniqueSubgraphNames.add(subgraphName);
15
+ }
16
+ exports.validateSubgraphName = validateSubgraphName;
17
+ // Places the object-like nodes into the multigraph including the concrete types for abstract types
18
+ function walkSubgraphToCollectObjects(factory, subgraph) {
19
+ subgraph.definitions = (0, graphql_1.visit)(subgraph.definitions, {
20
+ InterfaceTypeDefinition: {
21
+ enter(node) {
22
+ factory.upsertParentNode(node);
23
+ },
24
+ },
25
+ ObjectTypeDefinition: {
26
+ enter(node) {
27
+ const name = node.name.value;
28
+ const operationType = subgraph.operationTypes.get(name);
29
+ const parentTypeName = operationType ? (0, utils_2.getOrThrowError)(utils_1.operationTypeNodeToDefaultType, operationType)
30
+ : name;
31
+ factory.addConcreteTypesForInterface(node);
32
+ if (!factory.graph.hasNode(parentTypeName)) {
33
+ factory.graph.addNode(parentTypeName);
34
+ }
35
+ if ((0, utils_1.isObjectNodeEntity)(node)) {
36
+ factory.upsertEntity(node);
37
+ }
38
+ if (name !== parentTypeName) {
39
+ return {
40
+ ...node,
41
+ name: (0, utils_1.stringToNameNode)(parentTypeName),
42
+ };
43
+ }
44
+ return false;
45
+ },
46
+ },
47
+ ObjectTypeExtension: {
48
+ enter(node) {
49
+ const name = node.name.value;
50
+ const operationType = subgraph.operationTypes.get(name);
51
+ const parentTypeName = operationType ? (0, utils_2.getOrThrowError)(utils_1.operationTypeNodeToDefaultType, operationType)
52
+ : name;
53
+ factory.addConcreteTypesForInterface(node);
54
+ if (!factory.graph.hasNode(parentTypeName)) {
55
+ factory.graph.addNode(parentTypeName);
56
+ }
57
+ if (name !== parentTypeName) {
58
+ return {
59
+ ...node,
60
+ name: (0, utils_1.stringToNameNode)(parentTypeName),
61
+ };
62
+ }
63
+ if ((0, utils_1.isObjectNodeEntity)(node)) {
64
+ factory.upsertEntity(node);
65
+ }
66
+ return false;
67
+ },
68
+ },
69
+ UnionTypeDefinition: {
70
+ enter(node) {
71
+ factory.upsertParentNode(node);
72
+ factory.addConcreteTypesForUnion(node);
73
+ },
74
+ },
75
+ });
76
+ }
77
+ exports.walkSubgraphToCollectObjects = walkSubgraphToCollectObjects;
78
+ function walkSubgraphToCollectOperationsAndFields(factory, subgraph) {
79
+ let isCurrentParentRootType = false;
80
+ (0, graphql_1.visit)(subgraph.definitions, {
81
+ ObjectTypeDefinition: {
82
+ enter(node) {
83
+ isCurrentParentRootType = factory.isObjectRootType(node);
84
+ factory.isCurrentParentEntity = (0, utils_1.isObjectNodeEntity)(node);
85
+ factory.parentTypeName = node.name.value;
86
+ },
87
+ leave() {
88
+ isCurrentParentRootType = false;
89
+ factory.parentTypeName = '';
90
+ factory.isCurrentParentEntity = false;
91
+ },
92
+ },
93
+ ObjectTypeExtension: {
94
+ enter(node) {
95
+ factory.isCurrentParentEntity = (0, utils_1.isObjectNodeEntity)(node);
96
+ factory.parentTypeName = node.name.value;
97
+ },
98
+ leave() {
99
+ factory.isCurrentParentEntity = false;
100
+ factory.parentTypeName = '';
101
+ },
102
+ },
103
+ FieldDefinition: {
104
+ enter(node) {
105
+ const fieldName = node.name.value;
106
+ const fieldPath = `${factory.parentTypeName}.${fieldName}`;
107
+ const fieldRootTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, node.type);
108
+ // If a node exists in the multigraph, it's a concrete object type
109
+ // Only add the edge if it hasn't already been added through another subgraph
110
+ if (factory.graph.hasNode(fieldRootTypeName) && !factory.graphEdges.has(fieldPath)) {
111
+ factory.graph.addEdge(factory.parentTypeName, fieldRootTypeName, { fieldName });
112
+ factory.graphEdges.add(fieldPath);
113
+ }
114
+ if (factory.isCurrentParentEntity) {
115
+ const entity = (0, utils_2.getOrThrowError)(factory.entityMap, factory.parentTypeName);
116
+ entity.fields.add(fieldName);
117
+ }
118
+ if (!isCurrentParentRootType) {
119
+ // If the response type is a concrete field or the path has already been added, there's nothing further to do
120
+ if (factory.graph.hasNode(fieldRootTypeName) || factory.graphEdges.has(fieldPath)) {
121
+ return false;
122
+ }
123
+ // If the field is an abstract response type, an edge for each concrete response type must be added
124
+ factory.graphEdges.add(fieldPath);
125
+ const concreteTypeNames = factory.abstractToConcreteTypeNames.get(fieldRootTypeName);
126
+ // It is possible for an interface to have no implementers
127
+ if (!concreteTypeNames) {
128
+ return false;
129
+ }
130
+ for (const concreteTypeName of concreteTypeNames) {
131
+ factory.graph.addEdge(factory.parentTypeName, concreteTypeName, {
132
+ fieldName,
133
+ inlineFragment: (0, utils_1.getInlineFragmentString)(concreteTypeName),
134
+ });
135
+ }
136
+ return false;
137
+ }
138
+ // If the operation returns a concrete type, upsert the field
139
+ // This also records the appearance of this field in the current subgraph
140
+ if (factory.graph.hasNode(fieldRootTypeName)) {
141
+ factory.upsertConcreteObjectLikeOperationFieldNode(fieldName, fieldRootTypeName, fieldPath, (0, merge_1.printTypeNode)(node.type));
142
+ return false;
143
+ }
144
+ const parentContainer = factory.parentMap.get(fieldRootTypeName);
145
+ // If the field is not an abstract response type, it is not an object-like, so return
146
+ if (!parentContainer || !(0, utils_1.isKindAbstract)(parentContainer.kind)) {
147
+ return false;
148
+ }
149
+ // At his point, it is known that this field is an abstract response type on an operation
150
+ const concreteTypes = factory.abstractToConcreteTypeNames.get(fieldRootTypeName);
151
+ // It is possible for an interface to have no implementers
152
+ if (!concreteTypes) {
153
+ return false;
154
+ }
155
+ // Upsert response types and add edges from the operation to each possible concrete type for the abstract field
156
+ factory.upsertAbstractObjectLikeOperationFieldNode(fieldName, fieldRootTypeName, fieldPath, (0, merge_1.printTypeNode)(node.type), concreteTypes);
157
+ return false;
158
+ },
159
+ },
160
+ InterfaceTypeDefinition: {
161
+ enter(node) {
162
+ if (!node.interfaces || node.interfaces.length < 1) {
163
+ return false;
164
+ }
165
+ const name = node.name.value;
166
+ const concreteTypes = factory.abstractToConcreteTypeNames.get(name);
167
+ if (!concreteTypes) {
168
+ return false;
169
+ }
170
+ for (const face of node.interfaces) {
171
+ const interfaceName = face.name.value;
172
+ if (concreteTypes) {
173
+ concreteTypes.add(interfaceName);
174
+ }
175
+ else {
176
+ factory.abstractToConcreteTypeNames.set(interfaceName, new Set([...concreteTypes]));
177
+ }
178
+ }
179
+ return false;
180
+ },
181
+ },
182
+ });
183
+ }
184
+ exports.walkSubgraphToCollectOperationsAndFields = walkSubgraphToCollectOperationsAndFields;
185
+ function walkSubgraphToFederate(subgraph, factory) {
186
+ (0, graphql_1.visit)(subgraph, {
187
+ DirectiveDefinition: {
188
+ enter(node) {
189
+ factory.directiveDefinitions.set(node.name.value, node); // TODO
190
+ },
191
+ },
192
+ Directive: {
193
+ enter() {
194
+ return false; // TODO
195
+ },
196
+ },
197
+ EnumTypeDefinition: {
198
+ enter(node) {
199
+ factory.parentTypeName = node.name.value;
200
+ factory.upsertParentNode(node);
201
+ },
202
+ leave() {
203
+ factory.parentTypeName = '';
204
+ },
205
+ },
206
+ EnumValueDefinition: {
207
+ enter(node) {
208
+ factory.childName = node.name.value;
209
+ factory.upsertValueNode(node);
210
+ },
211
+ leave() {
212
+ factory.childName = '';
213
+ },
214
+ },
215
+ FieldDefinition: {
216
+ enter(node) {
217
+ factory.childName = node.name.value;
218
+ // if (factory.isCurrentParentExtensionType) {
219
+ // factory.upsertExtensionFieldNode(node);
220
+ // return;
221
+ // }
222
+ factory.upsertFieldNode(node);
223
+ },
224
+ leave() {
225
+ factory.childName = '';
226
+ },
227
+ },
228
+ InputObjectTypeDefinition: {
229
+ enter(node) {
230
+ factory.parentTypeName = node.name.value;
231
+ factory.isParentInputObject = true;
232
+ factory.upsertParentNode(node);
233
+ },
234
+ leave() {
235
+ factory.parentTypeName = '';
236
+ factory.isParentInputObject = false;
237
+ },
238
+ },
239
+ InputValueDefinition: {
240
+ enter(node) {
241
+ if (factory.isParentInputObject) {
242
+ factory.childName = node.name.value;
243
+ }
244
+ factory.upsertValueNode(node);
245
+ },
246
+ leave() {
247
+ if (factory.isParentInputObject) {
248
+ factory.childName = '';
249
+ }
250
+ },
251
+ },
252
+ InterfaceTypeDefinition: {
253
+ enter(node) {
254
+ factory.parentTypeName = node.name.value;
255
+ factory.isCurrentParentInterface = true;
256
+ factory.upsertParentNode(node);
257
+ },
258
+ leave() {
259
+ factory.parentTypeName = '';
260
+ factory.isCurrentParentInterface = false;
261
+ },
262
+ },
263
+ ObjectTypeDefinition: {
264
+ enter(node) {
265
+ factory.areFieldsShareable = !factory.isCurrentSubgraphVersionTwo || (0, utils_1.isNodeShareable)(node);
266
+ factory.isCurrentParentEntity = (0, utils_1.isObjectNodeEntity)(node);
267
+ factory.isParentRootType = factory.isObjectRootType(node);
268
+ factory.parentTypeName = node.name.value;
269
+ factory.upsertParentNode(node);
270
+ },
271
+ leave() {
272
+ factory.areFieldsShareable = false;
273
+ factory.isCurrentParentEntity = false;
274
+ factory.isParentRootType = false;
275
+ factory.parentTypeName = '';
276
+ },
277
+ },
278
+ ObjectTypeExtension: {
279
+ enter(node) {
280
+ const name = node.name.value;
281
+ factory.isCurrentParentExtensionType = true;
282
+ factory.isCurrentParentEntity = (0, utils_1.isObjectNodeEntity)(node);
283
+ factory.parentTypeName = name;
284
+ factory.areFieldsShareable =
285
+ !factory.isCurrentSubgraphVersionTwo || (0, utils_1.isNodeShareable)(node);
286
+ factory.isParentRootType = factory.isObjectRootType(node);
287
+ factory.upsertExtensionNode(node);
288
+ },
289
+ leave() {
290
+ factory.areFieldsShareable = false;
291
+ factory.isCurrentParentEntity = false;
292
+ factory.isCurrentParentExtensionType = false;
293
+ factory.parentTypeName = '';
294
+ factory.isParentRootType = false;
295
+ },
296
+ },
297
+ ScalarTypeDefinition: {
298
+ enter(node) {
299
+ factory.upsertParentNode(node);
300
+ },
301
+ },
302
+ });
303
+ }
304
+ exports.walkSubgraphToFederate = walkSubgraphToFederate;
305
+ //# sourceMappingURL=subgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../src/federation/subgraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from './normalization/normalization-factory';
2
+ export * from './federation/federation-factory';
3
+ export * from './federation/federation-result';
4
+ export * from './federation/subgraph';
5
+ export * from './errors/errors';
6
+ export * from './utils/utils';
7
+ export * from './ast/utils';
8
+ export * from './ast/ast';
9
+ export * from './type-merging/type-merging';
package/dist/index.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./normalization/normalization-factory"), exports);
18
+ __exportStar(require("./federation/federation-factory"), exports);
19
+ __exportStar(require("./federation/federation-result"), exports);
20
+ __exportStar(require("./federation/subgraph"), exports);
21
+ __exportStar(require("./errors/errors"), exports);
22
+ __exportStar(require("./utils/utils"), exports);
23
+ __exportStar(require("./ast/utils"), exports);
24
+ __exportStar(require("./ast/ast"), exports);
25
+ __exportStar(require("./type-merging/type-merging"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAqD;AACrD,kEAA+C;AAC/C,iEAA8C;AAC9C,wDAAqC;AACrC,kDAA+B;AAC/B,gDAA6B;AAC7B,8CAA2B;AAC3B,4CAAyB;AACzB,8DAA2C"}
@@ -0,0 +1,54 @@
1
+ import { ConstDirectiveNode, DocumentNode, EnumValueDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputValueDefinitionNode, InterfaceTypeExtensionNode, NamedTypeNode, ObjectTypeExtensionNode, OperationTypeNode, SchemaDefinitionNode, SchemaExtensionNode, TypeDefinitionNode, TypeExtensionNode, DirectiveDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
2
+ import { EntityKey } from '../ast/utils';
3
+ import { ChildContainer, ExtensionContainer, ExtensionMap, ObjectExtensionContainer, ParentContainer, ParentMap, SchemaContainer, UnionContainer, UnionExtensionContainer } from './utils';
4
+ export type NormalizationResult = {
5
+ isVersionTwo: boolean;
6
+ operationTypes: Map<string, OperationTypeNode>;
7
+ schema: GraphQLSchema;
8
+ subgraphAST: DocumentNode;
9
+ subgraphString: string;
10
+ };
11
+ export type NormalizationResultContainer = {
12
+ errors?: Error[];
13
+ normalizationResult?: NormalizationResult;
14
+ };
15
+ export declare function normalizeSubgraphFromString(subgraph: string): NormalizationResultContainer;
16
+ export declare function normalizeSubgraph(document: DocumentNode): NormalizationResultContainer;
17
+ export declare class NormalizationFactory {
18
+ allDirectiveDefinitions: Map<string, DirectiveDefinitionNode>;
19
+ customDirectiveDefinitions: Map<string, DirectiveDefinitionNode>;
20
+ errors: Error[];
21
+ entityMap: Map<string, Map<string, EntityKey>>;
22
+ operationTypeNames: Map<string, OperationTypeNode>;
23
+ parents: ParentMap;
24
+ parentTypeName: string;
25
+ extensions: ExtensionMap;
26
+ isChild: boolean;
27
+ isCurrentParentExtension: boolean;
28
+ isSubgraphVersionTwo: boolean;
29
+ schemaDefinition: SchemaContainer;
30
+ referencedDirectives: Set<string>;
31
+ referencedTypeNames: Set<string>;
32
+ constructor();
33
+ extractDirectives(node: EnumValueDefinitionNode | FieldDefinitionNode | InputValueDefinitionNode | SchemaDefinitionNode | SchemaExtensionNode | TypeDefinitionNode | TypeExtensionNode, map: Map<string, ConstDirectiveNode[]>): Map<string, ConstDirectiveNode[]>;
34
+ extractUniqueInterfaces(node: ObjectTypeDefinitionNode | ObjectTypeExtensionNode | InterfaceTypeExtensionNode, interfaces: Set<string>): Set<string>;
35
+ extractUniqueUnionMembers(members: NamedTypeNode[], map: Map<string, NamedTypeNode>): Map<string, NamedTypeNode>;
36
+ mergeUniqueInterfaces(extensionInterfaces: Set<string>, interfaces: Set<string>, typeName: string): void;
37
+ mergeUniqueUnionMembers(baseUnion: UnionContainer, extensionUnion?: UnionExtensionContainer): void;
38
+ mergeDirectives(baseTypeDirectives: Map<string, ConstDirectiveNode[]>, extension?: ExtensionContainer): void;
39
+ getValidatedAndNormalizedParentDirectives(parent: ParentContainer | SchemaContainer | ObjectExtensionContainer): ConstDirectiveNode[];
40
+ validateChildDirectives(child: ChildContainer, hostPath: string): void;
41
+ normalize(document: DocumentNode): {
42
+ errors: Error[];
43
+ normalizationResult?: undefined;
44
+ } | {
45
+ normalizationResult: {
46
+ isVersionTwo: boolean;
47
+ operationTypes: Map<string, OperationTypeNode>;
48
+ subgraphAST: DocumentNode;
49
+ subgraphString: string;
50
+ schema: GraphQLSchema;
51
+ };
52
+ errors?: undefined;
53
+ };
54
+ }