6.0.0 • Published 7 months ago

@envelop/dataloader v6.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

@envelop/dataloader

This plugin helps you to create a new DataLoader instance every time your context is being built. The created instance is injected into the context with the name your wish to use.

Getting Started

yarn add dataloader @envelop/dataloader

Usage Example

import DataLoader from 'dataloader'
import { execute, parse, specifiedRules, subscribe, validate } from 'graphql'
import { envelop, useEngine } from '@envelop/core'
import { useDataLoader } from '@envelop/dataloader'

const getEnveloped = envelop({
  plugins: [
    useEngine({ parse, validate, specifiedRules, execute, subscribe }),
    // ... other plugins ...
    useDataLoader('users', context => new DataLoader(keys => myBatchGetUsers(keys)))
  ]
})

Then, when you need to use it in your resolvers, just take it from the context:

export const resolvers = {
  Query: {
    user: (root, args, context, info) => {
      return context.users.load(args.id)
    }
  }
}

Notes

There are several ways to create and use DataLoader, please refer to: https://github.com/graphql/dataloader#caching-per-request for more details.

5.0.3

8 months ago

5.0.2

8 months ago

5.0.1

8 months ago

6.0.0

7 months ago

4.0.5

1 year ago

4.0.6

1 year ago

5.0.0

12 months ago

4.0.4

1 year ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.6.0

2 years ago

3.5.0

2 years ago

3.4.0

2 years ago

3.4.2

2 years ago

3.4.1

2 years ago

3.3.3

2 years ago

3.3.2

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

3.2.0

2 years ago

2.0.0

2 years ago

3.0.0

2 years ago

3.1.0

2 years ago

1.2.0

3 years ago

1.2.1

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago