aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/micromatch/lib/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/micromatch/lib/utils.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/micromatch/lib/utils.js149
1 files changed, 149 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/micromatch/lib/utils.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/micromatch/lib/utils.js
new file mode 100644
index 00000000..7c24a510
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/micromatch/lib/utils.js
@@ -0,0 +1,149 @@
+'use strict';
+
+var win32 = process && process.platform === 'win32';
+var path = require('path');
+var fileRe = require('filename-regex');
+var utils = module.exports;
+
+/**
+ * Module dependencies
+ */
+
+utils.diff = require('arr-diff');
+utils.unique = require('array-unique');
+utils.braces = require('braces');
+utils.brackets = require('expand-brackets');
+utils.extglob = require('extglob');
+utils.isExtglob = require('is-extglob');
+utils.isGlob = require('is-glob');
+utils.typeOf = require('kind-of');
+utils.normalize = require('normalize-path');
+utils.omit = require('object.omit');
+utils.parseGlob = require('parse-glob');
+utils.cache = require('regex-cache');
+
+/**
+ * Get the filename of a filepath
+ *
+ * @param {String} `string`
+ * @return {String}
+ */
+
+utils.filename = function filename(fp) {
+ var seg = fp.match(fileRe());
+ return seg && seg[0];
+};
+
+/**
+ * Returns a function that returns true if the given
+ * pattern is the same as a given `filepath`
+ *
+ * @param {String} `pattern`
+ * @return {Function}
+ */
+
+utils.isPath = function isPath(pattern, opts) {
+ opts = opts || {};
+ return function(fp) {
+ var unixified = utils.unixify(fp, opts);
+ if(opts.nocase){
+ return pattern.toLowerCase() === unixified.toLowerCase();
+ }
+ return pattern === unixified;
+ };
+};
+
+/**
+ * Returns a function that returns true if the given
+ * pattern contains a `filepath`
+ *
+ * @param {String} `pattern`
+ * @return {Function}
+ */
+
+utils.hasPath = function hasPath(pattern, opts) {
+ return function(fp) {
+ return utils.unixify(pattern, opts).indexOf(fp) !== -1;
+ };
+};
+
+/**
+ * Returns a function that returns true if the given
+ * pattern matches or contains a `filepath`
+ *
+ * @param {String} `pattern`
+ * @return {Function}
+ */
+
+utils.matchPath = function matchPath(pattern, opts) {
+ var fn = (opts && opts.contains)
+ ? utils.hasPath(pattern, opts)
+ : utils.isPath(pattern, opts);
+ return fn;
+};
+
+/**
+ * Returns a function that returns true if the given
+ * regex matches the `filename` of a file path.
+ *
+ * @param {RegExp} `re`
+ * @return {Boolean}
+ */
+
+utils.hasFilename = function hasFilename(re) {
+ return function(fp) {
+ var name = utils.filename(fp);
+ return name && re.test(name);
+ };
+};
+
+/**
+ * Coerce `val` to an array
+ *
+ * @param {*} val
+ * @return {Array}
+ */
+
+utils.arrayify = function arrayify(val) {
+ return !Array.isArray(val)
+ ? [val]
+ : val;
+};
+
+/**
+ * Normalize all slashes in a file path or glob pattern to
+ * forward slashes.
+ */
+
+utils.unixify = function unixify(fp, opts) {
+ if (opts && opts.unixify === false) return fp;
+ if (opts && opts.unixify === true || win32 || path.sep === '\\') {
+ return utils.normalize(fp, false);
+ }
+ if (opts && opts.unescape === true) {
+ return fp ? fp.toString().replace(/\\(\w)/g, '$1') : '';
+ }
+ return fp;
+};
+
+/**
+ * Escape/unescape utils
+ */
+
+utils.escapePath = function escapePath(fp) {
+ return fp.replace(/[\\.]/g, '\\$&');
+};
+
+utils.unescapeGlob = function unescapeGlob(fp) {
+ return fp.replace(/[\\"']/g, '');
+};
+
+utils.escapeRe = function escapeRe(str) {
+ return str.replace(/[-[\\$*+?.#^\s{}(|)\]]/g, '\\$&');
+};
+
+/**
+ * Expose `utils`
+ */
+
+module.exports = utils;