1
0
mirror of https://github.com/thangisme/notes.git synced 2024-10-31 20:17:30 -04:00
notes/node_modules/multimatch
Patrick Marsceill b7b0d0d7bf
Initial commit
2017-03-09 13:16:08 -05:00
..
index.js Initial commit 2017-03-09 13:16:08 -05:00
license Initial commit 2017-03-09 13:16:08 -05:00
package.json Initial commit 2017-03-09 13:16:08 -05:00
readme.md Initial commit 2017-03-09 13:16:08 -05:00

multimatch Build Status

Extends minimatch.match() with support for multiple patterns

Install


$ npm install --save multimatch

Usage

var multimatch = require('multimatch');

multimatch(['unicorn', 'cake', 'rainbows'], ['*', '!cake']);
//=> ['unicorn', 'rainbows']

See the tests for more usage examples and expected matches.

API

Same as minimatch.match() except for pattern also accepting an array.

var results = multimatch(paths, patterns);

The return value is an array of matching paths.

How multiple patterns work

Positive patterns (e.g. foo or *) add to the results, while negative patterns (e.g. !foo) subtract from the results.

Therefore a lone negation (e.g. ['!foo']) will never match anything use ['*', '!foo'] instead.

Globbing patterns

Just a quick overview.

  • * matches any number of characters, but not /
  • ? matches a single character, but not /
  • ** matches any number of characters, including /, as long as it's the only thing in a path part
  • {} allows for a comma-separated list of "or" expressions
  • ! at the beginning of a pattern will negate the match

See globby if you need to match against the filesystem instead of a list.

License

MIT © Sindre Sorhus, Jon Schlinkert