| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | /*! * glob-base <https://github.com/jonschlinkert/glob-base> * * Copyright (c) 2015, Jon Schlinkert. * Licensed under the MIT License. */'use strict';var path = require('path');var parent = require('glob-parent');var isGlob = require('is-glob');module.exports = function globBase(pattern) {  if (typeof pattern !== 'string') {    throw new TypeError('glob-base expects a string.');  }  var res = {};  res.base = parent(pattern);  res.isGlob = isGlob(pattern);  if (res.base !== '.') {    res.glob = pattern.substr(res.base.length);    if (res.glob.charAt(0) === '/') {      res.glob = res.glob.substr(1);    }  } else {    res.glob = pattern;  }  if (!res.isGlob) {    res.base = dirname(pattern);    res.glob = res.base !== '.'      ? pattern.substr(res.base.length)      : pattern;  }  if (res.glob.substr(0, 2) === './') {    res.glob = res.glob.substr(2);  }  if (res.glob.charAt(0) === '/') {    res.glob = res.glob.substr(1);  }  return res;};function dirname(glob) {  if (glob.slice(-1) === '/') return glob;  return path.dirname(glob);}
 |