summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/ip-regex
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/ip-regex')
-rw-r--r--deps/npm/node_modules/ip-regex/index.js24
-rw-r--r--deps/npm/node_modules/ip-regex/license21
-rw-r--r--deps/npm/node_modules/ip-regex/package.json77
-rw-r--r--deps/npm/node_modules/ip-regex/readme.md63
4 files changed, 185 insertions, 0 deletions
diff --git a/deps/npm/node_modules/ip-regex/index.js b/deps/npm/node_modules/ip-regex/index.js
new file mode 100644
index 0000000000..973e5f41c2
--- /dev/null
+++ b/deps/npm/node_modules/ip-regex/index.js
@@ -0,0 +1,24 @@
+'use strict';
+
+const v4 = '(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}';
+
+const v6seg = '[0-9a-fA-F]{1,4}';
+const v6 = `
+(
+(?:${v6seg}:){7}(?:${v6seg}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
+(?:${v6seg}:){6}(?:${v4}|:${v6seg}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
+(?:${v6seg}:){5}(?::${v4}|(:${v6seg}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
+(?:${v6seg}:){4}(?:(:${v6seg}){0,1}:${v4}|(:${v6seg}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
+(?:${v6seg}:){3}(?:(:${v6seg}){0,2}:${v4}|(:${v6seg}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
+(?:${v6seg}:){2}(?:(:${v6seg}){0,3}:${v4}|(:${v6seg}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
+(?:${v6seg}:){1}(?:(:${v6seg}){0,4}:${v4}|(:${v6seg}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
+(?::((?::${v6seg}){0,5}:${v4}|(?::${v6seg}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
+)(%[0-9a-zA-Z]{1,})? // %eth0 %1
+`.replace(/\s*\/\/.*$/gm, '').replace(/\n/g, '').trim();
+
+const ip = module.exports = opts => opts && opts.exact ?
+ new RegExp(`(?:^${v4}$)|(?:^${v6}$)`) :
+ new RegExp(`(?:${v4})|(?:${v6})`, 'g');
+
+ip.v4 = opts => opts && opts.exact ? new RegExp(`^${v4}$`) : new RegExp(v4, 'g');
+ip.v6 = opts => opts && opts.exact ? new RegExp(`^${v6}$`) : new RegExp(v6, 'g');
diff --git a/deps/npm/node_modules/ip-regex/license b/deps/npm/node_modules/ip-regex/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/ip-regex/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+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/deps/npm/node_modules/ip-regex/package.json b/deps/npm/node_modules/ip-regex/package.json
new file mode 100644
index 0000000000..4d71de6458
--- /dev/null
+++ b/deps/npm/node_modules/ip-regex/package.json
@@ -0,0 +1,77 @@
+{
+ "_from": "ip-regex@^2.1.0",
+ "_id": "ip-regex@2.1.0",
+ "_inBundle": false,
+ "_integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
+ "_location": "/ip-regex",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "ip-regex@^2.1.0",
+ "name": "ip-regex",
+ "escapedName": "ip-regex",
+ "rawSpec": "^2.1.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.1.0"
+ },
+ "_requiredBy": [
+ "/cidr-regex"
+ ],
+ "_resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "_shasum": "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9",
+ "_spec": "ip-regex@^2.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/cidr-regex",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/ip-regex/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Regular expression for matching IP addresses (IPv4 & IPv6)",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/ip-regex#readme",
+ "keywords": [
+ "ip",
+ "ipv6",
+ "ipv4",
+ "regex",
+ "regexp",
+ "re",
+ "match",
+ "test",
+ "find",
+ "text",
+ "pattern",
+ "internet",
+ "protocol",
+ "address",
+ "validate"
+ ],
+ "license": "MIT",
+ "name": "ip-regex",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/ip-regex.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "2.1.0",
+ "xo": {
+ "esnext": true
+ }
+}
diff --git a/deps/npm/node_modules/ip-regex/readme.md b/deps/npm/node_modules/ip-regex/readme.md
new file mode 100644
index 0000000000..66bc7f2731
--- /dev/null
+++ b/deps/npm/node_modules/ip-regex/readme.md
@@ -0,0 +1,63 @@
+# ip-regex [![Build Status](https://travis-ci.org/sindresorhus/ip-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ip-regex)
+
+> Regular expression for matching IP addresses
+
+
+## Install
+
+```
+$ npm install --save ip-regex
+```
+
+
+## Usage
+
+```js
+const ipRegex = require('ip-regex');
+
+// Contains an IP address?
+ipRegex().test('unicorn 192.168.0.1');
+//=> true
+
+// Is an IP address?
+ipRegex({exact: true}).test('unicorn 192.168.0.1');
+//=> false
+
+ipRegex.v6({exact: true}).test('1:2:3:4:5:6:7:8');
+//=> true
+
+'unicorn 192.168.0.1 cake 1:2:3:4:5:6:7:8 rainbow'.match(ipRegex());
+//=> ['192.168.0.1', '1:2:3:4:5:6:7:8']
+```
+
+
+## API
+
+### ipRegex([options])
+
+Returns a regex for matching both IPv4 and IPv6.
+
+### ipRegex.v4([options])
+
+Returns a regex for matching IPv4.
+
+### ipRegex.v6([options])
+
+Returns a regex for matching IPv6.
+
+#### options.exact
+
+Type: `boolean`<br>
+Default: `false` *(Matches any IP address in a string)*
+
+Only match an exact string. Useful with `RegExp#test()` to check if a string is an IP address.
+
+
+## Related
+
+- [is-ip](https://github.com/sindresorhus/is-ip) - Check if a string is an IP address
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)