@graphql-tools/merge 6.2.12-alpha-2afd491c.0 → 6.2.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/merge/src/merge-resolvers.js","../../../dist-es5/merge/src/typedefs-mergers/arguments.js","../../../dist-es5/merge/src/typedefs-mergers/comments.js","../../../dist-es5/merge/src/typedefs-mergers/directives.js","../../../dist-es5/merge/src/typedefs-mergers/enum-values.js","../../../dist-es5/merge/src/typedefs-mergers/enum.js","../../../dist-es5/merge/src/typedefs-mergers/utils.js","../../../dist-es5/merge/src/typedefs-mergers/fields.js","../../../dist-es5/merge/src/typedefs-mergers/input-type.js","../../../dist-es5/merge/src/typedefs-mergers/interface.js","../../../dist-es5/merge/src/typedefs-mergers/merge-named-type-array.js","../../../dist-es5/merge/src/typedefs-mergers/type.js","../../../dist-es5/merge/src/typedefs-mergers/scalar.js","../../../dist-es5/merge/src/typedefs-mergers/union.js","../../../dist-es5/merge/src/typedefs-mergers/schema-def.js","../../../dist-es5/merge/src/typedefs-mergers/merge-nodes.js","../../../dist-es5/merge/src/typedefs-mergers/merge-typedefs.js","../../../dist-es5/merge/src/extensions.js","../../../dist-es5/merge/src/merge-schemas.js"],"sourcesContent":["import { __read, __spreadArray, __values } from \"tslib\";\nimport { mergeDeep } from '@graphql-tools/utils';\n/**\n * Deep merges multiple resolver definition objects into a single definition.\n * @param resolversDefinitions Resolver definitions to be merged\n * @param options Additional options\n *\n * ```js\n * const { mergeResolvers } = require('@graphql-tools/merge');\n * const clientResolver = require('./clientResolver');\n * const productResolver = require('./productResolver');\n *\n * const resolvers = mergeResolvers([\n * clientResolver,\n * productResolver,\n * ]);\n * ```\n *\n * If you don't want to manually create the array of resolver objects, you can\n * also use this function along with loadFiles:\n *\n * ```js\n * const path = require('path');\n * const { mergeResolvers } = require('@graphql-tools/merge');\n * const { loadFilesSync } = require('@graphql-tools/load-files');\n *\n * const resolversArray = loadFilesSync(path.join(__dirname, './resolvers'));\n *\n * const resolvers = mergeResolvers(resolversArray)\n * ```\n */\nexport function mergeResolvers(resolversDefinitions, options) {\n var e_1, _a, e_2, _b;\n if (!resolversDefinitions || resolversDefinitions.length === 0) {\n return {};\n }\n if (resolversDefinitions.length === 1) {\n var singleDefinition = resolversDefinitions[0];\n if (Array.isArray(singleDefinition)) {\n return mergeResolvers(singleDefinition);\n }\n return singleDefinition;\n }\n var resolversFactories = new Array();\n var resolvers = new Array();\n try {\n for (var resolversDefinitions_1 = __values(resolversDefinitions), resolversDefinitions_1_1 = resolversDefinitions_1.next(); !resolversDefinitions_1_1.done; resolversDefinitions_1_1 = resolversDefinitions_1.next()) {\n var resolversDefinition = resolversDefinitions_1_1.value;\n if (Array.isArray(resolversDefinition)) {\n resolversDefinition = mergeResolvers(resolversDefinition);\n }\n if (typeof resolversDefinition === 'function') {\n resolversFactories.push(resolversDefinition);\n }\n else if (typeof resolversDefinition === 'object') {\n resolvers.push(resolversDefinition);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (resolversDefinitions_1_1 && !resolversDefinitions_1_1.done && (_a = resolversDefinitions_1.return)) _a.call(resolversDefinitions_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var result = {};\n if (resolversFactories.length) {\n result = (function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resultsOfFactories = resolversFactories.map(function (factory) { return factory.apply(void 0, __spreadArray([], __read(args))); });\n return resolvers.concat(resultsOfFactories).reduce(mergeDeep, {});\n });\n }\n else {\n result = resolvers.reduce(mergeDeep, {});\n }\n if (options && options.exclusions) {\n try {\n for (var _c = __values(options.exclusions), _d = _c.next(); !_d.done; _d = _c.next()) {\n var exclusion = _d.value;\n var _e = __read(exclusion.split('.'), 2), typeName = _e[0], fieldName = _e[1];\n if (!fieldName || fieldName === '*') {\n delete result[typeName];\n }\n else if (result[typeName]) {\n delete result[typeName][fieldName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return result;\n}\n//# sourceMappingURL=merge-resolvers.js.map","import { compareNodes } from '@graphql-tools/utils';\nexport function mergeArguments(args1, args2, config) {\n var result = deduplicateArguments([].concat(args2, args1).filter(function (a) { return a; }));\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n return result;\n}\nfunction deduplicateArguments(args) {\n return args.reduce(function (acc, current) {\n var dup = acc.find(function (arg) { return arg.name.value === current.name.value; });\n if (!dup) {\n return acc.concat([current]);\n }\n return acc;\n }, []);\n}\n//# sourceMappingURL=arguments.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { getDescription, visit, } from 'graphql';\nvar commentsRegistry = {};\nexport function resetComments() {\n commentsRegistry = {};\n}\nexport function collectComment(node) {\n var entityName = node.name.value;\n pushComment(node, entityName);\n switch (node.kind) {\n case 'EnumTypeDefinition':\n node.values.forEach(function (value) {\n pushComment(value, entityName, value.name.value);\n });\n break;\n case 'ObjectTypeDefinition':\n case 'InputObjectTypeDefinition':\n case 'InterfaceTypeDefinition':\n if (node.fields) {\n node.fields.forEach(function (field) {\n pushComment(field, entityName, field.name.value);\n if (isFieldDefinitionNode(field) && field.arguments) {\n field.arguments.forEach(function (arg) {\n pushComment(arg, entityName, field.name.value, arg.name.value);\n });\n }\n });\n }\n break;\n }\n}\nexport function pushComment(node, entity, field, argument) {\n var comment = getDescription(node, { commentDescriptions: true });\n if (typeof comment !== 'string' || comment.length === 0) {\n return;\n }\n var keys = [entity];\n if (field) {\n keys.push(field);\n if (argument) {\n keys.push(argument);\n }\n }\n var path = keys.join('.');\n if (!commentsRegistry[path]) {\n commentsRegistry[path] = [];\n }\n commentsRegistry[path].push(comment);\n}\nexport function printComment(comment) {\n return '\\n# ' + comment.replace(/\\n/g, '\\n# ');\n}\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * NOTE: ==> This file has been modified just to add comments to the printed AST\n * This is a temp measure, we will move to using the original non modified printer.js ASAP.\n */\n// import { visit, VisitFn } from 'graphql/language/visitor';\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\nfunction join(maybeArray, separator) {\n return maybeArray ? maybeArray.filter(function (x) { return x; }).join(separator || '') : '';\n}\nfunction addDescription(cb) {\n return function (node, _key, _parent, path, ancestors) {\n var keys = [];\n var parent = path.reduce(function (prev, key) {\n if (['fields', 'arguments', 'values'].includes(key)) {\n keys.push(prev.name.value);\n }\n return prev[key];\n }, ancestors[0]);\n var key = __spreadArray(__spreadArray([], __read(keys)), [parent.name.value]).join('.');\n var items = [];\n if (commentsRegistry[key]) {\n items.push.apply(items, __spreadArray([], __read(commentsRegistry[key])));\n }\n return join(__spreadArray(__spreadArray([], __read(items.map(printComment))), [node.description, cb(node)]), '\\n');\n };\n}\nfunction indent(maybeString) {\n return maybeString && \" \" + maybeString.replace(/\\n/g, '\\n ');\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\nfunction block(array) {\n return array && array.length !== 0 ? \"{\\n\" + indent(join(array, '\\n')) + \"\\n}\" : '';\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise\n * print an empty string.\n */\nfunction wrap(start, maybeString, end) {\n return maybeString ? start + maybeString + (end || '') : '';\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n */\nfunction printBlockString(value, isDescription) {\n var escaped = value.replace(/\"\"\"/g, '\\\\\"\"\"');\n return (value[0] === ' ' || value[0] === '\\t') && value.indexOf('\\n') === -1\n ? \"\\\"\\\"\\\"\" + escaped.replace(/\"$/, '\"\\n') + \"\\\"\\\"\\\"\"\n : \"\\\"\\\"\\\"\\n\" + (isDescription ? escaped : indent(escaped)) + \"\\n\\\"\\\"\\\"\";\n}\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nexport function printWithComments(ast) {\n return visit(ast, {\n leave: {\n Name: function (node) { return node.value; },\n Variable: function (node) { return \"$\" + node.name; },\n // Document\n Document: function (node) {\n return node.definitions\n .map(function (defNode) { return defNode + \"\\n\" + (defNode[0] === '#' ? '' : '\\n'); })\n .join('')\n .trim() + \"\\n\";\n },\n OperationTypeDefinition: function (node) { return node.operation + \": \" + node.type; },\n VariableDefinition: function (_a) {\n var variable = _a.variable, type = _a.type, defaultValue = _a.defaultValue;\n return variable + \": \" + type + wrap(' = ', defaultValue);\n },\n SelectionSet: function (_a) {\n var selections = _a.selections;\n return block(selections);\n },\n Field: function (_a) {\n var alias = _a.alias, name = _a.name, args = _a.arguments, directives = _a.directives, selectionSet = _a.selectionSet;\n return join([wrap('', alias, ': ') + name + wrap('(', join(args, ', '), ')'), join(directives, ' '), selectionSet], ' ');\n },\n Argument: addDescription(function (_a) {\n var name = _a.name, value = _a.value;\n return name + \": \" + value;\n }),\n // Value\n IntValue: function (_a) {\n var value = _a.value;\n return value;\n },\n FloatValue: function (_a) {\n var value = _a.value;\n return value;\n },\n StringValue: function (_a, key) {\n var value = _a.value, isBlockString = _a.block;\n return isBlockString ? printBlockString(value, key === 'description') : JSON.stringify(value);\n },\n BooleanValue: function (_a) {\n var value = _a.value;\n return (value ? 'true' : 'false');\n },\n NullValue: function () { return 'null'; },\n EnumValue: function (_a) {\n var value = _a.value;\n return value;\n },\n ListValue: function (_a) {\n var values = _a.values;\n return \"[\" + join(values, ', ') + \"]\";\n },\n ObjectValue: function (_a) {\n var fields = _a.fields;\n return \"{\" + join(fields, ', ') + \"}\";\n },\n ObjectField: function (_a) {\n var name = _a.name, value = _a.value;\n return name + \": \" + value;\n },\n // Directive\n Directive: function (_a) {\n var name = _a.name, args = _a.arguments;\n return \"@\" + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function (_a) {\n var name = _a.name;\n return name;\n },\n ListType: function (_a) {\n var type = _a.type;\n return \"[\" + type + \"]\";\n },\n NonNullType: function (_a) {\n var type = _a.type;\n return type + \"!\";\n },\n // Type System Definitions\n SchemaDefinition: function (_a) {\n var directives = _a.directives, operationTypes = _a.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_a) {\n var name = _a.name, interfaces = _a.interfaces, directives = _a.directives, fields = _a.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_a) {\n var name = _a.name, args = _a.arguments, type = _a.type, directives = _a.directives;\n return name + wrap('(', join(args, ', '), ')') + \": \" + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_a) {\n var name = _a.name, type = _a.type, defaultValue = _a.defaultValue, directives = _a.directives;\n return join([name + \": \" + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['interface', name, join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, types = _a.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? \"= \" + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, values = _a.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n ScalarTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function (_a) {\n var name = _a.name, interfaces = _a.interfaces, directives = _a.directives, fields = _a.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['extend interface', name, join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, types = _a.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? \"= \" + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, values = _a.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n },\n DirectiveDefinition: addDescription(function (_a) {\n var name = _a.name, args = _a.arguments, locations = _a.locations;\n return \"directive @\" + name + wrap('(', join(args, ', '), ')') + \" on \" + join(locations, ' | ');\n }),\n },\n });\n}\nfunction isFieldDefinitionNode(node) {\n return node.kind === 'FieldDefinition';\n}\n//# sourceMappingURL=comments.js.map","import { __assign, __read, __spreadArray, __values } from \"tslib\";\nimport { print } from 'graphql';\nfunction directiveAlreadyExists(directivesArr, otherDirective) {\n return !!directivesArr.find(function (directive) { return directive.name.value === otherDirective.name.value; });\n}\nfunction nameAlreadyExists(name, namesArr) {\n return namesArr.some(function (_a) {\n var value = _a.value;\n return value === name.value;\n });\n}\nfunction mergeArguments(a1, a2) {\n var e_1, _a;\n var result = __spreadArray([], __read(a2));\n var _loop_1 = function (argument) {\n var existingIndex = result.findIndex(function (a) { return a.name.value === argument.name.value; });\n if (existingIndex > -1) {\n var existingArg = result[existingIndex];\n if (existingArg.value.kind === 'ListValue') {\n var source = existingArg.value.values;\n var target = argument.value.values;\n // merge values of two lists\n existingArg.value.values = deduplicateLists(source, target, function (targetVal, source) {\n var value = targetVal.value;\n return !value || !source.some(function (sourceVal) { return sourceVal.value === value; });\n });\n }\n else {\n existingArg.value = argument.value;\n }\n }\n else {\n result.push(argument);\n }\n };\n try {\n for (var a1_1 = __values(a1), a1_1_1 = a1_1.next(); !a1_1_1.done; a1_1_1 = a1_1.next()) {\n var argument = a1_1_1.value;\n _loop_1(argument);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (a1_1_1 && !a1_1_1.done && (_a = a1_1.return)) _a.call(a1_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n}\nfunction deduplicateDirectives(directives) {\n return directives\n .map(function (directive, i, all) {\n var firstAt = all.findIndex(function (d) { return d.name.value === directive.name.value; });\n if (firstAt !== i) {\n var dup = all[firstAt];\n directive.arguments = mergeArguments(directive.arguments, dup.arguments);\n return null;\n }\n return directive;\n })\n .filter(function (d) { return d; });\n}\nexport function mergeDirectives(d1, d2, config) {\n var e_2, _a;\n if (d1 === void 0) { d1 = []; }\n if (d2 === void 0) { d2 = []; }\n var reverseOrder = config && config.reverseDirectives;\n var asNext = reverseOrder ? d1 : d2;\n var asFirst = reverseOrder ? d2 : d1;\n var result = deduplicateDirectives(__spreadArray([], __read(asNext)));\n var _loop_2 = function (directive) {\n if (directiveAlreadyExists(result, directive)) {\n var existingDirectiveIndex = result.findIndex(function (d) { return d.name.value === directive.name.value; });\n var existingDirective = result[existingDirectiveIndex];\n result[existingDirectiveIndex].arguments = mergeArguments(directive.arguments || [], existingDirective.arguments || []);\n }\n else {\n result.push(directive);\n }\n };\n try {\n for (var asFirst_1 = __values(asFirst), asFirst_1_1 = asFirst_1.next(); !asFirst_1_1.done; asFirst_1_1 = asFirst_1.next()) {\n var directive = asFirst_1_1.value;\n _loop_2(directive);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (asFirst_1_1 && !asFirst_1_1.done && (_a = asFirst_1.return)) _a.call(asFirst_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n}\nfunction validateInputs(node, existingNode) {\n var printedNode = print(node);\n var printedExistingNode = print(existingNode);\n // eslint-disable-next-line\n var leaveInputs = new RegExp('(directive @w*d*)|( on .*$)', 'g');\n var sameArguments = printedNode.replace(leaveInputs, '') === printedExistingNode.replace(leaveInputs, '');\n if (!sameArguments) {\n throw new Error(\"Unable to merge GraphQL directive \\\"\" + node.name.value + \"\\\". \\nExisting directive: \\n\\t\" + printedExistingNode + \" \\nReceived directive: \\n\\t\" + printedNode);\n }\n}\nexport function mergeDirective(node, existingNode) {\n if (existingNode) {\n validateInputs(node, existingNode);\n return __assign(__assign({}, node), { locations: __spreadArray(__spreadArray([], __read(existingNode.locations)), __read(node.locations.filter(function (name) { return !nameAlreadyExists(name, existingNode.locations); }))) });\n }\n return node;\n}\nfunction deduplicateLists(source, target, filterFn) {\n return source.concat(target.filter(function (val) { return filterFn(val, source); }));\n}\n//# sourceMappingURL=directives.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { mergeDirectives } from './directives';\nimport { compareNodes } from '@graphql-tools/utils';\nexport function mergeEnumValues(first, second, config) {\n var e_1, _a, e_2, _b;\n if (config === null || config === void 0 ? void 0 : config.consistentEnumMerge) {\n var reversed = first;\n first = second;\n second = reversed;\n }\n var enumValueMap = new Map();\n try {\n for (var first_1 = __values(first), first_1_1 = first_1.next(); !first_1_1.done; first_1_1 = first_1.next()) {\n var firstValue = first_1_1.value;\n enumValueMap.set(firstValue.name.value, firstValue);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (first_1_1 && !first_1_1.done && (_a = first_1.return)) _a.call(first_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var second_1 = __values(second), second_1_1 = second_1.next(); !second_1_1.done; second_1_1 = second_1.next()) {\n var secondValue = second_1_1.value;\n var enumValue = secondValue.name.value;\n if (enumValueMap.has(enumValue)) {\n var firstValue = enumValueMap.get(enumValue);\n firstValue.description = secondValue.description || firstValue.description;\n firstValue.directives = mergeDirectives(secondValue.directives, firstValue.directives);\n }\n else {\n enumValueMap.set(enumValue, secondValue);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (second_1_1 && !second_1_1.done && (_b = second_1.return)) _b.call(second_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var result = __spreadArray([], __read(enumValueMap.values()));\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n return result;\n}\n//# sourceMappingURL=enum-values.js.map","import { __assign } from \"tslib\";\nimport { mergeDirectives } from './directives';\nimport { mergeEnumValues } from './enum-values';\nexport function mergeEnum(e1, e2, config) {\n if (e2) {\n return {\n name: e1.name,\n description: e1['description'] || e2['description'],\n kind: (config && config.convertExtensions) || e1.kind === 'EnumTypeDefinition' || e2.kind === 'EnumTypeDefinition'\n ? 'EnumTypeDefinition'\n : 'EnumTypeExtension',\n loc: e1.loc,\n directives: mergeDirectives(e1.directives, e2.directives, config),\n values: mergeEnumValues(e1.values, e2.values, config),\n };\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, e1), { kind: 'EnumTypeDefinition' }) : e1;\n}\n//# sourceMappingURL=enum.js.map","import { Source, Kind } from 'graphql';\nexport function isStringTypes(types) {\n return typeof types === 'string';\n}\nexport function isSourceTypes(types) {\n return types instanceof Source;\n}\nexport function extractType(type) {\n var visitedType = type;\n while (visitedType.kind === Kind.LIST_TYPE || visitedType.kind === 'NonNullType') {\n visitedType = visitedType.type;\n }\n return visitedType;\n}\nexport function isWrappingTypeNode(type) {\n return type.kind !== Kind.NAMED_TYPE;\n}\nexport function isListTypeNode(type) {\n return type.kind === Kind.LIST_TYPE;\n}\nexport function isNonNullTypeNode(type) {\n return type.kind === Kind.NON_NULL_TYPE;\n}\nexport function printTypeNode(type) {\n if (isListTypeNode(type)) {\n return \"[\" + printTypeNode(type.type) + \"]\";\n }\n if (isNonNullTypeNode(type)) {\n return printTypeNode(type.type) + \"!\";\n }\n return type.name.value;\n}\nexport var CompareVal;\n(function (CompareVal) {\n CompareVal[CompareVal[\"A_SMALLER_THAN_B\"] = -1] = \"A_SMALLER_THAN_B\";\n CompareVal[CompareVal[\"A_EQUALS_B\"] = 0] = \"A_EQUALS_B\";\n CompareVal[CompareVal[\"A_GREATER_THAN_B\"] = 1] = \"A_GREATER_THAN_B\";\n})(CompareVal || (CompareVal = {}));\nexport function defaultStringComparator(a, b) {\n if (a < b)\n return CompareVal.A_SMALLER_THAN_B;\n if (a > b)\n return CompareVal.A_GREATER_THAN_B;\n return CompareVal.A_EQUALS_B;\n}\n//# sourceMappingURL=utils.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { extractType, isWrappingTypeNode, isListTypeNode, isNonNullTypeNode, printTypeNode } from './utils';\nimport { mergeDirectives } from './directives';\nimport { isNotEqual, compareNodes } from '@graphql-tools/utils';\nimport { mergeArguments } from './arguments';\nfunction fieldAlreadyExists(fieldsArr, otherField, config) {\n var result = fieldsArr.find(function (field) { return field.name.value === otherField.name.value; });\n if (result && !(config === null || config === void 0 ? void 0 : config.ignoreFieldConflicts)) {\n var t1 = extractType(result.type);\n var t2 = extractType(otherField.type);\n if (t1.name.value !== t2.name.value) {\n throw new Error(\"Field \\\"\" + otherField.name.value + \"\\\" already defined with a different type. Declared as \\\"\" + t1.name.value + \"\\\", but you tried to override with \\\"\" + t2.name.value + \"\\\"\");\n }\n }\n return !!result;\n}\nexport function mergeFields(type, f1, f2, config) {\n var e_1, _a;\n var result = __spreadArray([], __read(f2));\n var _loop_1 = function (field) {\n if (fieldAlreadyExists(result, field, config)) {\n var existing = result.find(function (f) { return f.name.value === field.name.value; });\n if (!(config === null || config === void 0 ? void 0 : config.ignoreFieldConflicts)) {\n if (config === null || config === void 0 ? void 0 : config.throwOnConflict) {\n preventConflicts(type, existing, field, false);\n }\n else {\n preventConflicts(type, existing, field, true);\n }\n if (isNonNullTypeNode(field.type) && !isNonNullTypeNode(existing.type)) {\n existing.type = field.type;\n }\n }\n existing.arguments = mergeArguments(field['arguments'] || [], existing.arguments || [], config);\n existing.directives = mergeDirectives(field.directives, existing.directives, config);\n existing.description = field.description || existing.description;\n }\n else {\n result.push(field);\n }\n };\n try {\n for (var f1_1 = __values(f1), f1_1_1 = f1_1.next(); !f1_1_1.done; f1_1_1 = f1_1.next()) {\n var field = f1_1_1.value;\n _loop_1(field);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (f1_1_1 && !f1_1_1.done && (_a = f1_1.return)) _a.call(f1_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n if (config && config.exclusions) {\n return result.filter(function (field) { return !config.exclusions.includes(type.name.value + \".\" + field.name.value); });\n }\n return result;\n}\nfunction preventConflicts(type, a, b, ignoreNullability) {\n if (ignoreNullability === void 0) { ignoreNullability = false; }\n var aType = printTypeNode(a.type);\n var bType = printTypeNode(b.type);\n if (isNotEqual(aType, bType)) {\n if (safeChangeForFieldType(a.type, b.type, ignoreNullability) === false) {\n throw new Error(\"Field '\" + type.name.value + \".\" + a.name.value + \"' changed type from '\" + aType + \"' to '\" + bType + \"'\");\n }\n }\n}\nfunction safeChangeForFieldType(oldType, newType, ignoreNullability) {\n if (ignoreNullability === void 0) { ignoreNullability = false; }\n // both are named\n if (!isWrappingTypeNode(oldType) && !isWrappingTypeNode(newType)) {\n return oldType.toString() === newType.toString();\n }\n // new is non-null\n if (isNonNullTypeNode(newType)) {\n var ofType = isNonNullTypeNode(oldType) ? oldType.type : oldType;\n return safeChangeForFieldType(ofType, newType.type);\n }\n // old is non-null\n if (isNonNullTypeNode(oldType)) {\n return safeChangeForFieldType(newType, oldType, ignoreNullability);\n }\n // old is list\n if (isListTypeNode(oldType)) {\n return ((isListTypeNode(newType) && safeChangeForFieldType(oldType.type, newType.type)) ||\n (isNonNullTypeNode(newType) && safeChangeForFieldType(oldType, newType['type'])));\n }\n return false;\n}\n//# sourceMappingURL=fields.js.map","import { __assign } from \"tslib\";\nimport { mergeFields } from './fields';\nimport { mergeDirectives } from './directives';\nexport function mergeInputType(node, existingNode, config) {\n if (existingNode) {\n try {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'InputObjectTypeDefinition' ||\n existingNode.kind === 'InputObjectTypeDefinition'\n ? 'InputObjectTypeDefinition'\n : 'InputObjectTypeExtension',\n loc: node.loc,\n fields: mergeFields(node, node.fields, existingNode.fields, config),\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n };\n }\n catch (e) {\n throw new Error(\"Unable to merge GraphQL input type \\\"\" + node.name.value + \"\\\": \" + e.message);\n }\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'InputObjectTypeDefinition' }) : node;\n}\n//# sourceMappingURL=input-type.js.map","import { __assign } from \"tslib\";\nimport { mergeFields } from './fields';\nimport { mergeDirectives } from './directives';\nexport function mergeInterface(node, existingNode, config) {\n if (existingNode) {\n try {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'InterfaceTypeDefinition' ||\n existingNode.kind === 'InterfaceTypeDefinition'\n ? 'InterfaceTypeDefinition'\n : 'InterfaceTypeExtension',\n loc: node.loc,\n fields: mergeFields(node, node.fields, existingNode.fields, config),\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n };\n }\n catch (e) {\n throw new Error(\"Unable to merge GraphQL interface \\\"\" + node.name.value + \"\\\": \" + e.message);\n }\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'InterfaceTypeDefinition' }) : node;\n}\n//# sourceMappingURL=interface.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { compareNodes } from '@graphql-tools/utils';\nfunction alreadyExists(arr, other) {\n return !!arr.find(function (i) { return i.name.value === other.name.value; });\n}\nexport function mergeNamedTypeArray(first, second, config) {\n var result = __spreadArray(__spreadArray([], __read(second)), __read(first.filter(function (d) { return !alreadyExists(second, d); })));\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n return result;\n}\n//# sourceMappingURL=merge-named-type-array.js.map","import { __assign } from \"tslib\";\nimport { mergeFields } from './fields';\nimport { mergeDirectives } from './directives';\nimport { mergeNamedTypeArray } from './merge-named-type-array';\nexport function mergeType(node, existingNode, config) {\n if (existingNode) {\n try {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'ObjectTypeDefinition' ||\n existingNode.kind === 'ObjectTypeDefinition'\n ? 'ObjectTypeDefinition'\n : 'ObjectTypeExtension',\n loc: node.loc,\n fields: mergeFields(node, node.fields, existingNode.fields, config),\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n interfaces: mergeNamedTypeArray(node.interfaces, existingNode.interfaces, config),\n };\n }\n catch (e) {\n throw new Error(\"Unable to merge GraphQL type \\\"\" + node.name.value + \"\\\": \" + e.message);\n }\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'ObjectTypeDefinition' }) : node;\n}\n//# sourceMappingURL=type.js.map","import { __assign } from \"tslib\";\nimport { mergeDirectives } from './directives';\nexport function mergeScalar(node, existingNode, config) {\n if (existingNode) {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'ScalarTypeDefinition' ||\n existingNode.kind === 'ScalarTypeDefinition'\n ? 'ScalarTypeDefinition'\n : 'ScalarTypeExtension',\n loc: node.loc,\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n };\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'ScalarTypeDefinition' }) : node;\n}\n//# sourceMappingURL=scalar.js.map","import { __assign } from \"tslib\";\nimport { mergeDirectives } from './directives';\nimport { mergeNamedTypeArray } from './merge-named-type-array';\nexport function mergeUnion(first, second, config) {\n if (second) {\n return {\n name: first.name,\n description: first['description'] || second['description'],\n directives: mergeDirectives(first.directives, second.directives, config),\n kind: (config && config.convertExtensions) ||\n first.kind === 'UnionTypeDefinition' ||\n second.kind === 'UnionTypeDefinition'\n ? 'UnionTypeDefinition'\n : 'UnionTypeExtension',\n loc: first.loc,\n types: mergeNamedTypeArray(first.types, second.types, config),\n };\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, first), { kind: 'UnionTypeDefinition' }) : first;\n}\n//# sourceMappingURL=union.js.map","import { __assign } from \"tslib\";\nimport { Kind } from 'graphql';\nimport { mergeDirectives } from './directives';\nexport var operationTypeDefinitionNodeTypeRootTypeMap = {\n query: 'Query',\n mutation: 'Mutation',\n subscription: 'Subscription',\n};\nfunction mergeOperationTypes(opNodeList, existingOpNodeList) {\n if (opNodeList === void 0) { opNodeList = []; }\n if (existingOpNodeList === void 0) { existingOpNodeList = []; }\n var finalOpNodeList = [];\n var _loop_1 = function (opNodeType) {\n var opNode = opNodeList.find(function (n) { return n.operation === opNodeType; }) || existingOpNodeList.find(function (n) { return n.operation === opNodeType; });\n if (opNode) {\n finalOpNodeList.push(opNode);\n }\n };\n for (var opNodeType in operationTypeDefinitionNodeTypeRootTypeMap) {\n _loop_1(opNodeType);\n }\n return finalOpNodeList;\n}\nexport function mergeSchemaDefs(node, existingNode, config) {\n if (existingNode) {\n return {\n kind: (config === null || config === void 0 ? void 0 : config.convertExtensions) ||\n node.kind === Kind.SCHEMA_DEFINITION ||\n existingNode.kind === Kind.SCHEMA_DEFINITION\n ? Kind.SCHEMA_DEFINITION\n : Kind.SCHEMA_EXTENSION,\n description: node['description'] || existingNode['description'],\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n operationTypes: mergeOperationTypes(node.operationTypes, existingNode.operationTypes),\n };\n }\n return ((config === null || config === void 0 ? void 0 : config.convertExtensions)\n ? __assign(__assign({}, node), { kind: Kind.SCHEMA_EXTENSION }) : node);\n}\n//# sourceMappingURL=schema-def.js.map","import { __values } from \"tslib\";\nimport { Kind } from 'graphql';\nimport { mergeType } from './type';\nimport { mergeEnum } from './enum';\nimport { mergeScalar } from './scalar';\nimport { mergeUnion } from './union';\nimport { mergeInputType } from './input-type';\nimport { mergeInterface } from './interface';\nimport { mergeDirective } from './directives';\nimport { collectComment } from './comments';\nimport { mergeSchemaDefs } from './schema-def';\nexport function isNamedDefinitionNode(definitionNode) {\n return 'name' in definitionNode;\n}\nexport var schemaDefSymbol = Symbol('schemaDefSymbol');\nexport function mergeGraphQLNodes(nodes, config) {\n var e_1, _a;\n var _b, _c;\n var mergedResultMap = {};\n try {\n for (var nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {\n var nodeDefinition = nodes_1_1.value;\n if (isNamedDefinitionNode(nodeDefinition)) {\n var name_1 = nodeDefinition.name.value;\n if (config === null || config === void 0 ? void 0 : config.commentDescriptions) {\n collectComment(nodeDefinition);\n }\n if (((_b = config === null || config === void 0 ? void 0 : config.exclusions) === null || _b === void 0 ? void 0 : _b.includes(name_1 + '.*')) || ((_c = config === null || config === void 0 ? void 0 : config.exclusions) === null || _c === void 0 ? void 0 : _c.includes(name_1))) {\n delete mergedResultMap[name_1];\n }\n else {\n switch (nodeDefinition.kind) {\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeType(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeEnum(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.UNION_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeUnion(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.SCALAR_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeScalar(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeInputType(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeInterface(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.DIRECTIVE_DEFINITION:\n mergedResultMap[name_1] = mergeDirective(nodeDefinition, mergedResultMap[name_1]);\n break;\n }\n }\n }\n else if (nodeDefinition.kind === Kind.SCHEMA_DEFINITION || nodeDefinition.kind === Kind.SCHEMA_EXTENSION) {\n mergedResultMap[schemaDefSymbol] = mergeSchemaDefs(nodeDefinition, mergedResultMap[schemaDefSymbol], config);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return mergedResultMap;\n}\n//# sourceMappingURL=merge-nodes.js.map","import { __assign, __values } from \"tslib\";\nimport { parse, Kind, isSchema, isDefinitionNode, } from 'graphql';\nimport { defaultStringComparator, isSourceTypes, isStringTypes } from './utils';\nimport { mergeGraphQLNodes, schemaDefSymbol } from './merge-nodes';\nimport { resetComments, printWithComments } from './comments';\nimport { getDocumentNodeFromSchema } from '@graphql-tools/utils';\nimport { operationTypeDefinitionNodeTypeRootTypeMap } from './schema-def';\nexport function mergeTypeDefs(types, config) {\n resetComments();\n var doc = {\n kind: Kind.DOCUMENT,\n definitions: mergeGraphQLTypes(types, __assign({ useSchemaDefinition: true, forceSchemaDefinition: false, throwOnConflict: false, commentDescriptions: false }, config)),\n };\n var result;\n if (config && config.commentDescriptions) {\n result = printWithComments(doc);\n }\n else {\n result = doc;\n }\n resetComments();\n return result;\n}\nfunction visitTypeSources(types, allNodes) {\n var e_1, _a;\n try {\n for (var types_1 = __values(types), types_1_1 = types_1.next(); !types_1_1.done; types_1_1 = types_1.next()) {\n var type = types_1_1.value;\n if (type) {\n if (Array.isArray(type)) {\n visitTypeSources(types, allNodes);\n }\n else if (isSchema(type)) {\n var documentNode = getDocumentNodeFromSchema(type);\n visitTypeSources(documentNode.definitions, allNodes);\n }\n else if (isStringTypes(type) || isSourceTypes(type)) {\n var documentNode = parse(type);\n visitTypeSources(documentNode.definitions, allNodes);\n }\n else if (isDefinitionNode(type)) {\n allNodes.push(type);\n }\n else {\n visitTypeSources(type.definitions, allNodes);\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (types_1_1 && !types_1_1.done && (_a = types_1.return)) _a.call(types_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\nexport function mergeGraphQLTypes(types, config) {\n var _a, _b;\n resetComments();\n var allNodes = [];\n visitTypeSources(types, allNodes);\n var mergedNodes = mergeGraphQLNodes(allNodes, config);\n // XXX: right now we don't handle multiple schema definitions\n var schemaDef = mergedNodes[schemaDefSymbol] || {\n kind: Kind.SCHEMA_DEFINITION,\n operationTypes: [],\n };\n if (config === null || config === void 0 ? void 0 : config.useSchemaDefinition) {\n var operationTypes = schemaDef.operationTypes;\n var _loop_1 = function (opTypeDefNodeType) {\n var opTypeDefNode = operationTypes.find(function (operationType) { return operationType.operation === opTypeDefNodeType; });\n if (!opTypeDefNode) {\n var existingPossibleRootType = mergedNodes[operationTypeDefinitionNodeTypeRootTypeMap[opTypeDefNodeType]];\n if (existingPossibleRootType) {\n operationTypes.push({\n kind: Kind.OPERATION_TYPE_DEFINITION,\n type: {\n kind: Kind.NAMED_TYPE,\n name: existingPossibleRootType.name,\n },\n operation: opTypeDefNodeType,\n });\n }\n }\n };\n for (var opTypeDefNodeType in operationTypeDefinitionNodeTypeRootTypeMap) {\n _loop_1(opTypeDefNodeType);\n }\n }\n if ((config === null || config === void 0 ? void 0 : config.forceSchemaDefinition) && !((_a = schemaDef === null || schemaDef === void 0 ? void 0 : schemaDef.operationTypes) === null || _a === void 0 ? void 0 : _a.length)) {\n schemaDef = {\n kind: Kind.SCHEMA_DEFINITION,\n operationTypes: [\n {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: 'query',\n type: {\n kind: Kind.NAMED_TYPE,\n name: {\n kind: Kind.NAME,\n value: 'Query',\n },\n },\n },\n ],\n };\n }\n var mergedNodeDefinitions = Object.values(mergedNodes);\n if ((_b = schemaDef.operationTypes) === null || _b === void 0 ? void 0 : _b.length) {\n mergedNodeDefinitions.push(schemaDef);\n }\n if (config === null || config === void 0 ? void 0 : config.sort) {\n var sortFn_1 = typeof config.sort === 'function' ? config.sort : defaultStringComparator;\n mergedNodeDefinitions.sort(function (a, b) { var _a, _b; return sortFn_1((_a = a.name) === null || _a === void 0 ? void 0 : _a.value, (_b = b.name) === null || _b === void 0 ? void 0 : _b.value); });\n }\n return mergedNodeDefinitions;\n}\n//# sourceMappingURL=merge-typedefs.js.map","import { __read, __values } from \"tslib\";\nimport { isObjectType, isInterfaceType, isInputObjectType, isUnionType, isScalarType, isEnumType, isSpecifiedScalarType, isIntrospectionType, } from 'graphql';\nimport { mergeDeep } from '@graphql-tools/utils';\nexport function travelSchemaPossibleExtensions(schema, hooks) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g;\n hooks.onSchema(schema);\n var typesMap = schema.getTypeMap();\n try {\n for (var _h = __values(Object.entries(typesMap)), _j = _h.next(); !_j.done; _j = _h.next()) {\n var _k = __read(_j.value, 2), type = _k[1];\n var isPredefinedScalar = isScalarType(type) && isSpecifiedScalarType(type);\n var isIntrospection = isIntrospectionType(type);\n if (isPredefinedScalar || isIntrospection) {\n continue;\n }\n if (isObjectType(type)) {\n hooks.onObjectType(type);\n var fields = type.getFields();\n try {\n for (var _l = (e_2 = void 0, __values(Object.entries(fields))), _m = _l.next(); !_m.done; _m = _l.next()) {\n var _o = __read(_m.value, 2), field = _o[1];\n hooks.onObjectField(type, field);\n var args = field.args || [];\n try {\n for (var args_1 = (e_3 = void 0, __values(args)), args_1_1 = args_1.next(); !args_1_1.done; args_1_1 = args_1.next()) {\n var arg = args_1_1.value;\n hooks.onObjectFieldArg(type, field, arg);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (args_1_1 && !args_1_1.done && (_c = args_1.return)) _c.call(args_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_m && !_m.done && (_b = _l.return)) _b.call(_l);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n else if (isInterfaceType(type)) {\n hooks.onInterface(type);\n var fields = type.getFields();\n try {\n for (var _p = (e_4 = void 0, __values(Object.entries(fields))), _q = _p.next(); !_q.done; _q = _p.next()) {\n var _r = __read(_q.value, 2), field = _r[1];\n hooks.onInterfaceField(type, field);\n var args = field.args || [];\n try {\n for (var args_2 = (e_5 = void 0, __values(args)), args_2_1 = args_2.next(); !args_2_1.done; args_2_1 = args_2.next()) {\n var arg = args_2_1.value;\n hooks.onInterfaceFieldArg(type, field, arg);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (args_2_1 && !args_2_1.done && (_e = args_2.return)) _e.call(args_2);\n }\n finally { if (e_5) throw e_5.error; }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_q && !_q.done && (_d = _p.return)) _d.call(_p);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n else if (isInputObjectType(type)) {\n hooks.onInputType(type);\n var fields = type.getFields();\n try {\n for (var _s = (e_6 = void 0, __values(Object.entries(fields))), _t = _s.next(); !_t.done; _t = _s.next()) {\n var _u = __read(_t.value, 2), field = _u[1];\n hooks.onInputFieldType(type, field);\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_t && !_t.done && (_f = _s.return)) _f.call(_s);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n else if (isUnionType(type)) {\n hooks.onUnion(type);\n }\n else if (isScalarType(type)) {\n hooks.onScalar(type);\n }\n else if (isEnumType(type)) {\n hooks.onEnum(type);\n try {\n for (var _v = (e_7 = void 0, __values(type.getValues())), _w = _v.next(); !_w.done; _w = _v.next()) {\n var value = _w.value;\n hooks.onEnumValue(type, value);\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (_w && !_w.done && (_g = _v.return)) _g.call(_v);\n }\n finally { if (e_7) throw e_7.error; }\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_a = _h.return)) _a.call(_h);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\nexport function mergeExtensions(extensions) {\n return extensions.reduce(function (result, extensionObj) { return [result, extensionObj].reduce(mergeDeep, {}); }, {});\n}\nfunction applyExtensionObject(obj, extensions) {\n if (!obj) {\n return;\n }\n obj.extensions = [obj.extensions || {}, extensions || {}].reduce(mergeDeep, {});\n}\nexport function applyExtensions(schema, extensions) {\n var e_8, _a, e_9, _b, e_10, _c, e_11, _d, e_12, _e;\n applyExtensionObject(schema, extensions.schemaExtensions);\n try {\n for (var _f = __values(Object.entries(extensions.types || {})), _g = _f.next(); !_g.done; _g = _f.next()) {\n var _h = __read(_g.value, 2), typeName = _h[0], data = _h[1];\n var type = schema.getType(typeName);\n if (type) {\n applyExtensionObject(type, data.extensions);\n if (data.type === 'object' || data.type === 'interface') {\n try {\n for (var _j = (e_9 = void 0, __values(Object.entries(data.fields))), _k = _j.next(); !_k.done; _k = _j.next()) {\n var _l = __read(_k.value, 2), fieldName = _l[0], fieldData = _l[1];\n var field = type.getFields()[fieldName];\n if (field) {\n applyExtensionObject(field, fieldData.extensions);\n var _loop_1 = function (arg, argData) {\n applyExtensionObject(field.args.find(function (a) { return a.name === arg; }), argData);\n };\n try {\n for (var _m = (e_10 = void 0, __values(Object.entries(fieldData.arguments))), _o = _m.next(); !_o.done; _o = _m.next()) {\n var _p = __read(_o.value, 2), arg = _p[0], argData = _p[1];\n _loop_1(arg, argData);\n }\n }\n catch (e_10_1) { e_10 = { error: e_10_1 }; }\n finally {\n try {\n if (_o && !_o.done && (_c = _m.return)) _c.call(_m);\n }\n finally { if (e_10) throw e_10.error; }\n }\n }\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (_k && !_k.done && (_b = _j.return)) _b.call(_j);\n }\n finally { if (e_9) throw e_9.error; }\n }\n }\n else if (data.type === 'input') {\n try {\n for (var _q = (e_11 = void 0, __values(Object.entries(data.fields))), _r = _q.next(); !_r.done; _r = _q.next()) {\n var _s = __read(_r.value, 2), fieldName = _s[0], fieldData = _s[1];\n var field = type.getFields()[fieldName];\n applyExtensionObject(field, fieldData.extensions);\n }\n }\n catch (e_11_1) { e_11 = { error: e_11_1 }; }\n finally {\n try {\n if (_r && !_r.done && (_d = _q.return)) _d.call(_q);\n }\n finally { if (e_11) throw e_11.error; }\n }\n }\n else if (data.type === 'enum') {\n try {\n for (var _t = (e_12 = void 0, __values(Object.entries(data.values))), _u = _t.next(); !_u.done; _u = _t.next()) {\n var _v = __read(_u.value, 2), valueName = _v[0], valueData = _v[1];\n var value = type.getValue(valueName);\n applyExtensionObject(value, valueData);\n }\n }\n catch (e_12_1) { e_12 = { error: e_12_1 }; }\n finally {\n try {\n if (_u && !_u.done && (_e = _t.return)) _e.call(_t);\n }\n finally { if (e_12) throw e_12.error; }\n }\n }\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n }\n finally { if (e_8) throw e_8.error; }\n }\n return schema;\n}\nexport function extractExtensionsFromSchema(schema) {\n var result = {\n schemaExtensions: {},\n types: {},\n };\n travelSchemaPossibleExtensions(schema, {\n onSchema: function (schema) { return (result.schemaExtensions = schema.extensions || {}); },\n onObjectType: function (type) { return (result.types[type.name] = { fields: {}, type: 'object', extensions: type.extensions || {} }); },\n onObjectField: function (type, field) {\n return (result.types[type.name].fields[field.name] = {\n arguments: {},\n extensions: field.extensions || {},\n });\n },\n onObjectFieldArg: function (type, field, arg) {\n return (result.types[type.name].fields[field.name].arguments[arg.name] = arg.extensions || {});\n },\n onInterface: function (type) {\n return (result.types[type.name] = { fields: {}, type: 'interface', extensions: type.extensions || {} });\n },\n onInterfaceField: function (type, field) {\n return (result.types[type.name].fields[field.name] = {\n arguments: {},\n extensions: field.extensions || {},\n });\n },\n onInterfaceFieldArg: function (type, field, arg) {\n return (result.types[type.name].fields[field.name].arguments[arg.name] =\n arg.extensions || {});\n },\n onEnum: function (type) { return (result.types[type.name] = { values: {}, type: 'enum', extensions: type.extensions || {} }); },\n onEnumValue: function (type, value) {\n return (result.types[type.name].values[value.name] = value.extensions || {});\n },\n onScalar: function (type) { return (result.types[type.name] = { type: 'scalar', extensions: type.extensions || {} }); },\n onUnion: function (type) { return (result.types[type.name] = { type: 'union', extensions: type.extensions || {} }); },\n onInputType: function (type) { return (result.types[type.name] = { fields: {}, type: 'input', extensions: type.extensions || {} }); },\n onInputFieldType: function (type, field) {\n return (result.types[type.name].fields[field.name] = { extensions: field.extensions || {} });\n },\n });\n return result;\n}\n//# sourceMappingURL=extensions.js.map","import { __assign, __awaiter, __generator, __read, __rest, __spreadArray, __values } from \"tslib\";\nimport { buildASTSchema, buildSchema } from 'graphql';\nimport { addResolversToSchema, addErrorLoggingToSchema } from '@graphql-tools/schema';\nimport { mergeTypeDefs } from './typedefs-mergers/merge-typedefs';\nimport { mergeResolvers } from './merge-resolvers';\nimport { SchemaDirectiveVisitor, asArray, getResolversFromSchema, } from '@graphql-tools/utils';\nimport { mergeExtensions, extractExtensionsFromSchema, applyExtensions } from './extensions';\nvar defaultResolverValidationOptions = {\n requireResolversForArgs: 'ignore',\n requireResolversForNonScalar: 'ignore',\n requireResolversForAllFields: 'ignore',\n requireResolversForResolveType: 'ignore',\n requireResolversToMatchSchema: 'ignore',\n};\n/**\n * Synchronously merges multiple schemas, typeDefinitions and/or resolvers into a single schema.\n * @param config Configuration object\n */\nexport function mergeSchemas(config) {\n var e_1, _a;\n var typeDefs = mergeTypes(config);\n var extractedResolvers = [];\n var extractedExtensions = [];\n try {\n for (var _b = __values(config.schemas), _c = _b.next(); !_c.done; _c = _b.next()) {\n var schema = _c.value;\n extractedResolvers.push(getResolversFromSchema(schema));\n extractedExtensions.push(extractExtensionsFromSchema(schema));\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n extractedResolvers.push.apply(extractedResolvers, __spreadArray([], __read(ensureResolvers(config))));\n var resolvers = mergeResolvers(extractedResolvers, config);\n var extensions = mergeExtensions(extractedExtensions);\n return makeSchema({ resolvers: resolvers, typeDefs: typeDefs, extensions: extensions }, config);\n}\n/**\n * Synchronously merges multiple schemas, typeDefinitions and/or resolvers into a single schema.\n * @param config Configuration object\n */\nexport function mergeSchemasAsync(config) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, typeDefs, resolvers, extensions;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Promise.all([\n mergeTypes(config),\n Promise.all(config.schemas.map(function (schema) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, getResolversFromSchema(schema)];\n }); }); })).then(function (extractedResolvers) {\n return mergeResolvers(__spreadArray(__spreadArray([], __read(extractedResolvers)), __read(ensureResolvers(config))), config);\n }),\n Promise.all(config.schemas.map(function (schema) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, extractExtensionsFromSchema(schema)];\n }); }); })).then(function (extractedExtensions) {\n return mergeExtensions(extractedExtensions);\n }),\n ])];\n case 1:\n _a = __read.apply(void 0, [_b.sent(), 3]), typeDefs = _a[0], resolvers = _a[1], extensions = _a[2];\n return [2 /*return*/, makeSchema({ resolvers: resolvers, typeDefs: typeDefs, extensions: extensions }, config)];\n }\n });\n });\n}\nfunction mergeTypes(_a) {\n var schemas = _a.schemas, typeDefs = _a.typeDefs, config = __rest(_a, [\"schemas\", \"typeDefs\"]);\n return mergeTypeDefs(__spreadArray(__spreadArray([], __read(schemas)), __read((typeDefs ? asArray(typeDefs) : []))), config);\n}\nfunction ensureResolvers(config) {\n return config.resolvers ? asArray(config.resolvers) : [];\n}\nfunction makeSchema(_a, config) {\n var resolvers = _a.resolvers, typeDefs = _a.typeDefs, extensions = _a.extensions;\n var schema = typeof typeDefs === 'string' ? buildSchema(typeDefs, config) : buildASTSchema(typeDefs, config);\n // add resolvers\n if (resolvers) {\n schema = addResolversToSchema({\n schema: schema,\n resolvers: resolvers,\n resolverValidationOptions: __assign(__assign({}, defaultResolverValidationOptions), (config.resolverValidationOptions || {})),\n });\n }\n // use logger\n if (config.logger) {\n schema = addErrorLoggingToSchema(schema, config.logger);\n }\n // use schema directives\n if (config.schemaDirectives) {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, config.schemaDirectives);\n }\n // extensions\n applyExtensions(schema, extensions);\n return schema;\n}\n//# sourceMappingURL=merge-schemas.js.map"],"names":["__values","__spreadArray","__read","mergeDeep","compareNodes","getDescription","visit","mergeArguments","print","__assign","Source","Kind","CompareVal","isNotEqual","isSchema","getDocumentNodeFromSchema","parse","isDefinitionNode","isScalarType","isSpecifiedScalarType","isIntrospectionType","isObjectType","isInterfaceType","isInputObjectType","isUnionType","isEnumType","getResolversFromSchema","__awaiter","__generator","__rest","asArray","schema","buildSchema","buildASTSchema","addResolversToSchema","addErrorLoggingToSchema","SchemaDirectiveVisitor"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/merge/src/merge-resolvers.js","../../../dist-es5/merge/src/typedefs-mergers/arguments.js","../../../dist-es5/merge/src/typedefs-mergers/comments.js","../../../dist-es5/merge/src/typedefs-mergers/directives.js","../../../dist-es5/merge/src/typedefs-mergers/enum-values.js","../../../dist-es5/merge/src/typedefs-mergers/enum.js","../../../dist-es5/merge/src/typedefs-mergers/utils.js","../../../dist-es5/merge/src/typedefs-mergers/fields.js","../../../dist-es5/merge/src/typedefs-mergers/input-type.js","../../../dist-es5/merge/src/typedefs-mergers/interface.js","../../../dist-es5/merge/src/typedefs-mergers/merge-named-type-array.js","../../../dist-es5/merge/src/typedefs-mergers/type.js","../../../dist-es5/merge/src/typedefs-mergers/scalar.js","../../../dist-es5/merge/src/typedefs-mergers/union.js","../../../dist-es5/merge/src/typedefs-mergers/schema-def.js","../../../dist-es5/merge/src/typedefs-mergers/merge-nodes.js","../../../dist-es5/merge/src/typedefs-mergers/merge-typedefs.js","../../../dist-es5/merge/src/extensions.js","../../../dist-es5/merge/src/merge-schemas.js"],"sourcesContent":["import { __read, __spreadArray, __values } from \"tslib\";\nimport { mergeDeep } from '@graphql-tools/utils';\n/**\n * Deep merges multiple resolver definition objects into a single definition.\n * @param resolversDefinitions Resolver definitions to be merged\n * @param options Additional options\n *\n * ```js\n * const { mergeResolvers } = require('@graphql-tools/merge');\n * const clientResolver = require('./clientResolver');\n * const productResolver = require('./productResolver');\n *\n * const resolvers = mergeResolvers([\n * clientResolver,\n * productResolver,\n * ]);\n * ```\n *\n * If you don't want to manually create the array of resolver objects, you can\n * also use this function along with loadFiles:\n *\n * ```js\n * const path = require('path');\n * const { mergeResolvers } = require('@graphql-tools/merge');\n * const { loadFilesSync } = require('@graphql-tools/load-files');\n *\n * const resolversArray = loadFilesSync(path.join(__dirname, './resolvers'));\n *\n * const resolvers = mergeResolvers(resolversArray)\n * ```\n */\nexport function mergeResolvers(resolversDefinitions, options) {\n var e_1, _a, e_2, _b;\n if (!resolversDefinitions || resolversDefinitions.length === 0) {\n return {};\n }\n if (resolversDefinitions.length === 1) {\n var singleDefinition = resolversDefinitions[0];\n if (Array.isArray(singleDefinition)) {\n return mergeResolvers(singleDefinition);\n }\n return singleDefinition;\n }\n var resolversFactories = new Array();\n var resolvers = new Array();\n try {\n for (var resolversDefinitions_1 = __values(resolversDefinitions), resolversDefinitions_1_1 = resolversDefinitions_1.next(); !resolversDefinitions_1_1.done; resolversDefinitions_1_1 = resolversDefinitions_1.next()) {\n var resolversDefinition = resolversDefinitions_1_1.value;\n if (Array.isArray(resolversDefinition)) {\n resolversDefinition = mergeResolvers(resolversDefinition);\n }\n if (typeof resolversDefinition === 'function') {\n resolversFactories.push(resolversDefinition);\n }\n else if (typeof resolversDefinition === 'object') {\n resolvers.push(resolversDefinition);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (resolversDefinitions_1_1 && !resolversDefinitions_1_1.done && (_a = resolversDefinitions_1.return)) _a.call(resolversDefinitions_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var result = {};\n if (resolversFactories.length) {\n result = (function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resultsOfFactories = resolversFactories.map(function (factory) { return factory.apply(void 0, __spreadArray([], __read(args))); });\n return resolvers.concat(resultsOfFactories).reduce(mergeDeep, {});\n });\n }\n else {\n result = resolvers.reduce(mergeDeep, {});\n }\n if (options && options.exclusions) {\n try {\n for (var _c = __values(options.exclusions), _d = _c.next(); !_d.done; _d = _c.next()) {\n var exclusion = _d.value;\n var _e = __read(exclusion.split('.'), 2), typeName = _e[0], fieldName = _e[1];\n if (!fieldName || fieldName === '*') {\n delete result[typeName];\n }\n else if (result[typeName]) {\n delete result[typeName][fieldName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return result;\n}\n//# sourceMappingURL=merge-resolvers.js.map","import { compareNodes } from '@graphql-tools/utils';\nexport function mergeArguments(args1, args2, config) {\n var result = deduplicateArguments([].concat(args2, args1).filter(function (a) { return a; }));\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n return result;\n}\nfunction deduplicateArguments(args) {\n return args.reduce(function (acc, current) {\n var dup = acc.find(function (arg) { return arg.name.value === current.name.value; });\n if (!dup) {\n return acc.concat([current]);\n }\n return acc;\n }, []);\n}\n//# sourceMappingURL=arguments.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { getDescription, visit, } from 'graphql';\nvar commentsRegistry = {};\nexport function resetComments() {\n commentsRegistry = {};\n}\nexport function collectComment(node) {\n var entityName = node.name.value;\n pushComment(node, entityName);\n switch (node.kind) {\n case 'EnumTypeDefinition':\n node.values.forEach(function (value) {\n pushComment(value, entityName, value.name.value);\n });\n break;\n case 'ObjectTypeDefinition':\n case 'InputObjectTypeDefinition':\n case 'InterfaceTypeDefinition':\n if (node.fields) {\n node.fields.forEach(function (field) {\n pushComment(field, entityName, field.name.value);\n if (isFieldDefinitionNode(field) && field.arguments) {\n field.arguments.forEach(function (arg) {\n pushComment(arg, entityName, field.name.value, arg.name.value);\n });\n }\n });\n }\n break;\n }\n}\nexport function pushComment(node, entity, field, argument) {\n var comment = getDescription(node, { commentDescriptions: true });\n if (typeof comment !== 'string' || comment.length === 0) {\n return;\n }\n var keys = [entity];\n if (field) {\n keys.push(field);\n if (argument) {\n keys.push(argument);\n }\n }\n var path = keys.join('.');\n if (!commentsRegistry[path]) {\n commentsRegistry[path] = [];\n }\n commentsRegistry[path].push(comment);\n}\nexport function printComment(comment) {\n return '\\n# ' + comment.replace(/\\n/g, '\\n# ');\n}\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * NOTE: ==> This file has been modified just to add comments to the printed AST\n * This is a temp measure, we will move to using the original non modified printer.js ASAP.\n */\n// import { visit, VisitFn } from 'graphql/language/visitor';\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\nfunction join(maybeArray, separator) {\n return maybeArray ? maybeArray.filter(function (x) { return x; }).join(separator || '') : '';\n}\nfunction addDescription(cb) {\n return function (node, _key, _parent, path, ancestors) {\n var keys = [];\n var parent = path.reduce(function (prev, key) {\n if (['fields', 'arguments', 'values'].includes(key)) {\n keys.push(prev.name.value);\n }\n return prev[key];\n }, ancestors[0]);\n var key = __spreadArray(__spreadArray([], __read(keys)), [parent.name.value]).join('.');\n var items = [];\n if (commentsRegistry[key]) {\n items.push.apply(items, __spreadArray([], __read(commentsRegistry[key])));\n }\n return join(__spreadArray(__spreadArray([], __read(items.map(printComment))), [node.description, cb(node)]), '\\n');\n };\n}\nfunction indent(maybeString) {\n return maybeString && \" \" + maybeString.replace(/\\n/g, '\\n ');\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\nfunction block(array) {\n return array && array.length !== 0 ? \"{\\n\" + indent(join(array, '\\n')) + \"\\n}\" : '';\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise\n * print an empty string.\n */\nfunction wrap(start, maybeString, end) {\n return maybeString ? start + maybeString + (end || '') : '';\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n */\nfunction printBlockString(value, isDescription) {\n var escaped = value.replace(/\"\"\"/g, '\\\\\"\"\"');\n return (value[0] === ' ' || value[0] === '\\t') && value.indexOf('\\n') === -1\n ? \"\\\"\\\"\\\"\" + escaped.replace(/\"$/, '\"\\n') + \"\\\"\\\"\\\"\"\n : \"\\\"\\\"\\\"\\n\" + (isDescription ? escaped : indent(escaped)) + \"\\n\\\"\\\"\\\"\";\n}\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nexport function printWithComments(ast) {\n return visit(ast, {\n leave: {\n Name: function (node) { return node.value; },\n Variable: function (node) { return \"$\" + node.name; },\n // Document\n Document: function (node) {\n return node.definitions\n .map(function (defNode) { return defNode + \"\\n\" + (defNode[0] === '#' ? '' : '\\n'); })\n .join('')\n .trim() + \"\\n\";\n },\n OperationTypeDefinition: function (node) { return node.operation + \": \" + node.type; },\n VariableDefinition: function (_a) {\n var variable = _a.variable, type = _a.type, defaultValue = _a.defaultValue;\n return variable + \": \" + type + wrap(' = ', defaultValue);\n },\n SelectionSet: function (_a) {\n var selections = _a.selections;\n return block(selections);\n },\n Field: function (_a) {\n var alias = _a.alias, name = _a.name, args = _a.arguments, directives = _a.directives, selectionSet = _a.selectionSet;\n return join([wrap('', alias, ': ') + name + wrap('(', join(args, ', '), ')'), join(directives, ' '), selectionSet], ' ');\n },\n Argument: addDescription(function (_a) {\n var name = _a.name, value = _a.value;\n return name + \": \" + value;\n }),\n // Value\n IntValue: function (_a) {\n var value = _a.value;\n return value;\n },\n FloatValue: function (_a) {\n var value = _a.value;\n return value;\n },\n StringValue: function (_a, key) {\n var value = _a.value, isBlockString = _a.block;\n return isBlockString ? printBlockString(value, key === 'description') : JSON.stringify(value);\n },\n BooleanValue: function (_a) {\n var value = _a.value;\n return (value ? 'true' : 'false');\n },\n NullValue: function () { return 'null'; },\n EnumValue: function (_a) {\n var value = _a.value;\n return value;\n },\n ListValue: function (_a) {\n var values = _a.values;\n return \"[\" + join(values, ', ') + \"]\";\n },\n ObjectValue: function (_a) {\n var fields = _a.fields;\n return \"{\" + join(fields, ', ') + \"}\";\n },\n ObjectField: function (_a) {\n var name = _a.name, value = _a.value;\n return name + \": \" + value;\n },\n // Directive\n Directive: function (_a) {\n var name = _a.name, args = _a.arguments;\n return \"@\" + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function (_a) {\n var name = _a.name;\n return name;\n },\n ListType: function (_a) {\n var type = _a.type;\n return \"[\" + type + \"]\";\n },\n NonNullType: function (_a) {\n var type = _a.type;\n return type + \"!\";\n },\n // Type System Definitions\n SchemaDefinition: function (_a) {\n var directives = _a.directives, operationTypes = _a.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_a) {\n var name = _a.name, interfaces = _a.interfaces, directives = _a.directives, fields = _a.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_a) {\n var name = _a.name, args = _a.arguments, type = _a.type, directives = _a.directives;\n return name + wrap('(', join(args, ', '), ')') + \": \" + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_a) {\n var name = _a.name, type = _a.type, defaultValue = _a.defaultValue, directives = _a.directives;\n return join([name + \": \" + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['interface', name, join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, types = _a.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? \"= \" + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, values = _a.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n ScalarTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function (_a) {\n var name = _a.name, interfaces = _a.interfaces, directives = _a.directives, fields = _a.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['extend interface', name, join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, types = _a.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? \"= \" + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, values = _a.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function (_a) {\n var name = _a.name, directives = _a.directives, fields = _a.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n },\n DirectiveDefinition: addDescription(function (_a) {\n var name = _a.name, args = _a.arguments, locations = _a.locations;\n return \"directive @\" + name + wrap('(', join(args, ', '), ')') + \" on \" + join(locations, ' | ');\n }),\n },\n });\n}\nfunction isFieldDefinitionNode(node) {\n return node.kind === 'FieldDefinition';\n}\n//# sourceMappingURL=comments.js.map","import { __assign, __read, __spreadArray, __values } from \"tslib\";\nimport { print } from 'graphql';\nfunction directiveAlreadyExists(directivesArr, otherDirective) {\n return !!directivesArr.find(function (directive) { return directive.name.value === otherDirective.name.value; });\n}\nfunction nameAlreadyExists(name, namesArr) {\n return namesArr.some(function (_a) {\n var value = _a.value;\n return value === name.value;\n });\n}\nfunction mergeArguments(a1, a2) {\n var e_1, _a;\n var result = __spreadArray([], __read(a2));\n var _loop_1 = function (argument) {\n var existingIndex = result.findIndex(function (a) { return a.name.value === argument.name.value; });\n if (existingIndex > -1) {\n var existingArg = result[existingIndex];\n if (existingArg.value.kind === 'ListValue') {\n var source = existingArg.value.values;\n var target = argument.value.values;\n // merge values of two lists\n existingArg.value.values = deduplicateLists(source, target, function (targetVal, source) {\n var value = targetVal.value;\n return !value || !source.some(function (sourceVal) { return sourceVal.value === value; });\n });\n }\n else {\n existingArg.value = argument.value;\n }\n }\n else {\n result.push(argument);\n }\n };\n try {\n for (var a1_1 = __values(a1), a1_1_1 = a1_1.next(); !a1_1_1.done; a1_1_1 = a1_1.next()) {\n var argument = a1_1_1.value;\n _loop_1(argument);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (a1_1_1 && !a1_1_1.done && (_a = a1_1.return)) _a.call(a1_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n}\nfunction deduplicateDirectives(directives) {\n return directives\n .map(function (directive, i, all) {\n var firstAt = all.findIndex(function (d) { return d.name.value === directive.name.value; });\n if (firstAt !== i) {\n var dup = all[firstAt];\n directive.arguments = mergeArguments(directive.arguments, dup.arguments);\n return null;\n }\n return directive;\n })\n .filter(function (d) { return d; });\n}\nexport function mergeDirectives(d1, d2, config) {\n var e_2, _a;\n if (d1 === void 0) { d1 = []; }\n if (d2 === void 0) { d2 = []; }\n var reverseOrder = config && config.reverseDirectives;\n var asNext = reverseOrder ? d1 : d2;\n var asFirst = reverseOrder ? d2 : d1;\n var result = deduplicateDirectives(__spreadArray([], __read(asNext)));\n var _loop_2 = function (directive) {\n if (directiveAlreadyExists(result, directive)) {\n var existingDirectiveIndex = result.findIndex(function (d) { return d.name.value === directive.name.value; });\n var existingDirective = result[existingDirectiveIndex];\n result[existingDirectiveIndex].arguments = mergeArguments(directive.arguments || [], existingDirective.arguments || []);\n }\n else {\n result.push(directive);\n }\n };\n try {\n for (var asFirst_1 = __values(asFirst), asFirst_1_1 = asFirst_1.next(); !asFirst_1_1.done; asFirst_1_1 = asFirst_1.next()) {\n var directive = asFirst_1_1.value;\n _loop_2(directive);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (asFirst_1_1 && !asFirst_1_1.done && (_a = asFirst_1.return)) _a.call(asFirst_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n}\nfunction validateInputs(node, existingNode) {\n var printedNode = print(node);\n var printedExistingNode = print(existingNode);\n // eslint-disable-next-line\n var leaveInputs = new RegExp('(directive @w*d*)|( on .*$)', 'g');\n var sameArguments = printedNode.replace(leaveInputs, '') === printedExistingNode.replace(leaveInputs, '');\n if (!sameArguments) {\n throw new Error(\"Unable to merge GraphQL directive \\\"\" + node.name.value + \"\\\". \\nExisting directive: \\n\\t\" + printedExistingNode + \" \\nReceived directive: \\n\\t\" + printedNode);\n }\n}\nexport function mergeDirective(node, existingNode) {\n if (existingNode) {\n validateInputs(node, existingNode);\n return __assign(__assign({}, node), { locations: __spreadArray(__spreadArray([], __read(existingNode.locations)), __read(node.locations.filter(function (name) { return !nameAlreadyExists(name, existingNode.locations); }))) });\n }\n return node;\n}\nfunction deduplicateLists(source, target, filterFn) {\n return source.concat(target.filter(function (val) { return filterFn(val, source); }));\n}\n//# sourceMappingURL=directives.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { mergeDirectives } from './directives';\nimport { compareNodes } from '@graphql-tools/utils';\nexport function mergeEnumValues(first, second, config) {\n var e_1, _a, e_2, _b;\n if (config === null || config === void 0 ? void 0 : config.consistentEnumMerge) {\n var reversed = first;\n first = second;\n second = reversed;\n }\n var enumValueMap = new Map();\n try {\n for (var first_1 = __values(first), first_1_1 = first_1.next(); !first_1_1.done; first_1_1 = first_1.next()) {\n var firstValue = first_1_1.value;\n enumValueMap.set(firstValue.name.value, firstValue);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (first_1_1 && !first_1_1.done && (_a = first_1.return)) _a.call(first_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var second_1 = __values(second), second_1_1 = second_1.next(); !second_1_1.done; second_1_1 = second_1.next()) {\n var secondValue = second_1_1.value;\n var enumValue = secondValue.name.value;\n if (enumValueMap.has(enumValue)) {\n var firstValue = enumValueMap.get(enumValue);\n firstValue.description = secondValue.description || firstValue.description;\n firstValue.directives = mergeDirectives(secondValue.directives, firstValue.directives);\n }\n else {\n enumValueMap.set(enumValue, secondValue);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (second_1_1 && !second_1_1.done && (_b = second_1.return)) _b.call(second_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var result = __spreadArray([], __read(enumValueMap.values()));\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n return result;\n}\n//# sourceMappingURL=enum-values.js.map","import { __assign } from \"tslib\";\nimport { mergeDirectives } from './directives';\nimport { mergeEnumValues } from './enum-values';\nexport function mergeEnum(e1, e2, config) {\n if (e2) {\n return {\n name: e1.name,\n description: e1['description'] || e2['description'],\n kind: (config && config.convertExtensions) || e1.kind === 'EnumTypeDefinition' || e2.kind === 'EnumTypeDefinition'\n ? 'EnumTypeDefinition'\n : 'EnumTypeExtension',\n loc: e1.loc,\n directives: mergeDirectives(e1.directives, e2.directives, config),\n values: mergeEnumValues(e1.values, e2.values, config),\n };\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, e1), { kind: 'EnumTypeDefinition' }) : e1;\n}\n//# sourceMappingURL=enum.js.map","import { Source, Kind } from 'graphql';\nexport function isStringTypes(types) {\n return typeof types === 'string';\n}\nexport function isSourceTypes(types) {\n return types instanceof Source;\n}\nexport function extractType(type) {\n var visitedType = type;\n while (visitedType.kind === Kind.LIST_TYPE || visitedType.kind === 'NonNullType') {\n visitedType = visitedType.type;\n }\n return visitedType;\n}\nexport function isWrappingTypeNode(type) {\n return type.kind !== Kind.NAMED_TYPE;\n}\nexport function isListTypeNode(type) {\n return type.kind === Kind.LIST_TYPE;\n}\nexport function isNonNullTypeNode(type) {\n return type.kind === Kind.NON_NULL_TYPE;\n}\nexport function printTypeNode(type) {\n if (isListTypeNode(type)) {\n return \"[\" + printTypeNode(type.type) + \"]\";\n }\n if (isNonNullTypeNode(type)) {\n return printTypeNode(type.type) + \"!\";\n }\n return type.name.value;\n}\nexport var CompareVal;\n(function (CompareVal) {\n CompareVal[CompareVal[\"A_SMALLER_THAN_B\"] = -1] = \"A_SMALLER_THAN_B\";\n CompareVal[CompareVal[\"A_EQUALS_B\"] = 0] = \"A_EQUALS_B\";\n CompareVal[CompareVal[\"A_GREATER_THAN_B\"] = 1] = \"A_GREATER_THAN_B\";\n})(CompareVal || (CompareVal = {}));\nexport function defaultStringComparator(a, b) {\n if (a < b)\n return CompareVal.A_SMALLER_THAN_B;\n if (a > b)\n return CompareVal.A_GREATER_THAN_B;\n return CompareVal.A_EQUALS_B;\n}\n//# sourceMappingURL=utils.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { extractType, isWrappingTypeNode, isListTypeNode, isNonNullTypeNode, printTypeNode } from './utils';\nimport { mergeDirectives } from './directives';\nimport { isNotEqual, compareNodes } from '@graphql-tools/utils';\nimport { mergeArguments } from './arguments';\nfunction fieldAlreadyExists(fieldsArr, otherField, config) {\n var result = fieldsArr.find(function (field) { return field.name.value === otherField.name.value; });\n if (result && !(config === null || config === void 0 ? void 0 : config.ignoreFieldConflicts)) {\n var t1 = extractType(result.type);\n var t2 = extractType(otherField.type);\n if (t1.name.value !== t2.name.value) {\n throw new Error(\"Field \\\"\" + otherField.name.value + \"\\\" already defined with a different type. Declared as \\\"\" + t1.name.value + \"\\\", but you tried to override with \\\"\" + t2.name.value + \"\\\"\");\n }\n }\n return !!result;\n}\nexport function mergeFields(type, f1, f2, config) {\n var e_1, _a;\n var result = __spreadArray([], __read(f2));\n var _loop_1 = function (field) {\n if (fieldAlreadyExists(result, field, config)) {\n var existing = result.find(function (f) { return f.name.value === field.name.value; });\n if (!(config === null || config === void 0 ? void 0 : config.ignoreFieldConflicts)) {\n if (config === null || config === void 0 ? void 0 : config.throwOnConflict) {\n preventConflicts(type, existing, field, false);\n }\n else {\n preventConflicts(type, existing, field, true);\n }\n if (isNonNullTypeNode(field.type) && !isNonNullTypeNode(existing.type)) {\n existing.type = field.type;\n }\n }\n existing.arguments = mergeArguments(field['arguments'] || [], existing.arguments || [], config);\n existing.directives = mergeDirectives(field.directives, existing.directives, config);\n existing.description = field.description || existing.description;\n }\n else {\n result.push(field);\n }\n };\n try {\n for (var f1_1 = __values(f1), f1_1_1 = f1_1.next(); !f1_1_1.done; f1_1_1 = f1_1.next()) {\n var field = f1_1_1.value;\n _loop_1(field);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (f1_1_1 && !f1_1_1.done && (_a = f1_1.return)) _a.call(f1_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n if (config && config.exclusions) {\n return result.filter(function (field) { return !config.exclusions.includes(type.name.value + \".\" + field.name.value); });\n }\n return result;\n}\nfunction preventConflicts(type, a, b, ignoreNullability) {\n if (ignoreNullability === void 0) { ignoreNullability = false; }\n var aType = printTypeNode(a.type);\n var bType = printTypeNode(b.type);\n if (isNotEqual(aType, bType)) {\n if (safeChangeForFieldType(a.type, b.type, ignoreNullability) === false) {\n throw new Error(\"Field '\" + type.name.value + \".\" + a.name.value + \"' changed type from '\" + aType + \"' to '\" + bType + \"'\");\n }\n }\n}\nfunction safeChangeForFieldType(oldType, newType, ignoreNullability) {\n if (ignoreNullability === void 0) { ignoreNullability = false; }\n // both are named\n if (!isWrappingTypeNode(oldType) && !isWrappingTypeNode(newType)) {\n return oldType.toString() === newType.toString();\n }\n // new is non-null\n if (isNonNullTypeNode(newType)) {\n var ofType = isNonNullTypeNode(oldType) ? oldType.type : oldType;\n return safeChangeForFieldType(ofType, newType.type);\n }\n // old is non-null\n if (isNonNullTypeNode(oldType)) {\n return safeChangeForFieldType(newType, oldType, ignoreNullability);\n }\n // old is list\n if (isListTypeNode(oldType)) {\n return ((isListTypeNode(newType) && safeChangeForFieldType(oldType.type, newType.type)) ||\n (isNonNullTypeNode(newType) && safeChangeForFieldType(oldType, newType['type'])));\n }\n return false;\n}\n//# sourceMappingURL=fields.js.map","import { __assign } from \"tslib\";\nimport { mergeFields } from './fields';\nimport { mergeDirectives } from './directives';\nexport function mergeInputType(node, existingNode, config) {\n if (existingNode) {\n try {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'InputObjectTypeDefinition' ||\n existingNode.kind === 'InputObjectTypeDefinition'\n ? 'InputObjectTypeDefinition'\n : 'InputObjectTypeExtension',\n loc: node.loc,\n fields: mergeFields(node, node.fields, existingNode.fields, config),\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n };\n }\n catch (e) {\n throw new Error(\"Unable to merge GraphQL input type \\\"\" + node.name.value + \"\\\": \" + e.message);\n }\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'InputObjectTypeDefinition' }) : node;\n}\n//# sourceMappingURL=input-type.js.map","import { __assign } from \"tslib\";\nimport { mergeFields } from './fields';\nimport { mergeDirectives } from './directives';\nexport function mergeInterface(node, existingNode, config) {\n if (existingNode) {\n try {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'InterfaceTypeDefinition' ||\n existingNode.kind === 'InterfaceTypeDefinition'\n ? 'InterfaceTypeDefinition'\n : 'InterfaceTypeExtension',\n loc: node.loc,\n fields: mergeFields(node, node.fields, existingNode.fields, config),\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n };\n }\n catch (e) {\n throw new Error(\"Unable to merge GraphQL interface \\\"\" + node.name.value + \"\\\": \" + e.message);\n }\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'InterfaceTypeDefinition' }) : node;\n}\n//# sourceMappingURL=interface.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { compareNodes } from '@graphql-tools/utils';\nfunction alreadyExists(arr, other) {\n return !!arr.find(function (i) { return i.name.value === other.name.value; });\n}\nexport function mergeNamedTypeArray(first, second, config) {\n var result = __spreadArray(__spreadArray([], __read(second)), __read(first.filter(function (d) { return !alreadyExists(second, d); })));\n if (config && config.sort) {\n result.sort(compareNodes);\n }\n return result;\n}\n//# sourceMappingURL=merge-named-type-array.js.map","import { __assign } from \"tslib\";\nimport { mergeFields } from './fields';\nimport { mergeDirectives } from './directives';\nimport { mergeNamedTypeArray } from './merge-named-type-array';\nexport function mergeType(node, existingNode, config) {\n if (existingNode) {\n try {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'ObjectTypeDefinition' ||\n existingNode.kind === 'ObjectTypeDefinition'\n ? 'ObjectTypeDefinition'\n : 'ObjectTypeExtension',\n loc: node.loc,\n fields: mergeFields(node, node.fields, existingNode.fields, config),\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n interfaces: mergeNamedTypeArray(node.interfaces, existingNode.interfaces, config),\n };\n }\n catch (e) {\n throw new Error(\"Unable to merge GraphQL type \\\"\" + node.name.value + \"\\\": \" + e.message);\n }\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'ObjectTypeDefinition' }) : node;\n}\n//# sourceMappingURL=type.js.map","import { __assign } from \"tslib\";\nimport { mergeDirectives } from './directives';\nexport function mergeScalar(node, existingNode, config) {\n if (existingNode) {\n return {\n name: node.name,\n description: node['description'] || existingNode['description'],\n kind: (config && config.convertExtensions) ||\n node.kind === 'ScalarTypeDefinition' ||\n existingNode.kind === 'ScalarTypeDefinition'\n ? 'ScalarTypeDefinition'\n : 'ScalarTypeExtension',\n loc: node.loc,\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n };\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, node), { kind: 'ScalarTypeDefinition' }) : node;\n}\n//# sourceMappingURL=scalar.js.map","import { __assign } from \"tslib\";\nimport { mergeDirectives } from './directives';\nimport { mergeNamedTypeArray } from './merge-named-type-array';\nexport function mergeUnion(first, second, config) {\n if (second) {\n return {\n name: first.name,\n description: first['description'] || second['description'],\n directives: mergeDirectives(first.directives, second.directives, config),\n kind: (config && config.convertExtensions) ||\n first.kind === 'UnionTypeDefinition' ||\n second.kind === 'UnionTypeDefinition'\n ? 'UnionTypeDefinition'\n : 'UnionTypeExtension',\n loc: first.loc,\n types: mergeNamedTypeArray(first.types, second.types, config),\n };\n }\n return config && config.convertExtensions\n ? __assign(__assign({}, first), { kind: 'UnionTypeDefinition' }) : first;\n}\n//# sourceMappingURL=union.js.map","import { __assign } from \"tslib\";\nimport { Kind } from 'graphql';\nimport { mergeDirectives } from './directives';\nexport var operationTypeDefinitionNodeTypeRootTypeMap = {\n query: 'Query',\n mutation: 'Mutation',\n subscription: 'Subscription',\n};\nfunction mergeOperationTypes(opNodeList, existingOpNodeList) {\n if (opNodeList === void 0) { opNodeList = []; }\n if (existingOpNodeList === void 0) { existingOpNodeList = []; }\n var finalOpNodeList = [];\n var _loop_1 = function (opNodeType) {\n var opNode = opNodeList.find(function (n) { return n.operation === opNodeType; }) || existingOpNodeList.find(function (n) { return n.operation === opNodeType; });\n if (opNode) {\n finalOpNodeList.push(opNode);\n }\n };\n for (var opNodeType in operationTypeDefinitionNodeTypeRootTypeMap) {\n _loop_1(opNodeType);\n }\n return finalOpNodeList;\n}\nexport function mergeSchemaDefs(node, existingNode, config) {\n if (existingNode) {\n return {\n kind: node.kind === Kind.SCHEMA_DEFINITION ||\n existingNode.kind === Kind.SCHEMA_DEFINITION\n ? Kind.SCHEMA_DEFINITION\n : Kind.SCHEMA_EXTENSION,\n description: node['description'] || existingNode['description'],\n directives: mergeDirectives(node.directives, existingNode.directives, config),\n operationTypes: mergeOperationTypes(node.operationTypes, existingNode.operationTypes),\n };\n }\n return ((config === null || config === void 0 ? void 0 : config.convertExtensions)\n ? __assign(__assign({}, node), { kind: Kind.SCHEMA_EXTENSION }) : node);\n}\n//# sourceMappingURL=schema-def.js.map","import { __values } from \"tslib\";\nimport { Kind } from 'graphql';\nimport { mergeType } from './type';\nimport { mergeEnum } from './enum';\nimport { mergeScalar } from './scalar';\nimport { mergeUnion } from './union';\nimport { mergeInputType } from './input-type';\nimport { mergeInterface } from './interface';\nimport { mergeDirective } from './directives';\nimport { collectComment } from './comments';\nimport { mergeSchemaDefs } from './schema-def';\nexport function isNamedDefinitionNode(definitionNode) {\n return 'name' in definitionNode;\n}\nexport var schemaDefSymbol = Symbol('schemaDefSymbol');\nexport function mergeGraphQLNodes(nodes, config) {\n var e_1, _a;\n var _b, _c;\n var mergedResultMap = {};\n try {\n for (var nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {\n var nodeDefinition = nodes_1_1.value;\n if (isNamedDefinitionNode(nodeDefinition)) {\n var name_1 = nodeDefinition.name.value;\n if (config === null || config === void 0 ? void 0 : config.commentDescriptions) {\n collectComment(nodeDefinition);\n }\n if (((_b = config === null || config === void 0 ? void 0 : config.exclusions) === null || _b === void 0 ? void 0 : _b.includes(name_1 + '.*')) || ((_c = config === null || config === void 0 ? void 0 : config.exclusions) === null || _c === void 0 ? void 0 : _c.includes(name_1))) {\n delete mergedResultMap[name_1];\n }\n else {\n switch (nodeDefinition.kind) {\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeType(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeEnum(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.UNION_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeUnion(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.SCALAR_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeScalar(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeInputType(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_EXTENSION:\n mergedResultMap[name_1] = mergeInterface(nodeDefinition, mergedResultMap[name_1], config);\n break;\n case Kind.DIRECTIVE_DEFINITION:\n mergedResultMap[name_1] = mergeDirective(nodeDefinition, mergedResultMap[name_1]);\n break;\n }\n }\n }\n else if (nodeDefinition.kind === Kind.SCHEMA_DEFINITION || nodeDefinition.kind === Kind.SCHEMA_EXTENSION) {\n mergedResultMap[schemaDefSymbol] = mergeSchemaDefs(nodeDefinition, mergedResultMap[schemaDefSymbol], config);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return mergedResultMap;\n}\n//# sourceMappingURL=merge-nodes.js.map","import { __assign, __values } from \"tslib\";\nimport { parse, Kind, isSchema, isDefinitionNode, } from 'graphql';\nimport { defaultStringComparator, isSourceTypes, isStringTypes } from './utils';\nimport { mergeGraphQLNodes, schemaDefSymbol } from './merge-nodes';\nimport { resetComments, printWithComments } from './comments';\nimport { getDocumentNodeFromSchema } from '@graphql-tools/utils';\nimport { operationTypeDefinitionNodeTypeRootTypeMap } from './schema-def';\nexport function mergeTypeDefs(types, config) {\n resetComments();\n var doc = {\n kind: Kind.DOCUMENT,\n definitions: mergeGraphQLTypes(types, __assign({ useSchemaDefinition: true, forceSchemaDefinition: false, throwOnConflict: false, commentDescriptions: false }, config)),\n };\n var result;\n if (config && config.commentDescriptions) {\n result = printWithComments(doc);\n }\n else {\n result = doc;\n }\n resetComments();\n return result;\n}\nfunction visitTypeSources(types, allNodes) {\n var e_1, _a;\n try {\n for (var types_1 = __values(types), types_1_1 = types_1.next(); !types_1_1.done; types_1_1 = types_1.next()) {\n var type = types_1_1.value;\n if (type) {\n if (Array.isArray(type)) {\n visitTypeSources(type, allNodes);\n }\n else if (isSchema(type)) {\n var documentNode = getDocumentNodeFromSchema(type);\n visitTypeSources(documentNode.definitions, allNodes);\n }\n else if (isStringTypes(type) || isSourceTypes(type)) {\n var documentNode = parse(type);\n visitTypeSources(documentNode.definitions, allNodes);\n }\n else if (isDefinitionNode(type)) {\n allNodes.push(type);\n }\n else {\n visitTypeSources(type.definitions, allNodes);\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (types_1_1 && !types_1_1.done && (_a = types_1.return)) _a.call(types_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\nexport function mergeGraphQLTypes(types, config) {\n var _a, _b;\n resetComments();\n var allNodes = [];\n visitTypeSources(types, allNodes);\n var mergedNodes = mergeGraphQLNodes(allNodes, config);\n // XXX: right now we don't handle multiple schema definitions\n var schemaDef = mergedNodes[schemaDefSymbol] || {\n kind: Kind.SCHEMA_DEFINITION,\n operationTypes: [],\n };\n if (config === null || config === void 0 ? void 0 : config.useSchemaDefinition) {\n var operationTypes = schemaDef.operationTypes;\n var _loop_1 = function (opTypeDefNodeType) {\n var opTypeDefNode = operationTypes.find(function (operationType) { return operationType.operation === opTypeDefNodeType; });\n if (!opTypeDefNode) {\n var existingPossibleRootType = mergedNodes[operationTypeDefinitionNodeTypeRootTypeMap[opTypeDefNodeType]];\n if (existingPossibleRootType) {\n operationTypes.push({\n kind: Kind.OPERATION_TYPE_DEFINITION,\n type: {\n kind: Kind.NAMED_TYPE,\n name: existingPossibleRootType.name,\n },\n operation: opTypeDefNodeType,\n });\n }\n }\n };\n for (var opTypeDefNodeType in operationTypeDefinitionNodeTypeRootTypeMap) {\n _loop_1(opTypeDefNodeType);\n }\n }\n if ((config === null || config === void 0 ? void 0 : config.forceSchemaDefinition) && !((_a = schemaDef === null || schemaDef === void 0 ? void 0 : schemaDef.operationTypes) === null || _a === void 0 ? void 0 : _a.length)) {\n schemaDef = {\n kind: Kind.SCHEMA_DEFINITION,\n operationTypes: [\n {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: 'query',\n type: {\n kind: Kind.NAMED_TYPE,\n name: {\n kind: Kind.NAME,\n value: 'Query',\n },\n },\n },\n ],\n };\n }\n var mergedNodeDefinitions = Object.values(mergedNodes);\n if ((_b = schemaDef.operationTypes) === null || _b === void 0 ? void 0 : _b.length) {\n mergedNodeDefinitions.push(schemaDef);\n }\n if (config === null || config === void 0 ? void 0 : config.sort) {\n var sortFn_1 = typeof config.sort === 'function' ? config.sort : defaultStringComparator;\n mergedNodeDefinitions.sort(function (a, b) { var _a, _b; return sortFn_1((_a = a.name) === null || _a === void 0 ? void 0 : _a.value, (_b = b.name) === null || _b === void 0 ? void 0 : _b.value); });\n }\n return mergedNodeDefinitions;\n}\n//# sourceMappingURL=merge-typedefs.js.map","import { __read, __values } from \"tslib\";\nimport { isObjectType, isInterfaceType, isInputObjectType, isUnionType, isScalarType, isEnumType, isSpecifiedScalarType, isIntrospectionType, } from 'graphql';\nimport { mergeDeep } from '@graphql-tools/utils';\nexport function travelSchemaPossibleExtensions(schema, hooks) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g;\n hooks.onSchema(schema);\n var typesMap = schema.getTypeMap();\n try {\n for (var _h = __values(Object.entries(typesMap)), _j = _h.next(); !_j.done; _j = _h.next()) {\n var _k = __read(_j.value, 2), type = _k[1];\n var isPredefinedScalar = isScalarType(type) && isSpecifiedScalarType(type);\n var isIntrospection = isIntrospectionType(type);\n if (isPredefinedScalar || isIntrospection) {\n continue;\n }\n if (isObjectType(type)) {\n hooks.onObjectType(type);\n var fields = type.getFields();\n try {\n for (var _l = (e_2 = void 0, __values(Object.entries(fields))), _m = _l.next(); !_m.done; _m = _l.next()) {\n var _o = __read(_m.value, 2), field = _o[1];\n hooks.onObjectField(type, field);\n var args = field.args || [];\n try {\n for (var args_1 = (e_3 = void 0, __values(args)), args_1_1 = args_1.next(); !args_1_1.done; args_1_1 = args_1.next()) {\n var arg = args_1_1.value;\n hooks.onObjectFieldArg(type, field, arg);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (args_1_1 && !args_1_1.done && (_c = args_1.return)) _c.call(args_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_m && !_m.done && (_b = _l.return)) _b.call(_l);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n else if (isInterfaceType(type)) {\n hooks.onInterface(type);\n var fields = type.getFields();\n try {\n for (var _p = (e_4 = void 0, __values(Object.entries(fields))), _q = _p.next(); !_q.done; _q = _p.next()) {\n var _r = __read(_q.value, 2), field = _r[1];\n hooks.onInterfaceField(type, field);\n var args = field.args || [];\n try {\n for (var args_2 = (e_5 = void 0, __values(args)), args_2_1 = args_2.next(); !args_2_1.done; args_2_1 = args_2.next()) {\n var arg = args_2_1.value;\n hooks.onInterfaceFieldArg(type, field, arg);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (args_2_1 && !args_2_1.done && (_e = args_2.return)) _e.call(args_2);\n }\n finally { if (e_5) throw e_5.error; }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_q && !_q.done && (_d = _p.return)) _d.call(_p);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n else if (isInputObjectType(type)) {\n hooks.onInputType(type);\n var fields = type.getFields();\n try {\n for (var _s = (e_6 = void 0, __values(Object.entries(fields))), _t = _s.next(); !_t.done; _t = _s.next()) {\n var _u = __read(_t.value, 2), field = _u[1];\n hooks.onInputFieldType(type, field);\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_t && !_t.done && (_f = _s.return)) _f.call(_s);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n else if (isUnionType(type)) {\n hooks.onUnion(type);\n }\n else if (isScalarType(type)) {\n hooks.onScalar(type);\n }\n else if (isEnumType(type)) {\n hooks.onEnum(type);\n try {\n for (var _v = (e_7 = void 0, __values(type.getValues())), _w = _v.next(); !_w.done; _w = _v.next()) {\n var value = _w.value;\n hooks.onEnumValue(type, value);\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (_w && !_w.done && (_g = _v.return)) _g.call(_v);\n }\n finally { if (e_7) throw e_7.error; }\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_a = _h.return)) _a.call(_h);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\nexport function mergeExtensions(extensions) {\n return extensions.reduce(function (result, extensionObj) { return [result, extensionObj].reduce(mergeDeep, {}); }, {});\n}\nfunction applyExtensionObject(obj, extensions) {\n if (!obj) {\n return;\n }\n obj.extensions = [obj.extensions || {}, extensions || {}].reduce(mergeDeep, {});\n}\nexport function applyExtensions(schema, extensions) {\n var e_8, _a, e_9, _b, e_10, _c, e_11, _d, e_12, _e;\n applyExtensionObject(schema, extensions.schemaExtensions);\n try {\n for (var _f = __values(Object.entries(extensions.types || {})), _g = _f.next(); !_g.done; _g = _f.next()) {\n var _h = __read(_g.value, 2), typeName = _h[0], data = _h[1];\n var type = schema.getType(typeName);\n if (type) {\n applyExtensionObject(type, data.extensions);\n if (data.type === 'object' || data.type === 'interface') {\n try {\n for (var _j = (e_9 = void 0, __values(Object.entries(data.fields))), _k = _j.next(); !_k.done; _k = _j.next()) {\n var _l = __read(_k.value, 2), fieldName = _l[0], fieldData = _l[1];\n var field = type.getFields()[fieldName];\n if (field) {\n applyExtensionObject(field, fieldData.extensions);\n var _loop_1 = function (arg, argData) {\n applyExtensionObject(field.args.find(function (a) { return a.name === arg; }), argData);\n };\n try {\n for (var _m = (e_10 = void 0, __values(Object.entries(fieldData.arguments))), _o = _m.next(); !_o.done; _o = _m.next()) {\n var _p = __read(_o.value, 2), arg = _p[0], argData = _p[1];\n _loop_1(arg, argData);\n }\n }\n catch (e_10_1) { e_10 = { error: e_10_1 }; }\n finally {\n try {\n if (_o && !_o.done && (_c = _m.return)) _c.call(_m);\n }\n finally { if (e_10) throw e_10.error; }\n }\n }\n }\n }\n catch (e_9_1) { e_9 = { error: e_9_1 }; }\n finally {\n try {\n if (_k && !_k.done && (_b = _j.return)) _b.call(_j);\n }\n finally { if (e_9) throw e_9.error; }\n }\n }\n else if (data.type === 'input') {\n try {\n for (var _q = (e_11 = void 0, __values(Object.entries(data.fields))), _r = _q.next(); !_r.done; _r = _q.next()) {\n var _s = __read(_r.value, 2), fieldName = _s[0], fieldData = _s[1];\n var field = type.getFields()[fieldName];\n applyExtensionObject(field, fieldData.extensions);\n }\n }\n catch (e_11_1) { e_11 = { error: e_11_1 }; }\n finally {\n try {\n if (_r && !_r.done && (_d = _q.return)) _d.call(_q);\n }\n finally { if (e_11) throw e_11.error; }\n }\n }\n else if (data.type === 'enum') {\n try {\n for (var _t = (e_12 = void 0, __values(Object.entries(data.values))), _u = _t.next(); !_u.done; _u = _t.next()) {\n var _v = __read(_u.value, 2), valueName = _v[0], valueData = _v[1];\n var value = type.getValue(valueName);\n applyExtensionObject(value, valueData);\n }\n }\n catch (e_12_1) { e_12 = { error: e_12_1 }; }\n finally {\n try {\n if (_u && !_u.done && (_e = _t.return)) _e.call(_t);\n }\n finally { if (e_12) throw e_12.error; }\n }\n }\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n }\n finally { if (e_8) throw e_8.error; }\n }\n return schema;\n}\nexport function extractExtensionsFromSchema(schema) {\n var result = {\n schemaExtensions: {},\n types: {},\n };\n travelSchemaPossibleExtensions(schema, {\n onSchema: function (schema) { return (result.schemaExtensions = schema.extensions || {}); },\n onObjectType: function (type) { return (result.types[type.name] = { fields: {}, type: 'object', extensions: type.extensions || {} }); },\n onObjectField: function (type, field) {\n return (result.types[type.name].fields[field.name] = {\n arguments: {},\n extensions: field.extensions || {},\n });\n },\n onObjectFieldArg: function (type, field, arg) {\n return (result.types[type.name].fields[field.name].arguments[arg.name] = arg.extensions || {});\n },\n onInterface: function (type) {\n return (result.types[type.name] = { fields: {}, type: 'interface', extensions: type.extensions || {} });\n },\n onInterfaceField: function (type, field) {\n return (result.types[type.name].fields[field.name] = {\n arguments: {},\n extensions: field.extensions || {},\n });\n },\n onInterfaceFieldArg: function (type, field, arg) {\n return (result.types[type.name].fields[field.name].arguments[arg.name] =\n arg.extensions || {});\n },\n onEnum: function (type) { return (result.types[type.name] = { values: {}, type: 'enum', extensions: type.extensions || {} }); },\n onEnumValue: function (type, value) {\n return (result.types[type.name].values[value.name] = value.extensions || {});\n },\n onScalar: function (type) { return (result.types[type.name] = { type: 'scalar', extensions: type.extensions || {} }); },\n onUnion: function (type) { return (result.types[type.name] = { type: 'union', extensions: type.extensions || {} }); },\n onInputType: function (type) { return (result.types[type.name] = { fields: {}, type: 'input', extensions: type.extensions || {} }); },\n onInputFieldType: function (type, field) {\n return (result.types[type.name].fields[field.name] = { extensions: field.extensions || {} });\n },\n });\n return result;\n}\n//# sourceMappingURL=extensions.js.map","import { __assign, __awaiter, __generator, __read, __rest, __spreadArray, __values } from \"tslib\";\nimport { buildASTSchema, buildSchema } from 'graphql';\nimport { addResolversToSchema, addErrorLoggingToSchema } from '@graphql-tools/schema';\nimport { mergeTypeDefs } from './typedefs-mergers/merge-typedefs';\nimport { mergeResolvers } from './merge-resolvers';\nimport { SchemaDirectiveVisitor, asArray, getResolversFromSchema, } from '@graphql-tools/utils';\nimport { mergeExtensions, extractExtensionsFromSchema, applyExtensions } from './extensions';\nvar defaultResolverValidationOptions = {\n requireResolversForArgs: 'ignore',\n requireResolversForNonScalar: 'ignore',\n requireResolversForAllFields: 'ignore',\n requireResolversForResolveType: 'ignore',\n requireResolversToMatchSchema: 'ignore',\n};\n/**\n * Synchronously merges multiple schemas, typeDefinitions and/or resolvers into a single schema.\n * @param config Configuration object\n */\nexport function mergeSchemas(config) {\n var e_1, _a;\n var typeDefs = mergeTypes(config);\n var extractedResolvers = [];\n var extractedExtensions = [];\n try {\n for (var _b = __values(config.schemas), _c = _b.next(); !_c.done; _c = _b.next()) {\n var schema = _c.value;\n extractedResolvers.push(getResolversFromSchema(schema));\n extractedExtensions.push(extractExtensionsFromSchema(schema));\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n extractedResolvers.push.apply(extractedResolvers, __spreadArray([], __read(ensureResolvers(config))));\n var resolvers = mergeResolvers(extractedResolvers, config);\n var extensions = mergeExtensions(extractedExtensions);\n return makeSchema({ resolvers: resolvers, typeDefs: typeDefs, extensions: extensions }, config);\n}\n/**\n * Synchronously merges multiple schemas, typeDefinitions and/or resolvers into a single schema.\n * @param config Configuration object\n */\nexport function mergeSchemasAsync(config) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, typeDefs, resolvers, extensions;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Promise.all([\n mergeTypes(config),\n Promise.all(config.schemas.map(function (schema) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, getResolversFromSchema(schema)];\n }); }); })).then(function (extractedResolvers) {\n return mergeResolvers(__spreadArray(__spreadArray([], __read(extractedResolvers)), __read(ensureResolvers(config))), config);\n }),\n Promise.all(config.schemas.map(function (schema) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, extractExtensionsFromSchema(schema)];\n }); }); })).then(function (extractedExtensions) {\n return mergeExtensions(extractedExtensions);\n }),\n ])];\n case 1:\n _a = __read.apply(void 0, [_b.sent(), 3]), typeDefs = _a[0], resolvers = _a[1], extensions = _a[2];\n return [2 /*return*/, makeSchema({ resolvers: resolvers, typeDefs: typeDefs, extensions: extensions }, config)];\n }\n });\n });\n}\nfunction mergeTypes(_a) {\n var schemas = _a.schemas, typeDefs = _a.typeDefs, config = __rest(_a, [\"schemas\", \"typeDefs\"]);\n return mergeTypeDefs(__spreadArray(__spreadArray([], __read(schemas)), __read((typeDefs ? asArray(typeDefs) : []))), config);\n}\nfunction ensureResolvers(config) {\n return config.resolvers ? asArray(config.resolvers) : [];\n}\nfunction makeSchema(_a, config) {\n var resolvers = _a.resolvers, typeDefs = _a.typeDefs, extensions = _a.extensions;\n var schema = typeof typeDefs === 'string' ? buildSchema(typeDefs, config) : buildASTSchema(typeDefs, config);\n // add resolvers\n if (resolvers) {\n schema = addResolversToSchema({\n schema: schema,\n resolvers: resolvers,\n resolverValidationOptions: __assign(__assign({}, defaultResolverValidationOptions), (config.resolverValidationOptions || {})),\n });\n }\n // use logger\n if (config.logger) {\n schema = addErrorLoggingToSchema(schema, config.logger);\n }\n // use schema directives\n if (config.schemaDirectives) {\n SchemaDirectiveVisitor.visitSchemaDirectives(schema, config.schemaDirectives);\n }\n // extensions\n applyExtensions(schema, extensions);\n return schema;\n}\n//# sourceMappingURL=merge-schemas.js.map"],"names":["__values","__spreadArray","__read","mergeDeep","compareNodes","getDescription","visit","mergeArguments","print","__assign","Source","Kind","CompareVal","isNotEqual","isSchema","getDocumentNodeFromSchema","parse","isDefinitionNode","isScalarType","isSpecifiedScalarType","isIntrospectionType","isObjectType","isInterfaceType","isInputObjectType","isUnionType","isEnumType","getResolversFromSchema","__awaiter","__generator","__rest","asArray","schema","buildSchema","buildASTSchema","addResolversToSchema","addErrorLoggingToSchema","SchemaDirectiveVisitor"],"mappings":"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"}