@wundergraph/composition 0.5.2 → 0.6.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/ast/ast.d.ts +21 -3
- package/dist/ast/ast.js +23 -11
- package/dist/ast/ast.js.map +1 -1
- package/dist/ast/utils.d.ts +16 -103
- package/dist/ast/utils.js +132 -16
- package/dist/ast/utils.js.map +1 -1
- package/dist/errors/errors.d.ts +16 -4
- package/dist/errors/errors.js +97 -21
- package/dist/errors/errors.js.map +1 -1
- package/dist/federation/federation-factory.d.ts +28 -22
- package/dist/federation/federation-factory.js +611 -429
- package/dist/federation/federation-factory.js.map +1 -1
- package/dist/federation/utils.d.ts +130 -0
- package/dist/federation/utils.js +15 -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 +9 -3
- package/dist/normalization/normalization-factory.js +221 -75
- package/dist/normalization/normalization-factory.js.map +1 -1
- package/dist/normalization/utils.d.ts +4 -0
- package/dist/normalization/utils.js +12 -5
- package/dist/normalization/utils.js.map +1 -1
- package/dist/subgraph/field-configuration.d.ts +12 -1
- package/dist/subgraph/subgraph.d.ts +2 -2
- package/dist/subgraph/subgraph.js +45 -82
- package/dist/subgraph/subgraph.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/constants.js +26 -8
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +13 -1
- package/dist/utils/string-constants.js +15 -2
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +15 -3
- package/dist/utils/utils.js +58 -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
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.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,10 @@ function areSetsEqual(set, other) {
|
|
|
14
16
|
return true;
|
|
15
17
|
}
|
|
16
18
|
exports.areSetsEqual = areSetsEqual;
|
|
17
|
-
function getOrThrowError(map, key) {
|
|
19
|
+
function getOrThrowError(map, key, mapName) {
|
|
18
20
|
const value = map.get(key);
|
|
19
21
|
if (value === undefined) {
|
|
20
|
-
throw
|
|
22
|
+
throw (0, errors_1.invalidKeyFatalError)(key, mapName);
|
|
21
23
|
}
|
|
22
24
|
return value;
|
|
23
25
|
}
|
|
@@ -90,10 +92,14 @@ function kindToTypeString(kind) {
|
|
|
90
92
|
return 'enum';
|
|
91
93
|
case graphql_1.Kind.ENUM_TYPE_EXTENSION:
|
|
92
94
|
return 'enum extension';
|
|
95
|
+
case graphql_1.Kind.FIELD_DEFINITION:
|
|
96
|
+
return string_constants_1.FIELD;
|
|
93
97
|
case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
|
|
94
98
|
return 'input object';
|
|
95
99
|
case graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION:
|
|
96
100
|
return 'input object extension';
|
|
101
|
+
case graphql_1.Kind.INPUT_VALUE_DEFINITION:
|
|
102
|
+
return 'input value';
|
|
97
103
|
case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
|
|
98
104
|
return 'interface';
|
|
99
105
|
case graphql_1.Kind.INTERFACE_TYPE_EXTENSION:
|
|
@@ -107,7 +113,7 @@ function kindToTypeString(kind) {
|
|
|
107
113
|
case graphql_1.Kind.SCALAR_TYPE_EXTENSION:
|
|
108
114
|
return 'scalar extension';
|
|
109
115
|
case graphql_1.Kind.UNION_TYPE_DEFINITION:
|
|
110
|
-
return
|
|
116
|
+
return string_constants_1.UNION;
|
|
111
117
|
case graphql_1.Kind.UNION_TYPE_EXTENSION:
|
|
112
118
|
return 'union extension';
|
|
113
119
|
default:
|
|
@@ -115,28 +121,57 @@ function kindToTypeString(kind) {
|
|
|
115
121
|
}
|
|
116
122
|
}
|
|
117
123
|
exports.kindToTypeString = kindToTypeString;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
class StackSet {
|
|
125
|
+
set = new Set();
|
|
126
|
+
stack = [];
|
|
127
|
+
constructor(value) {
|
|
128
|
+
this.push(value);
|
|
129
|
+
}
|
|
130
|
+
has(value) {
|
|
131
|
+
return this.set.has(value);
|
|
132
|
+
}
|
|
133
|
+
push(value) {
|
|
134
|
+
this.stack.push(value);
|
|
135
|
+
this.set.add(value);
|
|
136
|
+
}
|
|
137
|
+
pop() {
|
|
138
|
+
const value = this.stack.pop();
|
|
139
|
+
if (value) {
|
|
140
|
+
this.set.delete(value);
|
|
122
141
|
}
|
|
123
|
-
return isTypeValidImplementation(originalType.type, implementationType.type);
|
|
124
142
|
}
|
|
125
|
-
|
|
126
|
-
|
|
143
|
+
;
|
|
144
|
+
}
|
|
145
|
+
function hasSimplePath(graph, source, target) {
|
|
146
|
+
if (!graph.hasNode(source) || !graph.hasNode(target)) {
|
|
147
|
+
return false;
|
|
127
148
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
149
|
+
const stack = [graph.outboundNeighbors(source)];
|
|
150
|
+
const visited = new StackSet(source);
|
|
151
|
+
let children, child;
|
|
152
|
+
while (stack.length > 0) {
|
|
153
|
+
children = stack[stack.length - 1];
|
|
154
|
+
child = children.pop();
|
|
155
|
+
if (!child) {
|
|
156
|
+
stack.pop();
|
|
157
|
+
visited.pop();
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
if (visited.has(child)) {
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (child === target) {
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
visited.push(child);
|
|
167
|
+
if (!visited.has(target)) {
|
|
168
|
+
stack.push(graph.outboundNeighbors(child));
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
visited.pop();
|
|
172
|
+
}
|
|
139
173
|
}
|
|
174
|
+
return false;
|
|
140
175
|
}
|
|
141
|
-
exports.
|
|
176
|
+
exports.hasSimplePath = hasSimplePath;
|
|
142
177
|
//# 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.0",
|
|
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": "00d04e46a3debfa4b597c8f12e920050ff4cd987"
|
|
36
37
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"federation-result.js","sourceRoot":"","sources":["../../src/federation/federation-result.ts"],"names":[],"mappings":""}
|