1 | var _ = require('lodash');
|
2 | var loaderUtils = require('loader-utils');
|
3 |
|
4 | function 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 |
|
16 | module.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 | };
|