1
|
{"version":3,"sources":["../../../src/php/network/inet_pton.js"],"names":["module","exports","inet_pton","a","r","m","x","i","j","f","String","fromCharCode","match","split","length","parseInt","isNaN","join","Array"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,CAApB,EAAuB;AAAE;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;AACA,MAAIC,IAAIC,OAAOC,YAAf;;AAEA;AACAN,MAAIF,EAAES,KAAF,CAAQ,yBAAR,CAAJ;AACA,MAAIP,CAAJ,EAAO;AACLA,QAAIA,EAAE,CAAF,EAAKQ,KAAL,CAAW,GAAX,CAAJ;AACAR,QAAII,EAAEJ,EAAE,CAAF,CAAF,IAAUI,EAAEJ,EAAE,CAAF,CAAF,CAAV,GAAoBI,EAAEJ,EAAE,CAAF,CAAF,CAApB,GAA8BI,EAAEJ,EAAE,CAAF,CAAF,CAAlC;AACA;AACA,WAAOA,EAAES,MAAF,KAAa,CAAb,GAAiBT,CAAjB,GAAqB,KAA5B;AACD;AACDD,MAAI,mEAAJ;;AAEA;AACAC,MAAIF,EAAES,KAAF,CAAQR,CAAR,CAAJ;AACA,MAAIC,CAAJ,EAAO;AACL;AACA,SAAKG,IAAI,CAAT,EAAYA,IAAI,CAAhB,EAAmBA,GAAnB,EAAwB;AACtB;AACA,UAAIA,MAAM,CAAN,IAAWH,EAAEG,CAAF,EAAKM,MAAL,KAAgB,CAA/B,EAAkC;AAChC;AACD;AACDT,QAAEG,CAAF,IAAOH,EAAEG,CAAF,EAAKK,KAAL,CAAW,GAAX,CAAP;AACA,WAAKN,IAAI,CAAT,EAAYA,IAAIF,EAAEG,CAAF,EAAKM,MAArB,EAA6BP,GAA7B,EAAkC;AAChCF,UAAEG,CAAF,EAAKD,CAAL,IAAUQ,SAASV,EAAEG,CAAF,EAAKD,CAAL,CAAT,EAAkB,EAAlB,CAAV;AACA;AACA,YAAIS,MAAMX,EAAEG,CAAF,EAAKD,CAAL,CAAN,CAAJ,EAAoB;AAClB;AACA,iBAAO,KAAP;AACD;AACDF,UAAEG,CAAF,EAAKD,CAAL,IAAUE,EAAEJ,EAAEG,CAAF,EAAKD,CAAL,KAAW,CAAb,IAAkBE,EAAEJ,EAAEG,CAAF,EAAKD,CAAL,IAAU,IAAZ,CAA5B;AACD;AACDF,QAAEG,CAAF,IAAOH,EAAEG,CAAF,EAAKS,IAAL,CAAU,EAAV,CAAP;AACD;AACDX,QAAID,EAAE,CAAF,EAAKS,MAAL,GAAcT,EAAE,CAAF,EAAKS,MAAvB;AACA,QAAIR,MAAM,EAAV,EAAc;AACZ,aAAOD,EAAE,CAAF,IAAOA,EAAE,CAAF,CAAd;AACD,KAFD,MAEO,IAAIC,IAAI,EAAJ,IAAUD,EAAE,CAAF,EAAKS,MAAL,GAAc,CAA5B,EAA+B;AACpC,aAAOT,EAAE,CAAF,IAAQ,IAAIa,KAAJ,CAAU,KAAKZ,CAAL,GAAS,CAAnB,CAAD,CACXW,IADW,CACN,MADM,CAAP,GACWZ,EAAE,CAAF,CADlB;AAED;AACF;;AAED;AACA,SAAO,KAAP;AACD,CAzDD","file":"inet_pton.js","sourcesContent":["module.exports = function inet_pton (a) { // eslint-disable-line camelcase\n // discuss at: http://locutus.io/php/inet_pton/\n // original by: Theriault (https://github.com/Theriault)\n // example 1: inet_pton('::')\n // returns 1: '\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0'\n // example 2: inet_pton('127.0.0.1')\n // returns 2: '\\x7F\\x00\\x00\\x01'\n\n var r\n var m\n var x\n var i\n var j\n var f = String.fromCharCode\n\n // IPv4\n m = a.match(/^(?:\\d{1,3}(?:\\.|$)){4}/)\n if (m) {\n m = m[0].split('.')\n m = f(m[0]) + f(m[1]) + f(m[2]) + f(m[3])\n // Return if 4 bytes, otherwise false.\n return m.length === 4 ? m : false\n }\n r = /^((?:[\\da-f]{1,4}(?::|)){0,8})(::)?((?:[\\da-f]{1,4}(?::|)){0,8})$/\n\n // IPv6\n m = a.match(r)\n if (m) {\n // Translate each hexadecimal value.\n for (j = 1; j < 4; j++) {\n // Indice 2 is :: and if no length, continue.\n if (j === 2 || m[j].length === 0) {\n continue\n }\n m[j] = m[j].split(':')\n for (i = 0; i < m[j].length; i++) {\n m[j][i] = parseInt(m[j][i], 16)\n // Would be NaN if it was blank, return false.\n if (isNaN(m[j][i])) {\n // Invalid IP.\n return false\n }\n m[j][i] = f(m[j][i] >> 8) + f(m[j][i] & 0xFF)\n }\n m[j] = m[j].join('')\n }\n x = m[1].length + m[3].length\n if (x === 16) {\n return m[1] + m[3]\n } else if (x < 16 && m[2].length > 0) {\n return m[1] + (new Array(16 - x + 1))\n .join('\\x00') + m[3]\n }\n }\n\n // Invalid IP\n return false\n}\n"]}
|