@wiicamp/graphql-merge-resolvers
v2.1.2
Published
Easy to modularizing and merge your resolvers.
Downloads
97
Maintainers
Readme
@wiicamp/graphql-merge-resolvers
Lightweight and powerful package makes easy to modularizing and merge your resolvers.
Table of Contents
Features
- Easy to use
- Pure javascript
- Lightweight package without dependencies
- ES6 classes
Install
npm i --save @wiicamp/graphql-merge-resolvers
or
yarn add @wiicamp/graphql-merge-resolvers
Usage
Basic
const GMR = require('@wiicamp/graphql-merge-resolvers'); // Import module
// Demo user resolver
const userResolver = {
Query: {
users: (parent, args, context, info) => ['Hello', 'GraphQL'],
},
Mutation: {
createUser: (parent, args, context, info) => {},
},
User: {
books: (parent, args, context, info) => {},
}
}
// Demo book resolver
const bookResolver = {
Query: {
books: (parent, args, context, info) => ['Awesome', 'Javascript'],
},
Mutation: {
createBook: (parent, args, context, info) => {},
},
Book: {
postedBy: (parent, args, context, info) => {},
}
}
// Merge time!!!
const mainResolver = GMR.merge([
userResolver,
bookResolver,
]);
console.log(mainResolver);
Now we have new resolver
// console.log(mainResolver);
{
Query: {
users: (parent, args, context, info) => ['Hello', 'GraphQL'],
books: (parent, args, context, info) => ['Awesome', 'Javascript'],
},
Mutation: {
createUser: (parent, args, context, info) => {},
createBook: (parent, args, context, info) => {},
},
User: {
books: (parent, args, context, info) => {},
},
Book: {
postedBy: (parent, args, context, info) => {},
},
}
To get started with
graphql-merge-resolvers
, you can refer to this example.
API
GMR
merge(customResolvers: object or array, rootResolver: object): object
| Args | Type | Default | Description |
| --------------------------- | --------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| customResolvers
| Object
or Array
| undefined
| Resolver or list of your resolvers want to merge. Required |
| rootResolver
| Object | {}
| Root resolver (options) |
Contribution
Contribution are always welcome and recommended! Here is how:
- Fork the repository (here is the guide).
- Clone to your machine
git clone https://github.com/YOUR_USERNAME/graphql-merge-resolvers.git
- Make your changes
- Create a pull request
License
@wiicamp/graphql-merge-resolvers
is released under the MIT license. See LICENSE for details.
Any question or support will welcome.