aboutsummaryrefslogtreecommitdiff
path: root/node_modules/extglob
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
committerFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
commitabd94a7f5a50f43c797a11b53549ae48fff667c3 (patch)
treeab8ed457f65cdd72e13e0571d2975729428f1551 /node_modules/extglob
parenta0247c6a3fd6a09a41a7e35a3441324c4dcb58be (diff)
downloadwallet-core-abd94a7f5a50f43c797a11b53549ae48fff667c3.tar.xz
add node_modules to address #4364
Diffstat (limited to 'node_modules/extglob')
-rw-r--r--node_modules/extglob/LICENSE21
-rw-r--r--node_modules/extglob/README.md88
-rw-r--r--node_modules/extglob/index.js178
-rw-r--r--node_modules/extglob/package.json116
4 files changed, 403 insertions, 0 deletions
diff --git a/node_modules/extglob/LICENSE b/node_modules/extglob/LICENSE
new file mode 100644
index 000000000..65f90aca8
--- /dev/null
+++ b/node_modules/extglob/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/extglob/README.md b/node_modules/extglob/README.md
new file mode 100644
index 000000000..666440669
--- /dev/null
+++ b/node_modules/extglob/README.md
@@ -0,0 +1,88 @@
+# extglob [![NPM version](https://badge.fury.io/js/extglob.svg)](http://badge.fury.io/js/extglob) [![Build Status](https://travis-ci.org/jonschlinkert/extglob.svg)](https://travis-ci.org/jonschlinkert/extglob)
+
+> Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns.
+
+Install with [npm](https://www.npmjs.com/)
+
+```sh
+$ npm i extglob --save
+```
+
+Used by [micromatch](https://github.com/jonschlinkert/micromatch).
+
+**Features**
+
+* Convert an extglob string to a regex-compatible string. **Only converts extglobs**, to handle full globs use [micromatch](https://github.com/jonschlinkert/micromatch).
+* Pass `{regex: true}` to return a regex
+* Handles nested patterns
+* More complete (and correct) support than [minimatch](https://github.com/isaacs/minimatch)
+
+## Usage
+
+```js
+var extglob = require('extglob');
+
+extglob('?(z)');
+//=> '(?:z)?'
+extglob('*(z)');
+//=> '(?:z)*'
+extglob('+(z)');
+//=> '(?:z)+'
+extglob('@(z)');
+//=> '(?:z)'
+extglob('!(z)');
+//=> '(?!^(?:(?!z)[^/]*?)).*$'
+```
+
+**Optionally return regex**
+
+```js
+extglob('!(z)', {regex: true});
+//=> /(?!^(?:(?!z)[^/]*?)).*$/
+```
+
+## Extglob patterns
+
+To learn more about how extglobs work, see the docs for [Bash pattern matching](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html):
+
+* `?(pattern)`: Match zero or one occurrence of the given pattern.
+* `*(pattern)`: Match zero or more occurrences of the given pattern.
+* `+(pattern)`: Match one or more occurrences of the given pattern.
+* `@(pattern)`: Match one of the given pattern.
+* `!(pattern)`: Match anything except one of the given pattern.
+
+## Related
+
+* [braces](https://github.com/jonschlinkert/braces): Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces… [more](https://github.com/jonschlinkert/braces)
+* [expand-brackets](https://github.com/jonschlinkert/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns.
+* [expand-range](https://github.com/jonschlinkert/expand-range): Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… [more](https://github.com/jonschlinkert/expand-range)
+* [fill-range](https://github.com/jonschlinkert/fill-range): Fill in a range of numbers or letters, optionally passing an increment or multiplier to… [more](https://github.com/jonschlinkert/fill-range)
+* [micromatch](https://github.com/jonschlinkert/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… [more](https://github.com/jonschlinkert/micromatch)
+
+## Run tests
+
+Install dev dependencies:
+
+```sh
+$ npm i -d && npm test
+```
+
+## Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/extglob/issues/new)
+
+## Author
+
+**Jon Schlinkert**
+
++ [github/jonschlinkert](https://github.com/jonschlinkert)
++ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
+
+## License
+
+Copyright © 2015 Jon Schlinkert
+Released under the MIT license.
+
+***
+
+_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on August 01, 2015._ \ No newline at end of file
diff --git a/node_modules/extglob/index.js b/node_modules/extglob/index.js
new file mode 100644
index 000000000..2e774d4aa
--- /dev/null
+++ b/node_modules/extglob/index.js
@@ -0,0 +1,178 @@
+/*!
+ * extglob <https://github.com/jonschlinkert/extglob>
+ *
+ * Copyright (c) 2015, Jon Schlinkert.
+ * Licensed under the MIT License.
+ */
+
+'use strict';
+
+/**
+ * Module dependencies
+ */
+
+var isExtglob = require('is-extglob');
+var re, cache = {};
+
+/**
+ * Expose `extglob`
+ */
+
+module.exports = extglob;
+
+/**
+ * Convert the given extglob `string` to a regex-compatible
+ * string.
+ *
+ * ```js
+ * var extglob = require('extglob');
+ * extglob('!(a?(b))');
+ * //=> '(?!a(?:b)?)[^/]*?'
+ * ```
+ *
+ * @param {String} `str` The string to convert.
+ * @param {Object} `options`
+ * @option {Boolean} [options] `esc` If `false` special characters will not be escaped. Defaults to `true`.
+ * @option {Boolean} [options] `regex` If `true` a regular expression is returned instead of a string.
+ * @return {String}
+ * @api public
+ */
+
+
+function extglob(str, opts) {
+ opts = opts || {};
+ var o = {}, i = 0;
+
+ // fix common character reversals
+ // '*!(.js)' => '*.!(js)'
+ str = str.replace(/!\(([^\w*()])/g, '$1!(');
+
+ // support file extension negation
+ str = str.replace(/([*\/])\.!\([*]\)/g, function (m, ch) {
+ if (ch === '/') {
+ return escape('\\/[^.]+');
+ }
+ return escape('[^.]+');
+ });
+
+ // create a unique key for caching by
+ // combining the string and options
+ var key = str
+ + String(!!opts.regex)
+ + String(!!opts.contains)
+ + String(!!opts.escape);
+
+ if (cache.hasOwnProperty(key)) {
+ return cache[key];
+ }
+
+ if (!(re instanceof RegExp)) {
+ re = regex();
+ }
+
+ opts.negate = false;
+ var m;
+
+ while (m = re.exec(str)) {
+ var prefix = m[1];
+ var inner = m[3];
+ if (prefix === '!') {
+ opts.negate = true;
+ }
+
+ var id = '__EXTGLOB_' + (i++) + '__';
+ // use the prefix of the _last_ (outtermost) pattern
+ o[id] = wrap(inner, prefix, opts.escape);
+ str = str.split(m[0]).join(id);
+ }
+
+ var keys = Object.keys(o);
+ var len = keys.length;
+
+ // we have to loop again to allow us to convert
+ // patterns in reverse order (starting with the
+ // innermost/last pattern first)
+ while (len--) {
+ var prop = keys[len];
+ str = str.split(prop).join(o[prop]);
+ }
+
+ var result = opts.regex
+ ? toRegex(str, opts.contains, opts.negate)
+ : str;
+
+ result = result.split('.').join('\\.');
+
+ // cache the result and return it
+ return (cache[key] = result);
+}
+
+/**
+ * Convert `string` to a regex string.
+ *
+ * @param {String} `str`
+ * @param {String} `prefix` Character that determines how to wrap the string.
+ * @param {Boolean} `esc` If `false` special characters will not be escaped. Defaults to `true`.
+ * @return {String}
+ */
+
+function wrap(inner, prefix, esc) {
+ if (esc) inner = escape(inner);
+
+ switch (prefix) {
+ case '!':
+ return '(?!' + inner + ')[^/]' + (esc ? '%%%~' : '*?');
+ case '@':
+ return '(?:' + inner + ')';
+ case '+':
+ return '(?:' + inner + ')+';
+ case '*':
+ return '(?:' + inner + ')' + (esc ? '%%' : '*')
+ case '?':
+ return '(?:' + inner + '|)';
+ default:
+ return inner;
+ }
+}
+
+function escape(str) {
+ str = str.split('*').join('[^/]%%%~');
+ str = str.split('.').join('\\.');
+ return str;
+}
+
+/**
+ * extglob regex.
+ */
+
+function regex() {
+ return /(\\?[@?!+*$]\\?)(\(([^()]*?)\))/;
+}
+
+/**
+ * Negation regex
+ */
+
+function negate(str) {
+ return '(?!^' + str + ').*$';
+}
+
+/**
+ * Create the regex to do the matching. If
+ * the leading character in the `pattern` is `!`
+ * a negation regex is returned.
+ *
+ * @param {String} `pattern`
+ * @param {Boolean} `contains` Allow loose matching.
+ * @param {Boolean} `isNegated` True if the pattern is a negation pattern.
+ */
+
+function toRegex(pattern, contains, isNegated) {
+ var prefix = contains ? '^' : '';
+ var after = contains ? '$' : '';
+ pattern = ('(?:' + pattern + ')' + after);
+ if (isNegated) {
+ pattern = prefix + negate(pattern);
+ }
+ return new RegExp(prefix + pattern);
+}
diff --git a/node_modules/extglob/package.json b/node_modules/extglob/package.json
new file mode 100644
index 000000000..ae18065a2
--- /dev/null
+++ b/node_modules/extglob/package.json
@@ -0,0 +1,116 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "extglob@^0.3.1",
+ "scope": null,
+ "escapedName": "extglob",
+ "name": "extglob",
+ "rawSpec": "^0.3.1",
+ "spec": ">=0.3.1 <0.4.0",
+ "type": "range"
+ },
+ "/home/dold/repos/taler/wallet-webex/node_modules/micromatch"
+ ]
+ ],
+ "_from": "extglob@>=0.3.1 <0.4.0",
+ "_id": "extglob@0.3.2",
+ "_inCache": true,
+ "_location": "/extglob",
+ "_nodeVersion": "5.3.0",
+ "_npmUser": {
+ "name": "jonschlinkert",
+ "email": "github@sellside.com"
+ },
+ "_npmVersion": "3.3.12",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "extglob@^0.3.1",
+ "scope": null,
+ "escapedName": "extglob",
+ "name": "extglob",
+ "rawSpec": "^0.3.1",
+ "spec": ">=0.3.1 <0.4.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/micromatch"
+ ],
+ "_resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "_shasum": "2e18ff3d2f49ab2765cec9023f011daa8d8349a1",
+ "_shrinkwrap": null,
+ "_spec": "extglob@^0.3.1",
+ "_where": "/home/dold/repos/taler/wallet-webex/node_modules/micromatch",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/extglob/issues"
+ },
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
+ "description": "Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns.",
+ "devDependencies": {
+ "ansi-green": "^0.1.1",
+ "micromatch": "^2.1.6",
+ "minimatch": "^2.0.1",
+ "minimist": "^1.1.0",
+ "mocha": "*",
+ "should": "*",
+ "success-symbol": "^0.1.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "2e18ff3d2f49ab2765cec9023f011daa8d8349a1",
+ "tarball": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "8c3f38bbd9e0afaf31a87e411c0d15532434ef41",
+ "homepage": "https://github.com/jonschlinkert/extglob",
+ "keywords": [
+ "bash",
+ "extended",
+ "extglob",
+ "glob",
+ "ksh",
+ "match",
+ "wildcard"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "jonschlinkert",
+ "email": "github@sellside.com"
+ }
+ ],
+ "name": "extglob",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jonschlinkert/extglob.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "related": {
+ "list": [
+ "micromatch",
+ "expand-brackets",
+ "braces",
+ "fill-range",
+ "expand-range"
+ ]
+ }
+ },
+ "version": "0.3.2"
+}