src/index.js
function isglob(str, { strict = true } = {}) {
  if (str === '') return false;
  let match, rgx = strict ? STRICT : RELAXED;

  while ((match = rgx.exec(str))) {
    if (match[2]) return true;
    let idx = match.index + match[0].length;

    // if an open bracket/brace/paren is escaped,
    // set the index to the next closing character
    let open = match[1];
    let close = open ? CHARS[open] : null;
    if (open && close) {
      let n = str.indexOf(close, idx);
      if (n !== -1)  idx = n + 1;
    }

    str = str.slice(idx);
  }
  return false;
}
function isglob(str, { strict = true } = {}) {
  if (str === '') return false;
  let match, rgx = strict ? STRICT : RELAXED;

  while ((match = rgx.exec(str))) {
    if (match[2]) return true;
    let idx = match.index + match[0].length;

    // if an open bracket/brace/paren is escaped,
    // set the index to the next closing character
    let open = match[1];
    let close = open ? CHARS[open] : null;
    if (open && close) {
      let n = str.indexOf(close, idx);
      if (n !== -1)  idx = n + 1;
    }

    str = str.slice(idx);
  }
  return false;
}
function isglob ( str , { strict = true } = { } ) { if ( str === '' ) return false ; let match , rgx = strict ? STRICT : RELAXED ; while ( ( match = rgx . exec ( str ) ) ) { if ( match [ 2 ] ) return true ; let idx = match . index + match [ 0 ] . length ; // if an open bracket/brace/paren is escaped, // set the index to the next closing character let open = match [ 1 ] ; let close = open ? CHARS [ open ] : null ; if ( open && close ) { let n = str . indexOf ( close , idx ) ; if ( n !== - 1 ) idx = n + 1 ; } str = str . slice ( idx ) ; } return false ; }
Detect if a string cointains glob
@param {String} str Input string
@param {Object} [options] Configuration object
@param {Boolean} [options.strict=true] Use relaxed regex if true
@returns {Boolean} true if string contains glob
Detect if a string cointains glob