aboutsummaryrefslogtreecommitdiff
path: root/node_modules/glob-base/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/glob-base/index.js')
-rw-r--r--node_modules/glob-base/index.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/glob-base/index.js b/node_modules/glob-base/index.js
new file mode 100644
index 000000000..564b4a885
--- /dev/null
+++ b/node_modules/glob-base/index.js
@@ -0,0 +1,51 @@
+/*!
+ * 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);
+}