summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/array/array_search.js.map
blob: 97b2c5b03fcc2739f79c1ec405cc5802b78a8489 (plain) (blame)
1
{"version":3,"sources":["../../../src/php/array/array_search.js"],"names":["module","exports","array_search","needle","haystack","argStrict","strict","key","exec","flags","global","multiline","sticky","RegExp","source","hasOwnProperty","test"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,YAAT,CAAuBC,MAAvB,EAA+BC,QAA/B,EAAyCC,SAAzC,EAAoD;AAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,SAAS,CAAC,CAACD,SAAf;AACA,MAAIE,MAAM,EAAV;;AAEA,MAAI,QAAOJ,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,IAA8BA,OAAOK,IAAzC,EAA+C;AAC7C;AACA,QAAI,CAACF,MAAL,EAAa;AACX;AACA,UAAIG,QAAQ,OAAON,OAAOO,MAAP,GAAgB,GAAhB,GAAsB,EAA7B,KACTP,OAAOQ,SAAP,GAAmB,GAAnB,GAAyB,EADhB;AAEV;AACCR,aAAOS,MAAP,GAAgB,GAAhB,GAAsB,EAHb,CAAZ;AAIAT,eAAS,IAAIU,MAAJ,CAAWV,OAAOW,MAAlB,EAA0BL,KAA1B,CAAT;AACD;AACD,SAAKF,GAAL,IAAYH,QAAZ,EAAsB;AACpB,UAAIA,SAASW,cAAT,CAAwBR,GAAxB,CAAJ,EAAkC;AAChC,YAAIJ,OAAOa,IAAP,CAAYZ,SAASG,GAAT,CAAZ,CAAJ,EAAgC;AAC9B,iBAAOA,GAAP;AACD;AACF;AACF;AACD,WAAO,KAAP;AACD;;AAED,OAAKA,GAAL,IAAYH,QAAZ,EAAsB;AACpB,QAAIA,SAASW,cAAT,CAAwBR,GAAxB,CAAJ,EAAkC;AAChC,UAAKD,UAAUF,SAASG,GAAT,MAAkBJ,MAA7B,IAAyC,CAACG,MAAD,IAAWF,SAASG,GAAT,KAAiBJ,MAAzE,EAAkF;AAAE;AAClF,eAAOI,GAAP;AACD;AACF;AACF;;AAED,SAAO,KAAP;AACD,CA5CD","file":"array_search.js","sourcesContent":["module.exports = function array_search (needle, haystack, argStrict) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/array_search/\n  // original by: Kevin van Zonneveld (http://kvz.io)\n  //    input by: Brett Zamir (http://brett-zamir.me)\n  // bugfixed by: Kevin van Zonneveld (http://kvz.io)\n  // bugfixed by: Reynier de la Rosa (http://scriptinside.blogspot.com.es/)\n  //        test: skip-all\n  //   example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'})\n  //   returns 1: 'surname'\n  //   example 2: array_search('3', {a: 3, b: 5, c: 7})\n  //   returns 2: 'a'\n\n  var strict = !!argStrict\n  var key = ''\n\n  if (typeof needle === 'object' && needle.exec) {\n    // Duck-type for RegExp\n    if (!strict) {\n      // Let's consider case sensitive searches as strict\n      var flags = 'i' + (needle.global ? 'g' : '') +\n        (needle.multiline ? 'm' : '') +\n        // sticky is FF only\n        (needle.sticky ? 'y' : '')\n      needle = new RegExp(needle.source, flags)\n    }\n    for (key in haystack) {\n      if (haystack.hasOwnProperty(key)) {\n        if (needle.test(haystack[key])) {\n          return key\n        }\n      }\n    }\n    return false\n  }\n\n  for (key in haystack) {\n    if (haystack.hasOwnProperty(key)) {\n      if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) { // eslint-disable-line eqeqeq\n        return key\n      }\n    }\n  }\n\n  return false\n}\n"]}