23 lines
		
	
	
		
			917 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			917 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| 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
 |