1
|
{"version":3,"sources":["../../../src/php/xml/utf8_encode.js"],"names":["module","exports","utf8_encode","argString","string","utftext","start","end","stringl","length","n","c1","charCodeAt","enc","String","fromCharCode","RangeError","c2","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,SAAtB,EAAiC;AAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,cAAc,IAAd,IAAsB,OAAOA,SAAP,KAAqB,WAA/C,EAA4D;AAC1D,WAAO,EAAP;AACD;;AAED;AACA,MAAIC,SAAUD,YAAY,EAA1B;AACA,MAAIE,UAAU,EAAd;AACA,MAAIC,KAAJ;AACA,MAAIC,GAAJ;AACA,MAAIC,UAAU,CAAd;;AAEAF,UAAQC,MAAM,CAAd;AACAC,YAAUJ,OAAOK,MAAjB;AACA,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIF,OAApB,EAA6BE,GAA7B,EAAkC;AAChC,QAAIC,KAAKP,OAAOQ,UAAP,CAAkBF,CAAlB,CAAT;AACA,QAAIG,MAAM,IAAV;;AAEA,QAAIF,KAAK,GAAT,EAAc;AACZJ;AACD,KAFD,MAEO,IAAII,KAAK,GAAL,IAAYA,KAAK,IAArB,EAA2B;AAChCE,YAAMC,OAAOC,YAAP,CACHJ,MAAM,CAAP,GAAY,GADR,EACcA,KAAK,EAAN,GAAY,GADzB,CAAN;AAGD,KAJM,MAIA,IAAI,CAACA,KAAK,MAAN,MAAkB,MAAtB,EAA8B;AACnCE,YAAMC,OAAOC,YAAP,CACHJ,MAAM,EAAP,GAAa,GADT,EACgBA,MAAM,CAAP,GAAY,EAAb,GAAmB,GADjC,EACuCA,KAAK,EAAN,GAAY,GADlD,CAAN;AAGD,KAJM,MAIA;AACL;AACA,UAAI,CAACA,KAAK,MAAN,MAAkB,MAAtB,EAA8B;AAC5B,cAAM,IAAIK,UAAJ,CAAe,kCAAkCN,CAAjD,CAAN;AACD;AACD,UAAIO,KAAKb,OAAOQ,UAAP,CAAkB,EAAEF,CAApB,CAAT;AACA,UAAI,CAACO,KAAK,MAAN,MAAkB,MAAtB,EAA8B;AAC5B,cAAM,IAAID,UAAJ,CAAe,kCAAkCN,IAAI,CAAtC,CAAf,CAAN;AACD;AACDC,WAAK,CAAC,CAACA,KAAK,KAAN,KAAgB,EAAjB,KAAwBM,KAAK,KAA7B,IAAsC,OAA3C;AACAJ,YAAMC,OAAOC,YAAP,CACHJ,MAAM,EAAP,GAAa,GADT,EACgBA,MAAM,EAAP,GAAa,EAAd,GAAoB,GADlC,EACyCA,MAAM,CAAP,GAAY,EAAb,GAAmB,GAD1D,EACgEA,KAAK,EAAN,GAAY,GAD3E,CAAN;AAGD;AACD,QAAIE,QAAQ,IAAZ,EAAkB;AAChB,UAAIN,MAAMD,KAAV,EAAiB;AACfD,mBAAWD,OAAOc,KAAP,CAAaZ,KAAb,EAAoBC,GAApB,CAAX;AACD;AACDF,iBAAWQ,GAAX;AACAP,cAAQC,MAAMG,IAAI,CAAlB;AACD;AACF;;AAED,MAAIH,MAAMD,KAAV,EAAiB;AACfD,eAAWD,OAAOc,KAAP,CAAaZ,KAAb,EAAoBE,OAApB,CAAX;AACD;;AAED,SAAOH,OAAP;AACD,CAvED","file":"utf8_encode.js","sourcesContent":["module.exports = function utf8_encode (argString) { // eslint-disable-line camelcase\n // discuss at: http://locutus.io/php/utf8_encode/\n // original by: Webtoolkit.info (http://www.webtoolkit.info/)\n // improved by: Kevin van Zonneveld (http://kvz.io)\n // improved by: sowberry\n // improved by: Jack\n // improved by: Yves Sucaet\n // improved by: kirilloid\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Ulrich\n // bugfixed by: Rafał Kukawski (http://blog.kukawski.pl)\n // bugfixed by: kirilloid\n // example 1: utf8_encode('Kevin van Zonneveld')\n // returns 1: 'Kevin van Zonneveld'\n\n if (argString === null || typeof argString === 'undefined') {\n return ''\n }\n\n // .replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n var string = (argString + '')\n var utftext = ''\n var start\n var end\n var stringl = 0\n\n start = end = 0\n stringl = string.length\n for (var n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n)\n var enc = null\n\n if (c1 < 128) {\n end++\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode(\n (c1 >> 6) | 192, (c1 & 63) | 128\n )\n } else if ((c1 & 0xF800) !== 0xD800) {\n enc = String.fromCharCode(\n (c1 >> 12) | 224, ((c1 >> 6) & 63) | 128, (c1 & 63) | 128\n )\n } else {\n // surrogate pairs\n if ((c1 & 0xFC00) !== 0xD800) {\n throw new RangeError('Unmatched trail surrogate at ' + n)\n }\n var c2 = string.charCodeAt(++n)\n if ((c2 & 0xFC00) !== 0xDC00) {\n throw new RangeError('Unmatched lead surrogate at ' + (n - 1))\n }\n c1 = ((c1 & 0x3FF) << 10) + (c2 & 0x3FF) + 0x10000\n enc = String.fromCharCode(\n (c1 >> 18) | 240, ((c1 >> 12) & 63) | 128, ((c1 >> 6) & 63) | 128, (c1 & 63) | 128\n )\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.slice(start, end)\n }\n utftext += enc\n start = end = n + 1\n }\n }\n\n if (end > start) {\n utftext += string.slice(start, stringl)\n }\n\n return utftext\n}\n"]}
|