summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/xml/utf8_decode.js.map
blob: 3d963ab635a57c6eb43b3f426c13f5feecafb08b (plain) (blame)
1
{"version":3,"sources":["../../../src/php/xml/utf8_decode.js"],"names":["module","exports","utf8_decode","strData","tmpArr","i","c1","seqlen","length","charCodeAt","ai","push","String","fromCharCode","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,OAAtB,EAA+B;AAAE;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,SAAS,EAAb;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,KAAK,CAAT;AACA,MAAIC,SAAS,CAAb;;AAEAJ,aAAW,EAAX;;AAEA,SAAOE,IAAIF,QAAQK,MAAnB,EAA2B;AACzBF,SAAKH,QAAQM,UAAR,CAAmBJ,CAAnB,IAAwB,IAA7B;AACAE,aAAS,CAAT;;AAEA;AACA,QAAID,MAAM,IAAV,EAAgB;AACdA,WAAMA,KAAK,IAAX;AACAC,eAAS,CAAT;AACD,KAHD,MAGO,IAAID,MAAM,IAAV,EAAgB;AACrBA,WAAMA,KAAK,IAAX;AACAC,eAAS,CAAT;AACD,KAHM,MAGA,IAAID,MAAM,IAAV,EAAgB;AACrBA,WAAMA,KAAK,IAAX;AACAC,eAAS,CAAT;AACD,KAHM,MAGA;AACLD,WAAMA,KAAK,IAAX;AACAC,eAAS,CAAT;AACD;;AAED,SAAK,IAAIG,KAAK,CAAd,EAAiBA,KAAKH,MAAtB,EAA8B,EAAEG,EAAhC,EAAoC;AAClCJ,WAAOA,MAAM,IAAP,GAAgBH,QAAQM,UAAR,CAAmBC,KAAKL,CAAxB,IAA6B,IAAnD;AACD;;AAED,QAAIE,WAAW,CAAf,EAAkB;AAChBD,YAAM,OAAN;AACAF,aAAOO,IAAP,CAAYC,OAAOC,YAAP,CAAoB,SAAWP,MAAM,EAAP,GAAa,KAA3C,CAAZ;AACAF,aAAOO,IAAP,CAAYC,OAAOC,YAAP,CAAoB,SAAUP,KAAK,KAAnC,CAAZ;AACD,KAJD,MAIO;AACLF,aAAOO,IAAP,CAAYC,OAAOC,YAAP,CAAoBP,EAApB,CAAZ;AACD;;AAEDD,SAAKE,MAAL;AACD;;AAED,SAAOH,OAAOU,IAAP,CAAY,EAAZ,CAAP;AACD,CAzDD","file":"utf8_decode.js","sourcesContent":["module.exports = function utf8_decode (strData) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/utf8_decode/\n  // original by: Webtoolkit.info (http://www.webtoolkit.info/)\n  //    input by: Aman Gupta\n  //    input by: Brett Zamir (http://brett-zamir.me)\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // improved by: Norman \"zEh\" Fuchs\n  // bugfixed by: hitwork\n  // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n  // bugfixed by: Kevin van Zonneveld (http://kvz.io)\n  // bugfixed by: kirilloid\n  // bugfixed by: w35l3y (http://www.wesley.eti.br)\n  //   example 1: utf8_decode('Kevin van Zonneveld')\n  //   returns 1: 'Kevin van Zonneveld'\n\n  var tmpArr = []\n  var i = 0\n  var c1 = 0\n  var seqlen = 0\n\n  strData += ''\n\n  while (i < strData.length) {\n    c1 = strData.charCodeAt(i) & 0xFF\n    seqlen = 0\n\n    // http://en.wikipedia.org/wiki/UTF-8#Codepage_layout\n    if (c1 <= 0xBF) {\n      c1 = (c1 & 0x7F)\n      seqlen = 1\n    } else if (c1 <= 0xDF) {\n      c1 = (c1 & 0x1F)\n      seqlen = 2\n    } else if (c1 <= 0xEF) {\n      c1 = (c1 & 0x0F)\n      seqlen = 3\n    } else {\n      c1 = (c1 & 0x07)\n      seqlen = 4\n    }\n\n    for (var ai = 1; ai < seqlen; ++ai) {\n      c1 = ((c1 << 0x06) | (strData.charCodeAt(ai + i) & 0x3F))\n    }\n\n    if (seqlen === 4) {\n      c1 -= 0x10000\n      tmpArr.push(String.fromCharCode(0xD800 | ((c1 >> 10) & 0x3FF)))\n      tmpArr.push(String.fromCharCode(0xDC00 | (c1 & 0x3FF)))\n    } else {\n      tmpArr.push(String.fromCharCode(c1))\n    }\n\n    i += seqlen\n  }\n\n  return tmpArr.join('')\n}\n"]}