@graphql-tools/merge 6.2.9 → 6.2.10
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/es5/index.cjs.js +28 -26
- package/es5/index.cjs.js.map +1 -1
- package/es5/index.esm.js +29 -27
- package/es5/index.esm.js.map +1 -1
- package/es5/package.json +1 -1
- package/es5/typedefs-mergers/fields.d.ts +1 -1
- package/es5/typedefs-mergers/merge-typedefs.d.ts +1 -0
- package/index.cjs.js +13 -11
- package/index.cjs.js.map +1 -1
- package/index.esm.js +13 -11
- package/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/typedefs-mergers/fields.d.ts +1 -1
- package/typedefs-mergers/merge-typedefs.d.ts +1 -0
package/es5/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __values, __read,
|
|
1
|
+
import { __values, __read, __spreadArray, __assign, __awaiter, __generator, __rest } from 'tslib';
|
|
2
2
|
import { mergeDeep, compareNodes, isNotEqual, getDocumentNodeFromSchema, createSchemaDefinition, asArray, getResolversFromSchema, SchemaDirectiveVisitor } from '@graphql-tools/utils/es5';
|
|
3
3
|
import { getDescription, visit, print, Source, Kind, isSchema, parse, isScalarType, isSpecifiedScalarType, isIntrospectionType, isObjectType, isInterfaceType, isInputObjectType, isUnionType, isEnumType, buildSchema, buildASTSchema } from 'graphql';
|
|
4
4
|
import { addResolversToSchema, addErrorLoggingToSchema } from '@graphql-tools/schema/es5';
|
|
@@ -74,7 +74,7 @@ function mergeResolvers(resolversDefinitions, options) {
|
|
|
74
74
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
75
75
|
args[_i] = arguments[_i];
|
|
76
76
|
}
|
|
77
|
-
var resultsOfFactories = resolversFactories.map(function (factory) { return factory.apply(void 0,
|
|
77
|
+
var resultsOfFactories = resolversFactories.map(function (factory) { return factory.apply(void 0, __spreadArray([], __read(args))); });
|
|
78
78
|
return resolvers.concat(resultsOfFactories).reduce(mergeDeep, {});
|
|
79
79
|
});
|
|
80
80
|
}
|
|
@@ -199,12 +199,12 @@ function addDescription(cb) {
|
|
|
199
199
|
}
|
|
200
200
|
return prev[key];
|
|
201
201
|
}, ancestors[0]);
|
|
202
|
-
var key =
|
|
202
|
+
var key = __spreadArray(__spreadArray([], __read(keys)), [parent.name.value]).join('.');
|
|
203
203
|
var items = [];
|
|
204
204
|
if (commentsRegistry[key]) {
|
|
205
|
-
items.push.apply(items,
|
|
205
|
+
items.push.apply(items, __spreadArray([], __read(commentsRegistry[key])));
|
|
206
206
|
}
|
|
207
|
-
return join(
|
|
207
|
+
return join(__spreadArray(__spreadArray([], __read(items.map(printComment))), [node.description, cb(node)]), '\n');
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
210
|
function indent(maybeString) {
|
|
@@ -407,7 +407,7 @@ function nameAlreadyExists(name, namesArr) {
|
|
|
407
407
|
}
|
|
408
408
|
function mergeArguments$1(a1, a2) {
|
|
409
409
|
var e_1, _a;
|
|
410
|
-
var result =
|
|
410
|
+
var result = __spreadArray([], __read(a2));
|
|
411
411
|
var _loop_1 = function (argument) {
|
|
412
412
|
var existingIndex = result.findIndex(function (a) { return a.name.value === argument.name.value; });
|
|
413
413
|
if (existingIndex > -1) {
|
|
@@ -464,7 +464,7 @@ function mergeDirectives(d1, d2, config) {
|
|
|
464
464
|
var reverseOrder = config && config.reverseDirectives;
|
|
465
465
|
var asNext = reverseOrder ? d1 : d2;
|
|
466
466
|
var asFirst = reverseOrder ? d2 : d1;
|
|
467
|
-
var result = deduplicateDirectives(
|
|
467
|
+
var result = deduplicateDirectives(__spreadArray([], __read(asNext)));
|
|
468
468
|
var _loop_2 = function (directive) {
|
|
469
469
|
if (directiveAlreadyExists(result, directive)) {
|
|
470
470
|
var existingDirectiveIndex = result.findIndex(function (d) { return d.name.value === directive.name.value; });
|
|
@@ -503,7 +503,7 @@ function validateInputs(node, existingNode) {
|
|
|
503
503
|
function mergeDirective(node, existingNode) {
|
|
504
504
|
if (existingNode) {
|
|
505
505
|
validateInputs(node, existingNode);
|
|
506
|
-
return __assign(__assign({}, node), { locations:
|
|
506
|
+
return __assign(__assign({}, node), { locations: __spreadArray(__spreadArray([], __read(existingNode.locations)), __read(node.locations.filter(function (name) { return !nameAlreadyExists(name, existingNode.locations); }))) });
|
|
507
507
|
}
|
|
508
508
|
return node;
|
|
509
509
|
}
|
|
@@ -553,7 +553,7 @@ function mergeEnumValues(first, second, config) {
|
|
|
553
553
|
}
|
|
554
554
|
finally { if (e_2) throw e_2.error; }
|
|
555
555
|
}
|
|
556
|
-
var result =
|
|
556
|
+
var result = __spreadArray([], __read(enumValueMap.values()));
|
|
557
557
|
if (config && config.sort) {
|
|
558
558
|
result.sort(compareNodes);
|
|
559
559
|
}
|
|
@@ -651,9 +651,9 @@ function printTypeNode(type) {
|
|
|
651
651
|
return type.name.value;
|
|
652
652
|
}
|
|
653
653
|
|
|
654
|
-
function fieldAlreadyExists(fieldsArr, otherField) {
|
|
654
|
+
function fieldAlreadyExists(fieldsArr, otherField, config) {
|
|
655
655
|
var result = fieldsArr.find(function (field) { return field.name.value === otherField.name.value; });
|
|
656
|
-
if (result) {
|
|
656
|
+
if (result && !(config === null || config === void 0 ? void 0 : config.ignoreFieldConflicts)) {
|
|
657
657
|
var t1 = extractType(result.type);
|
|
658
658
|
var t2 = extractType(otherField.type);
|
|
659
659
|
if (t1.name.value !== t2.name.value) {
|
|
@@ -664,18 +664,20 @@ function fieldAlreadyExists(fieldsArr, otherField) {
|
|
|
664
664
|
}
|
|
665
665
|
function mergeFields(type, f1, f2, config) {
|
|
666
666
|
var e_1, _a;
|
|
667
|
-
var result =
|
|
667
|
+
var result = __spreadArray([], __read(f2));
|
|
668
668
|
var _loop_1 = function (field) {
|
|
669
|
-
if (fieldAlreadyExists(result, field)) {
|
|
669
|
+
if (fieldAlreadyExists(result, field, config)) {
|
|
670
670
|
var existing = result.find(function (f) { return f.name.value === field.name.value; });
|
|
671
|
-
if (config
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
671
|
+
if (!(config === null || config === void 0 ? void 0 : config.ignoreFieldConflicts)) {
|
|
672
|
+
if (config === null || config === void 0 ? void 0 : config.throwOnConflict) {
|
|
673
|
+
preventConflicts(type, existing, field);
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
preventConflicts(type, existing, field);
|
|
677
|
+
}
|
|
678
|
+
if (isNonNullTypeNode(field.type) && !isNonNullTypeNode(existing.type)) {
|
|
679
|
+
existing.type = field.type;
|
|
680
|
+
}
|
|
679
681
|
}
|
|
680
682
|
existing.arguments = mergeArguments(field['arguments'] || [], existing.arguments || [], config);
|
|
681
683
|
existing.directives = mergeDirectives(field.directives, existing.directives, config);
|
|
@@ -789,7 +791,7 @@ function alreadyExists(arr, other) {
|
|
|
789
791
|
return !!arr.find(function (i) { return i.name.value === other.name.value; });
|
|
790
792
|
}
|
|
791
793
|
function mergeNamedTypeArray(first, second, config) {
|
|
792
|
-
var result =
|
|
794
|
+
var result = __spreadArray(__spreadArray([], __read(second)), __read(first.filter(function (d) { return !alreadyExists(second, d); })));
|
|
793
795
|
if (config && config.sort) {
|
|
794
796
|
result.sort(compareNodes);
|
|
795
797
|
}
|
|
@@ -931,7 +933,7 @@ function mergeGraphQLTypes(types, config) {
|
|
|
931
933
|
.map(function (ast) { return ast.definitions; })
|
|
932
934
|
.reduce(function (defs, newDef) {
|
|
933
935
|
if (newDef === void 0) { newDef = []; }
|
|
934
|
-
return
|
|
936
|
+
return __spreadArray(__spreadArray([], __read(defs)), __read(newDef));
|
|
935
937
|
}, []);
|
|
936
938
|
// XXX: right now we don't handle multiple schema definitions
|
|
937
939
|
var schemaDef = allNodes.filter(isSchemaDefinition).reduce(function (def, node) {
|
|
@@ -967,7 +969,7 @@ function mergeGraphQLTypes(types, config) {
|
|
|
967
969
|
if (!schemaDefinition) {
|
|
968
970
|
return Object.values(mergedNodes);
|
|
969
971
|
}
|
|
970
|
-
return
|
|
972
|
+
return __spreadArray(__spreadArray([], __read(Object.values(mergedNodes))), [parse(schemaDefinition).definitions[0]]);
|
|
971
973
|
}
|
|
972
974
|
|
|
973
975
|
function travelSchemaPossibleExtensions(schema, hooks) {
|
|
@@ -1263,7 +1265,7 @@ function mergeSchemas(config) {
|
|
|
1263
1265
|
}
|
|
1264
1266
|
finally { if (e_1) throw e_1.error; }
|
|
1265
1267
|
}
|
|
1266
|
-
extractedResolvers.push.apply(extractedResolvers,
|
|
1268
|
+
extractedResolvers.push.apply(extractedResolvers, __spreadArray([], __read(ensureResolvers(config))));
|
|
1267
1269
|
var resolvers = mergeResolvers(extractedResolvers, config);
|
|
1268
1270
|
var extensions = mergeExtensions(extractedExtensions);
|
|
1269
1271
|
return makeSchema({ resolvers: resolvers, typeDefs: typeDefs, extensions: extensions }, config);
|
|
@@ -1283,7 +1285,7 @@ function mergeSchemasAsync(config) {
|
|
|
1283
1285
|
Promise.all(config.schemas.map(function (schema) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
1284
1286
|
return [2 /*return*/, getResolversFromSchema(schema)];
|
|
1285
1287
|
}); }); })).then(function (extractedResolvers) {
|
|
1286
|
-
return mergeResolvers(
|
|
1288
|
+
return mergeResolvers(__spreadArray(__spreadArray([], __read(extractedResolvers)), __read(ensureResolvers(config))), config);
|
|
1287
1289
|
}),
|
|
1288
1290
|
Promise.all(config.schemas.map(function (schema) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
1289
1291
|
return [2 /*return*/, extractExtensionsFromSchema(schema)];
|
|
@@ -1300,7 +1302,7 @@ function mergeSchemasAsync(config) {
|
|
|
1300
1302
|
}
|
|
1301
1303
|
function mergeTypes(_a) {
|
|
1302
1304
|
var schemas = _a.schemas, typeDefs = _a.typeDefs, config = __rest(_a, ["schemas", "typeDefs"]);
|
|
1303
|
-
return mergeTypeDefs(
|
|
1305
|
+
return mergeTypeDefs(__spreadArray(__spreadArray([], __read(schemas)), __read((typeDefs ? asArray(typeDefs) : []))), config);
|
|
1304
1306
|
}
|
|
1305
1307
|
function ensureResolvers(config) {
|
|
1306
1308
|
return config.resolvers ? asArray(config.resolvers) : [];
|