@graphql-tools/merge
Enumerations
Interfaces
Type Aliases
Variables
Functions
- applyExtensions
- defaultStringComparator
- extractExtensionsFromSchema
- extractType
- isListTypeNode
- isNamedDefinitionNode
- isNonNullTypeNode
- isSourceTypes
- isStringTypes
- isWrappingTypeNode
- mergeArguments
- mergeDirective
- mergeDirectives
- mergeEnum
- mergeEnumValues
- mergeExtensions
- mergeFields
- mergeGraphQLNodes
- mergeGraphQLTypes
- mergeInputType
- mergeInterface
- mergeNamedTypeArray
- mergeResolvers
- mergeScalar
- mergeType
- mergeTypeDefs
- mergeUnion
- printTypeNode
Type Aliases
CompareFn
Ƭ CompareFn<T>: (a: T | undefined, b: T | undefined) => -1 | 0 | 1
Type parameters
| Name |
|---|
T |
Type declaration
▸ (a, b): -1 | 0 | 1
Parameters
| Name | Type |
|---|---|
a | T | undefined |
b | T | undefined |
Returns
-1 | 0 | 1
Defined in
packages/merge/src/typedefs-mergers/utils.ts:48
MergedResultMap
Ƭ MergedResultMap: Record<string, NamedDefinitionNode> & { SCHEMA_DEF_SYMBOL: SchemaDefinitionNode | SchemaExtensionNode }
Defined in
packages/merge/src/typedefs-mergers/merge-nodes.ts:22
OnFieldTypeConflict
Ƭ OnFieldTypeConflict: (existingField: FieldDefNode, otherField: FieldDefNode, type: NamedDefNode, ignoreNullability: boolean | undefined) => FieldDefNode
Type declaration
▸ (existingField, otherField, type, ignoreNullability): FieldDefNode
Parameters
| Name | Type |
|---|---|
existingField | FieldDefNode |
otherField | FieldDefNode |
type | NamedDefNode |
ignoreNullability | boolean | undefined |
Returns
FieldDefNode
Defined in
packages/merge/src/typedefs-mergers/fields.ts:23
Variables
schemaDefSymbol
• Const schemaDefSymbol: "SCHEMA_DEF_SYMBOL"
Defined in
packages/merge/src/typedefs-mergers/merge-nodes.ts:20
Functions
applyExtensions
▸ applyExtensions(schema, extensions): GraphQLSchema
Parameters
| Name | Type |
|---|---|
schema | GraphQLSchema |
extensions | SchemaExtensions |
Returns
GraphQLSchema
Defined in
packages/merge/src/extensions.ts:24
defaultStringComparator
▸ defaultStringComparator(a, b): CompareVal
Parameters
| Name | Type |
|---|---|
a | undefined | string |
b | undefined | string |
Returns
Defined in
packages/merge/src/typedefs-mergers/utils.ts:50
extractExtensionsFromSchema
▸ extractExtensionsFromSchema(schema, removeDirectives?): SchemaExtensions
Parameters
| Name | Type | Default value |
|---|---|---|
schema | GraphQLSchema | undefined |
removeDirectives | boolean | false |
Returns
Defined in
packages/utils/src/extractExtensionsFromSchema.ts:30
extractType
▸ extractType(type): NamedTypeNode
Parameters
| Name | Type |
|---|---|
type | TypeNode |
Returns
NamedTypeNode
Defined in
packages/merge/src/typedefs-mergers/utils.ts:11
isListTypeNode
▸ isListTypeNode(type): type is ListTypeNode
Parameters
| Name | Type |
|---|---|
type | TypeNode |
Returns
type is ListTypeNode
Defined in
packages/merge/src/typedefs-mergers/utils.ts:23
isNamedDefinitionNode
▸ isNamedDefinitionNode(definitionNode): definitionNode is NamedDefinitionNode
Parameters
| Name | Type |
|---|---|
definitionNode | DefinitionNode |
Returns
definitionNode is NamedDefinitionNode
Defined in
packages/merge/src/typedefs-mergers/merge-nodes.ts:26
isNonNullTypeNode
▸ isNonNullTypeNode(type): type is NonNullTypeNode
Parameters
| Name | Type |
|---|---|
type | TypeNode |
Returns
type is NonNullTypeNode
Defined in
packages/merge/src/typedefs-mergers/utils.ts:27
isSourceTypes
▸ isSourceTypes(types): types is Source
Parameters
| Name | Type |
|---|---|
types | any |
Returns
types is Source
Defined in
packages/merge/src/typedefs-mergers/utils.ts:7
isStringTypes
▸ isStringTypes(types): types is string
Parameters
| Name | Type |
|---|---|
types | any |
Returns
types is string
Defined in
packages/merge/src/typedefs-mergers/utils.ts:3
isWrappingTypeNode
▸ isWrappingTypeNode(type): type is ListTypeNode | NonNullTypeNode
Parameters
| Name | Type |
|---|---|
type | TypeNode |
Returns
type is ListTypeNode | NonNullTypeNode
Defined in
packages/merge/src/typedefs-mergers/utils.ts:19
mergeArguments
▸ mergeArguments(args1, args2, config?): InputValueDefinitionNode[]
Parameters
| Name | Type |
|---|---|
args1 | InputValueDefinitionNode[] |
args2 | InputValueDefinitionNode[] |
config? | Config |
Returns
InputValueDefinitionNode[]
Defined in
packages/merge/src/typedefs-mergers/arguments.ts:5
mergeDirective
▸ mergeDirective(node, existingNode?): DirectiveDefinitionNode
Parameters
| Name | Type |
|---|---|
node | DirectiveDefinitionNode |
existingNode? | DirectiveDefinitionNode |
Returns
DirectiveDefinitionNode
Defined in
packages/merge/src/typedefs-mergers/directives.ts:115
mergeDirectives
▸ mergeDirectives(d1?, d2?, config?, directives?): DirectiveNode[]
Parameters
| Name | Type | Default value |
|---|---|---|
d1 | readonly DirectiveNode[] | [] |
d2 | readonly DirectiveNode[] | [] |
config? | Config | undefined |
directives? | Record<string, DirectiveDefinitionNode> | undefined |
Returns
DirectiveNode[]
Defined in
packages/merge/src/typedefs-mergers/directives.ts:85
mergeEnum
▸ mergeEnum(e1, e2, config?, directives?): EnumTypeDefinitionNode | EnumTypeExtensionNode
Parameters
| Name | Type |
|---|---|
e1 | EnumTypeDefinitionNode | EnumTypeExtensionNode |
e2 | EnumTypeDefinitionNode | EnumTypeExtensionNode |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
EnumTypeDefinitionNode | EnumTypeExtensionNode
Defined in
packages/merge/src/typedefs-mergers/enum.ts:11
mergeEnumValues
▸ mergeEnumValues(first, second, config?, directives?): EnumValueDefinitionNode[]
Parameters
| Name | Type |
|---|---|
first | undefined | readonly EnumValueDefinitionNode[] |
second | undefined | readonly EnumValueDefinitionNode[] |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
EnumValueDefinitionNode[]
Defined in
packages/merge/src/typedefs-mergers/enum-values.ts:6
mergeExtensions
▸ mergeExtensions(extensions): SchemaExtensions
Parameters
| Name | Type |
|---|---|
extensions | SchemaExtensions[] |
Returns
Defined in
packages/merge/src/extensions.ts:6
mergeFields
▸ mergeFields<T>(type, f1, f2, config?, directives?): T[]
Type parameters
| Name | Type |
|---|---|
T | extends FieldDefNode |
Parameters
| Name | Type |
|---|---|
type | Object |
type.name | NameNode |
f1 | undefined | readonly T[] |
f2 | undefined | readonly T[] |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
T[]
Defined in
packages/merge/src/typedefs-mergers/fields.ts:41
mergeGraphQLNodes
▸ mergeGraphQLNodes(nodes, config?, directives?): MergedResultMap
Parameters
| Name | Type |
|---|---|
nodes | readonly DefinitionNode[] |
config? | Config |
directives | Record<string, DirectiveDefinitionNode> |
Returns
Defined in
packages/merge/src/typedefs-mergers/merge-nodes.ts:32
mergeGraphQLTypes
▸ mergeGraphQLTypes(typeSource, config): DefinitionNode[]
Parameters
| Name | Type |
|---|---|
typeSource | TypeSource |
config | Config |
Returns
DefinitionNode[]
Defined in
packages/merge/src/typedefs-mergers/merge-typedefs.ts:198
mergeInputType
▸ mergeInputType(node, existingNode, config?, directives?): InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode
Parameters
| Name | Type |
|---|---|
node | InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode |
existingNode | InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode
Defined in
packages/merge/src/typedefs-mergers/input-type.ts:12
mergeInterface
▸ mergeInterface(node, existingNode, config?, directives?): InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode
Parameters
| Name | Type |
|---|---|
node | InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode |
existingNode | InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode
Defined in
packages/merge/src/typedefs-mergers/interface.ts:12
mergeNamedTypeArray
▸ mergeNamedTypeArray(first?, second?, config?): NamedTypeNode[]
Parameters
| Name | Type | Default value |
|---|---|---|
first | readonly NamedTypeNode[] | [] |
second | readonly NamedTypeNode[] | [] |
config | Config | {} |
Returns
NamedTypeNode[]
Defined in
packages/merge/src/typedefs-mergers/merge-named-type-array.ts:9
mergeResolvers
▸ mergeResolvers<TSource, TContext>(resolversDefinitions, options?): IResolvers<TSource, TContext>
Deep merges multiple resolver definition objects into a single definition.
Type parameters
| Name |
|---|
TSource |
TContext |
Parameters
| Name | Type | Description |
|---|---|---|
resolversDefinitions | undefined | null | IResolvers<TSource, TContext> | Maybe<IResolvers<TSource, TContext>>[] | Resolver definitions to be merged |
options? | MergeResolversOptions | Additional options js const { mergeResolvers } = require('@graphql-tools/merge'); const clientResolver = require('./clientResolver'); const productResolver = require('./productResolver'); const resolvers = mergeResolvers([ clientResolver, productResolver, ]); If you don’t want to manually create the array of resolver objects, you can also use this function along with loadFiles: js const path = require('path'); const { mergeResolvers } = require('@graphql-tools/merge'); const { loadFilesSync } = require('@graphql-tools/load-files'); const resolversArray = loadFilesSync(path.join(__dirname, './resolvers')); const resolvers = mergeResolvers(resolversArray) |
Returns
IResolvers<TSource, TContext>
Defined in
packages/merge/src/merge-resolvers.ts:39
mergeScalar
▸ mergeScalar(node, existingNode, config?, directives?): ScalarTypeDefinitionNode | ScalarTypeExtensionNode
Parameters
| Name | Type |
|---|---|
node | ScalarTypeDefinitionNode | ScalarTypeExtensionNode |
existingNode | ScalarTypeDefinitionNode | ScalarTypeExtensionNode |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
ScalarTypeDefinitionNode | ScalarTypeExtensionNode
Defined in
packages/merge/src/typedefs-mergers/scalar.ts:10
mergeType
▸ mergeType(node, existingNode, config?, directives?): ObjectTypeDefinitionNode | ObjectTypeExtensionNode
Parameters
| Name | Type |
|---|---|
node | ObjectTypeDefinitionNode | ObjectTypeExtensionNode |
existingNode | ObjectTypeDefinitionNode | ObjectTypeExtensionNode |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
ObjectTypeDefinitionNode | ObjectTypeExtensionNode
Defined in
packages/merge/src/typedefs-mergers/type.ts:12
mergeTypeDefs
▸ mergeTypeDefs(typeSource): DocumentNode
Merges multiple type definitions into a single DocumentNode
Parameters
| Name | Type |
|---|---|
typeSource | TypeSource |
Returns
DocumentNode
Defined in
packages/merge/src/typedefs-mergers/merge-typedefs.ts:103
▸ mergeTypeDefs(typeSource, config?): string
Parameters
| Name | Type |
|---|---|
typeSource | TypeSource |
config? | Partial<Config> & { commentDescriptions: true } |
Returns
string
Defined in
packages/merge/src/typedefs-mergers/merge-typedefs.ts:104
▸ mergeTypeDefs(typeSource, config?): DocumentNode
Parameters
| Name | Type |
|---|---|
typeSource | TypeSource |
config? | Omit<Partial<Config>, "commentDescriptions"> |
Returns
DocumentNode
Defined in
packages/merge/src/typedefs-mergers/merge-typedefs.ts:108
mergeUnion
▸ mergeUnion(first, second, config?, directives?): UnionTypeDefinitionNode | UnionTypeExtensionNode
Parameters
| Name | Type |
|---|---|
first | UnionTypeDefinitionNode | UnionTypeExtensionNode |
second | UnionTypeDefinitionNode | UnionTypeExtensionNode |
config? | Config |
directives? | Record<string, DirectiveDefinitionNode> |
Returns
UnionTypeDefinitionNode | UnionTypeExtensionNode
Defined in
packages/merge/src/typedefs-mergers/union.ts:11
printTypeNode
▸ printTypeNode(type): string
Parameters
| Name | Type |
|---|---|
type | TypeNode |
Returns
string