Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including graphql-memo with all npm packages installed. Try it out:

var graphqlMemo = require("graphql-memo")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

graphql-memo v1.0.0

Server-side caching for your GraphQL resolvers

graphql-memo

$ npm install --save graphql-memo
import memo from 'graphql-memo';

const { cache } = memo({ store: new Map() });

const Query = new GraphQLObjectType({
  name: 'Query',
  fields: () => ({
    hello: {
      type: GraphQLString,
      args: {
        name: { type: GraphQLString, defaultValue: 'world' },
      },
-     resolve: async (root, { name }, context, info) => {
-       return Promise.resolve(name);
-     },
+     resolve: cache(async (root, { name }, context, info) => {
+       return Promise.resolve(name);
+     }),
    },
  }),
});

🐘

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free