0.0.46 • Published 7 years ago
@cortexql/queue v0.0.46
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
7 years ago
0.0.45
7 years ago
0.0.44
7 years ago
0.0.43
7 years ago
0.0.42
7 years ago
0.0.41
7 years ago
0.0.40
7 years ago
0.0.39
7 years ago
0.0.38
7 years ago
0.0.37
7 years ago
0.0.36
7 years ago
0.0.35
7 years ago
0.0.34
7 years ago
0.0.33
7 years ago
0.0.32
7 years ago
0.0.31
7 years ago
0.0.30
7 years ago
0.0.29
7 years ago
0.0.28
7 years ago
0.0.27
7 years ago
0.0.26
7 years ago
0.0.25
7 years ago
0.0.24
7 years ago
0.0.23
7 years ago
0.0.22
7 years ago
0.0.21
7 years ago
0.0.20
7 years ago
0.0.19
7 years ago
0.0.18
7 years ago
0.0.17
7 years ago
0.0.16
7 years ago
0.0.15
7 years ago
0.0.14
7 years ago
0.0.13
7 years ago
0.0.12
7 years ago
0.0.11
7 years ago
0.0.10
7 years ago
0.0.9
7 years ago
0.0.8
7 years ago
0.0.7
7 years ago
0.0.6
7 years ago
0.0.5
7 years ago
0.0.4
7 years ago
0.0.3
7 years ago
0.0.2
7 years ago
0.0.1
7 years ago