1
|
{"version":3,"sources":["../../../src/php/strings/substr_compare.js"],"names":["module","exports","substr_compare","mainStr","str","offset","length","caseInsensitivity","Error","substr","toLowerCase"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,CAAyBC,OAAzB,EAAkCC,GAAlC,EAAuCC,MAAvC,EAA+CC,MAA/C,EAAuDC,iBAAvD,EAA0E;AAAE;AAC3F;AACA;AACA;AACA;AACA;;AAEA,MAAI,CAACF,MAAD,IAAWA,WAAW,CAA1B,EAA6B;AAC3B,UAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,MAAIH,SAAS,CAAb,EAAgB;AACdA,aAASF,QAAQG,MAAR,GAAiBD,MAA1B;AACD;;AAED,MAAIC,UAAUA,SAAUH,QAAQG,MAAR,GAAiBD,MAAzC,EAAkD;AAChD,WAAO,KAAP;AACD;AACDC,WAASA,UAAUH,QAAQG,MAAR,GAAiBD,MAApC;;AAEAF,YAAUA,QAAQM,MAAR,CAAeJ,MAAf,EAAuBC,MAAvB,CAAV;AACA;AACAF,QAAMA,IAAIK,MAAJ,CAAW,CAAX,EAAcH,MAAd,CAAN;AACA,MAAIC,iBAAJ,EAAuB;AACrB;AACAJ,cAAU,CAACA,UAAU,EAAX,EAAeO,WAAf,EAAV;AACAN,UAAM,CAACA,MAAM,EAAP,EAAWM,WAAX,EAAN;AACA,QAAIP,YAAYC,GAAhB,EAAqB;AACnB,aAAO,CAAP;AACD;AACD,WAAQD,UAAUC,GAAX,GAAkB,CAAlB,GAAsB,CAAC,CAA9B;AACD;AACD;AACA,SAASD,YAAYC,GAAb,GAAoB,CAApB,GAA0BD,UAAUC,GAAX,GAAkB,CAAlB,GAAsB,CAAC,CAAxD;AACD,CAlCD","file":"substr_compare.js","sourcesContent":["module.exports = function substr_compare (mainStr, str, offset, length, caseInsensitivity) { // eslint-disable-line camelcase\n // discuss at: http://locutus.io/php/substr_compare/\n // original by: Brett Zamir (http://brett-zamir.me)\n // original by: strcasecmp, strcmp\n // example 1: substr_compare(\"abcde\", \"bc\", 1, 2)\n // returns 1: 0\n\n if (!offset && offset !== 0) {\n throw new Error('Missing offset for substr_compare()')\n }\n\n if (offset < 0) {\n offset = mainStr.length + offset\n }\n\n if (length && length > (mainStr.length - offset)) {\n return false\n }\n length = length || mainStr.length - offset\n\n mainStr = mainStr.substr(offset, length)\n // Should only compare up to the desired length\n str = str.substr(0, length)\n if (caseInsensitivity) {\n // Works as strcasecmp\n mainStr = (mainStr + '').toLowerCase()\n str = (str + '').toLowerCase()\n if (mainStr === str) {\n return 0\n }\n return (mainStr > str) ? 1 : -1\n }\n // Works as strcmp\n return ((mainStr === str) ? 0 : ((mainStr > str) ? 1 : -1))\n}\n"]}
|