Files
talk/graph/loaders/index.js
T
2017-02-14 17:02:50 -07:00

31 lines
731 B
JavaScript

const _ = require('lodash');
const Actions = require('./actions');
const Assets = require('./assets');
const Comments = require('./comments');
const Metrics = require('./metrics');
const Settings = require('./settings');
const Users = require('./users');
/**
* Creates a set of loaders based on a GraphQL context.
* @param {Object} context the context of the GraphQL request
* @return {Object} object of loaders
*/
module.exports = (context) => {
// We need to return an object to be accessed.
return _.merge(...[
Actions,
Assets,
Comments,
Metrics,
Settings,
Users
].map((loaders) => {
// Each loader is a function which takes the context.
return loaders(context);
}));
};