6123682e2a7ee053ef709431dd54f82399b04956c505b6767f0b7cebcca8a827.json 13 KB

1
  1. {"ast":null,"code":"/*!\n * URI.js - Mutating URLs\n * IPv6 Support\n *\n * Version: 1.19.11\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n\n(function (root, factory) {\n 'use strict';\n\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else {\n // Browser globals (root is window)\n root.IPv6 = factory(root);\n }\n})(this, function (root) {\n 'use strict';\n\n /*\n var _in = \"fe80:0000:0000:0000:0204:61ff:fe9d:f156\";\n var _out = IPv6.best(_in);\n var _expected = \"fe80::204:61ff:fe9d:f156\";\n console.log(_in, _out, _expected, _out === _expected);\n */\n\n // save current IPv6 variable, if any\n var _IPv6 = root && root.IPv6;\n function bestPresentation(address) {\n // based on:\n // Javascript to test an IPv6 address for proper format, and to\n // present the \"best text representation\" according to IETF Draft RFC at\n // http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04\n // 8 Feb 2010 Rich Brown, Dartware, LLC\n // Please feel free to use this code as long as you provide a link to\n // http://www.intermapper.com\n // http://intermapper.com/support/tools/IPV6-Validator.aspx\n // http://download.dartware.com/thirdparty/ipv6validator.js\n\n var _address = address.toLowerCase();\n var segments = _address.split(':');\n var length = segments.length;\n var total = 8;\n\n // trim colons (:: or ::a:b:c… or …a:b:c::)\n if (segments[0] === '' && segments[1] === '' && segments[2] === '') {\n // must have been ::\n // remove first two items\n segments.shift();\n segments.shift();\n } else if (segments[0] === '' && segments[1] === '') {\n // must have been ::xxxx\n // remove the first item\n segments.shift();\n } else if (segments[length - 1] === '' && segments[length - 2] === '') {\n // must have been xxxx::\n segments.pop();\n }\n length = segments.length;\n\n // adjust total segments for IPv4 trailer\n if (segments[length - 1].indexOf('.') !== -1) {\n // found a \".\" which means IPv4\n total = 7;\n }\n\n // fill empty segments them with \"0000\"\n var pos;\n for (pos = 0; pos < length; pos++) {\n if (segments[pos] === '') {\n break;\n }\n }\n if (pos < total) {\n segments.splice(pos, 1, '0000');\n while (segments.length < total) {\n segments.splice(pos, 0, '0000');\n }\n }\n\n // strip leading zeros\n var _segments;\n for (var i = 0; i < total; i++) {\n _segments = segments[i].split('');\n for (var j = 0; j < 3; j++) {\n if (_segments[0] === '0' && _segments.length > 1) {\n _segments.splice(0, 1);\n } else {\n break;\n }\n }\n segments[i] = _segments.join('');\n }\n\n // find longest sequence of zeroes and coalesce them into one segment\n var best = -1;\n var _best = 0;\n var _current = 0;\n var current = -1;\n var inzeroes = false;\n // i; already declared\n\n for (i = 0; i < total; i++) {\n if (inzeroes) {\n if (segments[i] === '0') {\n _current += 1;\n } else {\n inzeroes = false;\n if (_current > _best) {\n best = current;\n _best = _current;\n }\n }\n } else {\n if (segments[i] === '0') {\n inzeroes = true;\n current = i;\n _current = 1;\n }\n }\n }\n if (_current > _best) {\n best = current;\n _best = _current;\n }\n if (_best > 1) {\n segments.splice(best, _best, '');\n }\n length = segments.length;\n\n // assemble remaining segments\n var result = '';\n if (segments[0] === '') {\n result = ':';\n }\n for (i = 0; i < length; i++) {\n result += segments[i];\n if (i === length - 1) {\n break;\n }\n result += ':';\n }\n if (segments[length - 1] === '') {\n result += ':';\n }\n return result;\n }\n function noConflict() {\n /*jshint validthis: true */\n if (root.IPv6 === this) {\n root.IPv6 = _IPv6;\n }\n return this;\n }\n return {\n best: bestPresentation,\n noConflict: noConflict\n };\n});","map":{"version":3,"names":["root","factory","module","exports","define","amd","IPv6","_IPv6","bestPresentation","address","_address","toLowerCase","segments","split","length","total","shift","pop","indexOf","pos","splice","_segments","i","j","join","best","_best","_current","current","inzeroes","result","noConflict"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/urijs/src/IPv6.js"],"sourcesContent":["/*!\n * URI.js - Mutating URLs\n * IPv6 Support\n *\n * Version: 1.19.11\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n\n(function (root, factory) {\n 'use strict';\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else {\n // Browser globals (root is window)\n root.IPv6 = factory(root);\n }\n}(this, function (root) {\n 'use strict';\n\n /*\n var _in = \"fe80:0000:0000:0000:0204:61ff:fe9d:f156\";\n var _out = IPv6.best(_in);\n var _expected = \"fe80::204:61ff:fe9d:f156\";\n\n console.log(_in, _out, _expected, _out === _expected);\n */\n\n // save current IPv6 variable, if any\n var _IPv6 = root && root.IPv6;\n\n function bestPresentation(address) {\n // based on:\n // Javascript to test an IPv6 address for proper format, and to\n // present the \"best text representation\" according to IETF Draft RFC at\n // http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04\n // 8 Feb 2010 Rich Brown, Dartware, LLC\n // Please feel free to use this code as long as you provide a link to\n // http://www.intermapper.com\n // http://intermapper.com/support/tools/IPV6-Validator.aspx\n // http://download.dartware.com/thirdparty/ipv6validator.js\n\n var _address = address.toLowerCase();\n var segments = _address.split(':');\n var length = segments.length;\n var total = 8;\n\n // trim colons (:: or ::a:b:c… or …a:b:c::)\n if (segments[0] === '' && segments[1] === '' && segments[2] === '') {\n // must have been ::\n // remove first two items\n segments.shift();\n segments.shift();\n } else if (segments[0] === '' && segments[1] === '') {\n // must have been ::xxxx\n // remove the first item\n segments.shift();\n } else if (segments[length - 1] === '' && segments[length - 2] === '') {\n // must have been xxxx::\n segments.pop();\n }\n\n length = segments.length;\n\n // adjust total segments for IPv4 trailer\n if (segments[length - 1].indexOf('.') !== -1) {\n // found a \".\" which means IPv4\n total = 7;\n }\n\n // fill empty segments them with \"0000\"\n var pos;\n for (pos = 0; pos < length; pos++) {\n if (segments[pos] === '') {\n break;\n }\n }\n\n if (pos < total) {\n segments.splice(pos, 1, '0000');\n while (segments.length < total) {\n segments.splice(pos, 0, '0000');\n }\n }\n\n // strip leading zeros\n var _segments;\n for (var i = 0; i < total; i++) {\n _segments = segments[i].split('');\n for (var j = 0; j < 3 ; j++) {\n if (_segments[0] === '0' && _segments.length > 1) {\n _segments.splice(0,1);\n } else {\n break;\n }\n }\n\n segments[i] = _segments.join('');\n }\n\n // find longest sequence of zeroes and coalesce them into one segment\n var best = -1;\n var _best = 0;\n var _current = 0;\n var current = -1;\n var inzeroes = false;\n // i; already declared\n\n for (i = 0; i < total; i++) {\n if (inzeroes) {\n if (segments[i] === '0') {\n _current += 1;\n } else {\n inzeroes = false;\n if (_current > _best) {\n best = current;\n _best = _current;\n }\n }\n } else {\n if (segments[i] === '0') {\n inzeroes = true;\n current = i;\n _current = 1;\n }\n }\n }\n\n if (_current > _best) {\n best = current;\n _best = _current;\n }\n\n if (_best > 1) {\n segments.splice(best, _best, '');\n }\n\n length = segments.length;\n\n // assemble remaining segments\n var result = '';\n if (segments[0] === '') {\n result = ':';\n }\n\n for (i = 0; i < length; i++) {\n result += segments[i];\n if (i === length - 1) {\n break;\n }\n\n result += ':';\n }\n\n if (segments[length - 1] === '') {\n result += ':';\n }\n\n return result;\n }\n\n function noConflict() {\n /*jshint validthis: true */\n if (root.IPv6 === this) {\n root.IPv6 = _IPv6;\n }\n\n return this;\n }\n\n return {\n best: bestPresentation,\n noConflict: noConflict\n };\n}));\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}