UNPKG

726 BJavaScriptView Raw
1var _ = require('lodash');
2var loaderUtils = require('loader-utils');
3
4function processOptions(source, options) {
5 if (!_.isUndefined(options.search) && !_.isUndefined(options.replace)) {
6 if (!_.isUndefined(options.flags)) {
7 options.search = new RegExp(options.search, options.flags);
8 }
9
10 source = source.replace(options.search, options.replace);
11 }
12
13 return source;
14}
15
16module.exports = function (source) {
17 this.cacheable();
18
19 var options = loaderUtils.getOptions(this);
20
21 if (_.isArray(options.multiple)) {
22 options.multiple.forEach(function (suboptions) {
23 source = processOptions(source, suboptions);
24 });
25 } else {
26 source = processOptions(source, options);
27 }
28
29 return source;
30};