npm

Need private packages and team management tools?Check out npm Orgs. »

graphql-merge-resolvers

1.1.12 • Public • Published

graphql-merge-resolvers

NPM version Minified size License: MIT TravisCI

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 graphql-merge-resolvers

or

yarn add graphql-merge-resolvers

Usage

Basic

const GMR = require('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

graphql-merge-resolvers is released under the MIT license. See LICENSE for details.

Any question or support will welcome.

install

npm i graphql-merge-resolvers

Downloadsweekly downloads

321

version

1.1.12

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability