@wundergraph/composition 0.36.1 → 0.37.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/README.md +41 -48
- package/dist/ast/utils.d.ts +0 -2
- package/dist/ast/utils.js +2 -33
- package/dist/ast/utils.js.map +1 -1
- package/dist/errors/errors.d.ts +10 -13
- package/dist/errors/errors.js +81 -74
- package/dist/errors/errors.js.map +1 -1
- package/dist/federation/federation.d.ts +6 -0
- package/dist/federation/federation.js +30 -0
- package/dist/federation/federation.js.map +1 -0
- package/dist/federation/types.d.ts +44 -0
- package/dist/federation/types.js +3 -0
- package/dist/federation/types.js.map +1 -0
- package/dist/index.d.ts +24 -14
- package/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/dist/normalization/normalization.d.ts +8 -0
- package/dist/normalization/normalization.js +29 -0
- package/dist/normalization/normalization.js.map +1 -0
- package/dist/normalization/types.d.ts +48 -0
- package/dist/normalization/types.js +3 -0
- package/dist/normalization/types.js.map +1 -0
- package/dist/resolvability-graph/graph-nodes.d.ts +1 -1
- package/dist/resolvability-graph/graph-nodes.js.map +1 -1
- package/dist/resolvability-graph/graph.d.ts +1 -2
- package/dist/resolvability-graph/graph.js +21 -21
- package/dist/resolvability-graph/graph.js.map +1 -1
- package/dist/resolvability-graph/utils.d.ts +1 -1
- package/dist/resolvability-graph/utils.js +2 -2
- package/dist/resolvability-graph/utils.js.map +1 -1
- package/dist/router-compatibility-version/router-compatibility-version.d.ts +4 -0
- package/dist/router-compatibility-version/router-compatibility-version.js +7 -0
- package/dist/router-compatibility-version/router-compatibility-version.js.map +1 -0
- package/dist/router-configuration/{router-configuration.d.ts → types.d.ts} +3 -4
- package/dist/router-configuration/types.js +3 -0
- package/dist/router-configuration/types.js.map +1 -0
- package/dist/router-configuration/utils.d.ts +3 -0
- package/dist/router-configuration/{router-configuration.js → utils.js} +9 -1
- package/dist/router-configuration/utils.js.map +1 -0
- package/dist/schema-building/ast.js.map +1 -1
- package/dist/schema-building/{type-definition-data.d.ts → types.d.ts} +52 -5
- package/dist/schema-building/{type-definition-data.js → types.js} +1 -1
- package/dist/schema-building/types.js.map +1 -0
- package/dist/schema-building/utils.d.ts +3 -11
- package/dist/schema-building/utils.js +16 -14
- package/dist/schema-building/utils.js.map +1 -1
- package/dist/subgraph/{subgraph.d.ts → types.d.ts} +6 -9
- package/dist/subgraph/types.js +3 -0
- package/dist/subgraph/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/composition-version.js +1 -1
- package/dist/utils/integer-constants.d.ts +0 -1
- package/dist/utils/integer-constants.js +1 -2
- package/dist/utils/integer-constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +5 -9
- package/dist/utils/string-constants.js +7 -33
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/types.d.ts +39 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/utils.d.ts +2 -114
- package/dist/utils/utils.js +33 -396
- package/dist/utils/utils.js.map +1 -1
- package/dist/{federation → v1/federation}/federation-factory.d.ts +18 -17
- package/dist/{federation → v1/federation}/federation-factory.js +244 -230
- package/dist/v1/federation/federation-factory.js.map +1 -0
- package/dist/v1/federation/utils.d.ts +59 -0
- package/dist/{federation → v1/federation}/utils.js +25 -23
- package/dist/v1/federation/utils.js.map +1 -0
- package/dist/{federation → v1/federation}/walkers.d.ts +1 -1
- package/dist/{federation → v1/federation}/walkers.js +10 -10
- package/dist/v1/federation/walkers.js.map +1 -0
- package/dist/{normalization → v1/normalization}/directive-definition-data.d.ts +1 -1
- package/dist/{normalization → v1/normalization}/directive-definition-data.js +2 -2
- package/dist/v1/normalization/directive-definition-data.js.map +1 -0
- package/dist/{normalization → v1/normalization}/normalization-factory.d.ts +45 -73
- package/dist/{normalization → v1/normalization}/normalization-factory.js +763 -266
- package/dist/v1/normalization/normalization-factory.js.map +1 -0
- package/dist/v1/normalization/types.d.ts +49 -0
- package/dist/v1/normalization/types.js +3 -0
- package/dist/v1/normalization/types.js.map +1 -0
- package/dist/v1/normalization/utils.d.ts +14 -0
- package/dist/v1/normalization/utils.js +288 -0
- package/dist/v1/normalization/utils.js.map +1 -0
- package/dist/{normalization → v1/normalization}/walkers.js +69 -54
- package/dist/v1/normalization/walkers.js.map +1 -0
- package/dist/{schema-building → v1/schema-building}/type-merging.d.ts +1 -1
- package/dist/{schema-building → v1/schema-building}/type-merging.js +4 -4
- package/dist/v1/schema-building/type-merging.js.map +1 -0
- package/dist/v1/subgraph/subgraph.d.ts +1 -0
- package/dist/v1/subgraph/subgraph.js.map +1 -0
- package/dist/{utils → v1/utils}/constants.d.ts +1 -2
- package/dist/{utils → v1/utils}/constants.js +7 -8
- package/dist/v1/utils/constants.js.map +1 -0
- package/dist/v1/utils/integer-constants.d.ts +1 -0
- package/dist/v1/utils/integer-constants.js +5 -0
- package/dist/v1/utils/integer-constants.js.map +1 -0
- package/dist/v1/utils/string-constants.d.ts +5 -0
- package/dist/v1/utils/string-constants.js +32 -0
- package/dist/v1/utils/string-constants.js.map +1 -0
- package/dist/v1/utils/utils.d.ts +38 -0
- package/dist/v1/utils/utils.js +336 -0
- package/dist/v1/utils/utils.js.map +1 -0
- package/dist/{warnings → v1/warnings}/warnings.d.ts +4 -13
- package/dist/{warnings → v1/warnings}/warnings.js +48 -27
- package/dist/v1/warnings/warnings.js.map +1 -0
- package/dist/warnings/types.d.ts +11 -0
- package/dist/warnings/types.js +13 -0
- package/dist/warnings/types.js.map +1 -0
- package/package.json +2 -2
- package/dist/federation/federation-factory.js.map +0 -1
- package/dist/federation/utils.d.ts +0 -84
- package/dist/federation/utils.js.map +0 -1
- package/dist/federation/walkers.js.map +0 -1
- package/dist/normalization/directive-definition-data.js.map +0 -1
- package/dist/normalization/normalization-factory.js.map +0 -1
- package/dist/normalization/utils.d.ts +0 -49
- package/dist/normalization/utils.js +0 -612
- package/dist/normalization/utils.js.map +0 -1
- package/dist/normalization/walkers.js.map +0 -1
- package/dist/router-configuration/router-configuration.js.map +0 -1
- package/dist/schema-building/type-definition-data.js.map +0 -1
- package/dist/schema-building/type-merging.js.map +0 -1
- package/dist/subgraph/subgraph.js.map +0 -1
- package/dist/utils/constants.js.map +0 -1
- package/dist/warnings/warnings.js.map +0 -1
- /package/dist/{normalization → v1/normalization}/walkers.d.ts +0 -0
- /package/dist/{subgraph → v1/subgraph}/subgraph.js +0 -0
package/README.md
CHANGED
|
@@ -19,10 +19,10 @@ The function must be provided with an array of at least one [`Subgraph` object](
|
|
|
19
19
|
An example federation of two simple subgraphs:
|
|
20
20
|
|
|
21
21
|
```typescript
|
|
22
|
-
import { federateSubgraphs, Subgraph } from '@wundergraph/composition';
|
|
22
|
+
import { federateSubgraphs, FederationResult, Subgraph } from '@wundergraph/composition';
|
|
23
23
|
import { parse } from 'graphql';
|
|
24
24
|
|
|
25
|
-
const
|
|
25
|
+
const result: FederationResult = federateSubgraphs([subgraphA, subgraphB]);
|
|
26
26
|
|
|
27
27
|
const subgraphA: Subgraph = {
|
|
28
28
|
name: 'subgraph-a',
|
|
@@ -51,26 +51,34 @@ const subgraphB: Subgraph = {
|
|
|
51
51
|
};
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
###
|
|
54
|
+
### FederationResult
|
|
55
55
|
|
|
56
|
-
The `federateSubgraphs` function returns a `
|
|
57
|
-
|
|
58
|
-
defined.
|
|
56
|
+
The `federateSubgraphs` function returns `FederationResult`, which is a union of `FederationResultSuccess` and
|
|
57
|
+
`FederationResultFailure`. Both types in the union always define the following mutual properties:
|
|
59
58
|
|
|
60
|
-
| property
|
|
61
|
-
|
|
62
|
-
|
|
|
63
|
-
|
|
|
59
|
+
| property | Description | type |
|
|
60
|
+
|----------|----------------------------------------|----------------|
|
|
61
|
+
| success | assertion of composition success | boolean |
|
|
62
|
+
| warnings | array of composition warnings (if any) | Array<Warning> |
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
#### FederationResultSuccess
|
|
65
|
+
If federation was successful, the return type is `FederationResultSuccess`.
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
| property | Description | type |
|
|
68
|
+
|----------------------|-------------------------------------------------------------|-----------------------|
|
|
69
|
+
| federatedGraphAST | an AST object representation of the federated graph sdl | graphql.DocumentNode |
|
|
70
|
+
| federatedGraphSchema | a schema object representation of the federated graph sdl | graphql.GraphQLSchema |
|
|
71
|
+
| success | assertion that composition was successful | true |
|
|
72
|
+
| warnings | array of composition warnings (if any) | Array<Warning> |
|
|
68
73
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
+
#### FederationResultFailure
|
|
75
|
+
If federation was unsuccessful, the return type is `FederationResultFailure`.
|
|
76
|
+
|
|
77
|
+
| property | Description | type |
|
|
78
|
+
|----------|---------------------------------------------|----------------|
|
|
79
|
+
| errors | array of composition errors | Array<Error> |
|
|
80
|
+
| success | assertion that composition was unsuccessful | false |
|
|
81
|
+
| warnings | array of composition warnings (if any) | Array<Warning> |
|
|
74
82
|
|
|
75
83
|
### Debugging
|
|
76
84
|
|
|
@@ -80,18 +88,22 @@ In these cases, the errors array will be defined and populated.
|
|
|
80
88
|
An example of a simple debugging framework might be:
|
|
81
89
|
|
|
82
90
|
```typescript
|
|
83
|
-
import { federateSubgraphs, Subgraph } from '@wundergraph.composition';
|
|
91
|
+
import { federateSubgraphs, FederationResult, Subgraph } from '@wundergraph.composition';
|
|
84
92
|
import { print, printSchema } from 'graphql';
|
|
85
93
|
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
94
|
+
const result: FederationResult = federateSubgraphs([subgraphA, subgraphB]);
|
|
95
|
+
|
|
96
|
+
if (result.success) {
|
|
97
|
+
// Both options to print the federated graph as a string are included for documentational purposes only
|
|
98
|
+
console.log(print(result.federatedGraphAST)); // log the federated graph AST as a string
|
|
99
|
+
console.log(printSchema(result.federatedGraphSchema)); // log the federated graph schema as a string
|
|
100
|
+
} else {
|
|
101
|
+
for (const err of result.errors) {
|
|
89
102
|
console.log(err.message);
|
|
90
103
|
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
console.log(
|
|
94
|
-
console.log(printSchema(federationResult!.federatedGraphSchema)); // log the federated graph schema as a string
|
|
104
|
+
}
|
|
105
|
+
for (const warning of result.warnings) {
|
|
106
|
+
console.log(warning);
|
|
95
107
|
}
|
|
96
108
|
|
|
97
109
|
// subgraph definitions would be below [removed for brevity]
|
|
@@ -105,25 +117,7 @@ Errors can happen in three main stages:
|
|
|
105
117
|
(if this stage fails, federation will not be attempted)
|
|
106
118
|
3. During the federation process itself.
|
|
107
119
|
|
|
108
|
-
All errors will be appended to the `
|
|
109
|
-
Often, the error message will suggest potential fixes. For instance:
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
Error: The following root path is unresolvable:
|
|
113
|
-
Query.user.name
|
|
114
|
-
This is because:
|
|
115
|
-
The root type field "Query.user" is defined in the following subgraphs: "subgraph-b".
|
|
116
|
-
However, "User.name" is only defined in the following subgraphs: "subgraph-c".
|
|
117
|
-
Consequently, "User.name" cannot be resolved through the root type field "Query.user".
|
|
118
|
-
Potential solutions:
|
|
119
|
-
Convert "User" into an entity using a "@key" directive.
|
|
120
|
-
Add the shareable root type field "Query.user" to the following subgraphs: "subgraph-c".
|
|
121
|
-
For example (note that V1 fields are shareable by default and do not require a directive):
|
|
122
|
-
type Query {
|
|
123
|
-
...
|
|
124
|
-
user: User @shareable
|
|
125
|
-
}
|
|
126
|
-
`````
|
|
120
|
+
All errors will be appended to the `FederationResultFailure.errors` array.
|
|
127
121
|
|
|
128
122
|
## Subgraph object
|
|
129
123
|
|
|
@@ -160,11 +154,10 @@ const subgraphA: Subgraph = {
|
|
|
160
154
|
| definitions | an AST representation of the subgraph SDL | graphql.DocumentNode |
|
|
161
155
|
|
|
162
156
|
### Contributing
|
|
163
|
-
|
|
164
|
-
- Argument
|
|
157
|
+
When adding or changing error, please ensure GraphQL types begin with a capital letter for clarity:
|
|
165
158
|
- Enum
|
|
166
|
-
- Field
|
|
167
159
|
- Input Object
|
|
168
160
|
- Interface
|
|
169
161
|
- Object
|
|
170
|
-
|
|
162
|
+
- Scalar
|
|
163
|
+
- Union
|
package/dist/ast/utils.d.ts
CHANGED
|
@@ -2,8 +2,6 @@ import { ArgumentNode, DocumentNode, EnumTypeDefinitionNode, EnumTypeExtensionNo
|
|
|
2
2
|
import { CompositeOutputNode } from '../schema-building/ast';
|
|
3
3
|
export declare function isObjectLikeNodeEntity(node: CompositeOutputNode): boolean;
|
|
4
4
|
export declare function isNodeInterfaceObject(node: ObjectTypeDefinitionNode): boolean;
|
|
5
|
-
export declare function isNodeExtension(node: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode): boolean;
|
|
6
|
-
export declare function areBaseAndExtensionKindsCompatible(baseKind: Kind, extensionKind: Kind, typeName: string): boolean;
|
|
7
5
|
export declare function stringToNameNode(value: string): NameNode;
|
|
8
6
|
export declare function stringArrayToNameNodeArray(values: string[]): NameNode[];
|
|
9
7
|
export declare function setToNameNodeArray(set: Set<string>): NameNode[];
|
package/dist/ast/utils.js
CHANGED
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.operationTypeNodeToDefaultType = void 0;
|
|
4
4
|
exports.isObjectLikeNodeEntity = isObjectLikeNodeEntity;
|
|
5
5
|
exports.isNodeInterfaceObject = isNodeInterfaceObject;
|
|
6
|
-
exports.isNodeExtension = isNodeExtension;
|
|
7
|
-
exports.areBaseAndExtensionKindsCompatible = areBaseAndExtensionKindsCompatible;
|
|
8
6
|
exports.stringToNameNode = stringToNameNode;
|
|
9
7
|
exports.stringArrayToNameNodeArray = stringArrayToNameNodeArray;
|
|
10
8
|
exports.setToNameNodeArray = setToNameNodeArray;
|
|
@@ -43,35 +41,6 @@ function isNodeInterfaceObject(node) {
|
|
|
43
41
|
}
|
|
44
42
|
return false;
|
|
45
43
|
}
|
|
46
|
-
function isNodeExtension(node) {
|
|
47
|
-
if (!node.directives?.length) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
for (const directive of node.directives) {
|
|
51
|
-
if (directive.name.value === string_constants_1.EXTENDS) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
function areBaseAndExtensionKindsCompatible(baseKind, extensionKind, typeName) {
|
|
58
|
-
switch (baseKind) {
|
|
59
|
-
case graphql_1.Kind.ENUM_TYPE_DEFINITION:
|
|
60
|
-
return extensionKind === graphql_1.Kind.ENUM_TYPE_EXTENSION;
|
|
61
|
-
case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
|
|
62
|
-
return extensionKind === graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION;
|
|
63
|
-
case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
|
|
64
|
-
return extensionKind === graphql_1.Kind.INTERFACE_TYPE_EXTENSION;
|
|
65
|
-
case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
|
|
66
|
-
return extensionKind === graphql_1.Kind.OBJECT_TYPE_EXTENSION;
|
|
67
|
-
case graphql_1.Kind.SCALAR_TYPE_DEFINITION:
|
|
68
|
-
return extensionKind === graphql_1.Kind.SCALAR_TYPE_EXTENSION;
|
|
69
|
-
case graphql_1.Kind.UNION_TYPE_DEFINITION:
|
|
70
|
-
return extensionKind === graphql_1.Kind.UNION_TYPE_EXTENSION;
|
|
71
|
-
default:
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
44
|
function stringToNameNode(value) {
|
|
76
45
|
return {
|
|
77
46
|
kind: graphql_1.Kind.NAME,
|
|
@@ -251,8 +220,8 @@ function parse(source, noLocation = true) {
|
|
|
251
220
|
}
|
|
252
221
|
function safeParse(value, noLocation = true) {
|
|
253
222
|
try {
|
|
254
|
-
const
|
|
255
|
-
return { documentNode
|
|
223
|
+
const documentNode = parse(value, noLocation);
|
|
224
|
+
return { documentNode };
|
|
256
225
|
}
|
|
257
226
|
catch (e) {
|
|
258
227
|
return { error: e };
|
package/dist/ast/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/errors.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Kind, OperationTypeNode } from 'graphql';
|
|
2
|
-
import { EntityInterfaceFederationData,
|
|
3
|
-
import { ObjectDefinitionData } from '../schema-building/type-definition-data';
|
|
2
|
+
import { EntityInterfaceFederationData, ObjectDefinitionData } from '../schema-building/types';
|
|
4
3
|
import { InvalidRootTypeFieldEventsDirectiveData } from './utils';
|
|
5
4
|
import { UnresolvableFieldData } from '../resolvability-graph/utils';
|
|
6
|
-
import {
|
|
5
|
+
import { ImplementationErrors, InvalidArgument, InvalidEntityInterface, InvalidRequiredInputValueData } from '../utils/types';
|
|
7
6
|
export declare const minimumSubgraphRequirementError: Error;
|
|
8
7
|
export declare function multipleNamedTypeDefinitionError(typeName: string, firstTypeString: string, secondTypeString: string): Error;
|
|
9
8
|
export declare function incompatibleArgumentTypesError(argName: string, hostPath: string, expectedType: string, actualType: string): Error;
|
|
@@ -36,7 +35,6 @@ export declare function undefinedRequiredArgumentsErrorMessage(directiveName: st
|
|
|
36
35
|
export declare function unexpectedDirectiveArgumentErrorMessage(directiveName: string, argumentNames: string[]): string;
|
|
37
36
|
export declare function duplicateDirectiveArgumentDefinitionsErrorMessage(argumentNames: string[]): string;
|
|
38
37
|
export declare function invalidArgumentValueErrorMessage(value: string, hostName: string, argumentName: string, expectedTypeString: string): string;
|
|
39
|
-
export declare function invalidDirectiveArgumentTypeErrorMessage(required: boolean, argumentName: string, expectedKind: Kind, actualKind: Kind): string;
|
|
40
38
|
export declare function invalidKeyDirectivesError(parentTypeName: string, errorMessages: string[]): Error;
|
|
41
39
|
export declare function maximumTypeNestingExceededError(path: string): Error;
|
|
42
40
|
export declare function unexpectedKindFatalError(typeName: string): Error;
|
|
@@ -44,12 +42,9 @@ export declare function incompatibleParentKindFatalError(parentTypeName: string,
|
|
|
44
42
|
export declare function unexpectedEdgeFatalError(typeName: string, edgeNames: Array<string>): Error;
|
|
45
43
|
export declare function incompatibleParentKindMergeError(parentTypeName: string, expectedTypeString: string, actualTypeString: string): Error;
|
|
46
44
|
export declare function fieldTypeMergeFatalError(fieldName: string): Error;
|
|
47
|
-
export declare function unexpectedDirectiveLocationError(locationName: string): Error;
|
|
48
45
|
export declare function unexpectedTypeNodeKindFatalError(typePath: string): Error;
|
|
49
46
|
export declare function invalidKeyFatalError<K>(key: K, mapName: string): Error;
|
|
50
|
-
export declare function invalidConfigurationResultFatalError(fieldPath: string): Error;
|
|
51
47
|
export declare const subgraphValidationFailureError: Error;
|
|
52
|
-
export declare const federationFactoryInitializationFatalError: Error;
|
|
53
48
|
export declare function unexpectedParentKindForChildError(parentTypeName: string, expectedTypeString: string, actualTypeString: string, childName: string, childTypeString: string): Error;
|
|
54
49
|
export declare function subgraphValidationError(subgraphName: string, errors: Error[]): Error;
|
|
55
50
|
export declare function invalidSubgraphNameErrorMessage(index: number, newName: string): string;
|
|
@@ -60,24 +55,24 @@ export declare function invalidInterfaceImplementationError(parentTypeName: stri
|
|
|
60
55
|
export declare function invalidRequiredInputValueError(typeString: string, path: string, errors: InvalidRequiredInputValueData[], isArgument?: boolean): Error;
|
|
61
56
|
export declare function duplicateArgumentsError(fieldPath: string, duplicatedArguments: string[]): Error;
|
|
62
57
|
export declare function invalidArgumentsError(fieldPath: string, invalidArguments: InvalidArgument[]): Error;
|
|
63
|
-
export declare
|
|
58
|
+
export declare function noQueryRootTypeError(isRouterSchema?: boolean): Error;
|
|
64
59
|
export declare const inaccessibleQueryRootTypeError: Error;
|
|
65
60
|
export declare function expectedEntityError(typeName: string): Error;
|
|
66
61
|
export declare const inlineFragmentInFieldSetErrorMessage = " Inline fragments are not currently supported within a field set argument.";
|
|
67
|
-
export declare function abstractTypeInKeyFieldSetErrorMessage(fieldSet: string,
|
|
68
|
-
export declare function unknownTypeInFieldSetErrorMessage(fieldSet: string,
|
|
62
|
+
export declare function abstractTypeInKeyFieldSetErrorMessage(fieldSet: string, fieldCoords: string, abstractTypeName: string, abstractTypeString: string): string;
|
|
63
|
+
export declare function unknownTypeInFieldSetErrorMessage(fieldSet: string, fieldCoords: string, responseTypeName: string): string;
|
|
69
64
|
export declare function invalidSelectionSetErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, selectionSetTypeName: string, fieldTypeString: string): string;
|
|
70
65
|
export declare function invalidSelectionSetDefinitionErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, selectionSetTypeName: string, fieldTypeString: string): string;
|
|
71
66
|
export declare function undefinedFieldInFieldSetErrorMessage(fieldSet: string, parentTypeName: string, fieldName: string): string;
|
|
72
67
|
export declare function unparsableFieldSetErrorMessage(fieldSet: string, error?: Error): string;
|
|
73
68
|
export declare function unparsableFieldSetSelectionErrorMessage(fieldSet: string, fieldName: string): string;
|
|
74
|
-
export declare function
|
|
69
|
+
export declare function undefinedCompositeOutputTypeError(parentTypeName: string): Error;
|
|
75
70
|
export declare function unexpectedArgumentErrorMessage(fieldSet: string, fieldPath: string, argumentName: string): string;
|
|
76
71
|
export declare function argumentsInKeyFieldSetErrorMessage(fieldSet: string, fieldPath: string): string;
|
|
77
72
|
export declare function invalidProvidesOrRequiresDirectivesError(directiveName: string, errorMessages: string[]): Error;
|
|
78
73
|
export declare function duplicateFieldInFieldSetErrorMessage(fieldSet: string, fieldPath: string): string;
|
|
79
74
|
export declare function invalidConfigurationDataErrorMessage(typeName: string, fieldName: string, fieldSet: string): string;
|
|
80
|
-
export declare function incompatibleTypeWithProvidesErrorMessage(
|
|
75
|
+
export declare function incompatibleTypeWithProvidesErrorMessage(fieldCoords: string, responseType: string): string;
|
|
81
76
|
export declare function invalidInlineFragmentTypeErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, typeConditionName: string, selectionSetTypeName: string): string;
|
|
82
77
|
export declare function inlineFragmentWithoutTypeConditionErrorMessage(fieldSet: string, fieldPath: string): string;
|
|
83
78
|
export declare function unknownInlineFragmentTypeConditionErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, selectionSetTypeName: string, typeConditionName: string): string;
|
|
@@ -142,7 +137,7 @@ export declare function nonLeafSubscriptionFieldConditionFieldPathFinalFieldErro
|
|
|
142
137
|
export declare function unresolvablePathError({ fieldName, selectionSet }: UnresolvableFieldData, reasons: Array<string>): Error;
|
|
143
138
|
export declare function allExternalFieldInstancesError(typeName: string, subgraphNamesByFieldName: Map<string, Array<string>>): Error;
|
|
144
139
|
export declare function externalInterfaceFieldsError(typeName: string, fieldNames: Array<string>): Error;
|
|
145
|
-
export declare function nonExternalConditionalFieldError(
|
|
140
|
+
export declare function nonExternalConditionalFieldError(directiveCoords: string, subgraphName: string, targetCoords: string, fieldSet: string, fieldSetDirectiveName: string): Error;
|
|
146
141
|
export declare function incompatibleFederatedFieldNamedTypeError(fieldCoordinates: string, subgraphNamesByNamedTypeName: Map<string, Set<string>>): Error;
|
|
147
142
|
export declare function unknownNamedTypeErrorMessage(fieldCoordinates: string, namedTypeName: string): string;
|
|
148
143
|
export declare function unknownNamedTypeError(fieldCoordinates: string, namedTypeName: string): Error;
|
|
@@ -155,3 +150,5 @@ export declare function duplicateDirectiveDefinitionArgumentErrorMessage(argumen
|
|
|
155
150
|
export declare function duplicateDirectiveDefinitionLocationErrorMessage(locationName: string): string;
|
|
156
151
|
export declare function invalidDirectiveDefinitionLocationErrorMessage(locationName: string): string;
|
|
157
152
|
export declare function invalidDirectiveDefinitionError(directiveName: string, errorMessages: Array<string>): Error;
|
|
153
|
+
export declare function fieldAlreadyProvidedErrorMessage(fieldCoords: string, subgraphName: string, directiveName: string): string;
|
|
154
|
+
export declare function invalidInterfaceObjectImplementationDefinitionsError(typeName: string, subgraphName: string, implementationTypeNames: Array<string>): Error;
|