Spaces:
Sleeping
Sleeping
import { Minimatch } from 'minimatch'; | |
/** | |
* Return true if the patterns provided contain any magic glob characters, | |
* given the options provided. | |
* | |
* Brace expansion is not considered "magic" unless the `magicalBraces` option | |
* is set, as brace expansion just turns one string into an array of strings. | |
* So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and | |
* `'xby'` both do not contain any magic glob characters, and it's treated the | |
* same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true` | |
* is in the options, brace expansion _is_ treated as a pattern having magic. | |
*/ | |
export const hasMagic = (pattern, options = {}) => { | |
if (!Array.isArray(pattern)) { | |
pattern = [pattern]; | |
} | |
for (const p of pattern) { | |
if (new Minimatch(p, options).hasMagic()) | |
return true; | |
} | |
return false; | |
}; | |
//# sourceMappingURL=has-magic.js.map |