multimatcher
Install
npm install multimatcher
News
Version 2 of multimatcher
has breaking changes. There is now an options argument, and the default for matching basename was true, but is now false.
Usage
var Matcher = ; var m = "*.js"; m; //returns true m; //returns false
The Match Array
The array passed to the Matcher constructor can be:
- glob pattern
- RegExp
- String that matches the end of a path
var Matcher = ; var m = //Only one of these needs to match. "*.js" //glob /\.js$/ //RegExp '.js'; //End of file name string. m; //returns true m; //returns false
The end of the string matcher can be .js
, file.js
, or le.js
. As long as it's an end of a file name.
Longer names will be more precise.
Just In Case
The order of patterns checking is:
- RegExp
- glob pattern
- End of file name string
API
multimatcher(array, options) -> matcher
The first argument to multimatcher
should be an array of regular expression, glob strings, or path names.
The options
argument should be the same as minimatch, and will only be used to control glob patterns.
matcher.find(array)
Using patterns find all the file name strings that match.
var m = '*.js';//Will print ['one.js', 'two.js']console;
matcher.index(name)
Find the index of name in patterns.
If the name string does not match a pattern then the returned value equals -1
.
var m = '*.xml' '*.js';//Will print 1console;
matcher.indexes(name)
Find all the indexes of name in patterns.
If the name string does not match an empty array is returned.
If there are matches an array of indexes returned.
var m = '*.js' '*.xml' '*.js';//Will print [0, 2]console;//Will print []console;