UNPKG

971 BJavaScriptView Raw
1import DataLoader from 'dataloader';
2
3import {
4 updateUser,
5 addUser,
6 getUser,
7 getUsers,
8 PATH,
9 getUserByURL,
10} from '../../Services/User';
11
12const getUserLoader = (cacheMap) => {
13 const usersLoader =
14 new DataLoader(keys => Promise.all(keys.map(getUsers)), { cache: false }); // , { cacheMap }
15
16 const userLoader =
17 new DataLoader(keys => Promise.all(keys.map(getUser)), { cache: false });
18
19 // , {
20 // cacheKeyFn: key => `${PATH}/${key}`,
21 // cacheMap,
22 // }
23
24 const userByURLLoader =
25 new DataLoader(keys => Promise.all(keys.map(getUserByURL)), { cache: false }); // , { cacheMap }
26
27 userLoader.loadAll = usersLoader.load.bind(usersLoader, '__all__');
28 userLoader.loadByURL = userByURLLoader.load.bind(userByURLLoader);
29 userLoader.loadManyByURL = userByURLLoader.loadMany.bind(userByURLLoader);
30 userLoader.addUser = addUser;
31 userLoader.updateUser = updateUser;
32 return userLoader;
33};
34
35export default { getUserLoader };