@wundergraph/composition 0.5.3 → 0.6.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.
- package/dist/ast/ast.d.ts +21 -3
- package/dist/ast/ast.js +24 -11
- package/dist/ast/ast.js.map +1 -1
- package/dist/ast/utils.d.ts +17 -103
- package/dist/ast/utils.js +158 -16
- package/dist/ast/utils.js.map +1 -1
- package/dist/errors/errors.d.ts +17 -4
- package/dist/errors/errors.js +101 -22
- package/dist/errors/errors.js.map +1 -1
- package/dist/federation/federation-factory.d.ts +38 -25
- package/dist/federation/federation-factory.js +736 -461
- package/dist/federation/federation-factory.js.map +1 -1
- package/dist/federation/utils.d.ts +138 -0
- package/dist/federation/utils.js +23 -0
- package/dist/federation/utils.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/normalization/normalization-factory.d.ts +12 -3
- package/dist/normalization/normalization-factory.js +235 -75
- package/dist/normalization/normalization-factory.js.map +1 -1
- package/dist/normalization/utils.d.ts +4 -0
- package/dist/normalization/utils.js +24 -5
- package/dist/normalization/utils.js.map +1 -1
- package/dist/subgraph/field-configuration.d.ts +12 -1
- package/dist/subgraph/subgraph.d.ts +3 -2
- package/dist/subgraph/subgraph.js +50 -86
- package/dist/subgraph/subgraph.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/constants.js +93 -10
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +19 -2
- package/dist/utils/string-constants.js +21 -3
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +16 -3
- package/dist/utils/utils.js +68 -23
- package/dist/utils/utils.js.map +1 -1
- package/package.json +4 -3
- package/dist/federation/federation-result.d.ts +0 -6
- package/dist/federation/federation-result.js +0 -3
- package/dist/federation/federation-result.js.map +0 -1
|
@@ -1,19 +1,27 @@
|
|
|
1
|
+
export declare const ANY_SCALAR = "_Any";
|
|
1
2
|
export declare const ARGUMENT_DEFINITION_UPPER = "ARGUMENT_DEFINITION";
|
|
3
|
+
export declare const BOOLEAN_TYPE = "Boolean";
|
|
4
|
+
export declare const COMPOSE_DIRECTIVE = "composeDirective";
|
|
2
5
|
export declare const DEFAULT_MUTATION = "Mutation";
|
|
3
6
|
export declare const DEFAULT_QUERY = "Query";
|
|
4
7
|
export declare const DEFAULT_SUBSCRIPTION = "Subscription";
|
|
5
8
|
export declare const DEPRECATED = "deprecated";
|
|
9
|
+
export declare const DIRECTIVE_DEFINITION = "directive definition";
|
|
10
|
+
export declare const ENTITIES = "entities";
|
|
6
11
|
export declare const ENTITIES_FIELD = "_entities";
|
|
12
|
+
export declare const ENTITY_UNION = "_Entity";
|
|
7
13
|
export declare const ENUM_UPPER = "ENUM";
|
|
8
14
|
export declare const ENUM_VALUE_UPPER = "ENUM_VALUE";
|
|
9
15
|
export declare const EXTERNAL = "external";
|
|
10
16
|
export declare const EXTENDS = "extends";
|
|
17
|
+
export declare const EXTENSIONS = "extensions";
|
|
18
|
+
export declare const FIELD = "field";
|
|
11
19
|
export declare const FIELD_UPPER = "FIELD";
|
|
12
|
-
export declare const FIELD_NAME = "fieldName";
|
|
13
20
|
export declare const FIELD_SET = "FieldSet";
|
|
14
21
|
export declare const FIELDS = "fields";
|
|
15
22
|
export declare const FIELD_DEFINITION_UPPER = "FIELD_DEFINITION";
|
|
16
23
|
export declare const FRAGMENT_DEFINITION_UPPER = "FRAGMENT_DEFINITION";
|
|
24
|
+
export declare const FRAGMENT_SPREAD_UPPER = "FRAGMENT_SPREAD";
|
|
17
25
|
export declare const FRAGMENT_REPRESENTATION = " { ... }";
|
|
18
26
|
export declare const INLINE_FRAGMENT = "inlineFragment";
|
|
19
27
|
export declare const INLINE_FRAGMENT_UPPER = "INLINE_FRAGMENT";
|
|
@@ -21,24 +29,33 @@ export declare const INPUT_FIELD_DEFINITION_UPPER = "INPUT_FIELD_DEFINITION";
|
|
|
21
29
|
export declare const INPUT_OBJECT_UPPER = "INPUT_OBJECT";
|
|
22
30
|
export declare const INTERFACE_UPPER = "INTERFACE";
|
|
23
31
|
export declare const INACCESSIBLE = "inaccessible";
|
|
32
|
+
export declare const LINK = "link";
|
|
24
33
|
export declare const KEY = "key";
|
|
25
34
|
export declare const MUTATION = "Mutation";
|
|
26
35
|
export declare const MUTATION_UPPER = "MUTATION";
|
|
27
36
|
export declare const NAME = "name";
|
|
37
|
+
export declare const OPERATION_TO_DEFAULT = "operationTypeNodeToDefaultType";
|
|
28
38
|
export declare const OBJECT_UPPER = "OBJECT";
|
|
39
|
+
export declare const OVERRIDE = "override";
|
|
40
|
+
export declare const PARENTS = "parents";
|
|
29
41
|
export declare const PROVIDES = "provides";
|
|
30
42
|
export declare const QUERY = "Query";
|
|
31
43
|
export declare const QUERY_UPPER = "QUERY";
|
|
44
|
+
export declare const QUOTATION_JOIN = "\", \"";
|
|
32
45
|
export declare const REQUIRES = "requires";
|
|
46
|
+
export declare const RESOLVABLE = "resolvable";
|
|
33
47
|
export declare const SCALAR_UPPER = "SCALAR";
|
|
34
48
|
export declare const SCHEMA = "schema";
|
|
35
49
|
export declare const SCHEMA_UPPER = "SCHEMA";
|
|
36
|
-
export declare const
|
|
50
|
+
export declare const SELECTION_REPRESENTATION = " { ... }";
|
|
51
|
+
export declare const SERVICE_OBJECT = "_Service";
|
|
37
52
|
export declare const SERVICE_FIELD = "_service";
|
|
38
53
|
export declare const SHAREABLE = "shareable";
|
|
39
54
|
export declare const STRING_TYPE = "String";
|
|
40
55
|
export declare const SUBSCRIPTION = "Subscription";
|
|
41
56
|
export declare const SUBSCRIPTION_UPPER = "SUBSCRIPTION";
|
|
42
57
|
export declare const TAG = "tag";
|
|
58
|
+
export declare const UNION = "union";
|
|
43
59
|
export declare const UNION_UPPER = "UNION";
|
|
44
60
|
export declare const VARIABLE_DEFINITION_UPPER = "VARIABLE_DEFINITION";
|
|
61
|
+
export declare const ROOT_TYPES: Set<string>;
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SELECTION_REPRESENTATION = exports.SCHEMA_UPPER = exports.SCHEMA = exports.SCALAR_UPPER = exports.RESOLVABLE = exports.REQUIRES = exports.QUOTATION_JOIN = exports.QUERY_UPPER = exports.QUERY = exports.PROVIDES = exports.PARENTS = exports.OVERRIDE = exports.OBJECT_UPPER = exports.OPERATION_TO_DEFAULT = exports.NAME = exports.MUTATION_UPPER = exports.MUTATION = exports.KEY = exports.LINK = exports.INACCESSIBLE = exports.INTERFACE_UPPER = exports.INPUT_OBJECT_UPPER = exports.INPUT_FIELD_DEFINITION_UPPER = exports.INLINE_FRAGMENT_UPPER = exports.INLINE_FRAGMENT = exports.FRAGMENT_REPRESENTATION = exports.FRAGMENT_SPREAD_UPPER = exports.FRAGMENT_DEFINITION_UPPER = exports.FIELD_DEFINITION_UPPER = exports.FIELDS = exports.FIELD_SET = exports.FIELD_UPPER = exports.FIELD = exports.EXTENSIONS = exports.EXTENDS = exports.EXTERNAL = exports.ENUM_VALUE_UPPER = exports.ENUM_UPPER = exports.ENTITY_UNION = exports.ENTITIES_FIELD = exports.ENTITIES = exports.DIRECTIVE_DEFINITION = exports.DEPRECATED = exports.DEFAULT_SUBSCRIPTION = exports.DEFAULT_QUERY = exports.DEFAULT_MUTATION = exports.COMPOSE_DIRECTIVE = exports.BOOLEAN_TYPE = exports.ARGUMENT_DEFINITION_UPPER = exports.ANY_SCALAR = void 0;
|
|
4
|
+
exports.ROOT_TYPES = exports.VARIABLE_DEFINITION_UPPER = exports.UNION_UPPER = exports.UNION = exports.TAG = exports.SUBSCRIPTION_UPPER = exports.SUBSCRIPTION = exports.STRING_TYPE = exports.SHAREABLE = exports.SERVICE_FIELD = exports.SERVICE_OBJECT = void 0;
|
|
5
|
+
exports.ANY_SCALAR = '_Any';
|
|
4
6
|
exports.ARGUMENT_DEFINITION_UPPER = 'ARGUMENT_DEFINITION';
|
|
7
|
+
exports.BOOLEAN_TYPE = 'Boolean';
|
|
8
|
+
exports.COMPOSE_DIRECTIVE = 'composeDirective';
|
|
5
9
|
exports.DEFAULT_MUTATION = 'Mutation';
|
|
6
10
|
exports.DEFAULT_QUERY = 'Query';
|
|
7
11
|
exports.DEFAULT_SUBSCRIPTION = 'Subscription';
|
|
8
12
|
exports.DEPRECATED = 'deprecated';
|
|
13
|
+
exports.DIRECTIVE_DEFINITION = 'directive definition';
|
|
14
|
+
exports.ENTITIES = 'entities';
|
|
9
15
|
exports.ENTITIES_FIELD = '_entities';
|
|
16
|
+
exports.ENTITY_UNION = '_Entity';
|
|
10
17
|
exports.ENUM_UPPER = 'ENUM';
|
|
11
18
|
exports.ENUM_VALUE_UPPER = 'ENUM_VALUE';
|
|
12
19
|
exports.EXTERNAL = 'external';
|
|
13
20
|
exports.EXTENDS = 'extends';
|
|
21
|
+
exports.EXTENSIONS = 'extensions';
|
|
22
|
+
exports.FIELD = 'field';
|
|
14
23
|
exports.FIELD_UPPER = 'FIELD';
|
|
15
|
-
exports.FIELD_NAME = 'fieldName';
|
|
16
24
|
exports.FIELD_SET = 'FieldSet';
|
|
17
25
|
exports.FIELDS = 'fields';
|
|
18
26
|
exports.FIELD_DEFINITION_UPPER = 'FIELD_DEFINITION';
|
|
19
27
|
exports.FRAGMENT_DEFINITION_UPPER = 'FRAGMENT_DEFINITION';
|
|
28
|
+
exports.FRAGMENT_SPREAD_UPPER = 'FRAGMENT_SPREAD';
|
|
20
29
|
exports.FRAGMENT_REPRESENTATION = ' { ... }';
|
|
21
30
|
exports.INLINE_FRAGMENT = 'inlineFragment';
|
|
22
31
|
exports.INLINE_FRAGMENT_UPPER = 'INLINE_FRAGMENT';
|
|
@@ -24,25 +33,34 @@ exports.INPUT_FIELD_DEFINITION_UPPER = 'INPUT_FIELD_DEFINITION';
|
|
|
24
33
|
exports.INPUT_OBJECT_UPPER = 'INPUT_OBJECT';
|
|
25
34
|
exports.INTERFACE_UPPER = 'INTERFACE';
|
|
26
35
|
exports.INACCESSIBLE = 'inaccessible';
|
|
36
|
+
exports.LINK = 'link';
|
|
27
37
|
exports.KEY = 'key';
|
|
28
38
|
exports.MUTATION = 'Mutation';
|
|
29
39
|
exports.MUTATION_UPPER = 'MUTATION';
|
|
30
40
|
exports.NAME = 'name';
|
|
41
|
+
exports.OPERATION_TO_DEFAULT = 'operationTypeNodeToDefaultType';
|
|
31
42
|
exports.OBJECT_UPPER = 'OBJECT';
|
|
43
|
+
exports.OVERRIDE = 'override';
|
|
44
|
+
exports.PARENTS = 'parents';
|
|
32
45
|
exports.PROVIDES = 'provides';
|
|
33
46
|
exports.QUERY = 'Query';
|
|
34
47
|
exports.QUERY_UPPER = 'QUERY';
|
|
48
|
+
exports.QUOTATION_JOIN = `", "`;
|
|
35
49
|
exports.REQUIRES = 'requires';
|
|
50
|
+
exports.RESOLVABLE = 'resolvable';
|
|
36
51
|
exports.SCALAR_UPPER = 'SCALAR';
|
|
37
52
|
exports.SCHEMA = 'schema';
|
|
38
53
|
exports.SCHEMA_UPPER = 'SCHEMA';
|
|
39
|
-
exports.
|
|
54
|
+
exports.SELECTION_REPRESENTATION = ' { ... }';
|
|
55
|
+
exports.SERVICE_OBJECT = '_Service';
|
|
40
56
|
exports.SERVICE_FIELD = '_service';
|
|
41
57
|
exports.SHAREABLE = 'shareable';
|
|
42
58
|
exports.STRING_TYPE = 'String';
|
|
43
59
|
exports.SUBSCRIPTION = 'Subscription';
|
|
44
60
|
exports.SUBSCRIPTION_UPPER = 'SUBSCRIPTION';
|
|
45
61
|
exports.TAG = 'tag';
|
|
62
|
+
exports.UNION = 'union';
|
|
46
63
|
exports.UNION_UPPER = 'UNION';
|
|
47
64
|
exports.VARIABLE_DEFINITION_UPPER = 'VARIABLE_DEFINITION';
|
|
65
|
+
exports.ROOT_TYPES = new Set([exports.MUTATION, exports.QUERY, exports.SUBSCRIPTION]);
|
|
48
66
|
//# sourceMappingURL=string-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-constants.js","sourceRoot":"","sources":["../../src/utils/string-constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-constants.js","sourceRoot":"","sources":["../../src/utils/string-constants.ts"],"names":[],"mappings":";;;;AAAa,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAClD,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,iBAAiB,GAAG,kBAAkB,CAAC;AACvC,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAC9B,QAAA,aAAa,GAAG,OAAO,CAAC;AACxB,QAAA,oBAAoB,GAAG,cAAc,CAAC;AACtC,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,cAAc,GAAG,WAAW,CAAC;AAC7B,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,UAAU,GAAG,MAAM,CAAC;AACpB,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAChC,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,UAAU,GAAG,YAAY,CAAA;AACzB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,SAAS,GAAG,UAAU,CAAC;AACvB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAClD,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,uBAAuB,GAAG,UAAU,CAAC;AACrC,QAAA,eAAe,GAAG,gBAAgB,CAAC;AACnC,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,4BAA4B,GAAG,wBAAwB,CAAC;AACxD,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,eAAe,GAAG,WAAW,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,oBAAoB,GAAG,gCAAgC,CAAC;AACxD,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,cAAc,GAAG,MAAM,CAAC;AACxB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,wBAAwB,GAAG,UAAU,CAAC;AACtC,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAElD,QAAA,UAAU,GAAG,IAAI,GAAG,CAAS,CAAC,gBAAQ,EAAE,aAAK,EAAE,oBAAY,CAAC,CAAC,CAAC"}
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Kind
|
|
1
|
+
import { Kind } from 'graphql';
|
|
2
|
+
import { MultiGraph } from 'graphology';
|
|
2
3
|
export declare function areSetsEqual<T>(set: Set<T>, other: Set<T>): boolean;
|
|
3
|
-
export declare function
|
|
4
|
+
export declare function getAllMutualEntries<T>(set: Set<T>, other: Set<T>): Set<T>;
|
|
5
|
+
export declare function getOrThrowError<K, V>(map: Map<K, V>, key: K, mapName: string): V;
|
|
4
6
|
export declare function getAllSetDisparities<T>(set: Set<T>, other: Set<T>): T[];
|
|
5
7
|
export declare function getEntriesNotInHashSet<T>(iterable: Iterable<T>, comparison: Set<T> | Map<T, any>): T[];
|
|
6
8
|
export declare function doSetsHaveAnyOverlap<T>(set: Set<T>, other: Set<T>): boolean;
|
|
@@ -8,7 +10,6 @@ export declare function mapToArrayOfValues<K, V>(map: Map<K, V>): V[];
|
|
|
8
10
|
export declare function numberToOrdinal(num: number): string;
|
|
9
11
|
export declare function addIterableValuesToSet<T>(iterable: T[] | Iterable<T>, set: Set<T>): void;
|
|
10
12
|
export declare function kindToTypeString(kind: Kind): string;
|
|
11
|
-
export declare function isTypeValidImplementation(originalType: TypeNode, implementationType: TypeNode): boolean;
|
|
12
13
|
export type InvalidArgumentImplementation = {
|
|
13
14
|
actualType: string;
|
|
14
15
|
argumentName: string;
|
|
@@ -26,3 +27,15 @@ export type ImplementationErrors = {
|
|
|
26
27
|
unimplementedFields: string[];
|
|
27
28
|
};
|
|
28
29
|
export type ImplementationErrorsMap = Map<string, ImplementationErrors>;
|
|
30
|
+
export type InvalidRequiredArgument = {
|
|
31
|
+
argumentName: string;
|
|
32
|
+
missingSubgraphs: string[];
|
|
33
|
+
requiredSubgraphs: string[];
|
|
34
|
+
};
|
|
35
|
+
export type InvalidArgument = {
|
|
36
|
+
argumentName: string;
|
|
37
|
+
namedType: string;
|
|
38
|
+
typeName: string;
|
|
39
|
+
typeString: string;
|
|
40
|
+
};
|
|
41
|
+
export declare function hasSimplePath(graph: MultiGraph, source: string, target: string): boolean;
|
package/dist/utils/utils.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.hasSimplePath = exports.kindToTypeString = exports.addIterableValuesToSet = exports.numberToOrdinal = exports.mapToArrayOfValues = exports.doSetsHaveAnyOverlap = exports.getEntriesNotInHashSet = exports.getAllSetDisparities = exports.getOrThrowError = exports.getAllMutualEntries = exports.areSetsEqual = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
|
+
const string_constants_1 = require("./string-constants");
|
|
6
|
+
const errors_1 = require("../errors/errors");
|
|
5
7
|
function areSetsEqual(set, other) {
|
|
6
8
|
if (set.size !== other.size) {
|
|
7
9
|
return false;
|
|
@@ -14,10 +16,20 @@ function areSetsEqual(set, other) {
|
|
|
14
16
|
return true;
|
|
15
17
|
}
|
|
16
18
|
exports.areSetsEqual = areSetsEqual;
|
|
17
|
-
function
|
|
19
|
+
function getAllMutualEntries(set, other) {
|
|
20
|
+
const mutualEntries = new Set();
|
|
21
|
+
for (const entry of set) {
|
|
22
|
+
if (other.has(entry)) {
|
|
23
|
+
mutualEntries.add(entry);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return mutualEntries;
|
|
27
|
+
}
|
|
28
|
+
exports.getAllMutualEntries = getAllMutualEntries;
|
|
29
|
+
function getOrThrowError(map, key, mapName) {
|
|
18
30
|
const value = map.get(key);
|
|
19
31
|
if (value === undefined) {
|
|
20
|
-
throw
|
|
32
|
+
throw (0, errors_1.invalidKeyFatalError)(key, mapName);
|
|
21
33
|
}
|
|
22
34
|
return value;
|
|
23
35
|
}
|
|
@@ -90,10 +102,14 @@ function kindToTypeString(kind) {
|
|
|
90
102
|
return 'enum';
|
|
91
103
|
case graphql_1.Kind.ENUM_TYPE_EXTENSION:
|
|
92
104
|
return 'enum extension';
|
|
105
|
+
case graphql_1.Kind.FIELD_DEFINITION:
|
|
106
|
+
return string_constants_1.FIELD;
|
|
93
107
|
case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
|
|
94
108
|
return 'input object';
|
|
95
109
|
case graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION:
|
|
96
110
|
return 'input object extension';
|
|
111
|
+
case graphql_1.Kind.INPUT_VALUE_DEFINITION:
|
|
112
|
+
return 'input value';
|
|
97
113
|
case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
|
|
98
114
|
return 'interface';
|
|
99
115
|
case graphql_1.Kind.INTERFACE_TYPE_EXTENSION:
|
|
@@ -107,7 +123,7 @@ function kindToTypeString(kind) {
|
|
|
107
123
|
case graphql_1.Kind.SCALAR_TYPE_EXTENSION:
|
|
108
124
|
return 'scalar extension';
|
|
109
125
|
case graphql_1.Kind.UNION_TYPE_DEFINITION:
|
|
110
|
-
return
|
|
126
|
+
return string_constants_1.UNION;
|
|
111
127
|
case graphql_1.Kind.UNION_TYPE_EXTENSION:
|
|
112
128
|
return 'union extension';
|
|
113
129
|
default:
|
|
@@ -115,28 +131,57 @@ function kindToTypeString(kind) {
|
|
|
115
131
|
}
|
|
116
132
|
}
|
|
117
133
|
exports.kindToTypeString = kindToTypeString;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
134
|
+
class StackSet {
|
|
135
|
+
set = new Set();
|
|
136
|
+
stack = [];
|
|
137
|
+
constructor(value) {
|
|
138
|
+
this.push(value);
|
|
139
|
+
}
|
|
140
|
+
has(value) {
|
|
141
|
+
return this.set.has(value);
|
|
142
|
+
}
|
|
143
|
+
push(value) {
|
|
144
|
+
this.stack.push(value);
|
|
145
|
+
this.set.add(value);
|
|
146
|
+
}
|
|
147
|
+
pop() {
|
|
148
|
+
const value = this.stack.pop();
|
|
149
|
+
if (value) {
|
|
150
|
+
this.set.delete(value);
|
|
122
151
|
}
|
|
123
|
-
return isTypeValidImplementation(originalType.type, implementationType.type);
|
|
124
152
|
}
|
|
125
|
-
|
|
126
|
-
|
|
153
|
+
;
|
|
154
|
+
}
|
|
155
|
+
function hasSimplePath(graph, source, target) {
|
|
156
|
+
if (!graph.hasNode(source) || !graph.hasNode(target)) {
|
|
157
|
+
return false;
|
|
127
158
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
159
|
+
const stack = [graph.outboundNeighbors(source)];
|
|
160
|
+
const visited = new StackSet(source);
|
|
161
|
+
let children, child;
|
|
162
|
+
while (stack.length > 0) {
|
|
163
|
+
children = stack[stack.length - 1];
|
|
164
|
+
child = children.pop();
|
|
165
|
+
if (!child) {
|
|
166
|
+
stack.pop();
|
|
167
|
+
visited.pop();
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
if (visited.has(child)) {
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
if (child === target) {
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
visited.push(child);
|
|
177
|
+
if (!visited.has(target)) {
|
|
178
|
+
stack.push(graph.outboundNeighbors(child));
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
visited.pop();
|
|
182
|
+
}
|
|
139
183
|
}
|
|
184
|
+
return false;
|
|
140
185
|
}
|
|
141
|
-
exports.
|
|
186
|
+
exports.hasSimplePath = hasSimplePath;
|
|
142
187
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wundergraph/composition",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "WunderGraph Maintainers",
|
|
6
6
|
"email": "info@wundergraph.com"
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"scripts": {
|
|
13
13
|
"dev": "tsc --watch",
|
|
14
14
|
"build": "del dist && tsc",
|
|
15
|
-
"test": "vitest test"
|
|
15
|
+
"test:watch": "vitest test",
|
|
16
|
+
"test": "vitest run"
|
|
16
17
|
},
|
|
17
18
|
"main": "./dist/index.js",
|
|
18
19
|
"types": "./dist/index.d.ts",
|
|
@@ -32,5 +33,5 @@
|
|
|
32
33
|
"del-cli": "^5.0.0",
|
|
33
34
|
"typescript": "^5.1.3"
|
|
34
35
|
},
|
|
35
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "8fe14314a2a6ba5a16643a2c8498bba5080d4119"
|
|
36
37
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"federation-result.js","sourceRoot":"","sources":["../../src/federation/federation-result.ts"],"names":[],"mappings":""}
|