@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.
- package/LICENSE +18 -0
- package/README.md +3 -0
- package/dist/ast/ast.d.ts +84 -0
- package/dist/ast/ast.js +183 -0
- package/dist/ast/ast.js.map +1 -0
- package/dist/ast/utils.d.ts +130 -0
- package/dist/ast/utils.js +298 -0
- package/dist/ast/utils.js.map +1 -0
- package/dist/buildASTSchema/buildASTSchema.d.ts +22 -0
- package/dist/buildASTSchema/buildASTSchema.js +59 -0
- package/dist/buildASTSchema/buildASTSchema.js.map +1 -0
- package/dist/buildASTSchema/extendSchema.d.ts +21 -0
- package/dist/buildASTSchema/extendSchema.js +555 -0
- package/dist/buildASTSchema/extendSchema.js.map +1 -0
- package/dist/errors/errors.d.ts +60 -0
- package/dist/errors/errors.js +302 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/federation/federation-factory.d.ts +58 -0
- package/dist/federation/federation-factory.js +843 -0
- package/dist/federation/federation-factory.js.map +1 -0
- package/dist/federation/federation-result.d.ts +6 -0
- package/dist/federation/federation-result.js +10 -0
- package/dist/federation/federation-result.js.map +1 -0
- package/dist/federation/subgraph.d.ts +18 -0
- package/dist/federation/subgraph.js +305 -0
- package/dist/federation/subgraph.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/normalization/normalization-factory.d.ts +54 -0
- package/dist/normalization/normalization-factory.js +882 -0
- package/dist/normalization/normalization-factory.js.map +1 -0
- package/dist/normalization/utils.d.ts +121 -0
- package/dist/normalization/utils.js +278 -0
- package/dist/normalization/utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/type-merging/type-merging.d.ts +9 -0
- package/dist/type-merging/type-merging.js +112 -0
- package/dist/type-merging/type-merging.js.map +1 -0
- package/dist/utils/constants.d.ts +6 -0
- package/dist/utils/constants.js +157 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/string-constants.d.ts +39 -0
- package/dist/utils/string-constants.js +43 -0
- package/dist/utils/string-constants.js.map +1 -0
- package/dist/utils/utils.d.ts +7 -0
- package/dist/utils/utils.js +80 -0
- package/dist/utils/utils.js.map +1 -0
- 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,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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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
|
+
}
|