0.0.46 • Published 6 years ago

@cortexql/queue v0.0.46

Weekly downloads
2
License
MIT
Repository
gitlab
Last release
6 years ago

CortexQL DataLoader

This is a simple CortexQL wrapper for Facebook's DataLoader

Usage

In your api directory create the directory loaders

# api/loaders/UserLoader.ts

import { DataLoader } from '@cortexql/dataloader';
import { User } from '../types/User';

export type Key = Pick<User, 'id'>;

export class UserLoader extends DataLoader<Key, User> {

  // batch first
  batchLoad(keys: Key[]) {
    return Promise.all(
      keys.map(key => User.findOne(key)),
    );
  }

}

In your context file api/context/index.ts

import { BaseContext } from '@cortexql/core';
import { UserLoader } from '../loaders/UserLoader';

export class Context extends BaseContext {
  userLoader = new UserLoader(this);
}

In whatever resolver api/query/user.ts

import { Context } from '../context';
import { User } from '../types/User';

export type Arguments {
  id: User['id'];
}

export async function resolveUser(args: Arguments, context: Context) {
  return await context.userLoader.load({ id: args.id });
}
0.0.46

6 years ago

0.0.45

6 years ago

0.0.44

6 years ago

0.0.43

6 years ago

0.0.42

6 years ago

0.0.41

6 years ago

0.0.40

6 years ago

0.0.39

6 years ago

0.0.38

6 years ago

0.0.37

6 years ago

0.0.36

6 years ago

0.0.35

6 years ago

0.0.34

6 years ago

0.0.33

6 years ago

0.0.32

6 years ago

0.0.31

6 years ago

0.0.30

6 years ago

0.0.29

6 years ago

0.0.28

6 years ago

0.0.27

6 years ago

0.0.26

6 years ago

0.0.25

6 years ago

0.0.24

6 years ago

0.0.23

6 years ago

0.0.22

6 years ago

0.0.21

6 years ago

0.0.20

6 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago