gqb
v0.1.3
Published
graphql schema builder
Downloads
5
Readme
GQB
This package allows you to injects type resolvers directly into GraphQL schema language.
Why
A lot of boilerplate code if write schemas on javascript graphql-js.
This is better graphql-tools but resolvers described after the schema.
How it works
Using tagged template literals we can place resolvers directly inside schema.
import { gqb, getResolvers } from 'gqb';
import { graphql } from 'graphql';
import { makeExecutableSchema } from 'graphql-tools';
const schema = gqb`
type Query {
hello: String${ // field resolver source
() => 'World'
},
pic(size: Int): String${
(_, { size }) => `pic size is: ${size}`
}
}
type Mutation {
setMessage(message: String): String${ // mutation source
(_, { message }) => `Mutated ${message}`
}
}
`;
const executableSchema = makeExecutableSchema(
getResolvers(schema)
);
graphql(
executableSchema,
'{ hello, pic(size: 20)}'
)
.then(response => console.log(response));
Type fields resolver now are placed directly in the schema, immediatelly after type!!!
It also supports schema inlining, (see tests)
See the source it's small.