.
This commit is contained in:
		
							
								
								
									
										67
									
								
								qwen/nodejs/node_modules/validator/lib/isIP.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								qwen/nodejs/node_modules/validator/lib/isIP.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = isIP;
 | 
			
		||||
var _assertString = _interopRequireDefault(require("./util/assertString"));
 | 
			
		||||
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
 | 
			
		||||
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
 | 
			
		||||
/**
 | 
			
		||||
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(ipAddress) {
 | 
			
		||||
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 | 
			
		||||
  (0, _assertString.default)(ipAddress);
 | 
			
		||||
 | 
			
		||||
  // accessing 'arguments' for backwards compatibility: isIP(ipAddress [, version])
 | 
			
		||||
  // eslint-disable-next-line prefer-rest-params
 | 
			
		||||
  var version = (_typeof(options) === 'object' ? options.version : arguments[1]) || '';
 | 
			
		||||
  if (!version) {
 | 
			
		||||
    return isIP(ipAddress, {
 | 
			
		||||
      version: 4
 | 
			
		||||
    }) || isIP(ipAddress, {
 | 
			
		||||
      version: 6
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
  if (version.toString() === '4') {
 | 
			
		||||
    return IPv4AddressRegExp.test(ipAddress);
 | 
			
		||||
  }
 | 
			
		||||
  if (version.toString() === '6') {
 | 
			
		||||
    return IPv6AddressRegExp.test(ipAddress);
 | 
			
		||||
  }
 | 
			
		||||
  return false;
 | 
			
		||||
}
 | 
			
		||||
module.exports = exports.default;
 | 
			
		||||
module.exports.default = exports.default;
 | 
			
		||||
		Reference in New Issue
	
	Block a user