@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.
Files changed (48) hide show
  1. package/dist/errors/errors.d.ts +8 -2
  2. package/dist/errors/errors.js +37 -1
  3. package/dist/errors/errors.js.map +1 -1
  4. package/dist/errors/types.d.ts +14 -0
  5. package/dist/schema-building/types.d.ts +1 -0
  6. package/dist/schema-building/utils.d.ts +2 -2
  7. package/dist/schema-building/utils.js +8 -4
  8. package/dist/schema-building/utils.js.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/dist/types/types.d.ts +1 -0
  11. package/dist/utils/composition-version.js +1 -1
  12. package/dist/utils/string-constants.d.ts +8 -4
  13. package/dist/utils/string-constants.js +13 -9
  14. package/dist/utils/string-constants.js.map +1 -1
  15. package/dist/utils/utils.d.ts +2 -1
  16. package/dist/utils/utils.js +28 -3
  17. package/dist/utils/utils.js.map +1 -1
  18. package/dist/v1/federation/federation-factory.d.ts +5 -1
  19. package/dist/v1/federation/federation-factory.js +118 -22
  20. package/dist/v1/federation/federation-factory.js.map +1 -1
  21. package/dist/v1/federation/params.d.ts +8 -0
  22. package/dist/v1/federation/params.js +3 -0
  23. package/dist/v1/federation/params.js.map +1 -0
  24. package/dist/v1/normalization/directive-definition-data.d.ts +5 -3
  25. package/dist/v1/normalization/directive-definition-data.js +113 -69
  26. package/dist/v1/normalization/directive-definition-data.js.map +1 -1
  27. package/dist/v1/normalization/normalization-factory.d.ts +4 -1
  28. package/dist/v1/normalization/normalization-factory.js +135 -13
  29. package/dist/v1/normalization/normalization-factory.js.map +1 -1
  30. package/dist/v1/normalization/params.d.ts +6 -0
  31. package/dist/v1/normalization/params.js +3 -0
  32. package/dist/v1/normalization/params.js.map +1 -0
  33. package/dist/v1/normalization/types.d.ts +7 -1
  34. package/dist/v1/normalization/utils.js +2 -0
  35. package/dist/v1/normalization/utils.js.map +1 -1
  36. package/dist/v1/utils/constants.d.ts +2 -0
  37. package/dist/v1/utils/constants.js +43 -1
  38. package/dist/v1/utils/constants.js.map +1 -1
  39. package/dist/v1/utils/utils.d.ts +2 -1
  40. package/dist/v1/utils/utils.js +17 -0
  41. package/dist/v1/utils/utils.js.map +1 -1
  42. package/dist/v1/warnings/params.d.ts +10 -0
  43. package/dist/v1/warnings/params.js +3 -0
  44. package/dist/v1/warnings/params.js.map +1 -0
  45. package/dist/v1/warnings/warnings.d.ts +3 -0
  46. package/dist/v1/warnings/warnings.js +23 -0
  47. package/dist/v1/warnings/warnings.js.map +1 -1
  48. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FLOAT_SCALAR = exports.FIRST_ORDINAL = exports.FIELD_DEFINITION_UPPER = 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.CONFIGURE_CHILD_DESCRIPTIONS = exports.CONFIGURE_DESCRIPTION = exports.CONDITION = exports.COMPOSE_DIRECTIVE = 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.PARENT_DEFINITION_DATA = exports.OVERRIDE = exports.OR_UPPER = exports.OBJECT_UPPER = exports.OBJECT = exports.OPERATION_TO_DEFAULT = 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.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 = void 0;
5
- exports.VARIABLE_DEFINITION_UPPER = exports.VALUES = exports.URL_LOWER = exports.UNION_UPPER = exports.UNION = 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.CONSUMER_INACTIVE_THRESHOLD = exports.STREAM_CONFIGURATION = exports.SPECIFIED_BY = exports.SHAREABLE = exports.SERVICE_FIELD = exports.SERVICE_OBJECT = 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.REQUEST = exports.REASON = exports.QUOTATION_JOIN = exports.QUERY_UPPER = exports.QUERY = exports.PUBLISH = exports.PROVIDES = exports.PROVIDER_ID = exports.REQUIRE_FETCH_REASONS = exports.PERIOD = exports.PARENT_EXTENSION_DATA_MAP = exports.PARENT_DEFINITION_DATA_MAP = void 0;
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.CHANNELS = exports.CHANNEL = void 0;
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":"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"}
1
+ {"version":3,"file":"string-constants.js","sourceRoot":"","sources":["../../src/utils/string-constants.ts"],"names":[],"mappings":"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"}
@@ -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 getSingleSetEntry<T>(set: Set<T>): T | undefined;
17
+ export declare function getFirstEntry<K, V>(hashSet: Set<V> | Map<K, V>): V | undefined;
@@ -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.getSingleSetEntry = getSingleSetEntry;
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 getSingleSetEntry(set) {
210
- const { value, done } = set.values().next();
234
+ function getFirstEntry(hashSet) {
235
+ const { value, done } = hashSet.values().next();
211
236
  if (done) {
212
237
  return;
213
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
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(directivesByDirectiveName: Map<string, Array<ConstDirectiveNode>>, coords: string): Array<ConstDirectiveNode>;
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.getSingleSetEntry)(incomingData.subgraphNames);
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 < 0 && !unionTypeName) {
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(directivesByDirectiveName, coords) {
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.persistedDirectivesData.directivesByDirectiveName, nodeData.name));
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
- case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
1390
- const invalidRequiredInputs = [];
1391
- const inputValueNodes = [];
1392
- const clientInputValueNodes = [];
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, 'input field'));
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
- case graphql_1.Kind.SCALAR_TYPE_DEFINITION:
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
- case graphql_1.Kind.UNION_TYPE_DEFINITION:
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
- continue;
2086
- case graphql_1.Kind.ENUM_TYPE_DEFINITION:
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
- case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
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
- default:
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, tagNames] of childTagData.tagNamesByArgumentName) {
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 (!tagNames.isDisjointFrom(tagNames)) {
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
  }