UNPKG

506 BJavaScriptView Raw
1var match = require('minimatch')
2var evaluate = require('./eval')
3
4module.exports = function (files, filters, data, done) {
5 if (!filters) {
6 return done()
7 }
8 var fileNames = Object.keys(files)
9 Object.keys(filters).forEach(function (glob) {
10 fileNames.forEach(function (file) {
11 if (match(file, glob, { dot: true })) {
12 var condition = filters[glob]
13 if (!evaluate(condition, data)) {
14 delete files[file]
15 }
16 }
17 })
18 })
19 done()
20}