@wundergraph/composition 0.43.3 → 0.45.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 +7 -2
- package/dist/errors/errors.js +28 -1
- package/dist/errors/errors.js.map +1 -1
- package/dist/errors/types.d.ts +9 -0
- package/dist/router-configuration/types.d.ts +7 -5
- package/dist/router-configuration/utils.js.map +1 -1
- package/dist/schema-building/types.d.ts +2 -0
- package/dist/schema-building/utils.d.ts +3 -3
- package/dist/schema-building/utils.js +11 -7
- package/dist/schema-building/utils.js.map +1 -1
- package/dist/subgraph/types.d.ts +3 -2
- 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 +7 -3
- 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 +3 -1
- package/dist/v1/federation/federation-factory.js +61 -5
- package/dist/v1/federation/federation-factory.js.map +1 -1
- package/dist/v1/normalization/directive-definition-data.d.ts +2 -0
- package/dist/v1/normalization/directive-definition-data.js +45 -1
- package/dist/v1/normalization/directive-definition-data.js.map +1 -1
- package/dist/v1/normalization/normalization-factory.d.ts +3 -1
- package/dist/v1/normalization/normalization-factory.js +107 -12
- package/dist/v1/normalization/normalization-factory.js.map +1 -1
- 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/normalization/walkers.js +6 -1
- package/dist/v1/normalization/walkers.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 -2
- package/dist/v1/utils/utils.js +17 -4
- package/dist/v1/utils/utils.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.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.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.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.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 = 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 = 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';
|
|
@@ -116,6 +120,7 @@ exports.QUERY_UPPER = 'QUERY';
|
|
|
116
120
|
exports.QUOTATION_JOIN = `", "`;
|
|
117
121
|
exports.REASON = 'reason';
|
|
118
122
|
exports.REQUEST = 'request';
|
|
123
|
+
exports.REQUIRE_FETCH_REASONS = 'openfed__requireFetchReasons';
|
|
119
124
|
exports.REQUIRES = 'requires';
|
|
120
125
|
exports.REQUIRES_SCOPES = 'requiresScopes';
|
|
121
126
|
exports.RESOLVABLE = 'resolvable';
|
|
@@ -127,12 +132,12 @@ exports.SCOPES = 'scopes';
|
|
|
127
132
|
exports.SCOPE_SCALAR = 'openfed__Scope';
|
|
128
133
|
exports.SECURITY = 'SECURITY';
|
|
129
134
|
exports.SELECTION_REPRESENTATION = ' { ... }';
|
|
135
|
+
exports.SEMANTIC_NON_NULL = 'semanticNonNull';
|
|
130
136
|
exports.SERVICE_OBJECT = '_Service';
|
|
131
137
|
exports.SERVICE_FIELD = '_service';
|
|
132
138
|
exports.SHAREABLE = 'shareable';
|
|
133
139
|
exports.SPECIFIED_BY = 'specifiedBy';
|
|
134
140
|
exports.STREAM_CONFIGURATION = 'streamConfiguration';
|
|
135
|
-
exports.CONSUMER_INACTIVE_THRESHOLD = 'consumerInactiveThreshold';
|
|
136
141
|
exports.STREAM_NAME = 'streamName';
|
|
137
142
|
exports.STRING = 'string';
|
|
138
143
|
exports.STRING_SCALAR = 'String';
|
|
@@ -154,8 +159,6 @@ exports.UNION_UPPER = 'UNION';
|
|
|
154
159
|
exports.URL_LOWER = 'url';
|
|
155
160
|
exports.VALUES = 'values';
|
|
156
161
|
exports.VARIABLE_DEFINITION_UPPER = 'VARIABLE_DEFINITION';
|
|
157
|
-
exports.CHANNEL = 'channel';
|
|
158
|
-
exports.CHANNELS = 'channels';
|
|
159
162
|
exports.EXECUTABLE_DIRECTIVE_LOCATIONS = new Set([
|
|
160
163
|
exports.FIELD_UPPER,
|
|
161
164
|
exports.FRAGMENT_DEFINITION_UPPER,
|
|
@@ -167,8 +170,8 @@ exports.EXECUTABLE_DIRECTIVE_LOCATIONS = new Set([
|
|
|
167
170
|
]);
|
|
168
171
|
exports.ROOT_TYPE_NAMES = new Set([exports.MUTATION, exports.QUERY, exports.SUBSCRIPTION]);
|
|
169
172
|
exports.AUTHORIZATION_DIRECTIVES = new Set([exports.AUTHENTICATED, exports.REQUIRES_SCOPES]);
|
|
170
|
-
exports.PERSISTED_CLIENT_DIRECTIVES = new Set([exports.DEPRECATED]);
|
|
171
|
-
exports.INHERITABLE_DIRECTIVE_NAMES = new Set([exports.EXTERNAL, exports.SHAREABLE]);
|
|
173
|
+
exports.PERSISTED_CLIENT_DIRECTIVES = new Set([exports.DEPRECATED, exports.SEMANTIC_NON_NULL]);
|
|
174
|
+
exports.INHERITABLE_DIRECTIVE_NAMES = new Set([exports.EXTERNAL, exports.REQUIRE_FETCH_REASONS, exports.SHAREABLE]);
|
|
172
175
|
exports.IGNORED_FIELDS = new Set([exports.ENTITIES_FIELD, exports.SERVICE_FIELD]);
|
|
173
176
|
exports.INPUT_NODE_KINDS = new Set([
|
|
174
177
|
graphql_1.Kind.ENUM_TYPE_DEFINITION,
|
|
@@ -182,4 +185,5 @@ exports.OUTPUT_NODE_KINDS = new Set([
|
|
|
182
185
|
graphql_1.Kind.SCALAR_TYPE_DEFINITION,
|
|
183
186
|
graphql_1.Kind.UNION_TYPE_DEFINITION,
|
|
184
187
|
]);
|
|
188
|
+
exports.NON_REPEATABLE_PERSISTED_DIRECTIVES = new Set([exports.INACCESSIBLE, exports.SEMANTIC_NON_NULL]);
|
|
185
189
|
//# 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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"}
|
|
@@ -40,6 +40,7 @@ export declare class FederationFactory {
|
|
|
40
40
|
persistedDirectiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>;
|
|
41
41
|
persistedDirectiveDefinitions: Set<string>;
|
|
42
42
|
potentialPersistedDirectiveDefinitionDataByDirectiveName: Map<string, PersistedDirectiveDefinitionData>;
|
|
43
|
+
referencedPersistedDirectiveNames: Set<string>;
|
|
43
44
|
routerDefinitions: MutableTypeDefinitionNode[];
|
|
44
45
|
subscriptionFilterDataByFieldPath: Map<string, SubscriptionFilterData>;
|
|
45
46
|
tagNamesByCoords: Map<string, Set<string>>;
|
|
@@ -81,13 +82,14 @@ export declare class FederationFactory {
|
|
|
81
82
|
handleInterfaceObjectForInternalGraph({ entityData, internalSubgraph, interfaceObjectData, interfaceObjectNode, resolvableKeyFieldSets, subgraphName, }: InterfaceObjectForInternalGraphOptions): void;
|
|
82
83
|
handleEntityInterfaces(): void;
|
|
83
84
|
fieldDataToGraphFieldData(fieldData: FieldData): GraphFieldData;
|
|
84
|
-
getValidFlattenedPersistedDirectiveNodeArray(
|
|
85
|
+
getValidFlattenedPersistedDirectiveNodeArray(data: NodeData): Array<ConstDirectiveNode>;
|
|
85
86
|
getRouterPersistedDirectiveNodes<T extends NodeData>(nodeData: T): ConstDirectiveNode[];
|
|
86
87
|
getFederatedGraphNodeDescription(data: NodeData): StringValueNode | undefined;
|
|
87
88
|
getNodeForRouterSchemaByData<T extends NodeData>(data: T): T['node'];
|
|
88
89
|
getNodeWithPersistedDirectivesByInputValueData(inputValueData: InputValueData): MutableInputValueNode;
|
|
89
90
|
getValidFieldArgumentNodes(fieldData: FieldData): MutableInputValueNode[];
|
|
90
91
|
getNodeWithPersistedDirectivesByFieldData(fieldData: FieldData, argumentNodes: Array<MutableInputValueNode>): MutableFieldNode;
|
|
92
|
+
validateSemanticNonNull(data: FieldData): void;
|
|
91
93
|
pushParentDefinitionDataToDocumentDefinitions(interfaceImplementations: InterfaceImplementationData[]): void;
|
|
92
94
|
pushNamedTypeAuthDataToFields(): void;
|
|
93
95
|
federateSubgraphData(): void;
|
|
@@ -52,10 +52,12 @@ class FederationFactory {
|
|
|
52
52
|
[string_constants_2.DEPRECATED, constants_1.DEPRECATED_DEFINITION],
|
|
53
53
|
[string_constants_2.INACCESSIBLE, constants_1.INACCESSIBLE_DEFINITION],
|
|
54
54
|
[string_constants_2.REQUIRES_SCOPES, constants_1.REQUIRES_SCOPES_DEFINITION],
|
|
55
|
+
[string_constants_2.SEMANTIC_NON_NULL, constants_1.SEMANTIC_NON_NULL_DEFINITION],
|
|
55
56
|
[string_constants_2.TAG, constants_1.TAG_DEFINITION],
|
|
56
57
|
]);
|
|
57
58
|
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
59
|
potentialPersistedDirectiveDefinitionDataByDirectiveName = new Map();
|
|
60
|
+
referencedPersistedDirectiveNames = new Set();
|
|
59
61
|
routerDefinitions = [constants_1.DEPRECATED_DEFINITION, constants_1.TAG_DEFINITION];
|
|
60
62
|
subscriptionFilterDataByFieldPath = new Map();
|
|
61
63
|
tagNamesByCoords = new Map();
|
|
@@ -383,7 +385,7 @@ class FederationFactory {
|
|
|
383
385
|
return;
|
|
384
386
|
}
|
|
385
387
|
// There should only be a single entry in the set
|
|
386
|
-
const subgraphName = (0, utils_6.
|
|
388
|
+
const subgraphName = (0, utils_6.getFirstEntry)(incomingData.subgraphNames);
|
|
387
389
|
if (subgraphName === undefined) {
|
|
388
390
|
this.errors.push((0, errors_1.unknownFieldSubgraphNameError)(incomingData.federatedCoords));
|
|
389
391
|
return;
|
|
@@ -473,6 +475,9 @@ class FederationFactory {
|
|
|
473
475
|
(0, utils_6.addIterableValuesToSet)(incomingData.subgraphNames, (0, utils_6.getValueOrDefault)(subgraphNamesByNamedTypeName, incomingData.namedTypeName, () => new Set()));
|
|
474
476
|
}
|
|
475
477
|
upsertFieldData(fieldDataByFieldName, incomingData, isParentInaccessible) {
|
|
478
|
+
if (incomingData.directivesByDirectiveName.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
479
|
+
this.referencedPersistedDirectiveNames.add(string_constants_2.SEMANTIC_NON_NULL);
|
|
480
|
+
}
|
|
476
481
|
const existingData = fieldDataByFieldName.get(incomingData.name);
|
|
477
482
|
const targetData = existingData || this.copyFieldData(incomingData, isParentInaccessible || (0, utils_5.isNodeDataInaccessible)(incomingData));
|
|
478
483
|
(0, utils_6.getValueOrDefault)(this.coordsByNamedTypeName, incomingData.namedTypeName, () => new Set()).add(targetData.federatedCoords);
|
|
@@ -527,6 +532,7 @@ class FederationFactory {
|
|
|
527
532
|
targetData.isInaccessible ||= incomingData.isInaccessible;
|
|
528
533
|
(0, utils_6.addNewObjectValueMapEntries)(incomingData.externalFieldDataBySubgraphName, targetData.externalFieldDataBySubgraphName);
|
|
529
534
|
(0, utils_6.addMapEntries)(incomingData.isShareableBySubgraphName, targetData.isShareableBySubgraphName);
|
|
535
|
+
(0, utils_6.addMapEntries)(incomingData.nullLevelsBySubgraphName, targetData.nullLevelsBySubgraphName);
|
|
530
536
|
(0, utils_6.addIterableValuesToSet)(incomingData.subgraphNames, targetData.subgraphNames);
|
|
531
537
|
}
|
|
532
538
|
getClientSchemaUnionMembers(unionData) {
|
|
@@ -619,6 +625,9 @@ class FederationFactory {
|
|
|
619
625
|
return inputValueDataByInputValueName;
|
|
620
626
|
}
|
|
621
627
|
copyFieldData(sourceData, isInaccessible) {
|
|
628
|
+
if (sourceData.directivesByDirectiveName.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
629
|
+
this.referencedPersistedDirectiveNames.add(string_constants_2.SEMANTIC_NON_NULL);
|
|
630
|
+
}
|
|
622
631
|
return {
|
|
623
632
|
argumentDataByName: this.copyInputValueDataByValueName(sourceData.argumentDataByName, isInaccessible, sourceData.federatedCoords),
|
|
624
633
|
configureDescriptionDataBySubgraphName: (0, utils_6.copyObjectValueMap)(sourceData.configureDescriptionDataBySubgraphName),
|
|
@@ -640,6 +649,7 @@ class FederationFactory {
|
|
|
640
649
|
name: (0, utils_1.stringToNameNode)(sourceData.name),
|
|
641
650
|
type: sourceData.type,
|
|
642
651
|
},
|
|
652
|
+
nullLevelsBySubgraphName: sourceData.nullLevelsBySubgraphName,
|
|
643
653
|
originalParentTypeName: sourceData.originalParentTypeName,
|
|
644
654
|
persistedDirectivesData: (0, utils_5.extractPersistedDirectives)((0, utils_5.newPersistedDirectivesData)(), sourceData.directivesByDirectiveName, this.persistedDirectiveDefinitionByDirectiveName),
|
|
645
655
|
renamedParentTypeName: sourceData.renamedParentTypeName,
|
|
@@ -734,6 +744,7 @@ class FederationFactory {
|
|
|
734
744
|
kind: sourceData.kind,
|
|
735
745
|
name: (0, utils_1.stringToNameNode)(sourceData.renamedTypeName || sourceData.name),
|
|
736
746
|
},
|
|
747
|
+
requireFetchReasonsFieldNames: new Set(),
|
|
737
748
|
renamedTypeName: sourceData.renamedTypeName,
|
|
738
749
|
subgraphNames: new Set(sourceData.subgraphNames),
|
|
739
750
|
};
|
|
@@ -1220,9 +1231,14 @@ class FederationFactory {
|
|
|
1220
1231
|
subgraphNames: fieldData.subgraphNames,
|
|
1221
1232
|
};
|
|
1222
1233
|
}
|
|
1223
|
-
getValidFlattenedPersistedDirectiveNodeArray(
|
|
1234
|
+
getValidFlattenedPersistedDirectiveNodeArray(data) {
|
|
1235
|
+
const coords = (0, utils_3.getNodeCoords)(data);
|
|
1224
1236
|
const persistedDirectiveNodes = [];
|
|
1225
|
-
for (const [directiveName, directiveNodes] of directivesByDirectiveName) {
|
|
1237
|
+
for (const [directiveName, directiveNodes] of data.persistedDirectivesData.directivesByDirectiveName) {
|
|
1238
|
+
if (directiveName === string_constants_2.SEMANTIC_NON_NULL && (0, utils_5.isFieldData)(data)) {
|
|
1239
|
+
persistedDirectiveNodes.push((0, utils_6.generateSemanticNonNullDirective)((0, utils_6.getFirstEntry)(data.nullLevelsBySubgraphName) ?? new Set([0])));
|
|
1240
|
+
continue;
|
|
1241
|
+
}
|
|
1226
1242
|
const persistedDirectiveDefinition = this.persistedDirectiveDefinitionByDirectiveName.get(directiveName);
|
|
1227
1243
|
if (!persistedDirectiveDefinition) {
|
|
1228
1244
|
continue;
|
|
@@ -1244,7 +1260,7 @@ class FederationFactory {
|
|
|
1244
1260
|
if (nodeData.persistedDirectivesData.isDeprecated) {
|
|
1245
1261
|
persistedDirectiveNodes.push((0, utils_5.generateDeprecatedDirective)(nodeData.persistedDirectivesData.deprecatedReason));
|
|
1246
1262
|
}
|
|
1247
|
-
persistedDirectiveNodes.push(...this.getValidFlattenedPersistedDirectiveNodeArray(nodeData
|
|
1263
|
+
persistedDirectiveNodes.push(...this.getValidFlattenedPersistedDirectiveNodeArray(nodeData));
|
|
1248
1264
|
return persistedDirectiveNodes;
|
|
1249
1265
|
}
|
|
1250
1266
|
getFederatedGraphNodeDescription(data) {
|
|
@@ -1324,6 +1340,26 @@ class FederationFactory {
|
|
|
1324
1340
|
fieldData.node.directives = this.getRouterPersistedDirectiveNodes(fieldData);
|
|
1325
1341
|
return fieldData.node;
|
|
1326
1342
|
}
|
|
1343
|
+
validateSemanticNonNull(data) {
|
|
1344
|
+
let comparison;
|
|
1345
|
+
for (const levels of data.nullLevelsBySubgraphName.values()) {
|
|
1346
|
+
if (!comparison) {
|
|
1347
|
+
comparison = levels;
|
|
1348
|
+
continue;
|
|
1349
|
+
}
|
|
1350
|
+
if (comparison.size !== levels.size) {
|
|
1351
|
+
this.errors.push((0, errors_1.semanticNonNullInconsistentLevelsError)(data));
|
|
1352
|
+
return;
|
|
1353
|
+
}
|
|
1354
|
+
for (const level of levels) {
|
|
1355
|
+
// IDE complains but `comparison` will always have been initialized.
|
|
1356
|
+
if (!comparison.has(level)) {
|
|
1357
|
+
this.errors.push((0, errors_1.semanticNonNullInconsistentLevelsError)(data));
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1327
1363
|
pushParentDefinitionDataToDocumentDefinitions(interfaceImplementations) {
|
|
1328
1364
|
for (const [parentTypeName, parentDefinitionData] of this.parentDefinitionDataByTypeName) {
|
|
1329
1365
|
if (parentDefinitionData.extensionType !== types_1.ExtensionType.NONE) {
|
|
@@ -1444,6 +1480,7 @@ class FederationFactory {
|
|
|
1444
1480
|
if (isObject) {
|
|
1445
1481
|
(0, utils_5.validateExternalAndShareable)(fieldData, invalidFieldNames);
|
|
1446
1482
|
}
|
|
1483
|
+
this.validateSemanticNonNull(fieldData);
|
|
1447
1484
|
fieldNodes.push(this.getNodeWithPersistedDirectivesByFieldData(fieldData, argumentNodes));
|
|
1448
1485
|
if ((0, utils_5.isNodeDataInaccessible)(fieldData)) {
|
|
1449
1486
|
continue;
|
|
@@ -1599,8 +1636,28 @@ class FederationFactory {
|
|
|
1599
1636
|
}
|
|
1600
1637
|
pushVersionTwoDirectiveDefinitionsToDocumentDefinitions() {
|
|
1601
1638
|
if (!this.isVersionTwo) {
|
|
1639
|
+
if (this.referencedPersistedDirectiveNames.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
1640
|
+
this.clientDefinitions.push(constants_1.SEMANTIC_NON_NULL_DEFINITION);
|
|
1641
|
+
// Recreate the array until all directive imports are usage-based.
|
|
1642
|
+
this.routerDefinitions = [constants_1.DEPRECATED_DEFINITION, constants_1.SEMANTIC_NON_NULL_DEFINITION, constants_1.TAG_DEFINITION];
|
|
1643
|
+
}
|
|
1644
|
+
return;
|
|
1645
|
+
}
|
|
1646
|
+
if (this.referencedPersistedDirectiveNames.has(string_constants_2.SEMANTIC_NON_NULL)) {
|
|
1647
|
+
this.clientDefinitions.push(constants_1.SEMANTIC_NON_NULL_DEFINITION);
|
|
1648
|
+
// Recreate the array until all directive imports are usage-based.
|
|
1649
|
+
this.routerDefinitions = [
|
|
1650
|
+
constants_1.AUTHENTICATED_DEFINITION,
|
|
1651
|
+
constants_1.DEPRECATED_DEFINITION,
|
|
1652
|
+
constants_1.INACCESSIBLE_DEFINITION,
|
|
1653
|
+
constants_1.REQUIRES_SCOPES_DEFINITION,
|
|
1654
|
+
constants_1.SEMANTIC_NON_NULL_DEFINITION,
|
|
1655
|
+
constants_1.TAG_DEFINITION,
|
|
1656
|
+
constants_1.SCOPE_SCALAR_DEFINITION,
|
|
1657
|
+
];
|
|
1602
1658
|
return;
|
|
1603
1659
|
}
|
|
1660
|
+
// Recreate the array until all directive imports are usage-based.
|
|
1604
1661
|
this.routerDefinitions = [
|
|
1605
1662
|
constants_1.AUTHENTICATED_DEFINITION,
|
|
1606
1663
|
constants_1.DEPRECATED_DEFINITION,
|
|
@@ -1609,7 +1666,6 @@ class FederationFactory {
|
|
|
1609
1666
|
constants_1.TAG_DEFINITION,
|
|
1610
1667
|
constants_1.SCOPE_SCALAR_DEFINITION,
|
|
1611
1668
|
];
|
|
1612
|
-
this.clientDefinitions = [constants_1.DEPRECATED_DEFINITION];
|
|
1613
1669
|
}
|
|
1614
1670
|
validatePathSegmentInaccessibility(path) {
|
|
1615
1671
|
if (!path) {
|