diff options
Diffstat (limited to 'node_modules/multimatch/index.js')
-rw-r--r-- | node_modules/multimatch/index.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/multimatch/index.js b/node_modules/multimatch/index.js new file mode 100644 index 000000000..6adc6785d --- /dev/null +++ b/node_modules/multimatch/index.js @@ -0,0 +1,27 @@ +'use strict'; +var minimatch = require('minimatch'); +var arrayUnion = require('array-union'); +var arrayDiffer = require('array-differ'); +var arrify = require('arrify'); + +module.exports = function (list, patterns, options) { + list = arrify(list); + patterns = arrify(patterns); + + if (list.length === 0 || patterns.length === 0) { + return []; + } + + options = options || {}; + + return patterns.reduce(function (ret, pattern) { + var process = arrayUnion; + + if (pattern[0] === '!') { + pattern = pattern.slice(1); + process = arrayDiffer; + } + + return process(ret, minimatch.match(list, pattern, options)); + }, []); +}; |