26 lines
547 B
JavaScript
Executable File
26 lines
547 B
JavaScript
Executable File
/*!
|
|
* is-glob <https://github.com/jonschlinkert/is-glob>
|
|
*
|
|
* Copyright (c) 2014-2016, Jon Schlinkert.
|
|
* Licensed under the MIT License.
|
|
*/
|
|
|
|
var isExtglob = require('is-extglob');
|
|
|
|
module.exports = function isGlob(str) {
|
|
if (typeof str !== 'string' || str === '') {
|
|
return false;
|
|
}
|
|
|
|
if (isExtglob(str)) return true;
|
|
|
|
var regex = /(\\).|([*?]|\[.*\]|\{.*\}|\(.*\|.*\)|^!)/;
|
|
var match;
|
|
|
|
while ((match = regex.exec(str))) {
|
|
if (match[2]) return true;
|
|
str = str.slice(match.index + match[0].length);
|
|
}
|
|
return false;
|
|
};
|