-- ROBLOX upstream: https://github.com/ardatan/graphql-tools/blob/release-1666533990323/packages/merge/src/typedefs-mergers/index.ts
local Packages = script.Parent.Parent
local LuauPolyfill = require(Packages.LuauPolyfill)
local Object = LuauPolyfill.Object
local exports = {}
-- ROBLOX deviation START: fix imports
-- Object.assign(exports, require(script["arguments.js"]))
-- Object.assign(exports, require(script["directives.js"]))
-- Object.assign(exports, require(script["enum-values.js"]))
-- Object.assign(exports, require(script["enum.js"]))
-- Object.assign(exports, require(script["fields.js"]))
-- Object.assign(exports, require(script["input-type.js"]))
-- Object.assign(exports, require(script["interface.js"]))
-- Object.assign(exports, require(script["merge-named-type-array.js"]))
-- Object.assign(exports, require(script["merge-nodes.js"]))
-- Object.assign(exports, require(script["merge-typedefs.js"]))
-- Object.assign(exports, require(script["scalar.js"]))
-- Object.assign(exports, require(script["type.js"]))
-- Object.assign(exports, require(script["union.js"]))
-- Object.assign(exports, require(script["utils.js"]))
local argumentsModule = require(script.arguments)
Object.assign(exports, argumentsModule)
local directivesModule = require(script.directives)
Object.assign(exports, directivesModule)
local enumValuesModule = require(script["enum-values"])
Object.assign(exports, enumValuesModule)
local enumModule = require(script.enum)
Object.assign(exports, enumModule)
local fieldsModule = require(script.fields)
Object.assign(exports, fieldsModule)
local inputTypeModule = require(script["input-type"])
Object.assign(exports, inputTypeModule)
local interfaceModule = require(script.interface)
Object.assign(exports, interfaceModule)
local mergeNamedTypeArrayModule = require(script["merge-named-type-array"])
Object.assign(exports, mergeNamedTypeArrayModule)
local mergeNodesModule = require(script["merge-nodes"])
Object.assign(exports, mergeNodesModule)
local mergeTypedefsModule = require(script["merge-typedefs"])
Object.assign(exports, mergeTypedefsModule)
local scalarModule = require(script.scalar)
Object.assign(exports, scalarModule)
local typeModule = require(script.type)
Object.assign(exports, typeModule)
local unionModule = require(script.union)
Object.assign(exports, unionModule)
local utilsModule = require(script.utils)
Object.assign(exports, utilsModule)
-- ROBLOX deviation END
-- ROBLOX deviation START: fix export type
type MergeExports =
	typeof(exports)
	& typeof(argumentsModule)
	& typeof(directivesModule)
	& typeof(enumValuesModule)
	& typeof(enumModule)
	& typeof(fieldsModule)
	& typeof(utilsModule)
	& typeof(inputTypeModule)
	& typeof(mergeNamedTypeArrayModule)
	& typeof(interfaceModule)
	& typeof(scalarModule)
	& typeof(typeModule)
	& typeof(unionModule)
	& typeof(mergeNodesModule)
	& typeof(mergeTypedefsModule)
return exports :: MergeExports
-- ROBLOX deviation END
