1 | var match = require('minimatch')
|
2 | var evaluate = require('./eval')
|
3 |
|
4 | module.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 | }
|