Does a vinyl file match a condition?
npm install gulp-matchgulp-match !status
==========
Does a vinyl file match a condition? This function checks the condition on the file.path of the
vinyl-fs file passed to it.
Condition can be a boolean, a function, a regular expression, a glob string (or array of glob strings), or a stat filter object
Used by gulp-if and gulp-ignore
javascript
var gulpmatch = require('gulp-match');
var map = require('map-stream');
var condition = true; // TODO: add business logic here
var options = null; // Optionally pass options to minimatch
vinylfs.src('path/to/file.js')
.pipe(map(function (file, cb) {
var match = gulpmatch(file, condition, options);
if (match) {
// it matched, do stuff
}
cb(null, file);
}));
`
API
$3
A vinyl-fs file.
$3
#### boolean condition
`javascript
var match = gulpmatch(file, true);
`
if the condition parameter is true or false, results will also be true or false.
#### function condition
`javascript
var match = gulpmatch(file, function (file) {
return true;
})
`
if the condition parameter is a function, it will be called, passing in file passed to gulp-match.
#### regular expression condition
`javascript
var match = gulpmatch(file, /some\/path\.js/);
`
If the condition is a regular expression, it will be evaluated on the file.path passed to gulp-match.
#### glob condition
`javascript
var match = gulpmatch(file, './some/path.js');
`
`javascript
var match = gulpmatch(file, ['./array','!./of','./globs.js']);
`
The globs are passed to minimatch. If the glob matches (or any of the elements in the array match), gulp-match returns true else false.
#### stat filter condition
`javascript
var match = gulpmatch(file, {isFile:true});
`
`javascript
var match = gulpmatch(file, {isDirectory:false});
`
If the condition is an object with a isFile or isDirectory property, it'll match the details on the
vinyl-fs file's stat object.
#### else
`javascript
var match = gulpmatch(file, 42);
// match = true
`
`javascript
var match = gulpmatch(file, '');
// match = false
`
If there's no matching rule from the rules above, it'll return true for truthy conditions, false for falsey conditions (including undefined`).