summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/strings/htmlspecialchars.js.map
blob: f34757b0e4dbe8500bdfdae1a31293706a5cde6c (plain) (blame)
1
{"version":3,"sources":["../../../src/php/strings/htmlspecialchars.js"],"names":["module","exports","htmlspecialchars","string","quoteStyle","charset","doubleEncode","optTemp","i","noquotes","toString","replace","OPTS","concat","length","ENT_HTML_QUOTE_SINGLE"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,gBAAT,CAA2BC,MAA3B,EAAmCC,UAAnC,EAA+CC,OAA/C,EAAwDC,YAAxD,EAAsE;AACrF;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;AACA,MAAI,OAAOL,UAAP,KAAsB,WAAtB,IAAqCA,eAAe,IAAxD,EAA8D;AAC5DA,iBAAa,CAAb;AACD;AACDD,WAASA,UAAU,EAAnB;AACAA,WAASA,OAAOO,QAAP,EAAT;;AAEA,MAAIJ,iBAAiB,KAArB,EAA4B;AAC1B;AACAH,aAASA,OAAOQ,OAAP,CAAe,IAAf,EAAqB,OAArB,CAAT;AACD;;AAEDR,WAASA,OACNQ,OADM,CACE,IADF,EACQ,MADR,EAENA,OAFM,CAEE,IAFF,EAEQ,MAFR,CAAT;;AAIA,MAAIC,OAAO;AACT,oBAAgB,CADP;AAET,6BAAyB,CAFhB;AAGT,6BAAyB,CAHhB;AAIT,kBAAc,CAJL;AAKT,kBAAc,CALL;AAMT,kBAAc;AANL,GAAX;AAQA,MAAIR,eAAe,CAAnB,EAAsB;AACpBK,eAAW,IAAX;AACD;AACD,MAAI,OAAOL,UAAP,KAAsB,QAA1B,EAAoC;AAClC;AACAA,iBAAa,GAAGS,MAAH,CAAUT,UAAV,CAAb;AACA,SAAKI,IAAI,CAAT,EAAYA,IAAIJ,WAAWU,MAA3B,EAAmCN,GAAnC,EAAwC;AACtC;AACA,UAAII,KAAKR,WAAWI,CAAX,CAAL,MAAwB,CAA5B,EAA+B;AAC7BC,mBAAW,IAAX;AACD,OAFD,MAEO,IAAIG,KAAKR,WAAWI,CAAX,CAAL,CAAJ,EAAyB;AAC9BD,kBAAUA,UAAUK,KAAKR,WAAWI,CAAX,CAAL,CAApB;AACD;AACF;AACDJ,iBAAaG,OAAb;AACD;AACD,MAAIH,aAAaQ,KAAKG,qBAAtB,EAA6C;AAC3CZ,aAASA,OAAOQ,OAAP,CAAe,IAAf,EAAqB,QAArB,CAAT;AACD;AACD,MAAI,CAACF,QAAL,EAAe;AACbN,aAASA,OAAOQ,OAAP,CAAe,IAAf,EAAqB,QAArB,CAAT;AACD;;AAED,SAAOR,MAAP;AACD,CAvED","file":"htmlspecialchars.js","sourcesContent":["module.exports = function htmlspecialchars (string, quoteStyle, charset, doubleEncode) {\n  //       discuss at: http://locutus.io/php/htmlspecialchars/\n  //      original by: Mirek Slugen\n  //      improved by: Kevin van Zonneveld (http://kvz.io)\n  //      bugfixed by: Nathan\n  //      bugfixed by: Arno\n  //      bugfixed by: Brett Zamir (http://brett-zamir.me)\n  //      bugfixed by: Brett Zamir (http://brett-zamir.me)\n  //       revised by: Kevin van Zonneveld (http://kvz.io)\n  //         input by: Ratheous\n  //         input by: Mailfaker (http://www.weedem.fr/)\n  //         input by: felix\n  // reimplemented by: Brett Zamir (http://brett-zamir.me)\n  //           note 1: charset argument not supported\n  //        example 1: htmlspecialchars(\"<a href='test'>Test</a>\", 'ENT_QUOTES')\n  //        returns 1: '&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;'\n  //        example 2: htmlspecialchars(\"ab\\\"c'd\", ['ENT_NOQUOTES', 'ENT_QUOTES'])\n  //        returns 2: 'ab\"c&#039;d'\n  //        example 3: htmlspecialchars('my \"&entity;\" is still here', null, null, false)\n  //        returns 3: 'my &quot;&entity;&quot; is still here'\n\n  var optTemp = 0\n  var i = 0\n  var noquotes = false\n  if (typeof quoteStyle === 'undefined' || quoteStyle === null) {\n    quoteStyle = 2\n  }\n  string = string || ''\n  string = string.toString()\n\n  if (doubleEncode !== false) {\n    // Put this first to avoid double-encoding\n    string = string.replace(/&/g, '&amp;')\n  }\n\n  string = string\n    .replace(/</g, '&lt;')\n    .replace(/>/g, '&gt;')\n\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. 'ENT_IGNORE' 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    string = string.replace(/'/g, '&#039;')\n  }\n  if (!noquotes) {\n    string = string.replace(/\"/g, '&quot;')\n  }\n\n  return string\n}\n"]}