
yarn add @graphql-ez/plugin-dataloaderpnpm add @graphql-ez/plugin-dataloadernpm install @graphql-ez/plugin-dataloaderIntegration with DataLoader
Check https://www.graphql-ez.com for more information
This plugin adds an extra registerDataLoader in your ezApp, which will automatically add the specified dataloader in your GraphQL EZ Application Context.
This EZ Plugin uses @envelop/dataloader plugin seamlessly while you code
import { ezDataLoader } from '@graphql-ez/plugin-dataloader';
const ezApp = CreateApp({
  ez: {
    plugins: [
      ezDataLoader(),
      // ...
    ],
  },
  // ...
});
// ...
import type { InferDataLoader } from '@graphql-ez/plugin-dataloader';
const multiplierDataLoader = ezApp.registerDataLoader(
  'Multiplier',
  DataLoader =>
    new DataLoader<number, number>(async numbers => {
      return numbers.map(v => v * 2);
    })
);
// This snippet add automatically the type of your DataLoader in your EZContext
declare module 'graphql-ez' {
  interface EZContext extends InferDataLoader<typeof multiplierDataLoader> {}
}
// And if you are using https://www.graphql-ez.com/plugins/graphql-modules
// You could use it like this:
ezApp.registerModule(
  gql`
    extend type Query {
      multiply(n: Float!): Float!
    }
  `,
  {
    resolvers: {
      Query: {
        multiply(_root, { n }, { Multiplier }) {
          return Multiplier.load(n);
        },
      },
    },
  }
);
@graphql-ez/plugin-dataloaderMIT0.6.1May 18th, 2022