1
|
{"version":3,"sources":["../../../src/php/strings/explode.js"],"names":["module","exports","explode","delimiter","string","limit","arguments","length","s","split","slice","concat","join","splice"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,SAAlB,EAA6BC,MAA7B,EAAqCC,KAArC,EAA4C;AAC3D;AACA;AACA;AACA;;AAEA,MAAIC,UAAUC,MAAV,GAAmB,CAAnB,IACF,OAAOJ,SAAP,KAAqB,WADnB,IAEF,OAAOC,MAAP,KAAkB,WAFpB,EAEiC;AAC/B,WAAO,IAAP;AACD;AACD,MAAID,cAAc,EAAd,IACFA,cAAc,KADZ,IAEFA,cAAc,IAFhB,EAEsB;AACpB,WAAO,KAAP;AACD;AACD,MAAI,OAAOA,SAAP,KAAqB,UAArB,IACF,QAAOA,SAAP,yCAAOA,SAAP,OAAqB,QADnB,IAEF,OAAOC,MAAP,KAAkB,UAFhB,IAGF,QAAOA,MAAP,yCAAOA,MAAP,OAAkB,QAHpB,EAG8B;AAC5B,WAAO;AACL,SAAG;AADE,KAAP;AAGD;AACD,MAAID,cAAc,IAAlB,EAAwB;AACtBA,gBAAY,GAAZ;AACD;;AAED;AACAA,eAAa,EAAb;AACAC,YAAU,EAAV;;AAEA,MAAII,IAAIJ,OAAOK,KAAP,CAAaN,SAAb,CAAR;;AAEA,MAAI,OAAOE,KAAP,KAAiB,WAArB,EAAkC,OAAOG,CAAP;;AAElC;AACA,MAAIH,UAAU,CAAd,EAAiBA,QAAQ,CAAR;;AAEjB;AACA,MAAIA,QAAQ,CAAZ,EAAe;AACb,QAAIA,SAASG,EAAED,MAAf,EAAuB;AACrB,aAAOC,CAAP;AACD;AACD,WAAOA,EACJE,KADI,CACE,CADF,EACKL,QAAQ,CADb,EAEJM,MAFI,CAEG,CAACH,EAAEE,KAAF,CAAQL,QAAQ,CAAhB,EACNO,IADM,CACDT,SADC,CAAD,CAFH,CAAP;AAKD;;AAED;AACA,MAAI,CAACE,KAAD,IAAUG,EAAED,MAAhB,EAAwB;AACtB,WAAO,EAAP;AACD;;AAEDC,IAAEK,MAAF,CAASL,EAAED,MAAF,GAAWF,KAApB;AACA,SAAOG,CAAP;AACD,CA1DD","file":"explode.js","sourcesContent":["module.exports = function explode (delimiter, string, limit) {\n // discuss at: http://locutus.io/php/explode/\n // original by: Kevin van Zonneveld (http://kvz.io)\n // example 1: explode(' ', 'Kevin van Zonneveld')\n // returns 1: [ 'Kevin', 'van', 'Zonneveld' ]\n\n if (arguments.length < 2 ||\n typeof delimiter === 'undefined' ||\n typeof string === 'undefined') {\n return null\n }\n if (delimiter === '' ||\n delimiter === false ||\n delimiter === null) {\n return false\n }\n if (typeof delimiter === 'function' ||\n typeof delimiter === 'object' ||\n typeof string === 'function' ||\n typeof string === 'object') {\n return {\n 0: ''\n }\n }\n if (delimiter === true) {\n delimiter = '1'\n }\n\n // Here we go...\n delimiter += ''\n string += ''\n\n var s = string.split(delimiter)\n\n if (typeof limit === 'undefined') return s\n\n // Support for limit\n if (limit === 0) limit = 1\n\n // Positive limit\n if (limit > 0) {\n if (limit >= s.length) {\n return s\n }\n return s\n .slice(0, limit - 1)\n .concat([s.slice(limit - 1)\n .join(delimiter)\n ])\n }\n\n // Negative limit\n if (-limit >= s.length) {\n return []\n }\n\n s.splice(s.length + limit)\n return s\n}\n"]}
|