@wundergraph/composition 0.46.0 → 0.46.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 (58) hide show
  1. package/dist/errors/errors.d.ts +1 -1
  2. package/dist/index.d.ts +4 -1
  3. package/dist/index.js +4 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/resolvability-graph/constants/string-constants.d.ts +8 -0
  6. package/dist/resolvability-graph/constants/string-constants.js +12 -0
  7. package/dist/resolvability-graph/constants/string-constants.js.map +1 -0
  8. package/dist/resolvability-graph/graph-nodes.d.ts +15 -14
  9. package/dist/resolvability-graph/graph-nodes.js +8 -8
  10. package/dist/resolvability-graph/graph-nodes.js.map +1 -1
  11. package/dist/resolvability-graph/graph.d.ts +27 -21
  12. package/dist/resolvability-graph/graph.js +284 -286
  13. package/dist/resolvability-graph/graph.js.map +1 -1
  14. package/dist/resolvability-graph/node-resolution-data/node-resolution-data.d.ts +16 -0
  15. package/dist/resolvability-graph/node-resolution-data/node-resolution-data.js +62 -0
  16. package/dist/resolvability-graph/node-resolution-data/node-resolution-data.js.map +1 -0
  17. package/dist/resolvability-graph/node-resolution-data/types/params.d.ts +9 -0
  18. package/dist/resolvability-graph/node-resolution-data/types/params.js +3 -0
  19. package/dist/resolvability-graph/node-resolution-data/types/params.js.map +1 -0
  20. package/dist/resolvability-graph/types/params.d.ts +22 -0
  21. package/dist/resolvability-graph/types/params.js +3 -0
  22. package/dist/resolvability-graph/types/params.js.map +1 -0
  23. package/dist/resolvability-graph/types/types.d.ts +23 -0
  24. package/dist/resolvability-graph/types/types.js +3 -0
  25. package/dist/resolvability-graph/types/types.js.map +1 -0
  26. package/dist/resolvability-graph/utils/types/params.d.ts +50 -0
  27. package/dist/resolvability-graph/utils/types/params.js +3 -0
  28. package/dist/resolvability-graph/utils/types/params.js.map +1 -0
  29. package/dist/resolvability-graph/utils/types/types.d.ts +16 -0
  30. package/dist/resolvability-graph/utils/types/types.js +3 -0
  31. package/dist/resolvability-graph/utils/types/types.js.map +1 -0
  32. package/dist/resolvability-graph/utils/utils.d.ts +19 -0
  33. package/dist/resolvability-graph/utils/utils.js +230 -0
  34. package/dist/resolvability-graph/utils/utils.js.map +1 -0
  35. package/dist/resolvability-graph/walker/entity-walker/entity-walker.d.ts +21 -0
  36. package/dist/resolvability-graph/walker/entity-walker/entity-walker.js +194 -0
  37. package/dist/resolvability-graph/walker/entity-walker/entity-walker.js.map +1 -0
  38. package/dist/resolvability-graph/walker/entity-walker/types/params.d.ts +40 -0
  39. package/dist/resolvability-graph/walker/entity-walker/types/params.js +3 -0
  40. package/dist/resolvability-graph/walker/entity-walker/types/params.js.map +1 -0
  41. package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.d.ts +23 -0
  42. package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.js +250 -0
  43. package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.js.map +1 -0
  44. package/dist/resolvability-graph/walker/root-field-walkers/types/params.d.ts +38 -0
  45. package/dist/resolvability-graph/walker/root-field-walkers/types/params.js +3 -0
  46. package/dist/resolvability-graph/walker/root-field-walkers/types/params.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/dist/utils/composition-version.js +1 -1
  49. package/dist/utils/utils.d.ts +1 -1
  50. package/dist/utils/utils.js +2 -2
  51. package/dist/utils/utils.js.map +1 -1
  52. package/dist/v1/federation/federation-factory.js +4 -4
  53. package/dist/v1/federation/federation-factory.js.map +1 -1
  54. package/dist/v1/normalization/normalization-factory.js +1 -1
  55. package/package.json +2 -2
  56. package/dist/resolvability-graph/utils.d.ts +0 -65
  57. package/dist/resolvability-graph/utils.js +0 -143
  58. package/dist/resolvability-graph/utils.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { Kind, OperationTypeNode } from 'graphql';
2
2
  import { EntityInterfaceFederationData, FieldData, InputValueData, ObjectDefinitionData } from '../schema-building/types';
3
3
  import { IncompatibleMergedTypesErrorParams, InvalidNamedTypeErrorParams, InvalidRootTypeFieldEventsDirectiveData, OneOfRequiredFieldsErrorParams, SemanticNonNullLevelsIndexOutOfBoundsErrorParams, SemanticNonNullLevelsNonNullErrorParams } from './types';
4
- import { UnresolvableFieldData } from '../resolvability-graph/utils';
4
+ import { UnresolvableFieldData } from '../resolvability-graph/utils/utils';
5
5
  import { ImplementationErrors, InvalidEntityInterface, InvalidRequiredInputValueData } from '../utils/types';
6
6
  import { NodeType, TypeName } from '../types/types';
7
7
  export declare const minimumSubgraphRequirementError: Error;
package/dist/index.d.ts CHANGED
@@ -8,7 +8,10 @@ export * from './normalization/normalization';
8
8
  export * from './normalization/types';
9
9
  export * from './resolvability-graph/graph';
10
10
  export * from './resolvability-graph/graph-nodes';
11
- export * from './resolvability-graph/utils';
11
+ export * from './resolvability-graph/node-resolution-data/node-resolution-data';
12
+ export * from './resolvability-graph/node-resolution-data/types/params';
13
+ export * from './resolvability-graph/utils/types/types';
14
+ export * from './resolvability-graph/utils/utils';
12
15
  export * from './router-compatibility-version/router-compatibility-version';
13
16
  export * from './router-configuration/types';
14
17
  export * from './router-configuration/utils';
package/dist/index.js CHANGED
@@ -24,7 +24,10 @@ __exportStar(require("./normalization/normalization"), exports);
24
24
  __exportStar(require("./normalization/types"), exports);
25
25
  __exportStar(require("./resolvability-graph/graph"), exports);
26
26
  __exportStar(require("./resolvability-graph/graph-nodes"), exports);
27
- __exportStar(require("./resolvability-graph/utils"), exports);
27
+ __exportStar(require("./resolvability-graph/node-resolution-data/node-resolution-data"), exports);
28
+ __exportStar(require("./resolvability-graph/node-resolution-data/types/params"), exports);
29
+ __exportStar(require("./resolvability-graph/utils/types/types"), exports);
30
+ __exportStar(require("./resolvability-graph/utils/utils"), exports);
28
31
  __exportStar(require("./router-compatibility-version/router-compatibility-version"), exports);
29
32
  __exportStar(require("./router-configuration/types"), exports);
30
33
  __exportStar(require("./router-configuration/utils"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kEAAgD;AAChD,kDAAgC;AAChC,iDAA+B;AAC/B,0DAAwC;AACxC,qDAAmC;AACnC,gEAA8C;AAC9C,wDAAsC;AACtC,8DAA4C;AAC5C,oEAAkD;AAClD,8DAA4C;AAC5C,8FAA4E;AAC5E,+DAA6C;AAC7C,+DAA6C;AAC7C,wDAAsC;AACtC,0DAAwC;AACxC,0DAAwC;AACxC,mDAAiC;AACjC,gDAA8B;AAC9B,8DAA4C;AAC5C,2DAAyC;AACzC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AAEjC,KAAK;AACL,wDAAsC;AACtC,0DAAwC;AACxC,wDAAsC;AACtC,+EAA6D;AAC7D,2DAAyC;AACzC,2DAAyC;AACzC,6DAA2C;AAC3C,oEAAkD;AAClD,yDAAuC;AACvC,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kEAAgD;AAChD,kDAAgC;AAChC,iDAA+B;AAC/B,0DAAwC;AACxC,qDAAmC;AACnC,gEAA8C;AAC9C,wDAAsC;AACtC,8DAA4C;AAC5C,oEAAkD;AAClD,kGAAgF;AAChF,0FAAwE;AACxE,0EAAwD;AACxD,oEAAkD;AAClD,8FAA4E;AAC5E,+DAA6C;AAC7C,+DAA6C;AAC7C,wDAAsC;AACtC,0DAAwC;AACxC,0DAAwC;AACxC,mDAAiC;AACjC,gDAA8B;AAC9B,8DAA4C;AAC5C,2DAAyC;AACzC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AAEjC,KAAK;AACL,wDAAsC;AACtC,0DAAwC;AACxC,wDAAsC;AACtC,+EAA6D;AAC7D,2DAAyC;AACzC,2DAAyC;AACzC,6DAA2C;AAC3C,oEAAkD;AAClD,yDAAuC;AACvC,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,yDAAuC"}
@@ -0,0 +1,8 @@
1
+ export declare const MUTATION = "Mutation";
2
+ export declare const QUERY = "Query";
3
+ export declare const SUBSCRIPTION = "Subscription";
4
+ export declare const LITERAL_PERIOD = ".";
5
+ export declare const LITERAL_SPACE = " ";
6
+ export declare const NOT_APPLICABLE = "N/A";
7
+ export declare const QUOTATION_JOIN = "\", \"";
8
+ export declare const ROOT_TYPE_NAMES: Set<string>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROOT_TYPE_NAMES = exports.QUOTATION_JOIN = exports.NOT_APPLICABLE = exports.LITERAL_SPACE = exports.LITERAL_PERIOD = exports.SUBSCRIPTION = exports.QUERY = exports.MUTATION = void 0;
4
+ exports.MUTATION = 'Mutation';
5
+ exports.QUERY = 'Query';
6
+ exports.SUBSCRIPTION = 'Subscription';
7
+ exports.LITERAL_PERIOD = '.';
8
+ exports.LITERAL_SPACE = ' ';
9
+ exports.NOT_APPLICABLE = 'N/A';
10
+ exports.QUOTATION_JOIN = '", "';
11
+ exports.ROOT_TYPE_NAMES = new Set([exports.MUTATION, exports.QUERY, exports.SUBSCRIPTION]);
12
+ //# sourceMappingURL=string-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-constants.js","sourceRoot":"","sources":["../../../src/resolvability-graph/constants/string-constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,YAAY,GAAG,cAAc,CAAC;AAE9B,QAAA,cAAc,GAAG,GAAG,CAAC;AACrB,QAAA,aAAa,GAAG,GAAG,CAAC;AACpB,QAAA,cAAc,GAAG,KAAK,CAAC;AACvB,QAAA,cAAc,GAAG,MAAM,CAAC;AAExB,QAAA,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,gBAAQ,EAAE,aAAK,EAAE,oBAAY,CAAC,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { GraphFieldData } from '../utils/types';
2
+ import { FieldName, NodeName, SubgraphName, TypeName } from './types/types';
2
3
  export declare class Edge {
3
4
  edgeName: string;
4
5
  id: number;
@@ -13,36 +14,36 @@ export type GraphNodeOptions = {
13
14
  isLeaf?: boolean;
14
15
  };
15
16
  export declare class GraphNode {
16
- fieldDataByFieldName: Map<string, GraphFieldData>;
17
+ fieldDataByName: Map<string, GraphFieldData>;
17
18
  headToTailEdges: Map<string, Edge>;
18
- entityEdges: Array<Edge>;
19
- nodeName: string;
19
+ entityEdges: Edge[];
20
+ nodeName: NodeName;
20
21
  hasEntitySiblings: boolean;
21
22
  isAbstract: boolean;
22
23
  isInaccessible: boolean;
23
24
  isLeaf: boolean;
24
25
  isRootNode: boolean;
25
26
  satisfiedFieldSets: Set<string>;
26
- subgraphName: string;
27
- typeName: string;
28
- constructor(subgraphName: string, typeName: string, options?: GraphNodeOptions);
27
+ subgraphName: SubgraphName;
28
+ typeName: TypeName;
29
+ constructor(subgraphName: SubgraphName, typeName: TypeName, options?: GraphNodeOptions);
29
30
  handleInaccessibleEdges(): void;
30
- getAllAccessibleEntityNodeNames(): Set<string>;
31
- getAccessibleEntityNodeNames(node: GraphNode, accessibleEntityNodeNames: Set<string>): void;
31
+ getAllAccessibleEntityNodeNames(): Set<NodeName>;
32
+ getAccessibleEntityNodeNames(node: GraphNode, accessibleEntityNodeNames: Set<NodeName>): void;
32
33
  }
33
34
  export declare class RootNode {
34
- fieldDataByFieldName: Map<string, GraphFieldData>;
35
- headToShareableTailEdges: Map<string, Edge[]>;
35
+ fieldDataByName: Map<string, GraphFieldData>;
36
+ headToSharedTailEdges: Map<string, Edge[]>;
36
37
  isAbstract: boolean;
37
38
  isRootNode: boolean;
38
- typeName: string;
39
- constructor(typeName: string);
40
- removeInaccessibleEdges(fieldDataByFieldName: Map<string, GraphFieldData>): void;
39
+ typeName: TypeName;
40
+ constructor(typeName: TypeName);
41
+ removeInaccessibleEdges(fieldDataByName: Map<FieldName, GraphFieldData>): void;
41
42
  }
42
43
  export declare class EntityDataNode {
43
44
  fieldSetsByTargetSubgraphName: Map<string, Set<string>>;
44
45
  targetSubgraphNamesByFieldSet: Map<string, Set<string>>;
45
46
  typeName: string;
46
47
  constructor(typeName: string);
47
- addTargetSubgraphByFieldSet(fieldSet: string, targetSubgraphName: string): void;
48
+ addTargetSubgraphByFieldSet(fieldSet: string, targetSubgraphName: SubgraphName): void;
48
49
  }
@@ -18,9 +18,9 @@ class Edge {
18
18
  }
19
19
  exports.Edge = Edge;
20
20
  class GraphNode {
21
- fieldDataByFieldName = new Map();
21
+ fieldDataByName = new Map();
22
22
  headToTailEdges = new Map();
23
- entityEdges = [];
23
+ entityEdges = new Array();
24
24
  nodeName;
25
25
  hasEntitySiblings = false;
26
26
  isAbstract;
@@ -41,7 +41,7 @@ class GraphNode {
41
41
  if (this.isAbstract) {
42
42
  return;
43
43
  }
44
- const inaccessibleFieldNames = (0, utils_1.getEntriesNotInHashSet)(this.headToTailEdges.keys(), this.fieldDataByFieldName);
44
+ const inaccessibleFieldNames = (0, utils_1.getEntriesNotInHashSet)(this.headToTailEdges.keys(), this.fieldDataByName);
45
45
  for (const fieldName of inaccessibleFieldNames) {
46
46
  const headToTailEdge = this.headToTailEdges.get(fieldName);
47
47
  if (!headToTailEdge) {
@@ -67,8 +67,8 @@ class GraphNode {
67
67
  }
68
68
  exports.GraphNode = GraphNode;
69
69
  class RootNode {
70
- fieldDataByFieldName = new Map();
71
- headToShareableTailEdges = new Map();
70
+ fieldDataByName = new Map();
71
+ headToSharedTailEdges = new Map();
72
72
  // It is used
73
73
  isAbstract = false;
74
74
  isRootNode = true;
@@ -76,9 +76,9 @@ class RootNode {
76
76
  constructor(typeName) {
77
77
  this.typeName = typeName;
78
78
  }
79
- removeInaccessibleEdges(fieldDataByFieldName) {
80
- for (const [fieldName, edges] of this.headToShareableTailEdges) {
81
- if (fieldDataByFieldName.has(fieldName)) {
79
+ removeInaccessibleEdges(fieldDataByName) {
80
+ for (const [fieldName, edges] of this.headToSharedTailEdges) {
81
+ if (fieldDataByName.has(fieldName)) {
82
82
  continue;
83
83
  }
84
84
  for (const edge of edges) {
@@ -1 +1 @@
1
- {"version":3,"file":"graph-nodes.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-nodes.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph-nodes.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,38 @@
1
1
  import { Edge, EntityDataNode, GraphNode, GraphNodeOptions, RootNode } from './graph-nodes';
2
- import { EntityResolvabilityFailure, EntityResolvabilityResult, NodeResolutionData, RootFieldData } from './utils';
3
2
  import { GraphFieldData, RootTypeName } from '../utils/types';
3
+ import { FieldName, SubgraphName, TypeName, ValidationResult } from './types/types';
4
+ import { ConsolidateUnresolvablePathsParams, ValidateEntitiesParams, VisitEntityParams } from './types/params';
5
+ import { NodeResolutionData } from './node-resolution-data/node-resolution-data';
6
+ import { EntityResolvabilityErrorsParams, EntitySharedRootFieldResolvabilityErrorsParams } from './utils/types/params';
4
7
  export declare class Graph {
5
8
  edgeId: number;
6
- entityDataNodes: Map<string, EntityDataNode>;
7
- entityNodeNamesBySharedFieldPath: Map<string, Set<string>>;
8
- nodeByNodeName: Map<string, GraphNode>;
9
+ entityDataNodeByTypeName: Map<string, EntityDataNode>;
10
+ nodeByNodeName: Map<`${string}.${string}`, GraphNode>;
9
11
  nodesByTypeName: Map<string, GraphNode[]>;
10
- rootNodeByRootTypeName: Map<RootTypeName, RootNode>;
11
- subgraphName: string;
12
- resolvableFieldNamesByRelativeFieldPathByEntityNodeName: Map<string, Map<string, NodeResolutionData>>;
13
- nodeResolutionDataByFieldPath: Map<string, NodeResolutionData>;
14
- unresolvableFieldPaths: Set<string>;
15
- failureResultByEntityNodeName: Map<string, EntityResolvabilityFailure>;
12
+ resolvedRootFieldNodeNames: Set<`${string}.${string}`>;
13
+ rootNodeByTypeName: Map<RootTypeName, RootNode>;
14
+ subgraphName: SubgraphName;
15
+ resDataByNodeName: Map<`${string}.${string}`, NodeResolutionData>;
16
+ resDataByRelativePathByEntity: Map<`${string}.${string}`, Map<string, NodeResolutionData>>;
17
+ visitedEntitiesByOriginEntity: Map<`${string}.${string}`, Set<`${string}.${string}`>>;
16
18
  walkerIndex: number;
17
19
  constructor();
18
20
  getRootNode(typeName: RootTypeName): RootNode;
19
- addOrUpdateNode(typeName: string, options?: GraphNodeOptions): GraphNode;
21
+ addOrUpdateNode(typeName: TypeName, options?: GraphNodeOptions): GraphNode;
20
22
  addEdge(headNode: GraphNode | RootNode, tailNode: GraphNode, fieldName: string, isAbstractEdge?: boolean): Edge;
21
- addEntityDataNode(typeName: string): EntityDataNode;
23
+ addEntityDataNode(typeName: TypeName): EntityDataNode;
22
24
  getNextEdgeId(): number;
23
- setNodeInaccessible(typeName: string): void;
24
- initializeNode(typeName: string, fieldDataByFieldName: Map<string, GraphFieldData>): void;
25
- setSubgraphName(subgraphName: string): void;
26
- validateEntities(entityNodeNamesBySharedFieldPath: Map<string, Set<string>>, rootFieldData: RootFieldData): EntityResolvabilityResult;
27
- validate(): Array<Error>;
28
- visitEdge(edge: Edge, fieldPath: string): boolean;
29
- validateConcreteNode(node: GraphNode, fieldPath: string): void;
30
- validateAbstractNode(node: GraphNode, fieldPath: string): void;
31
- generateEntityResolvabilityErrors(result: EntityResolvabilityFailure, rootFieldData: RootFieldData, errors: Array<Error>): void;
25
+ getNextWalkerIndex(): number;
26
+ setNodeInaccessible(typeName: TypeName): void;
27
+ initializeNode(typeName: TypeName, fieldDataByName: Map<FieldName, GraphFieldData>): void;
28
+ setSubgraphName(subgraphName: SubgraphName): void;
29
+ visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }: VisitEntityParams): void;
30
+ validate(): ValidationResult;
31
+ consolidateUnresolvableRootWithEntityPaths({ pathFromRoot, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, walker, }: ConsolidateUnresolvablePathsParams): void;
32
+ consolidateUnresolvableEntityWithRootPaths({ pathFromRoot, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, walker, }: ConsolidateUnresolvablePathsParams): void;
33
+ validateSharedRootFieldEntities({ rootFieldData, walker }: ValidateEntitiesParams): ValidationResult;
34
+ validateRootFieldEntities({ rootFieldData, walker }: ValidateEntitiesParams): ValidationResult;
35
+ validateEntities(params: ValidateEntitiesParams): ValidationResult;
36
+ getEntityResolvabilityErrors({ entityNodeName, pathFromRoot, rootFieldData, subgraphNameByUnresolvablePath, }: EntityResolvabilityErrorsParams): Array<Error>;
37
+ getSharedEntityResolvabilityErrors({ entityNodeNames, pathFromRoot, rootFieldData, resDataByPath, subgraphNameByUnresolvablePath, }: EntitySharedRootFieldResolvabilityErrorsParams): Array<Error>;
32
38
  }