@wundergraph/composition 0.54.1 → 0.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/ast/utils.d.ts +1 -0
  2. package/dist/normalization/types.d.ts +9 -7
  3. package/dist/resolvability-graph/constants/number-constants.d.ts +1 -0
  4. package/dist/resolvability-graph/constants/number-constants.js +5 -0
  5. package/dist/resolvability-graph/constants/number-constants.js.map +1 -0
  6. package/dist/resolvability-graph/graph.d.ts +4 -3
  7. package/dist/resolvability-graph/graph.js +31 -36
  8. package/dist/resolvability-graph/graph.js.map +1 -1
  9. package/dist/resolvability-graph/types/types.d.ts +2 -1
  10. package/dist/resolvability-graph/utils/types/params.d.ts +8 -1
  11. package/dist/resolvability-graph/utils/types/types.d.ts +1 -0
  12. package/dist/resolvability-graph/utils/utils.d.ts +1 -1
  13. package/dist/resolvability-graph/utils/utils.js +74 -10
  14. package/dist/resolvability-graph/utils/utils.js.map +1 -1
  15. package/dist/schema-building/params.d.ts +8 -0
  16. package/dist/schema-building/params.js +3 -0
  17. package/dist/schema-building/params.js.map +1 -0
  18. package/dist/schema-building/utils.d.ts +4 -2
  19. package/dist/schema-building/utils.js +25 -8
  20. package/dist/schema-building/utils.js.map +1 -1
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/dist/types/types.d.ts +2 -0
  23. package/dist/utils/composition-version.js +1 -1
  24. package/dist/utils/string-constants.d.ts +1 -0
  25. package/dist/utils/string-constants.js +2 -1
  26. package/dist/utils/string-constants.js.map +1 -1
  27. package/dist/utils/types.d.ts +2 -2
  28. package/dist/v1/federation/federation-factory.d.ts +3 -2
  29. package/dist/v1/federation/federation-factory.js +10 -2
  30. package/dist/v1/federation/federation-factory.js.map +1 -1
  31. package/dist/v1/federation/params.d.ts +2 -1
  32. package/dist/v1/normalization/normalization-factory.d.ts +5 -4
  33. package/dist/v1/normalization/normalization-factory.js +25 -1
  34. package/dist/v1/normalization/normalization-factory.js.map +1 -1
  35. package/package.json +2 -2
@@ -28,6 +28,7 @@ export type ObjectTypeNode = ObjectTypeDefinitionNode | ObjectTypeExtensionNode;
28
28
  export type ScalarTypeNode = ScalarTypeDefinitionNode | ScalarTypeExtensionNode;
29
29
  export type SchemaNode = SchemaDefinitionNode | SchemaExtensionNode;
30
30
  export type UnionTypeNode = UnionTypeDefinitionNode | UnionTypeExtensionNode;
31
+ export type ParentTypeNode = EnumTypeNode | InputObjectTypeNode | InterfaceTypeNode | ObjectTypeNode | ScalarTypeNode | UnionTypeNode;
31
32
  export type InterfaceNodeKind = Kind.INTERFACE_TYPE_DEFINITION | Kind.INTERFACE_TYPE_EXTENSION;
32
33
  export type ObjectNodeKind = Kind.OBJECT_TYPE_DEFINITION | Kind.OBJECT_TYPE_EXTENSION;
33
34
  export type CompositeOutputNodeKind = InterfaceNodeKind | ObjectNodeKind;
@@ -4,7 +4,7 @@ import { type ConfigurationData, type Costs } from '../router-configuration/type
4
4
  import { type AuthorizationData, type ConditionalFieldData, type EntityData, type EntityInterfaceSubgraphData, type ParentDefinitionData, type PersistedDirectiveDefinitionData } from '../schema-building/types';
5
5
  import { type Graph } from '../resolvability-graph/graph';
6
6
  import { type InternalSubgraph } from '../subgraph/types';
7
- import { type DirectiveName, type TypeName } from '../types/types';
7
+ import { type AbstractTypeName, type DirectiveName, type InterfaceTypeName, type SubgraphName, type TypeName } from '../types/types';
8
8
  export type NormalizationFailure = {
9
9
  errors: Array<Error>;
10
10
  success: false;
@@ -20,9 +20,10 @@ export type NormalizationSuccess = {
20
20
  entityInterfaces: Map<string, EntityInterfaceSubgraphData>;
21
21
  entityDataByTypeName: Map<string, EntityData>;
22
22
  fieldCoordsByNamedTypeName: Map<string, Set<string>>;
23
- originalTypeNameByRenamedTypeName: Map<string, string>;
23
+ interfaceImplementationTypeNamesByInterfaceTypeName: Map<InterfaceTypeName, Set<InterfaceTypeName>>;
24
24
  isEventDrivenGraph: boolean;
25
25
  isVersionTwo: boolean;
26
+ originalTypeNameByRenamedTypeName: Map<string, string>;
26
27
  keyFieldNamesByParentTypeName: Map<string, Set<string>>;
27
28
  keyFieldSetsByEntityTypeNameByKeyFieldCoords: Map<string, Map<string, Set<string>>>;
28
29
  operationTypes: Map<string, OperationTypeNode>;
@@ -44,11 +45,12 @@ export type BatchNormalizationFailure = {
44
45
  };
45
46
  export type BatchNormalizationSuccess = {
46
47
  success: true;
47
- authorizationDataByParentTypeName: Map<string, AuthorizationData>;
48
- concreteTypeNamesByAbstractTypeName: Map<string, Set<string>>;
49
- entityDataByTypeName: Map<string, EntityData>;
50
- fieldCoordsByNamedTypeName: Map<string, Set<string>>;
51
- internalSubgraphBySubgraphName: Map<string, InternalSubgraph>;
48
+ authorizationDataByParentTypeName: Map<TypeName, AuthorizationData>;
49
+ concreteTypeNamesByAbstractTypeName: Map<AbstractTypeName, Set<TypeName>>;
50
+ entityDataByTypeName: Map<TypeName, EntityData>;
51
+ fieldCoordsByNamedTypeName: Map<TypeName, Set<string>>;
52
+ interfaceImplementationTypeNamesByInterfaceTypeName: Map<InterfaceTypeName, Set<InterfaceTypeName>>;
53
+ internalSubgraphBySubgraphName: Map<SubgraphName, InternalSubgraph>;
52
54
  internalGraph: Graph;
53
55
  warnings: Array<Warning>;
54
56
  };
@@ -0,0 +1 @@
1
+ export declare const MAX_RESOLVABILITY_PATH_SIZE: number;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_RESOLVABILITY_PATH_SIZE = void 0;
4
+ exports.MAX_RESOLVABILITY_PATH_SIZE = 5;
5
+ //# sourceMappingURL=number-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-constants.js","sourceRoot":"","sources":["../../../src/resolvability-graph/constants/number-constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAW,CAAC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { Edge, EntityDataNode, GraphNode, type GraphNodeOptions, RootNode } from './graph-nodes';
2
2
  import { type GraphFieldData, type RootTypeName } from '../utils/types';
3
- import { type FieldName, type SubgraphName, type TypeName, type ValidationResult } from './types/types';
3
+ import { type FieldName, type NodeName, type SubgraphName, type TypeName, type ValidationResult } from './types/types';
4
4
  import { type ConsolidateUnresolvablePathsParams, type ValidateEntitiesParams, type VisitEntityParams } from './types/params';
5
5
  import { type NodeResolutionData } from './node-resolution-data/node-resolution-data';
6
- import { type EntityResolvabilityErrorsParams, type EntitySharedRootFieldResolvabilityErrorsParams } from './utils/types/params';
6
+ import { type EntityResolvabilityErrorsParams } from './utils/types/params';
7
+ import { type EntityAncestorCollection } from './utils/types/types';
7
8
  export declare class Graph {
8
9
  edgeId: number;
9
10
  entityDataNodeByTypeName: Map<string, EntityDataNode>;
@@ -34,5 +35,5 @@ export declare class Graph {
34
35
  validateRootFieldEntities({ rootFieldData, walker }: ValidateEntitiesParams): ValidationResult;
35
36
  validateEntities(params: ValidateEntitiesParams): ValidationResult;
36
37
  getEntityResolvabilityErrors({ entityNodeName, pathFromRoot, rootFieldData, subgraphNameByUnresolvablePath, }: EntityResolvabilityErrorsParams): Array<Error>;
37
- getSharedEntityResolvabilityErrors({ entityNodeNames, pathFromRoot, rootFieldData, resDataByPath, subgraphNameByUnresolvablePath, }: EntitySharedRootFieldResolvabilityErrorsParams): Array<Error>;
38
+ getEntityAncestorCollection(entityNodeNames: Set<NodeName>): EntityAncestorCollection;
38
39
  }
@@ -262,6 +262,11 @@ class Graph {
262
262
  validateSharedRootFieldEntities({ rootFieldData, walker }) {
263
263
  const resolvedPaths = new Set();
264
264
  for (const [pathFromRoot, entityNodeNames] of walker.entityNodeNamesByPath) {
265
+ if (walker.unresolvablePaths.size < 1) {
266
+ return {
267
+ success: true,
268
+ };
269
+ }
265
270
  const subgraphNameByUnresolvablePath = new Map();
266
271
  // Shared fields are unique contexts, so the resolution data cannot be reused.
267
272
  const resDataByRelativeOriginPath = new Map();
@@ -287,37 +292,29 @@ class Graph {
287
292
  subgraphNameByUnresolvablePath,
288
293
  walker,
289
294
  });
295
+ // Check nothing further needs to be done
290
296
  if (subgraphNameByUnresolvablePath.size < 1) {
291
297
  continue;
292
298
  }
299
+ // Only do this if we have to
293
300
  this.consolidateUnresolvableEntityWithRootPaths({
294
301
  pathFromRoot,
295
302
  resDataByRelativeOriginPath,
296
303
  subgraphNameByUnresolvablePath,
297
304
  walker,
298
305
  });
299
- const errors = new Array();
300
- if (subgraphNameByUnresolvablePath.size > 0) {
301
- errors.push(...this.getSharedEntityResolvabilityErrors({
302
- entityNodeNames,
303
- resDataByPath: resDataByRelativeOriginPath,
304
- pathFromRoot,
305
- rootFieldData,
306
- subgraphNameByUnresolvablePath,
307
- }));
308
- }
309
- if (walker.unresolvablePaths.size > 0) {
310
- errors.push(...(0, utils_1.generateRootResolvabilityErrors)({
311
- unresolvablePaths: walker.unresolvablePaths,
312
- resDataByPath: walker.resDataByPath,
313
- rootFieldData,
314
- }));
315
- }
316
- if (errors.length < 1) {
306
+ // Check again before returning an error
307
+ if (subgraphNameByUnresolvablePath.size < 1) {
317
308
  continue;
318
309
  }
319
310
  return {
320
- errors,
311
+ errors: (0, utils_1.generateSharedEntityResolvabilityErrors)({
312
+ entityAncestors: this.getEntityAncestorCollection(entityNodeNames),
313
+ pathFromRoot,
314
+ resDataByPath: resDataByRelativeOriginPath,
315
+ rootFieldData: rootFieldData,
316
+ subgraphNameByUnresolvablePath,
317
+ }),
321
318
  success: false,
322
319
  };
323
320
  }
@@ -391,26 +388,24 @@ class Graph {
391
388
  subgraphNameByUnresolvablePath,
392
389
  });
393
390
  }
394
- getSharedEntityResolvabilityErrors({ entityNodeNames, pathFromRoot, rootFieldData, resDataByPath, subgraphNameByUnresolvablePath, }) {
395
- let entityTypeName = undefined;
391
+ getEntityAncestorCollection(entityNodeNames) {
392
+ const typeName = (0, utils_2.getFirstEntry)(entityNodeNames).split(string_constants_1.LITERAL_PERIOD)[1];
393
+ const { fieldSetsByTargetSubgraphName } = (0, utils_2.getOrThrowError)(this.entityDataNodeByTypeName, typeName, 'entityDataNodeByTypeName');
396
394
  const subgraphNames = new Array();
395
+ const sourceSubgraphNamesBySatisfiedFieldSet = new Map();
397
396
  for (const entityNodeName of entityNodeNames) {
398
- const segments = entityNodeName.split(string_constants_1.LITERAL_PERIOD);
399
- entityTypeName ??= segments[1];
400
- subgraphNames.push(segments[0]);
397
+ const { satisfiedFieldSets, subgraphName } = (0, utils_2.getOrThrowError)(this.nodeByNodeName, entityNodeName, 'nodeByNodeName');
398
+ for (const fieldSet of satisfiedFieldSets) {
399
+ (0, utils_2.getValueOrDefault)(sourceSubgraphNamesBySatisfiedFieldSet, fieldSet, () => []).push(subgraphName);
400
+ }
401
+ subgraphNames.push(subgraphName);
401
402
  }
402
- const { fieldSetsByTargetSubgraphName } = (0, utils_2.getOrThrowError)(this.entityDataNodeByTypeName, entityTypeName, 'entityDataNodeByTypeName');
403
- return (0, utils_1.generateSharedEntityResolvabilityErrors)({
404
- entityAncestors: {
405
- fieldSetsByTargetSubgraphName,
406
- subgraphNames,
407
- typeName: entityTypeName,
408
- },
409
- pathFromRoot,
410
- resDataByPath,
411
- rootFieldData: rootFieldData,
412
- subgraphNameByUnresolvablePath,
413
- });
403
+ return {
404
+ fieldSetsByTargetSubgraphName,
405
+ sourceSubgraphNamesBySatisfiedFieldSet,
406
+ subgraphNames,
407
+ typeName,
408
+ };
414
409
  }
415
410
  }
416
411
  exports.Graph = Graph;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,13 @@ export type VisitNodeResult = {
5
5
  isRevisitedNode?: true;
6
6
  };
7
7
  export type FieldName = string;
8
+ export type FieldCoords = `${TypeName}.${FieldName}`;
8
9
  export type NodeName = `${SubgraphName}.${TypeName}`;
9
10
  export type SelectionPath = string;
10
11
  export type SubgraphName = string;
11
12
  export type TypeName = string;
12
13
  export type RootFieldData = {
13
- coords: `${TypeName}.${FieldName}`;
14
+ coords: FieldCoords;
14
15
  message: string;
15
16
  subgraphNames: Set<SubgraphName>;
16
17
  };
@@ -1,4 +1,4 @@
1
- import { type NodeName, type RootFieldData, type SelectionPath, type SubgraphName } from '../../types/types';
1
+ import { type FieldCoords, type NodeName, type RootFieldData, type SelectionPath, type SubgraphName } from '../../types/types';
2
2
  import { type NodeResolutionData } from '../../node-resolution-data/node-resolution-data';
3
3
  import { type EntityAncestorCollection, type EntityAncestorData } from './types';
4
4
  import { type UnresolvableFieldData } from '../utils';
@@ -48,3 +48,10 @@ export type GenerateSharedResolvabilityErrorReasonsParams = {
48
48
  unresolvableFieldData: UnresolvableFieldData;
49
49
  entityAncestors: EntityAncestorCollection;
50
50
  };
51
+ export type GetEntityReasonsParams = {
52
+ coords: FieldCoords;
53
+ entityAncestors: EntityAncestorCollection;
54
+ fieldSets: Set<string>;
55
+ reasons: Array<string>;
56
+ targetSubgraphName: SubgraphName;
57
+ };
@@ -6,6 +6,7 @@ export type EntityAncestorData = {
6
6
  };
7
7
  export type EntityAncestorCollection = {
8
8
  fieldSetsByTargetSubgraphName: Map<SubgraphName, Set<string>>;
9
+ sourceSubgraphNamesBySatisfiedFieldSet: Map<string, Array<SubgraphName>>;
9
10
  subgraphNames: Array<SubgraphName>;
10
11
  typeName: TypeName;
11
12
  };
@@ -12,7 +12,7 @@ export type UnresolvableFieldData = {
12
12
  export declare function newRootFieldData(typeName: TypeName, fieldName: FieldName, subgraphNames: Set<SubgraphName>): RootFieldData;
13
13
  export declare function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData, unresolvableFieldData, }: GenerateResolvabilityErrorReasonsParams): Array<string>;
14
14
  export declare function generateSharedResolvabilityErrorReasons({ entityAncestors, rootFieldData, unresolvableFieldData, }: GenerateSharedResolvabilityErrorReasonsParams): Array<string>;
15
- export declare function generateSelectionSetSegments(fieldPath: string): SelectionSetSegments;
15
+ export declare function generateSelectionSetSegments(fieldPath: string, limit?: number): SelectionSetSegments;
16
16
  export declare function renderSelectionSet({ outputEnd, outputStart, pathNodes }: SelectionSetSegments, fieldData: GraphFieldData): string;
17
17
  export declare function generateRootResolvabilityErrors({ resDataByPath, rootFieldData, unresolvablePaths, }: RootResolvabilityErrorsParams): Array<Error>;
18
18
  export declare function generateEntityResolvabilityErrors({ entityAncestorData, resDataByPath, pathFromRoot, rootFieldData, subgraphNameByUnresolvablePath, }: ResolvabilityErrorsParams): Array<Error>;
@@ -12,6 +12,7 @@ exports.getMultipliedRelativeOriginPaths = getMultipliedRelativeOriginPaths;
12
12
  const errors_1 = require("../../errors/errors");
13
13
  const utils_1 = require("../../utils/utils");
14
14
  const string_constants_1 = require("../constants/string-constants");
15
+ const number_constants_1 = require("../constants/number-constants");
15
16
  function newRootFieldData(typeName, fieldName, subgraphNames) {
16
17
  return {
17
18
  coords: `${typeName}.${fieldName}`,
@@ -78,8 +79,48 @@ function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData,
78
79
  }
79
80
  return reasons;
80
81
  }
82
+ function getSelfEntityReasons({ entityAncestors: { subgraphNames, typeName }, fieldSets, reasons, targetSubgraphName, }) {
83
+ for (const fieldSet of fieldSets) {
84
+ const filteredSubgraphNames = subgraphNames.filter((subgraphName) => subgraphName !== targetSubgraphName);
85
+ if (filteredSubgraphNames.length < 1) {
86
+ continue;
87
+ }
88
+ const isSubsetPlural = filteredSubgraphNames.length > 1;
89
+ reasons.push(`The entity ancestor${isSubsetPlural ? 's' : ''} "${typeName}" in` +
90
+ ` subgraph${isSubsetPlural ? `s` : ``} "${filteredSubgraphNames.join(string_constants_1.QUOTATION_JOIN)}"` +
91
+ ` do${isSubsetPlural ? `` : `es`} not satisfy the key field set "${fieldSet}"` +
92
+ ` to access subgraph "${targetSubgraphName}".`);
93
+ }
94
+ }
95
+ function getAncestorEntityReasons({ coords, entityAncestors: { sourceSubgraphNamesBySatisfiedFieldSet, subgraphNames, typeName }, fieldSets, reasons, targetSubgraphName, }) {
96
+ const unsatisfiedFieldSetReasons = [];
97
+ const satisfiedFieldSetReasons = [];
98
+ for (const fieldSet of fieldSets) {
99
+ const sourceSubgraphNames = sourceSubgraphNamesBySatisfiedFieldSet.get(fieldSet);
100
+ if (!sourceSubgraphNames) {
101
+ const filteredSubgraphNames = subgraphNames.filter((subgraphName) => subgraphName !== targetSubgraphName);
102
+ const isSubsetPlural = filteredSubgraphNames.length > 1;
103
+ unsatisfiedFieldSetReasons.push(`The entity ancestor${isSubsetPlural ? 's' : ''} "${typeName}" in` +
104
+ ` subgraph${isSubsetPlural ? `s` : ``} "${filteredSubgraphNames.join(string_constants_1.QUOTATION_JOIN)}" ` +
105
+ ` do${isSubsetPlural ? `` : `es`} not satisfy the key field set "${fieldSet}"` +
106
+ ` to access subgraph "${targetSubgraphName}".`);
107
+ continue;
108
+ }
109
+ const filteredSubgraphNames = sourceSubgraphNames.filter((subgraphName) => subgraphName !== targetSubgraphName);
110
+ if (filteredSubgraphNames.length < 1) {
111
+ continue;
112
+ }
113
+ const isSubsetPlural = filteredSubgraphNames.length > 1;
114
+ satisfiedFieldSetReasons.push(`The entity ancestor "${typeName}" in subgraph${isSubsetPlural ? `s` : ``}` +
115
+ ` "${filteredSubgraphNames.join(string_constants_1.QUOTATION_JOIN)}" ${isSubsetPlural ? 'are' : 'is'} able to satisfy at least` +
116
+ ` one key field set to access subgraph "${targetSubgraphName}", but this still does not provide a route` +
117
+ ` to resolve "${coords}".`);
118
+ }
119
+ reasons.push(...(satisfiedFieldSetReasons.length > 0 ? satisfiedFieldSetReasons : unsatisfiedFieldSetReasons));
120
+ }
81
121
  function generateSharedResolvabilityErrorReasons({ entityAncestors, rootFieldData, unresolvableFieldData, }) {
82
122
  const { externalSubgraphNames, fieldName, typeName, subgraphNames } = unresolvableFieldData;
123
+ const coords = `${typeName}.${fieldName}`;
83
124
  const reasons = [rootFieldData.message];
84
125
  if (externalSubgraphNames.size > 0) {
85
126
  const nonExternalSubgraphNames = subgraphNames.difference(externalSubgraphNames);
@@ -94,38 +135,61 @@ function generateSharedResolvabilityErrorReasons({ entityAncestors, rootFieldDat
94
135
  (subgraphNames.size > 1 ? `s` : ``) +
95
136
  `: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
96
137
  }
138
+ const isEntity = typeName === entityAncestors.typeName;
97
139
  let hasIntersectingTargetSubgraph = false;
98
140
  for (const [targetSubgraphName, fieldSets] of entityAncestors.fieldSetsByTargetSubgraphName) {
99
141
  if (!subgraphNames.has(targetSubgraphName)) {
100
142
  continue;
101
143
  }
102
- const filteredSubgraphNames = entityAncestors.subgraphNames.filter((subgraphName) => subgraphName !== targetSubgraphName);
103
- const isSubsetPlural = filteredSubgraphNames.length > 1;
104
144
  hasIntersectingTargetSubgraph = true;
105
- for (const fieldSet of fieldSets) {
106
- reasons.push(`The entity ancestor "${entityAncestors.typeName}" in subgraph${isSubsetPlural ? `s` : ``}` +
107
- ` "${filteredSubgraphNames.join(string_constants_1.QUOTATION_JOIN)}" do${isSubsetPlural ? `` : `es`} not satisfy` +
108
- ` the key field set "${fieldSet}" to access subgraph "${targetSubgraphName}".`);
145
+ if (isEntity) {
146
+ getSelfEntityReasons({
147
+ coords,
148
+ entityAncestors,
149
+ fieldSets,
150
+ reasons,
151
+ targetSubgraphName,
152
+ });
153
+ }
154
+ else {
155
+ getAncestorEntityReasons({
156
+ coords,
157
+ entityAncestors,
158
+ fieldSets,
159
+ reasons,
160
+ targetSubgraphName,
161
+ });
109
162
  }
110
163
  }
111
164
  if (!hasIntersectingTargetSubgraph) {
112
165
  const isPlural = entityAncestors.subgraphNames.length > 1;
113
166
  reasons.push(`The entity ancestor "${entityAncestors.typeName}" in subgraph${isPlural ? `s` : ``}` +
114
- ` "${entityAncestors.subgraphNames.join(string_constants_1.QUOTATION_JOIN)}" ha${isPlural ? `ve` : `s`} no accessible target` +
115
- ` entities (resolvable @key directives) in the subgraphs where "${typeName}.${fieldName}" is defined.`);
167
+ ` "${entityAncestors.subgraphNames.join(string_constants_1.QUOTATION_JOIN)}" has no accessible target` +
168
+ ` entities (resolvable @key directives) in the subgraphs where "${coords}" is defined.`);
116
169
  }
117
170
  reasons.push(`The type "${typeName}" is not a descendant of any other entity ancestors that can provide a shared route to access "${fieldName}".`);
118
171
  if (typeName !== entityAncestors.typeName) {
119
- reasons.push(`The type "${typeName}" has no accessible target entities (resolvable @key directives) in any other subgraph, so accessing other subgraphs is not possible.`);
172
+ reasons.push(`The type "${typeName}" has no accessible target entities (resolvable @key directives) in any` +
173
+ ` other subgraph, so accessing other subgraphs is not possible.`);
120
174
  }
121
175
  return reasons;
122
176
  }
123
- function generateSelectionSetSegments(fieldPath) {
177
+ function generateSelectionSetSegments(fieldPath, limit = number_constants_1.MAX_RESOLVABILITY_PATH_SIZE) {
124
178
  // Regex is to split on singular periods and not fragments (... on TypeName)
125
179
  const pathNodes = fieldPath.split(/(?<=\w)\./);
126
180
  let outputStart = '';
127
181
  let outputEnd = '';
182
+ let shouldTruncate = false;
183
+ const truncatedNumber = pathNodes.length - limit * 2;
184
+ if (limit > 0 && pathNodes.length > limit * 2 + 1) {
185
+ // +1 so we always include the root field as the first selection
186
+ shouldTruncate = true;
187
+ pathNodes.splice(limit + 1, truncatedNumber - 1);
188
+ }
128
189
  for (let i = 0; i < pathNodes.length; i++) {
190
+ if (shouldTruncate && i === limit + 1) {
191
+ outputStart += string_constants_1.LITERAL_SPACE.repeat(i + 1) + `... # and ${truncatedNumber} truncated selections\n`;
192
+ }
129
193
  outputStart += string_constants_1.LITERAL_SPACE.repeat(i + 1) + pathNodes[i] + ` {\n`;
130
194
  outputEnd = string_constants_1.LITERAL_SPACE.repeat(i + 1) + `}\n` + outputEnd;
131
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/resolvability-graph/utils/utils.ts"],"names":[],"mappings":";;AA8BA,4CAaC;AAgBD,8EAgEC;AAED,0FA2DC;AAED,oEAcC;AAED,gDAUC;AAYD,0EAoCC;AAED,8EAyCC;AAED,0FAwCC;AAED,4EAYC;AAvWD,gDAA4D;AAC5D,6CAAoD;AAmBpD,oEAA8E;AAU9E,SAAgB,gBAAgB,CAC9B,QAAkB,EAClB,SAAoB,EACpB,aAAgC;IAEhC,OAAO;QACL,MAAM,EAAE,GAAG,QAAQ,IAAI,SAAS,EAAE;QAClC,OAAO,EACL,wBAAwB,QAAQ,IAAI,SAAS,wCAAwC;YACrF,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI;QACnD,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAyB,EAAE,UAAkB;IAC7E,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,CACL,SAAS,CAAC,IAAI;QACd,UAAU;QACV,gCAAa,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACpC,OAAO;QACP,gCAAa,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACpC,KAAK,CACN,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAAC,EAChD,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GACmB;IACxC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,qBAAqB,CAAC;IAC5F,MAAM,OAAO,GAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,wBAAwB,GAAG,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,yDAAyD;YAC1F,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,EAC9D,cAAc,QAAQ,IAAI,SAAS,uEAAuE;YACxG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CAC5D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,wCAAwC;YACzE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,6BAA6B,GAAG,KAAK,CAAC;QAC1C,KAAK,MAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,6BAA6B,EAAE,CAAC;YAC/F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,6BAA6B,GAAG,IAAI,CAAC;YACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,kBAAkB,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,wBAAwB,kBAAkB,CAAC,QAAQ,kBAAkB,kBAAkB,CAAC,YAAY,yCAAyC,QAAQ,yBAAyB,kBAAkB,IAAI,CACrM,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,wBAAwB,kBAAkB,CAAC,QAAQ,kBAAkB,kBAAkB,CAAC,YAAY,4FAA4F,QAAQ,IAAI,SAAS,eAAe,CACrO,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,kGAAkG,SAAS,IAAI,CACrI,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,+DAA+D,aAAa,CAAC,MAAM,oCAAoC,SAAS,IAAI,CACrI,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,0FAA0F,SAAS,IAAI,CAC7H,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,kBAAkB,EAAE,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,uIAAuI,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,uCAAuC,CAAC,EACtD,eAAe,EACf,aAAa,EACb,qBAAqB,GACyB;IAC9C,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,qBAAqB,CAAC;IAC5F,MAAM,OAAO,GAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,wBAAwB,GAAG,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,yDAAyD;YAC1F,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,EAC9D,cAAc,QAAQ,IAAI,SAAS,uEAAuE;YACxG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CAC5D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,wCAAwC;YACzE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,6BAA6B,GAAG,KAAK,CAAC;IAC1C,KAAK,MAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC,6BAA6B,EAAE,CAAC;QAC5F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,MAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,CAChE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,kBAAkB,CACtD,CAAC;QACF,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACxD,6BAA6B,GAAG,IAAI,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,wBAAwB,eAAe,CAAC,QAAQ,gBAAgB,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzF,KAAK,qBAAqB,CAAC,IAAI,CAAC,iCAAc,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc;gBAC9F,uBAAuB,QAAQ,yBAAyB,kBAAkB,IAAI,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CACV,wBAAwB,eAAe,CAAC,QAAQ,gBAAgB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACnF,KAAK,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,uBAAuB;YAC1G,kEAAkE,QAAQ,IAAI,SAAS,eAAe,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,kGAAkG,SAAS,IAAI,CACrI,CAAC;IACF,IAAI,QAAQ,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,uIAAuI,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,4BAA4B,CAAC,SAAiB;IAC5D,4EAA4E;IAC5E,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,WAAW,IAAI,gCAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACnE,SAAS,GAAG,gCAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,SAAS;QACT,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAwB,EAC3D,SAAyB;IAEzB,OAAO,CACL,WAAW;QACX,gCAAa,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC;QACrD,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,YAAqB;IACnE,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,YAAY,GAAG,SAAS,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,+BAA+B,CAAC,EAC9C,aAAa,EACb,aAAa,EACb,iBAAiB,GACa;IAC9B,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAyB,CAAC;IAClE,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,SAAS;gBACT,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBACjE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CACT,IAAA,8BAAqB,EACnB,qBAAqB,EACrB,iCAAiC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,CAC5E,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,iCAAiC,CAAC,EAChD,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,8BAA8B,GACJ;IAC1B,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,8BAA8B,EAAE,CAAC;QAClE,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAyB,CAAC;QAClE,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,SAAS;gBACT,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBACjE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC,CAAC;QACL,CAAC;QACD,0DAA0D;QAC1D,kBAAkB,CAAC,YAAY,GAAG,YAAY,CAAC;QAC/C,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CACT,IAAA,8BAAqB,EACnB,qBAAqB,EACrB,iCAAiC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,CAChG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uCAAuC,CAAC,EACtD,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,8BAA8B,GACE;IAChC,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,8BAA8B,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAyB,CAAC;QAClE,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,SAAS;gBACT,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBACjE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC,CAAC;QACL,CAAC;QACD,0DAA0D;QAC1D,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CACT,IAAA,8BAAqB,EACnB,qBAAqB,EACrB,uCAAuC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,CACnG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gCAAgC,CAAC,EAC/C,mBAAmB,EACnB,aAAa,GAC0B;IACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiB,CAAC;IACjD,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,eAAe,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,aAAa,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/resolvability-graph/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type TypeNode } from 'graphql';
2
+ import { type InterfaceTypeName, type TypeName } from '../types/types';
3
+ export type IsTypeValidImplementationParams = {
4
+ concreteTypeNamesByAbstractTypeName: Map<TypeName, Set<TypeName>>;
5
+ implementationType: TypeNode;
6
+ interfaceImplementationTypeNamesByInterfaceTypeName: Map<InterfaceTypeName, Set<InterfaceTypeName>>;
7
+ originalType: TypeNode;
8
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/schema-building/params.ts"],"names":[],"mappings":""}
@@ -1,10 +1,11 @@
1
1
  import { type BooleanValueNode, type ConstDirectiveNode, type ConstValueNode, type DefinitionNode, type DirectiveDefinitionNode, type EnumValueDefinitionNode, type EnumValueNode, type FieldDefinitionNode, type FloatValueNode, type InputValueDefinitionNode, type IntValueNode, Kind, type NullValueNode, OperationTypeNode, type StringValueNode, type TypeNode } from 'graphql';
2
2
  import { type AuthorizationData, type ChildData, type CompositeOutputData, type ConditionalFieldData, type DefinitionData, type ExternalFieldData, type FieldData, type InputObjectDefinitionData, type InputValueData, type InterfaceDefinitionData, type NodeData, type ObjectDefinitionData, type ParentDefinitionData, type PersistedDirectiveDefinitionData, type PersistedDirectivesData, type SchemaData } from './types';
3
3
  import { type MutableDefinitionNode, type MutableFieldNode, type MutableInputValueNode } from './ast';
4
- import { type ObjectTypeNode } from '../ast/utils';
4
+ import { type InterfaceTypeNode, type ObjectTypeNode, type ParentTypeNode } from '../ast/utils';
5
5
  import { type SubscriptionFilterValue } from '../router-configuration/types';
6
6
  import { type InputNodeKind, type OutputNodeKind } from '../utils/types';
7
7
  import { type DirectiveName, type FieldName, type SubgraphName, type TypeName } from '../types/types';
8
+ import { type IsTypeValidImplementationParams } from './params';
8
9
  export declare function newPersistedDirectivesData(): PersistedDirectivesData;
9
10
  type IsNodeExternalOrShareableResult = {
10
11
  isExternal: boolean;
@@ -47,7 +48,7 @@ export declare enum MergeMethod {
47
48
  INTERSECTION = 1,
48
49
  CONSISTENT = 2
49
50
  }
50
- export declare function isTypeValidImplementation(originalType: TypeNode, implementationType: TypeNode, concreteTypeNamesByAbstractTypeName: Map<TypeName, Set<TypeName>>): boolean;
51
+ export declare function isTypeValidImplementation({ concreteTypeNamesByAbstractTypeName, implementationType, interfaceImplementationTypeNamesByInterfaceTypeName, originalType, }: IsTypeValidImplementationParams): boolean;
51
52
  export declare function isNodeDataInaccessible(data: NodeData): boolean;
52
53
  export declare function isLeafKind(kind: Kind): boolean;
53
54
  export declare function getSubscriptionFilterValue(valueNode: BooleanValueNode | EnumValueNode | FloatValueNode | IntValueNode | NullValueNode | StringValueNode): SubscriptionFilterValue;
@@ -62,4 +63,5 @@ export declare function isFieldData(data: ChildData | NodeData | SchemaData): da
62
63
  export declare function isInputObjectDefinitionData(data: ParentDefinitionData): data is InputObjectDefinitionData;
63
64
  export declare function isInputNodeKind(kind: Kind): kind is InputNodeKind;
64
65
  export declare function isOutputNodeKind(kind: Kind): kind is OutputNodeKind;
66
+ export declare function isInterfaceNode(node: ParentTypeNode): node is InterfaceTypeNode;
65
67
  export {};
@@ -41,6 +41,7 @@ exports.isFieldData = isFieldData;
41
41
  exports.isInputObjectDefinitionData = isInputObjectDefinitionData;
42
42
  exports.isInputNodeKind = isInputNodeKind;
43
43
  exports.isOutputNodeKind = isOutputNodeKind;
44
+ exports.isInterfaceNode = isInterfaceNode;
44
45
  const graphql_1 = require("graphql");
45
46
  const types_1 = require("./types");
46
47
  const utils_1 = require("../ast/utils");
@@ -476,15 +477,25 @@ var MergeMethod;
476
477
  MergeMethod[MergeMethod["INTERSECTION"] = 1] = "INTERSECTION";
477
478
  MergeMethod[MergeMethod["CONSISTENT"] = 2] = "CONSISTENT";
478
479
  })(MergeMethod || (exports.MergeMethod = MergeMethod = {}));
479
- function isTypeValidImplementation(originalType, implementationType, concreteTypeNamesByAbstractTypeName) {
480
+ function isTypeValidImplementation({ concreteTypeNamesByAbstractTypeName, implementationType, interfaceImplementationTypeNamesByInterfaceTypeName, originalType, }) {
480
481
  if (originalType.kind === graphql_1.Kind.NON_NULL_TYPE) {
481
482
  if (implementationType.kind !== graphql_1.Kind.NON_NULL_TYPE) {
482
483
  return false;
483
484
  }
484
- return isTypeValidImplementation(originalType.type, implementationType.type, concreteTypeNamesByAbstractTypeName);
485
+ return isTypeValidImplementation({
486
+ concreteTypeNamesByAbstractTypeName,
487
+ implementationType: implementationType.type,
488
+ interfaceImplementationTypeNamesByInterfaceTypeName,
489
+ originalType: originalType.type,
490
+ });
485
491
  }
486
492
  if (implementationType.kind === graphql_1.Kind.NON_NULL_TYPE) {
487
- return isTypeValidImplementation(originalType, implementationType.type, concreteTypeNamesByAbstractTypeName);
493
+ return isTypeValidImplementation({
494
+ concreteTypeNamesByAbstractTypeName,
495
+ implementationType: implementationType.type,
496
+ interfaceImplementationTypeNamesByInterfaceTypeName,
497
+ originalType,
498
+ });
488
499
  }
489
500
  switch (originalType.kind) {
490
501
  case graphql_1.Kind.NAMED_TYPE:
@@ -494,16 +505,19 @@ function isTypeValidImplementation(originalType, implementationType, concreteTyp
494
505
  if (originalTypeName === implementationTypeName) {
495
506
  return true;
496
507
  }
508
+ const abstractTypes = interfaceImplementationTypeNamesByInterfaceTypeName.get(originalTypeName);
497
509
  const concreteTypes = concreteTypeNamesByAbstractTypeName.get(originalTypeName);
498
- if (!concreteTypes) {
499
- return false;
500
- }
501
- return concreteTypes.has(implementationTypeName);
510
+ return !!(concreteTypes?.has(implementationTypeName) || abstractTypes?.has(implementationTypeName));
502
511
  }
503
512
  return false;
504
513
  default:
505
514
  if (implementationType.kind === graphql_1.Kind.LIST_TYPE) {
506
- return isTypeValidImplementation(originalType.type, implementationType.type, concreteTypeNamesByAbstractTypeName);
515
+ return isTypeValidImplementation({
516
+ concreteTypeNamesByAbstractTypeName,
517
+ implementationType: implementationType.type,
518
+ interfaceImplementationTypeNamesByInterfaceTypeName,
519
+ originalType: originalType.type,
520
+ });
507
521
  }
508
522
  return false;
509
523
  }
@@ -606,4 +620,7 @@ function isInputNodeKind(kind) {
606
620
  function isOutputNodeKind(kind) {
607
621
  return string_constants_1.OUTPUT_NODE_KINDS.has(kind);
608
622
  }
623
+ function isInterfaceNode(node) {
624
+ return string_constants_1.INTERFACE_NODE_KINDS.has(node.kind);
625
+ }
609
626
  //# sourceMappingURL=utils.js.map