| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- exports.default = isIP;
 
- var _assertString = _interopRequireDefault(require("./util/assertString"));
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- /**
 
- 11.3.  Examples
 
-    The following addresses
 
-              fe80::1234 (on the 1st link of the node)
 
-              ff02::5678 (on the 5th link of the node)
 
-              ff08::9abc (on the 10th organization of the node)
 
-    would be represented as follows:
 
-              fe80::1234%1
 
-              ff02::5678%5
 
-              ff08::9abc%10
 
-    (Here we assume a natural translation from a zone index to the
 
-    <zone_id> part, where the Nth zone of any scope is translated into
 
-    "N".)
 
-    If we use interface names as <zone_id>, those addresses could also be
 
-    represented as follows:
 
-             fe80::1234%ne0
 
-             ff02::5678%pvc1.3
 
-             ff08::9abc%interface10
 
-    where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
 
-    to the 5th link, and "interface10" belongs to the 10th organization.
 
-  * * */
 
- var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
 
- var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
 
- var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
 
- var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
 
- var IPv6AddressRegExp = new RegExp('^(' + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ')(%[0-9a-zA-Z-.:]{1,})?$');
 
- function isIP(str) {
 
-   var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
 
-   (0, _assertString.default)(str);
 
-   version = String(version);
 
-   if (!version) {
 
-     return isIP(str, 4) || isIP(str, 6);
 
-   }
 
-   if (version === '4') {
 
-     return IPv4AddressRegExp.test(str);
 
-   }
 
-   if (version === '6') {
 
-     return IPv6AddressRegExp.test(str);
 
-   }
 
-   return false;
 
- }
 
- module.exports = exports.default;
 
- module.exports.default = exports.default;
 
 
  |