UNPKG

769 BJavaScriptView Raw
1var _ = require("lodash");
2var defaultMerge = require("./default/merge");
3
4// Returns a successfully merged loader. This function helps DRY up the following: preLoader, loader, and postLoader.
5// They all perform the same task but attach the returned value to a different data structure.
6// Used by [pre|post]loader methods to merge the given configuration into the the internal data stores.
7module.exports = function(loader, name, config, resolver) {
8 loader = (_.clone(loader, true) || {});
9
10 if (typeof config == "function")
11 loader.config = config(_.clone(loader.config, true) || {});
12 else
13 _.merge(loader, {config: config}, defaultMerge);
14
15 if (resolver)
16 loader.resolver = resolver;
17
18 return loader;
19};