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