@graphql-codegen/plugin-helpers 4.2.1-rc-20230519121941-92ebcf71b → 4.2.1-rc-20230523060306-9beee8d9e
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/cjs/federation.js +4 -7
- package/cjs/oldVisit.js +2 -2
- package/esm/federation.js +4 -7
- package/esm/oldVisit.js +2 -2
- package/package.json +2 -2
package/cjs/federation.js
CHANGED
|
@@ -158,7 +158,7 @@ class ApolloFederation {
|
|
|
158
158
|
}
|
|
159
159
|
hasProvides(objectType, node) {
|
|
160
160
|
const fields = this.providesMap[(0, graphql_1.isObjectType)(objectType) ? objectType.name : objectType.name.value];
|
|
161
|
-
if (fields
|
|
161
|
+
if (fields?.length) {
|
|
162
162
|
return fields.includes(node.name.value);
|
|
163
163
|
}
|
|
164
164
|
return false;
|
|
@@ -190,7 +190,6 @@ class ApolloFederation {
|
|
|
190
190
|
});
|
|
191
191
|
}
|
|
192
192
|
createMapOfProvides() {
|
|
193
|
-
var _a;
|
|
194
193
|
const providesMap = {};
|
|
195
194
|
for (const typename of Object.keys(this.schema.getTypeMap())) {
|
|
196
195
|
const objectType = this.schema.getType(typename);
|
|
@@ -200,7 +199,7 @@ class ApolloFederation {
|
|
|
200
199
|
.map(this.extractFieldSet)
|
|
201
200
|
.reduce((prev, curr) => [...prev, ...Object.keys(curr)], []);
|
|
202
201
|
const ofType = (0, utils_js_1.getBaseType)(field.type);
|
|
203
|
-
providesMap[
|
|
202
|
+
providesMap[ofType.name] ||= [];
|
|
204
203
|
providesMap[ofType.name].push(...provides);
|
|
205
204
|
}
|
|
206
205
|
}
|
|
@@ -227,7 +226,6 @@ function isFederationObjectType(node, schema) {
|
|
|
227
226
|
* @param node ObjectType or Field
|
|
228
227
|
*/
|
|
229
228
|
function getDirectivesByName(name, node) {
|
|
230
|
-
var _a;
|
|
231
229
|
let astNode;
|
|
232
230
|
if ((0, graphql_1.isObjectType)(node)) {
|
|
233
231
|
astNode = node.astNode;
|
|
@@ -235,7 +233,7 @@ function getDirectivesByName(name, node) {
|
|
|
235
233
|
else {
|
|
236
234
|
astNode = node;
|
|
237
235
|
}
|
|
238
|
-
return
|
|
236
|
+
return astNode?.directives?.filter(d => d.name.value === name) || [];
|
|
239
237
|
}
|
|
240
238
|
/**
|
|
241
239
|
* Checks if the Object Type extends a federated type from a remote schema.
|
|
@@ -243,7 +241,6 @@ function getDirectivesByName(name, node) {
|
|
|
243
241
|
* @param node Type
|
|
244
242
|
*/
|
|
245
243
|
function isTypeExtension(node, schema) {
|
|
246
|
-
var _a;
|
|
247
244
|
const definition = (0, graphql_1.isObjectType)(node) ? node.astNode || (0, utils_1.astFromObjectType)(node, schema) : node;
|
|
248
|
-
return
|
|
245
|
+
return definition.fields?.some(field => getDirectivesByName('external', field).length);
|
|
249
246
|
}
|
package/cjs/oldVisit.js
CHANGED
|
@@ -5,13 +5,13 @@ const graphql_1 = require("graphql");
|
|
|
5
5
|
function oldVisit(root, { enter: enterVisitors, leave: leaveVisitors, ...newVisitor }) {
|
|
6
6
|
if (typeof enterVisitors === 'object') {
|
|
7
7
|
for (const key in enterVisitors) {
|
|
8
|
-
newVisitor[key]
|
|
8
|
+
newVisitor[key] ||= {};
|
|
9
9
|
newVisitor[key].enter = enterVisitors[key];
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
if (typeof leaveVisitors === 'object') {
|
|
13
13
|
for (const key in leaveVisitors) {
|
|
14
|
-
newVisitor[key]
|
|
14
|
+
newVisitor[key] ||= {};
|
|
15
15
|
newVisitor[key].leave = leaveVisitors[key];
|
|
16
16
|
}
|
|
17
17
|
}
|
package/esm/federation.js
CHANGED
|
@@ -152,7 +152,7 @@ export class ApolloFederation {
|
|
|
152
152
|
}
|
|
153
153
|
hasProvides(objectType, node) {
|
|
154
154
|
const fields = this.providesMap[isObjectType(objectType) ? objectType.name : objectType.name.value];
|
|
155
|
-
if (fields
|
|
155
|
+
if (fields?.length) {
|
|
156
156
|
return fields.includes(node.name.value);
|
|
157
157
|
}
|
|
158
158
|
return false;
|
|
@@ -184,7 +184,6 @@ export class ApolloFederation {
|
|
|
184
184
|
});
|
|
185
185
|
}
|
|
186
186
|
createMapOfProvides() {
|
|
187
|
-
var _a;
|
|
188
187
|
const providesMap = {};
|
|
189
188
|
for (const typename of Object.keys(this.schema.getTypeMap())) {
|
|
190
189
|
const objectType = this.schema.getType(typename);
|
|
@@ -194,7 +193,7 @@ export class ApolloFederation {
|
|
|
194
193
|
.map(this.extractFieldSet)
|
|
195
194
|
.reduce((prev, curr) => [...prev, ...Object.keys(curr)], []);
|
|
196
195
|
const ofType = getBaseType(field.type);
|
|
197
|
-
providesMap[
|
|
196
|
+
providesMap[ofType.name] ||= [];
|
|
198
197
|
providesMap[ofType.name].push(...provides);
|
|
199
198
|
}
|
|
200
199
|
}
|
|
@@ -220,7 +219,6 @@ function isFederationObjectType(node, schema) {
|
|
|
220
219
|
* @param node ObjectType or Field
|
|
221
220
|
*/
|
|
222
221
|
function getDirectivesByName(name, node) {
|
|
223
|
-
var _a;
|
|
224
222
|
let astNode;
|
|
225
223
|
if (isObjectType(node)) {
|
|
226
224
|
astNode = node.astNode;
|
|
@@ -228,7 +226,7 @@ function getDirectivesByName(name, node) {
|
|
|
228
226
|
else {
|
|
229
227
|
astNode = node;
|
|
230
228
|
}
|
|
231
|
-
return
|
|
229
|
+
return astNode?.directives?.filter(d => d.name.value === name) || [];
|
|
232
230
|
}
|
|
233
231
|
/**
|
|
234
232
|
* Checks if the Object Type extends a federated type from a remote schema.
|
|
@@ -236,7 +234,6 @@ function getDirectivesByName(name, node) {
|
|
|
236
234
|
* @param node Type
|
|
237
235
|
*/
|
|
238
236
|
function isTypeExtension(node, schema) {
|
|
239
|
-
var _a;
|
|
240
237
|
const definition = isObjectType(node) ? node.astNode || astFromObjectType(node, schema) : node;
|
|
241
|
-
return
|
|
238
|
+
return definition.fields?.some(field => getDirectivesByName('external', field).length);
|
|
242
239
|
}
|
package/esm/oldVisit.js
CHANGED
|
@@ -2,13 +2,13 @@ import { visit } from 'graphql';
|
|
|
2
2
|
export function oldVisit(root, { enter: enterVisitors, leave: leaveVisitors, ...newVisitor }) {
|
|
3
3
|
if (typeof enterVisitors === 'object') {
|
|
4
4
|
for (const key in enterVisitors) {
|
|
5
|
-
newVisitor[key]
|
|
5
|
+
newVisitor[key] ||= {};
|
|
6
6
|
newVisitor[key].enter = enterVisitors[key];
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
if (typeof leaveVisitors === 'object') {
|
|
10
10
|
for (const key in leaveVisitors) {
|
|
11
|
-
newVisitor[key]
|
|
11
|
+
newVisitor[key] ||= {};
|
|
12
12
|
newVisitor[key].leave = leaveVisitors[key];
|
|
13
13
|
}
|
|
14
14
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-codegen/plugin-helpers",
|
|
3
|
-
"version": "4.2.1-rc-
|
|
3
|
+
"version": "4.2.1-rc-20230523060306-9beee8d9e",
|
|
4
4
|
"description": "GraphQL Code Generator common utils and types",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@graphql-tools/utils": "^
|
|
9
|
+
"@graphql-tools/utils": "^10.0.0",
|
|
10
10
|
"change-case-all": "1.0.15",
|
|
11
11
|
"common-tags": "1.8.2",
|
|
12
12
|
"import-from": "4.0.0",
|