@graphql-tools/schema
References
Interfaces
Type Aliases
Functions
- addResolversToSchema
- assertResolversPresent
- chainResolvers
- checkForResolveTypeResolver
- extendResolversFromInterfaces
- makeExecutableSchema
- mergeSchemas
References
extractExtensionsFromSchema
Re-exports extractExtensionsFromSchema
Type Aliases
MergeSchemasConfig
Ƭ MergeSchemasConfig<T>: Partial<IExecutableSchemaDefinition<T>> & { schemas?: GraphQLSchema[] }
Configuration object for schema merging
Type parameters
| Name | Type |
|---|---|
T | any |
Defined in
packages/schema/src/merge-schemas.ts:17
Functions
addResolversToSchema
▸ addResolversToSchema(«destructured»): GraphQLSchema
Parameters
| Name | Type |
|---|---|
«destructured» | IAddResolversToSchemaOptions |
Returns
GraphQLSchema
Defined in
packages/schema/src/addResolversToSchema.ts:32
assertResolversPresent
▸ assertResolversPresent(schema, resolverValidationOptions?): void
Parameters
| Name | Type |
|---|---|
schema | GraphQLSchema |
resolverValidationOptions | IResolverValidationOptions |
Returns
void
Defined in
packages/schema/src/assertResolversPresent.ts:4
chainResolvers
▸ chainResolvers<TArgs>(resolvers): (root: any, args: TArgs, ctx: any, info: GraphQLResolveInfo) => any
Type parameters
| Name | Type |
|---|---|
TArgs | extends Object |
Parameters
| Name | Type |
|---|---|
resolvers | Maybe<GraphQLFieldResolver<any, any, TArgs>>[] |
Returns
fn
▸ (root, args, ctx, info): any
Parameters
| Name | Type |
|---|---|
root | any |
args | TArgs |
ctx | any |
info | GraphQLResolveInfo |
Returns
any
Defined in
packages/schema/src/chainResolvers.ts:4
checkForResolveTypeResolver
▸ checkForResolveTypeResolver(schema, requireResolversForResolveType?): void
Parameters
| Name | Type |
|---|---|
schema | GraphQLSchema |
requireResolversForResolveType? | ValidatorBehavior |
Returns
void
Defined in
packages/schema/src/checkForResolveTypeResolver.ts:5
extendResolversFromInterfaces
▸ extendResolversFromInterfaces(schema, resolvers): IResolvers
Parameters
| Name | Type |
|---|---|
schema | GraphQLSchema |
resolvers | IResolvers |
Returns
Defined in
packages/schema/src/extendResolversFromInterfaces.ts:4
makeExecutableSchema
▸ makeExecutableSchema<TContext>(«destructured»): GraphQLSchema
Builds a schema from the provided type definitions and resolvers.
The type definitions are written using Schema Definition Language (SDL). They
can be provided as a string, a DocumentNode, a function, or an array of any
of these. If a function is provided, it will be passed no arguments and
should return an array of strings or DocumentNodes.
Note: You can use GraphQL magic comment provide additional syntax highlighting in your editor (with the appropriate editor plugin).
const typeDefs = /* GraphQL */ `
type Query {
posts: [Post]
author(id: Int!): Author
}
`;The resolvers object should be a map of type names to nested object, which
themselves map the type’s fields to their appropriate resolvers.
See the Resolvers section of the documentation for more details.
const resolvers = {
Query: {
posts: (obj, args, ctx, info) => getAllPosts(),
author: (obj, args, ctx, info) => getAuthorById(args.id)
}
};Once you’ve defined both the typeDefs and resolvers, you can create your
schema:
const schema = makeExecutableSchema({
typeDefs,
resolvers,
})Type parameters
| Name | Type |
|---|---|
TContext | any |
Parameters
| Name | Type |
|---|---|
«destructured» | IExecutableSchemaDefinition<TContext> |
Returns
GraphQLSchema
Defined in
packages/schema/src/makeExecutableSchema.ts:51
mergeSchemas
▸ mergeSchemas(config): GraphQLSchema
Synchronously merges multiple schemas, typeDefinitions and/or resolvers into a single schema.
Parameters
| Name | Type | Description |
|---|---|---|
config | MergeSchemasConfig<any> | Configuration object |
Returns
GraphQLSchema