@wundergraph/composition 0.44.0 → 0.46.0
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/errors/errors.d.ts +8 -2
- package/dist/errors/errors.js +37 -1
- package/dist/errors/errors.js.map +1 -1
- package/dist/errors/types.d.ts +14 -0
- package/dist/schema-building/types.d.ts +1 -0
- package/dist/schema-building/utils.d.ts +2 -2
- package/dist/schema-building/utils.js +8 -4
- package/dist/schema-building/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types.d.ts +1 -0
- package/dist/utils/composition-version.js +1 -1
- package/dist/utils/string-constants.d.ts +8 -4
- package/dist/utils/string-constants.js +13 -9
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +2 -1
- package/dist/utils/utils.js +28 -3
- package/dist/utils/utils.js.map +1 -1
- package/dist/v1/federation/federation-factory.d.ts +5 -1
- package/dist/v1/federation/federation-factory.js +118 -22
- package/dist/v1/federation/federation-factory.js.map +1 -1
- package/dist/v1/federation/params.d.ts +8 -0
- package/dist/v1/federation/params.js +3 -0
- package/dist/v1/federation/params.js.map +1 -0
- package/dist/v1/normalization/directive-definition-data.d.ts +5 -3
- package/dist/v1/normalization/directive-definition-data.js +113 -69
- package/dist/v1/normalization/directive-definition-data.js.map +1 -1
- package/dist/v1/normalization/normalization-factory.d.ts +4 -1
- package/dist/v1/normalization/normalization-factory.js +135 -13
- package/dist/v1/normalization/normalization-factory.js.map +1 -1
- package/dist/v1/normalization/params.d.ts +6 -0
- package/dist/v1/normalization/params.js +3 -0
- package/dist/v1/normalization/params.js.map +1 -0
- package/dist/v1/normalization/types.d.ts +7 -1
- package/dist/v1/normalization/utils.js +2 -0
- package/dist/v1/normalization/utils.js.map +1 -1
- package/dist/v1/utils/constants.d.ts +2 -0
- package/dist/v1/utils/constants.js +43 -1
- package/dist/v1/utils/constants.js.map +1 -1
- package/dist/v1/utils/utils.d.ts +2 -1
- package/dist/v1/utils/utils.js +17 -0
- package/dist/v1/utils/utils.js.map +1 -1
- package/dist/v1/warnings/params.d.ts +10 -0
- package/dist/v1/warnings/params.js +3 -0
- package/dist/v1/warnings/params.js.map +1 -0
- package/dist/v1/warnings/warnings.d.ts +3 -0
- package/dist/v1/warnings/warnings.js +23 -0
- package/dist/v1/warnings/warnings.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.OUTPUT_NODE_KINDS = exports.INPUT_NODE_KINDS = exports.IGNORED_FIELDS = exports.INHERITABLE_DIRECTIVE_NAMES = exports.PERSISTED_CLIENT_DIRECTIVES = exports.AUTHORIZATION_DIRECTIVES = exports.ROOT_TYPE_NAMES = exports.EXECUTABLE_DIRECTIVE_LOCATIONS = exports.
|
|
3
|
+
exports.FIELDS = exports.FIELD_SET_SCALAR = exports.FIELD_UPPER = exports.FIELD_PATH = exports.FIELD = exports.EXTENSIONS = exports.EXTENDS = exports.EXTERNAL = exports.EXECUTION = exports.ENUM_VALUE_UPPER = exports.ENUM_VALUE = exports.ENUM_UPPER = exports.ENUM = exports.ENTITY_UNION = exports.ENTITIES_FIELD = exports.ENTITIES = exports.EDFS_REDIS_SUBSCRIBE = exports.EDFS_REDIS_PUBLISH = exports.EDFS_NATS_STREAM_CONFIGURATION = exports.EDFS_PUBLISH_RESULT = exports.EDFS_NATS_SUBSCRIBE = exports.EDFS_NATS_REQUEST = exports.EDFS_NATS_PUBLISH = exports.EDFS_KAFKA_SUBSCRIBE = exports.EDFS_KAFKA_PUBLISH = exports.DIRECTIVE_DEFINITION = exports.DESCRIPTION_OVERRIDE = exports.DEPRECATED_DEFAULT_ARGUMENT_VALUE = exports.DEPRECATED = exports.DEFAULT_SUBSCRIPTION = exports.DEFAULT_QUERY = exports.DEFAULT_MUTATION = exports.DEFAULT_EDFS_PROVIDER_ID = exports.DEFAULT = exports.CONSUMER_NAME = exports.CONSUMER_INACTIVE_THRESHOLD = exports.CONFIGURE_CHILD_DESCRIPTIONS = exports.CONFIGURE_DESCRIPTION = exports.CONDITION = exports.COMPOSE_DIRECTIVE = exports.CHANNELS = exports.CHANNEL = exports.BOOLEAN_SCALAR = exports.BOOLEAN = exports.ARGUMENT_DEFINITION_UPPER = exports.AUTHENTICATED = exports.ARGUMENT = exports.ANY_SCALAR = exports.AND_UPPER = exports.AS = void 0;
|
|
4
|
+
exports.OPERATION_TO_DEFAULT = exports.ONE_OF = exports.NULL = exports.NOT_UPPER = exports.NON_NULLABLE_STRING = exports.NON_NULLABLE_INT = exports.NON_NULLABLE_BOOLEAN = exports.NON_NULLABLE_EDFS_PUBLISH_EVENT_RESULT = exports.NAME = exports.NOT_APPLICABLE = exports.PROVIDER_TYPE_REDIS = exports.PROVIDER_TYPE_NATS = exports.PROVIDER_TYPE_KAFKA = exports.PROPAGATE = exports.MUTATION_UPPER = exports.MUTATION = exports.NUMBER = exports.LITERAL_NEW_LINE = exports.LITERAL_SPACE = exports.LIST = exports.LINK_PURPOSE = exports.LINK_IMPORT = exports.LINK = exports.LEVELS = exports.LEFT_PARENTHESIS = exports.KEY = exports.INTERFACE_OBJECT = exports.INTERFACE_UPPER = exports.INTERFACE = exports.INT_SCALAR = exports.INPUT_VALUE = exports.INPUT_OBJECT_UPPER = exports.INPUT_OBJECT = exports.INPUT_FIELD_DEFINITION_UPPER = exports.INPUT_FIELD = exports.INPUT = exports.INLINE_FRAGMENT_UPPER = exports.INLINE_FRAGMENT = exports.INACCESSIBLE = exports.IN_UPPER = exports.IMPORT = exports.ID_SCALAR = exports.HYPHEN_JOIN = exports.FROM = exports.FRAGMENT_SPREAD_UPPER = exports.FRAGMENT_DEFINITION_UPPER = exports.FOR = exports.FLOAT_SCALAR = exports.FIRST_ORDINAL = exports.FIELD_DEFINITION_UPPER = void 0;
|
|
5
|
+
exports.TOPICS = exports.TOPIC = exports.TAG = exports.SUCCESS = exports.SUBSCRIPTION_UPPER = exports.SUBSCRIBE = exports.SUBSCRIPTION_FILTER_VALUE = exports.SUBSCRIPTION_FILTER_CONDITION = exports.SUBSCRIPTION_FILTER = exports.SUBSCRIPTION_FIELD_CONDITION = exports.SUBSCRIPTION = exports.SUBJECTS = exports.SUBJECT = exports.STRING_SCALAR = exports.STRING = exports.STREAM_NAME = exports.STREAM_CONFIGURATION = exports.SPECIFIED_BY = exports.SHAREABLE = exports.SERVICE_FIELD = exports.SERVICE_OBJECT = exports.SEMANTIC_NON_NULL = exports.SELECTION_REPRESENTATION = exports.SECURITY = exports.SCOPE_SCALAR = exports.SCOPES = exports.SCHEMA_UPPER = exports.SCHEMA = exports.SCALAR_UPPER = exports.SCALAR = exports.RESOLVABLE = exports.REQUIRES_SCOPES = exports.REQUIRES = exports.REQUIRE_FETCH_REASONS = exports.REQUEST = exports.REASON = exports.QUOTATION_JOIN = exports.QUERY_UPPER = exports.QUERY = exports.PUBLISH = exports.PROVIDES = exports.PROVIDER_ID = exports.PERIOD = exports.PARENT_EXTENSION_DATA_MAP = exports.PARENT_DEFINITION_DATA_MAP = exports.PARENT_DEFINITION_DATA = exports.OVERRIDE = exports.OR_UPPER = exports.OBJECT_UPPER = exports.OBJECT = void 0;
|
|
6
|
+
exports.NON_REPEATABLE_PERSISTED_DIRECTIVES = exports.OUTPUT_NODE_KINDS = exports.INPUT_NODE_KINDS = exports.IGNORED_FIELDS = exports.INHERITABLE_DIRECTIVE_NAMES = exports.PERSISTED_CLIENT_DIRECTIVES = exports.AUTHORIZATION_DIRECTIVES = exports.ROOT_TYPE_NAMES = exports.EXECUTABLE_DIRECTIVE_LOCATIONS = exports.VARIABLE_DEFINITION_UPPER = exports.VALUES = exports.URL_LOWER = exports.UNION_UPPER = exports.UNION = void 0;
|
|
7
7
|
const graphql_1 = require("graphql");
|
|
8
8
|
exports.AS = 'as';
|
|
9
9
|
exports.AND_UPPER = 'AND';
|
|
@@ -13,10 +13,13 @@ exports.AUTHENTICATED = 'authenticated';
|
|
|
13
13
|
exports.ARGUMENT_DEFINITION_UPPER = 'ARGUMENT_DEFINITION';
|
|
14
14
|
exports.BOOLEAN = 'boolean';
|
|
15
15
|
exports.BOOLEAN_SCALAR = 'Boolean';
|
|
16
|
+
exports.CHANNEL = 'channel';
|
|
17
|
+
exports.CHANNELS = 'channels';
|
|
16
18
|
exports.COMPOSE_DIRECTIVE = 'composeDirective';
|
|
17
19
|
exports.CONDITION = 'condition';
|
|
18
20
|
exports.CONFIGURE_DESCRIPTION = 'openfed__configureDescription';
|
|
19
21
|
exports.CONFIGURE_CHILD_DESCRIPTIONS = 'openfed__configureChildDescriptions';
|
|
22
|
+
exports.CONSUMER_INACTIVE_THRESHOLD = 'consumerInactiveThreshold';
|
|
20
23
|
exports.CONSUMER_NAME = 'consumerName';
|
|
21
24
|
exports.DEFAULT = 'default';
|
|
22
25
|
exports.DEFAULT_EDFS_PROVIDER_ID = 'default';
|
|
@@ -78,6 +81,7 @@ exports.INTERFACE_UPPER = 'INTERFACE';
|
|
|
78
81
|
exports.INTERFACE_OBJECT = 'interfaceObject';
|
|
79
82
|
exports.KEY = 'key';
|
|
80
83
|
exports.LEFT_PARENTHESIS = '(';
|
|
84
|
+
exports.LEVELS = 'levels';
|
|
81
85
|
exports.LINK = 'link';
|
|
82
86
|
exports.LINK_IMPORT = 'link__Import';
|
|
83
87
|
exports.LINK_PURPOSE = 'link__Purpose';
|
|
@@ -99,6 +103,7 @@ exports.NON_NULLABLE_INT = 'Int!';
|
|
|
99
103
|
exports.NON_NULLABLE_STRING = 'String!';
|
|
100
104
|
exports.NOT_UPPER = 'NOT';
|
|
101
105
|
exports.NULL = 'Null';
|
|
106
|
+
exports.ONE_OF = 'oneOf';
|
|
102
107
|
exports.OPERATION_TO_DEFAULT = 'operationTypeNodeToDefaultType';
|
|
103
108
|
exports.OBJECT = 'Object';
|
|
104
109
|
exports.OBJECT_UPPER = 'OBJECT';
|
|
@@ -108,7 +113,6 @@ exports.PARENT_DEFINITION_DATA = 'parentDefinitionDataByTypeName';
|
|
|
108
113
|
exports.PARENT_DEFINITION_DATA_MAP = 'parentDefinitionDataByParentTypeName';
|
|
109
114
|
exports.PARENT_EXTENSION_DATA_MAP = 'parentExtensionDataByParentTypeName';
|
|
110
115
|
exports.PERIOD = '.';
|
|
111
|
-
exports.REQUIRE_FETCH_REASONS = 'openfed__requireFetchReasons';
|
|
112
116
|
exports.PROVIDER_ID = 'providerId';
|
|
113
117
|
exports.PROVIDES = 'provides';
|
|
114
118
|
exports.PUBLISH = 'publish';
|
|
@@ -117,6 +121,7 @@ exports.QUERY_UPPER = 'QUERY';
|
|
|
117
121
|
exports.QUOTATION_JOIN = `", "`;
|
|
118
122
|
exports.REASON = 'reason';
|
|
119
123
|
exports.REQUEST = 'request';
|
|
124
|
+
exports.REQUIRE_FETCH_REASONS = 'openfed__requireFetchReasons';
|
|
120
125
|
exports.REQUIRES = 'requires';
|
|
121
126
|
exports.REQUIRES_SCOPES = 'requiresScopes';
|
|
122
127
|
exports.RESOLVABLE = 'resolvable';
|
|
@@ -128,12 +133,12 @@ exports.SCOPES = 'scopes';
|
|
|
128
133
|
exports.SCOPE_SCALAR = 'openfed__Scope';
|
|
129
134
|
exports.SECURITY = 'SECURITY';
|
|
130
135
|
exports.SELECTION_REPRESENTATION = ' { ... }';
|
|
136
|
+
exports.SEMANTIC_NON_NULL = 'semanticNonNull';
|
|
131
137
|
exports.SERVICE_OBJECT = '_Service';
|
|
132
138
|
exports.SERVICE_FIELD = '_service';
|
|
133
139
|
exports.SHAREABLE = 'shareable';
|
|
134
140
|
exports.SPECIFIED_BY = 'specifiedBy';
|
|
135
141
|
exports.STREAM_CONFIGURATION = 'streamConfiguration';
|
|
136
|
-
exports.CONSUMER_INACTIVE_THRESHOLD = 'consumerInactiveThreshold';
|
|
137
142
|
exports.STREAM_NAME = 'streamName';
|
|
138
143
|
exports.STRING = 'string';
|
|
139
144
|
exports.STRING_SCALAR = 'String';
|
|
@@ -155,8 +160,6 @@ exports.UNION_UPPER = 'UNION';
|
|
|
155
160
|
exports.URL_LOWER = 'url';
|
|
156
161
|
exports.VALUES = 'values';
|
|
157
162
|
exports.VARIABLE_DEFINITION_UPPER = 'VARIABLE_DEFINITION';
|
|
158
|
-
exports.CHANNEL = 'channel';
|
|
159
|
-
exports.CHANNELS = 'channels';
|
|
160
163
|
exports.EXECUTABLE_DIRECTIVE_LOCATIONS = new Set([
|
|
161
164
|
exports.FIELD_UPPER,
|
|
162
165
|
exports.FRAGMENT_DEFINITION_UPPER,
|
|
@@ -168,7 +171,7 @@ exports.EXECUTABLE_DIRECTIVE_LOCATIONS = new Set([
|
|
|
168
171
|
]);
|
|
169
172
|
exports.ROOT_TYPE_NAMES = new Set([exports.MUTATION, exports.QUERY, exports.SUBSCRIPTION]);
|
|
170
173
|
exports.AUTHORIZATION_DIRECTIVES = new Set([exports.AUTHENTICATED, exports.REQUIRES_SCOPES]);
|
|
171
|
-
exports.PERSISTED_CLIENT_DIRECTIVES = new Set([exports.DEPRECATED]);
|
|
174
|
+
exports.PERSISTED_CLIENT_DIRECTIVES = new Set([exports.DEPRECATED, exports.ONE_OF, exports.SEMANTIC_NON_NULL]);
|
|
172
175
|
exports.INHERITABLE_DIRECTIVE_NAMES = new Set([exports.EXTERNAL, exports.REQUIRE_FETCH_REASONS, exports.SHAREABLE]);
|
|
173
176
|
exports.IGNORED_FIELDS = new Set([exports.ENTITIES_FIELD, exports.SERVICE_FIELD]);
|
|
174
177
|
exports.INPUT_NODE_KINDS = new Set([
|
|
@@ -183,4 +186,5 @@ exports.OUTPUT_NODE_KINDS = new Set([
|
|
|
183
186
|
graphql_1.Kind.SCALAR_TYPE_DEFINITION,
|
|
184
187
|
graphql_1.Kind.UNION_TYPE_DEFINITION,
|
|
185
188
|
]);
|
|
189
|
+
exports.NON_REPEATABLE_PERSISTED_DIRECTIVES = new Set([exports.INACCESSIBLE, exports.ONE_OF, exports.SEMANTIC_NON_NULL]);
|
|
186
190
|
//# sourceMappingURL=string-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-constants.js","sourceRoot":"","sources":["../../src/utils/string-constants.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA+B;
|
|
1
|
+
{"version":3,"file":"string-constants.js","sourceRoot":"","sources":["../../src/utils/string-constants.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -9,8 +9,9 @@ export declare function getValueOrDefault<K, V>(map: Map<K, V>, key: K, construc
|
|
|
9
9
|
export declare function add<T>(set: Set<T>, key: T): boolean;
|
|
10
10
|
export declare function generateSimpleDirective(name: string): ConstDirectiveNode;
|
|
11
11
|
export declare function generateRequiresScopesDirective(orScopes: Set<string>[]): ConstDirectiveNode;
|
|
12
|
+
export declare function generateSemanticNonNullDirective(levels: Set<number>): ConstDirectiveNode;
|
|
12
13
|
export declare function copyObjectValueMap<K, V>(source: Map<K, V>): Map<K, V>;
|
|
13
14
|
export declare function addNewObjectValueMapEntries<K, V>(source: Map<K, V>, target: Map<K, V>): void;
|
|
14
15
|
export declare function copyArrayValueMap<K, V>(source: Map<K, Array<V>>): Map<K, Array<V>>;
|
|
15
16
|
export declare function addMapEntries<K, V>(source: Map<K, V>, target: Map<K, V>): void;
|
|
16
|
-
export declare function
|
|
17
|
+
export declare function getFirstEntry<K, V>(hashSet: Set<V> | Map<K, V>): V | undefined;
|
package/dist/utils/utils.js
CHANGED
|
@@ -10,11 +10,12 @@ exports.getValueOrDefault = getValueOrDefault;
|
|
|
10
10
|
exports.add = add;
|
|
11
11
|
exports.generateSimpleDirective = generateSimpleDirective;
|
|
12
12
|
exports.generateRequiresScopesDirective = generateRequiresScopesDirective;
|
|
13
|
+
exports.generateSemanticNonNullDirective = generateSemanticNonNullDirective;
|
|
13
14
|
exports.copyObjectValueMap = copyObjectValueMap;
|
|
14
15
|
exports.addNewObjectValueMapEntries = addNewObjectValueMapEntries;
|
|
15
16
|
exports.copyArrayValueMap = copyArrayValueMap;
|
|
16
17
|
exports.addMapEntries = addMapEntries;
|
|
17
|
-
exports.
|
|
18
|
+
exports.getFirstEntry = getFirstEntry;
|
|
18
19
|
const graphql_1 = require("graphql");
|
|
19
20
|
const string_constants_1 = require("./string-constants");
|
|
20
21
|
const errors_1 = require("../errors/errors");
|
|
@@ -180,6 +181,30 @@ function generateRequiresScopesDirective(orScopes) {
|
|
|
180
181
|
],
|
|
181
182
|
};
|
|
182
183
|
}
|
|
184
|
+
function generateSemanticNonNullDirective(levels) {
|
|
185
|
+
const sortedLevels = Array.from(levels).sort((a, b) => a - b);
|
|
186
|
+
const values = new Array();
|
|
187
|
+
for (const level of sortedLevels) {
|
|
188
|
+
values.push({
|
|
189
|
+
kind: graphql_1.Kind.INT,
|
|
190
|
+
value: level.toString(),
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
kind: graphql_1.Kind.DIRECTIVE,
|
|
195
|
+
name: (0, utils_1.stringToNameNode)(string_constants_1.SEMANTIC_NON_NULL),
|
|
196
|
+
arguments: [
|
|
197
|
+
{
|
|
198
|
+
kind: graphql_1.Kind.ARGUMENT,
|
|
199
|
+
name: (0, utils_1.stringToNameNode)(string_constants_1.LEVELS),
|
|
200
|
+
value: {
|
|
201
|
+
kind: graphql_1.Kind.LIST,
|
|
202
|
+
values,
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
],
|
|
206
|
+
};
|
|
207
|
+
}
|
|
183
208
|
// shallow copy
|
|
184
209
|
function copyObjectValueMap(source) {
|
|
185
210
|
const output = new Map();
|
|
@@ -206,8 +231,8 @@ function addMapEntries(source, target) {
|
|
|
206
231
|
target.set(key, value);
|
|
207
232
|
}
|
|
208
233
|
}
|
|
209
|
-
function
|
|
210
|
-
const { value, done } =
|
|
234
|
+
function getFirstEntry(hashSet) {
|
|
235
|
+
const { value, done } = hashSet.values().next();
|
|
211
236
|
if (done) {
|
|
212
237
|
return;
|
|
213
238
|
}
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { ContractTagOptions, FederationResult, FederationResultWithContracts, Mu
|
|
|
13
13
|
import { GraphFieldData } from '../../utils/types';
|
|
14
14
|
import { FederateSubgraphsContractV1Params, FederateSubgraphsWithContractsV1Params, FederationParams } from './types';
|
|
15
15
|
import { FieldCoords, TypeName } from '../../types/types';
|
|
16
|
+
import { ValidateOneOfDirectiveParams } from './params';
|
|
16
17
|
export declare class FederationFactory {
|
|
17
18
|
authorizationDataByParentTypeName: Map<string, AuthorizationData>;
|
|
18
19
|
coordsByNamedTypeName: Map<string, Set<string>>;
|
|
@@ -40,6 +41,7 @@ export declare class FederationFactory {
|
|
|
40
41
|
persistedDirectiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>;
|
|
41
42
|
persistedDirectiveDefinitions: Set<string>;
|
|
42
43
|
potentialPersistedDirectiveDefinitionDataByDirectiveName: Map<string, PersistedDirectiveDefinitionData>;
|
|
44
|
+
referencedPersistedDirectiveNames: Set<string>;
|
|
43
45
|
routerDefinitions: MutableTypeDefinitionNode[];
|
|
44
46
|
subscriptionFilterDataByFieldPath: Map<string, SubscriptionFilterData>;
|
|
45
47
|
tagNamesByCoords: Map<string, Set<string>>;
|
|
@@ -81,13 +83,15 @@ export declare class FederationFactory {
|
|
|
81
83
|
handleInterfaceObjectForInternalGraph({ entityData, internalSubgraph, interfaceObjectData, interfaceObjectNode, resolvableKeyFieldSets, subgraphName, }: InterfaceObjectForInternalGraphOptions): void;
|
|
82
84
|
handleEntityInterfaces(): void;
|
|
83
85
|
fieldDataToGraphFieldData(fieldData: FieldData): GraphFieldData;
|
|
84
|
-
getValidFlattenedPersistedDirectiveNodeArray(
|
|
86
|
+
getValidFlattenedPersistedDirectiveNodeArray(data: NodeData): Array<ConstDirectiveNode>;
|
|
85
87
|
getRouterPersistedDirectiveNodes<T extends NodeData>(nodeData: T): ConstDirectiveNode[];
|
|
86
88
|
getFederatedGraphNodeDescription(data: NodeData): StringValueNode | undefined;
|
|
87
89
|
getNodeForRouterSchemaByData<T extends NodeData>(data: T): T['node'];
|
|
88
90
|
getNodeWithPersistedDirectivesByInputValueData(inputValueData: InputValueData): MutableInputValueNode;
|
|
89
91
|
getValidFieldArgumentNodes(fieldData: FieldData): MutableInputValueNode[];
|
|
90
92
|
getNodeWithPersistedDirectivesByFieldData(fieldData: FieldData, argumentNodes: Array<MutableInputValueNode>): MutableFieldNode;
|
|
93
|
+
validateSemanticNonNull(data: FieldData): void;
|
|
94
|
+
validateOneOfDirective({ data, inputValueNodes, requiredFieldNames }: ValidateOneOfDirectiveParams): boolean;
|
|
91
95
|
pushParentDefinitionDataToDocumentDefinitions(interfaceImplementations: InterfaceImplementationData[]): void;
|
|
92
96
|
pushNamedTypeAuthDataToFields(): void;
|
|
93
97
|
federateSubgraphData(): void;
|
|
@@ -23,6 +23,7 @@ const type_merging_1 = require("../schema-building/type-merging");
|
|
|
23
23
|
const string_constants_2 = require("../../utils/string-constants");
|
|
24
24
|
const integer_constants_1 = require("../../utils/integer-constants");
|
|
25
25
|
const utils_6 = require("../../utils/utils");
|
|
26
|
+
const warnings_1 = require("../warnings/warnings");
|
|
26
27
|
class FederationFactory {
|
|
27
28
|
authorizationDataByParentTypeName;
|
|
28
29
|
coordsByNamedTypeName = new Map();
|
|
@@ -51,11 +52,14 @@ class FederationFactory {
|
|
|
51
52
|
[string_constants_2.AUTHENTICATED, constants_1.AUTHENTICATED_DEFINITION],
|
|
52
53
|
[string_constants_2.DEPRECATED, constants_1.DEPRECATED_DEFINITION],
|
|
53
54
|
[string_constants_2.INACCESSIBLE, constants_1.INACCESSIBLE_DEFINITION],
|
|
55
|
+
[string_constants_2.ONE_OF, constants_1.ONE_OF_DEFINITION],
|
|
54
56
|
[string_constants_2.REQUIRES_SCOPES, constants_1.REQUIRES_SCOPES_DEFINITION],
|
|
57
|
+
[string_constants_2.SEMANTIC_NON_NULL, constants_1.SEMANTIC_NON_NULL_DEFINITION],
|
|
55
58
|
[string_constants_2.TAG, constants_1.TAG_DEFINITION],
|
|
56
59
|
]);
|
|
57
60
|
persistedDirectiveDefinitions = new Set([string_constants_2.AUTHENTICATED, string_constants_2.DEPRECATED, string_constants_2.INACCESSIBLE, string_constants_2.TAG, string_constants_2.REQUIRES_SCOPES]);
|
|
58
61
|
potentialPersistedDirectiveDefinitionDataByDirectiveName = new Map();
|
|
62
|
+
referencedPersistedDirectiveNames = new Set();
|
|
59
63
|
routerDefinitions = [constants_1.DEPRECATED_DEFINITION, constants_1.TAG_DEFINITION];
|
|
60
64
|
subscriptionFilterDataByFieldPath = new Map();
|
|
61
65
|
tagNamesByCoords = new Map();
|
|
@@ -383,7 +387,7 @@ class FederationFactory {
|
|
|
383
387
|
return;
|
|
384
388
|
}
|
|
385
389
|
// There should only be a single entry in the set
|
|
386
|
-
const subgraphName = (0, utils_6.
|
|
390
|
+
const subgraphName = (0, utils_6.getFirstEntry)(incomingData.subgraphNames);
|
|
387
391
|
if (subgraphName === undefined) {
|
|
388
392
|
this.errors.push((0, errors_1.unknownFieldSubgraphNameError)(incomingData.federatedCoords));
|
|
389
393
|
return;
|
|
@@ -473,6 +477,9 @@ class FederationFactory {
|
|
|
473
477
|
(0, utils_6.addIterableValuesToSet)(incomingData.subgraphNames, (0, utils_6.getValueOrDefault)(subgraphNamesByNamedTypeName, incomingData.namedTypeName, () => new Set()));
|
|
474
478
|
}
|
|
475
479
|
upsertFieldData(fieldDataByFieldName, incomingData, isParentInaccessible) {
|
|
480
|
+
if (incomingData.directivesByDirectiveName.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
481
|
+
this.referencedPersistedDirectiveNames.add(string_constants_2.SEMANTIC_NON_NULL);
|
|
482
|
+
}
|
|
476
483
|
const existingData = fieldDataByFieldName.get(incomingData.name);
|
|
477
484
|
const targetData = existingData || this.copyFieldData(incomingData, isParentInaccessible || (0, utils_5.isNodeDataInaccessible)(incomingData));
|
|
478
485
|
(0, utils_6.getValueOrDefault)(this.coordsByNamedTypeName, incomingData.namedTypeName, () => new Set()).add(targetData.federatedCoords);
|
|
@@ -527,6 +534,7 @@ class FederationFactory {
|
|
|
527
534
|
targetData.isInaccessible ||= incomingData.isInaccessible;
|
|
528
535
|
(0, utils_6.addNewObjectValueMapEntries)(incomingData.externalFieldDataBySubgraphName, targetData.externalFieldDataBySubgraphName);
|
|
529
536
|
(0, utils_6.addMapEntries)(incomingData.isShareableBySubgraphName, targetData.isShareableBySubgraphName);
|
|
537
|
+
(0, utils_6.addMapEntries)(incomingData.nullLevelsBySubgraphName, targetData.nullLevelsBySubgraphName);
|
|
530
538
|
(0, utils_6.addIterableValuesToSet)(incomingData.subgraphNames, targetData.subgraphNames);
|
|
531
539
|
}
|
|
532
540
|
getClientSchemaUnionMembers(unionData) {
|
|
@@ -619,6 +627,9 @@ class FederationFactory {
|
|
|
619
627
|
return inputValueDataByInputValueName;
|
|
620
628
|
}
|
|
621
629
|
copyFieldData(sourceData, isInaccessible) {
|
|
630
|
+
if (sourceData.directivesByDirectiveName.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
631
|
+
this.referencedPersistedDirectiveNames.add(string_constants_2.SEMANTIC_NON_NULL);
|
|
632
|
+
}
|
|
622
633
|
return {
|
|
623
634
|
argumentDataByName: this.copyInputValueDataByValueName(sourceData.argumentDataByName, isInaccessible, sourceData.federatedCoords),
|
|
624
635
|
configureDescriptionDataBySubgraphName: (0, utils_6.copyObjectValueMap)(sourceData.configureDescriptionDataBySubgraphName),
|
|
@@ -640,6 +651,7 @@ class FederationFactory {
|
|
|
640
651
|
name: (0, utils_1.stringToNameNode)(sourceData.name),
|
|
641
652
|
type: sourceData.type,
|
|
642
653
|
},
|
|
654
|
+
nullLevelsBySubgraphName: sourceData.nullLevelsBySubgraphName,
|
|
643
655
|
originalParentTypeName: sourceData.originalParentTypeName,
|
|
644
656
|
persistedDirectivesData: (0, utils_5.extractPersistedDirectives)((0, utils_5.newPersistedDirectivesData)(), sourceData.directivesByDirectiveName, this.persistedDirectiveDefinitionByDirectiveName),
|
|
645
657
|
renamedParentTypeName: sourceData.renamedParentTypeName,
|
|
@@ -1012,7 +1024,7 @@ class FederationFactory {
|
|
|
1012
1024
|
}
|
|
1013
1025
|
}
|
|
1014
1026
|
}
|
|
1015
|
-
if (interfaceDataByTypeName.size <
|
|
1027
|
+
if (interfaceDataByTypeName.size < 1 && !unionTypeName) {
|
|
1016
1028
|
this.errors.push((0, errors_1.incompatibleFederatedFieldNamedTypeError)(fieldCoordinates, subgraphNamesByNamedTypeName));
|
|
1017
1029
|
continue;
|
|
1018
1030
|
}
|
|
@@ -1221,9 +1233,14 @@ class FederationFactory {
|
|
|
1221
1233
|
subgraphNames: fieldData.subgraphNames,
|
|
1222
1234
|
};
|
|
1223
1235
|
}
|
|
1224
|
-
getValidFlattenedPersistedDirectiveNodeArray(
|
|
1236
|
+
getValidFlattenedPersistedDirectiveNodeArray(data) {
|
|
1237
|
+
const coords = (0, utils_3.getNodeCoords)(data);
|
|
1225
1238
|
const persistedDirectiveNodes = [];
|
|
1226
|
-
for (const [directiveName, directiveNodes] of directivesByDirectiveName) {
|
|
1239
|
+
for (const [directiveName, directiveNodes] of data.persistedDirectivesData.directivesByDirectiveName) {
|
|
1240
|
+
if (directiveName === string_constants_2.SEMANTIC_NON_NULL && (0, utils_5.isFieldData)(data)) {
|
|
1241
|
+
persistedDirectiveNodes.push((0, utils_6.generateSemanticNonNullDirective)((0, utils_6.getFirstEntry)(data.nullLevelsBySubgraphName) ?? new Set([0])));
|
|
1242
|
+
continue;
|
|
1243
|
+
}
|
|
1227
1244
|
const persistedDirectiveDefinition = this.persistedDirectiveDefinitionByDirectiveName.get(directiveName);
|
|
1228
1245
|
if (!persistedDirectiveDefinition) {
|
|
1229
1246
|
continue;
|
|
@@ -1245,7 +1262,7 @@ class FederationFactory {
|
|
|
1245
1262
|
if (nodeData.persistedDirectivesData.isDeprecated) {
|
|
1246
1263
|
persistedDirectiveNodes.push((0, utils_5.generateDeprecatedDirective)(nodeData.persistedDirectivesData.deprecatedReason));
|
|
1247
1264
|
}
|
|
1248
|
-
persistedDirectiveNodes.push(...this.getValidFlattenedPersistedDirectiveNodeArray(nodeData
|
|
1265
|
+
persistedDirectiveNodes.push(...this.getValidFlattenedPersistedDirectiveNodeArray(nodeData));
|
|
1249
1266
|
return persistedDirectiveNodes;
|
|
1250
1267
|
}
|
|
1251
1268
|
getFederatedGraphNodeDescription(data) {
|
|
@@ -1325,13 +1342,52 @@ class FederationFactory {
|
|
|
1325
1342
|
fieldData.node.directives = this.getRouterPersistedDirectiveNodes(fieldData);
|
|
1326
1343
|
return fieldData.node;
|
|
1327
1344
|
}
|
|
1345
|
+
validateSemanticNonNull(data) {
|
|
1346
|
+
let comparison;
|
|
1347
|
+
for (const levels of data.nullLevelsBySubgraphName.values()) {
|
|
1348
|
+
if (!comparison) {
|
|
1349
|
+
comparison = levels;
|
|
1350
|
+
continue;
|
|
1351
|
+
}
|
|
1352
|
+
if (comparison.size !== levels.size) {
|
|
1353
|
+
this.errors.push((0, errors_1.semanticNonNullInconsistentLevelsError)(data));
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
1356
|
+
for (const level of levels) {
|
|
1357
|
+
// IDE complains but `comparison` will always have been initialized.
|
|
1358
|
+
if (!comparison.has(level)) {
|
|
1359
|
+
this.errors.push((0, errors_1.semanticNonNullInconsistentLevelsError)(data));
|
|
1360
|
+
return;
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
validateOneOfDirective({ data, inputValueNodes, requiredFieldNames }) {
|
|
1366
|
+
if (!data.directivesByDirectiveName.has(string_constants_2.ONE_OF)) {
|
|
1367
|
+
return true;
|
|
1368
|
+
}
|
|
1369
|
+
if (requiredFieldNames.size > 0) {
|
|
1370
|
+
this.errors.push((0, errors_1.oneOfRequiredFieldsError)({
|
|
1371
|
+
requiredFieldNames: Array.from(requiredFieldNames),
|
|
1372
|
+
typeName: data.name,
|
|
1373
|
+
}));
|
|
1374
|
+
return false;
|
|
1375
|
+
}
|
|
1376
|
+
if (inputValueNodes.length === 1) {
|
|
1377
|
+
this.warnings.push((0, warnings_1.singleFederatedInputFieldOneOfWarning)({
|
|
1378
|
+
fieldName: inputValueNodes[0].name.value,
|
|
1379
|
+
typeName: data.name,
|
|
1380
|
+
}));
|
|
1381
|
+
}
|
|
1382
|
+
return true;
|
|
1383
|
+
}
|
|
1328
1384
|
pushParentDefinitionDataToDocumentDefinitions(interfaceImplementations) {
|
|
1329
1385
|
for (const [parentTypeName, parentDefinitionData] of this.parentDefinitionDataByTypeName) {
|
|
1330
1386
|
if (parentDefinitionData.extensionType !== types_1.ExtensionType.NONE) {
|
|
1331
1387
|
this.errors.push((0, errors_1.noBaseDefinitionForExtensionError)((0, utils_6.kindToNodeType)(parentDefinitionData.kind), parentTypeName));
|
|
1332
1388
|
}
|
|
1333
1389
|
switch (parentDefinitionData.kind) {
|
|
1334
|
-
case graphql_1.Kind.ENUM_TYPE_DEFINITION:
|
|
1390
|
+
case graphql_1.Kind.ENUM_TYPE_DEFINITION: {
|
|
1335
1391
|
const enumValueNodes = [];
|
|
1336
1392
|
const clientEnumValueNodes = [];
|
|
1337
1393
|
const mergeMethod = this.getEnumValueMergeMethod(parentTypeName);
|
|
@@ -1386,11 +1442,16 @@ class FederationFactory {
|
|
|
1386
1442
|
values: clientEnumValueNodes,
|
|
1387
1443
|
});
|
|
1388
1444
|
break;
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
const
|
|
1392
|
-
const
|
|
1445
|
+
}
|
|
1446
|
+
case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION: {
|
|
1447
|
+
const invalidRequiredInputs = new Array();
|
|
1448
|
+
const inputValueNodes = new Array();
|
|
1449
|
+
const clientInputValueNodes = new Array();
|
|
1450
|
+
const requiredFieldNames = new Set();
|
|
1393
1451
|
for (const [inputValueName, inputValueData] of parentDefinitionData.inputValueDataByName) {
|
|
1452
|
+
if ((0, utils_5.isTypeRequired)(inputValueData.type)) {
|
|
1453
|
+
requiredFieldNames.add(inputValueName);
|
|
1454
|
+
}
|
|
1394
1455
|
if (parentDefinitionData.subgraphNames.size === inputValueData.subgraphNames.size) {
|
|
1395
1456
|
inputValueNodes.push(this.getNodeWithPersistedDirectivesByInputValueData(inputValueData));
|
|
1396
1457
|
if ((0, utils_5.isNodeDataInaccessible)(inputValueData)) {
|
|
@@ -1413,6 +1474,13 @@ class FederationFactory {
|
|
|
1413
1474
|
this.errors.push((0, errors_1.invalidRequiredInputValueError)(string_constants_2.INPUT_OBJECT, parentTypeName, invalidRequiredInputs, false));
|
|
1414
1475
|
break;
|
|
1415
1476
|
}
|
|
1477
|
+
if (!this.validateOneOfDirective({
|
|
1478
|
+
data: parentDefinitionData,
|
|
1479
|
+
inputValueNodes,
|
|
1480
|
+
requiredFieldNames,
|
|
1481
|
+
})) {
|
|
1482
|
+
break;
|
|
1483
|
+
}
|
|
1416
1484
|
parentDefinitionData.node.fields = inputValueNodes;
|
|
1417
1485
|
this.routerDefinitions.push(this.getNodeForRouterSchemaByData(parentDefinitionData));
|
|
1418
1486
|
if ((0, utils_5.isNodeDataInaccessible)(parentDefinitionData)) {
|
|
@@ -1420,7 +1488,7 @@ class FederationFactory {
|
|
|
1420
1488
|
break;
|
|
1421
1489
|
}
|
|
1422
1490
|
if (clientInputValueNodes.length < 1) {
|
|
1423
|
-
this.errors.push((0, errors_1.allChildDefinitionsAreInaccessibleError)((0, utils_6.kindToNodeType)(parentDefinitionData.kind), parentTypeName, '
|
|
1491
|
+
this.errors.push((0, errors_1.allChildDefinitionsAreInaccessibleError)((0, utils_6.kindToNodeType)(parentDefinitionData.kind), parentTypeName, 'Input field'));
|
|
1424
1492
|
break;
|
|
1425
1493
|
}
|
|
1426
1494
|
this.clientDefinitions.push({
|
|
@@ -1429,9 +1497,10 @@ class FederationFactory {
|
|
|
1429
1497
|
fields: clientInputValueNodes,
|
|
1430
1498
|
});
|
|
1431
1499
|
break;
|
|
1500
|
+
}
|
|
1432
1501
|
case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
|
|
1433
1502
|
// intentional fallthrough
|
|
1434
|
-
case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
|
|
1503
|
+
case graphql_1.Kind.OBJECT_TYPE_DEFINITION: {
|
|
1435
1504
|
const fieldNodes = [];
|
|
1436
1505
|
const clientSchemaFieldNodes = [];
|
|
1437
1506
|
const graphFieldDataByFieldName = new Map();
|
|
@@ -1445,6 +1514,7 @@ class FederationFactory {
|
|
|
1445
1514
|
if (isObject) {
|
|
1446
1515
|
(0, utils_5.validateExternalAndShareable)(fieldData, invalidFieldNames);
|
|
1447
1516
|
}
|
|
1517
|
+
this.validateSemanticNonNull(fieldData);
|
|
1448
1518
|
fieldNodes.push(this.getNodeWithPersistedDirectivesByFieldData(fieldData, argumentNodes));
|
|
1449
1519
|
if ((0, utils_5.isNodeDataInaccessible)(fieldData)) {
|
|
1450
1520
|
continue;
|
|
@@ -1491,7 +1561,8 @@ class FederationFactory {
|
|
|
1491
1561
|
fields: clientSchemaFieldNodes,
|
|
1492
1562
|
});
|
|
1493
1563
|
break;
|
|
1494
|
-
|
|
1564
|
+
}
|
|
1565
|
+
case graphql_1.Kind.SCALAR_TYPE_DEFINITION: {
|
|
1495
1566
|
if (constants_1.BASE_SCALARS.has(parentTypeName)) {
|
|
1496
1567
|
break;
|
|
1497
1568
|
}
|
|
@@ -1507,7 +1578,8 @@ class FederationFactory {
|
|
|
1507
1578
|
directives: (0, utils_5.getClientPersistedDirectiveNodes)(parentDefinitionData),
|
|
1508
1579
|
});
|
|
1509
1580
|
break;
|
|
1510
|
-
|
|
1581
|
+
}
|
|
1582
|
+
case graphql_1.Kind.UNION_TYPE_DEFINITION: {
|
|
1511
1583
|
parentDefinitionData.node.types = (0, utils_3.mapToArrayOfValues)(parentDefinitionData.memberByMemberTypeName);
|
|
1512
1584
|
this.routerDefinitions.push(this.getNodeForRouterSchemaByData(parentDefinitionData));
|
|
1513
1585
|
if ((0, utils_5.isNodeDataInaccessible)(parentDefinitionData)) {
|
|
@@ -1526,6 +1598,7 @@ class FederationFactory {
|
|
|
1526
1598
|
types: clientMembers,
|
|
1527
1599
|
});
|
|
1528
1600
|
break;
|
|
1601
|
+
}
|
|
1529
1602
|
}
|
|
1530
1603
|
}
|
|
1531
1604
|
}
|
|
@@ -1600,8 +1673,28 @@ class FederationFactory {
|
|
|
1600
1673
|
}
|
|
1601
1674
|
pushVersionTwoDirectiveDefinitionsToDocumentDefinitions() {
|
|
1602
1675
|
if (!this.isVersionTwo) {
|
|
1676
|
+
if (this.referencedPersistedDirectiveNames.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
1677
|
+
this.clientDefinitions.push(constants_1.SEMANTIC_NON_NULL_DEFINITION);
|
|
1678
|
+
// Recreate the array until all directive imports are usage-based.
|
|
1679
|
+
this.routerDefinitions = [constants_1.DEPRECATED_DEFINITION, constants_1.SEMANTIC_NON_NULL_DEFINITION, constants_1.TAG_DEFINITION];
|
|
1680
|
+
}
|
|
1603
1681
|
return;
|
|
1604
1682
|
}
|
|
1683
|
+
if (this.referencedPersistedDirectiveNames.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
1684
|
+
this.clientDefinitions.push(constants_1.SEMANTIC_NON_NULL_DEFINITION);
|
|
1685
|
+
// Recreate the array until all directive imports are usage-based.
|
|
1686
|
+
this.routerDefinitions = [
|
|
1687
|
+
constants_1.AUTHENTICATED_DEFINITION,
|
|
1688
|
+
constants_1.DEPRECATED_DEFINITION,
|
|
1689
|
+
constants_1.INACCESSIBLE_DEFINITION,
|
|
1690
|
+
constants_1.REQUIRES_SCOPES_DEFINITION,
|
|
1691
|
+
constants_1.SEMANTIC_NON_NULL_DEFINITION,
|
|
1692
|
+
constants_1.TAG_DEFINITION,
|
|
1693
|
+
constants_1.SCOPE_SCALAR_DEFINITION,
|
|
1694
|
+
];
|
|
1695
|
+
return;
|
|
1696
|
+
}
|
|
1697
|
+
// Recreate the array until all directive imports are usage-based.
|
|
1605
1698
|
this.routerDefinitions = [
|
|
1606
1699
|
constants_1.AUTHENTICATED_DEFINITION,
|
|
1607
1700
|
constants_1.DEPRECATED_DEFINITION,
|
|
@@ -1610,7 +1703,6 @@ class FederationFactory {
|
|
|
1610
1703
|
constants_1.TAG_DEFINITION,
|
|
1611
1704
|
constants_1.SCOPE_SCALAR_DEFINITION,
|
|
1612
1705
|
];
|
|
1613
|
-
this.clientDefinitions = [constants_1.DEPRECATED_DEFINITION];
|
|
1614
1706
|
}
|
|
1615
1707
|
validatePathSegmentInaccessibility(path) {
|
|
1616
1708
|
if (!path) {
|
|
@@ -2081,15 +2173,18 @@ class FederationFactory {
|
|
|
2081
2173
|
switch (parentDefinitionData.kind) {
|
|
2082
2174
|
case graphql_1.Kind.SCALAR_TYPE_DEFINITION:
|
|
2083
2175
|
// intentional fallthrough
|
|
2084
|
-
case graphql_1.Kind.UNION_TYPE_DEFINITION:
|
|
2085
|
-
|
|
2086
|
-
|
|
2176
|
+
case graphql_1.Kind.UNION_TYPE_DEFINITION: {
|
|
2177
|
+
break;
|
|
2178
|
+
}
|
|
2179
|
+
case graphql_1.Kind.ENUM_TYPE_DEFINITION: {
|
|
2087
2180
|
this.handleChildTagExclusions(parentDefinitionData, parentDefinitionData.enumValueDataByValueName, parentTagData.childTagDataByChildName, contractTagOptions.tagNamesToExclude);
|
|
2088
2181
|
break;
|
|
2089
|
-
|
|
2182
|
+
}
|
|
2183
|
+
case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION: {
|
|
2090
2184
|
this.handleChildTagExclusions(parentDefinitionData, parentDefinitionData.inputValueDataByName, parentTagData.childTagDataByChildName, contractTagOptions.tagNamesToExclude);
|
|
2091
2185
|
break;
|
|
2092
|
-
|
|
2186
|
+
}
|
|
2187
|
+
default: {
|
|
2093
2188
|
let accessibleFields = parentDefinitionData.fieldDataByName.size;
|
|
2094
2189
|
for (const [fieldName, childTagData] of parentTagData.childTagDataByChildName) {
|
|
2095
2190
|
const fieldData = (0, utils_6.getOrThrowError)(parentDefinitionData.fieldDataByName, fieldName, `${parentTypeName}.fieldDataByFieldName`);
|
|
@@ -2105,12 +2200,12 @@ class FederationFactory {
|
|
|
2105
2200
|
accessibleFields -= 1;
|
|
2106
2201
|
continue;
|
|
2107
2202
|
}
|
|
2108
|
-
for (const [argumentName,
|
|
2203
|
+
for (const [argumentName, argTagNames] of childTagData.tagNamesByArgumentName) {
|
|
2109
2204
|
const inputValueData = (0, utils_6.getOrThrowError)(fieldData.argumentDataByName, argumentName, `${fieldName}.argumentDataByArgumentName`);
|
|
2110
2205
|
if ((0, utils_5.isNodeDataInaccessible)(inputValueData)) {
|
|
2111
2206
|
continue;
|
|
2112
2207
|
}
|
|
2113
|
-
if (!
|
|
2208
|
+
if (!contractTagOptions.tagNamesToExclude.isDisjointFrom(argTagNames)) {
|
|
2114
2209
|
(0, utils_6.getValueOrDefault)(inputValueData.persistedDirectivesData.directivesByDirectiveName, string_constants_2.INACCESSIBLE, () => [(0, utils_6.generateSimpleDirective)(string_constants_2.INACCESSIBLE)]);
|
|
2115
2210
|
this.inaccessibleCoords.add(inputValueData.federatedCoords);
|
|
2116
2211
|
}
|
|
@@ -2122,6 +2217,7 @@ class FederationFactory {
|
|
|
2122
2217
|
]);
|
|
2123
2218
|
this.inaccessibleCoords.add(parentTypeName);
|
|
2124
2219
|
}
|
|
2220
|
+
}
|
|
2125
2221
|
}
|
|
2126
2222
|
}
|
|
2127
2223
|
}
|