1
|
{"version":3,"sources":["../../../src/php/strings/htmlspecialchars_decode.js"],"names":["module","exports","htmlspecialchars_decode","string","quoteStyle","optTemp","i","noquotes","toString","replace","OPTS","concat","length","ENT_HTML_QUOTE_SINGLE"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,uBAAT,CAAkCC,MAAlC,EAA0CC,UAA1C,EAAsD;AAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAU,CAAd;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,WAAW,KAAf;;AAEA,MAAI,OAAOH,UAAP,KAAsB,WAA1B,EAAuC;AACrCA,iBAAa,CAAb;AACD;AACDD,WAASA,OAAOK,QAAP,GACNC,OADM,CACE,OADF,EACW,GADX,EAENA,OAFM,CAEE,OAFF,EAEW,GAFX,CAAT;AAGA,MAAIC,OAAO;AACT,oBAAgB,CADP;AAET,6BAAyB,CAFhB;AAGT,6BAAyB,CAHhB;AAIT,kBAAc,CAJL;AAKT,kBAAc,CALL;AAMT,kBAAc;AANL,GAAX;AAQA,MAAIN,eAAe,CAAnB,EAAsB;AACpBG,eAAW,IAAX;AACD;AACD,MAAI,OAAOH,UAAP,KAAsB,QAA1B,EAAoC;AAClC;AACAA,iBAAa,GAAGO,MAAH,CAAUP,UAAV,CAAb;AACA,SAAKE,IAAI,CAAT,EAAYA,IAAIF,WAAWQ,MAA3B,EAAmCN,GAAnC,EAAwC;AACtC;AACA,UAAII,KAAKN,WAAWE,CAAX,CAAL,MAAwB,CAA5B,EAA+B;AAC7BC,mBAAW,IAAX;AACD,OAFD,MAEO,IAAIG,KAAKN,WAAWE,CAAX,CAAL,CAAJ,EAAyB;AAC9BD,kBAAUA,UAAUK,KAAKN,WAAWE,CAAX,CAAL,CAApB;AACD;AACF;AACDF,iBAAaC,OAAb;AACD;AACD,MAAID,aAAaM,KAAKG,qBAAtB,EAA6C;AAC3C;AACAV,aAASA,OAAOM,OAAP,CAAe,UAAf,EAA2B,GAA3B,CAAT;AACA;AACA;AACD;AACD,MAAI,CAACF,QAAL,EAAe;AACbJ,aAASA,OAAOM,OAAP,CAAe,SAAf,EAA0B,GAA1B,CAAT;AACD;AACD;AACAN,WAASA,OAAOM,OAAP,CAAe,QAAf,EAAyB,GAAzB,CAAT;;AAEA,SAAON,MAAP;AACD,CApED","file":"htmlspecialchars_decode.js","sourcesContent":["module.exports = function htmlspecialchars_decode (string, quoteStyle) { // eslint-disable-line camelcase\n // discuss at: http://locutus.io/php/htmlspecialchars_decode/\n // original by: Mirek Slugen\n // improved by: Kevin van Zonneveld (http://kvz.io)\n // bugfixed by: Mateusz \"loonquawl\" Zalega\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Brett Zamir (http://brett-zamir.me)\n // bugfixed by: Brett Zamir (http://brett-zamir.me)\n // input by: ReverseSyntax\n // input by: Slawomir Kaniecki\n // input by: Scott Cariss\n // input by: Francois\n // input by: Ratheous\n // input by: Mailfaker (http://www.weedem.fr/)\n // revised by: Kevin van Zonneveld (http://kvz.io)\n // reimplemented by: Brett Zamir (http://brett-zamir.me)\n // example 1: htmlspecialchars_decode(\"<p>this -> "</p>\", 'ENT_NOQUOTES')\n // returns 1: '<p>this -> "</p>'\n // example 2: htmlspecialchars_decode(\"&quot;\")\n // returns 2: '"'\n\n var optTemp = 0\n var i = 0\n var noquotes = false\n\n if (typeof quoteStyle === 'undefined') {\n quoteStyle = 2\n }\n string = string.toString()\n .replace(/</g, '<')\n .replace(/>/g, '>')\n var OPTS = {\n 'ENT_NOQUOTES': 0,\n 'ENT_HTML_QUOTE_SINGLE': 1,\n 'ENT_HTML_QUOTE_DOUBLE': 2,\n 'ENT_COMPAT': 2,\n 'ENT_QUOTES': 3,\n 'ENT_IGNORE': 4\n }\n if (quoteStyle === 0) {\n noquotes = true\n }\n if (typeof quoteStyle !== 'number') {\n // Allow for a single string or an array of string flags\n quoteStyle = [].concat(quoteStyle)\n for (i = 0; i < quoteStyle.length; i++) {\n // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4\n if (OPTS[quoteStyle[i]] === 0) {\n noquotes = true\n } else if (OPTS[quoteStyle[i]]) {\n optTemp = optTemp | OPTS[quoteStyle[i]]\n }\n }\n quoteStyle = optTemp\n }\n if (quoteStyle & OPTS.ENT_HTML_QUOTE_SINGLE) {\n // PHP doesn't currently escape if more than one 0, but it should:\n string = string.replace(/�*39;/g, \"'\")\n // This would also be useful here, but not a part of PHP:\n // string = string.replace(/'|�*27;/g, \"'\");\n }\n if (!noquotes) {\n string = string.replace(/"/g, '\"')\n }\n // Put this in last place to avoid escape being double-decoded\n string = string.replace(/&/g, '&')\n\n return string\n}\n"]}
|