summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/array/array_count_values.js.map
blob: 02af331556ab37bfd16b3be32db2192e284e2b82 (plain) (blame)
1
{"version":3,"sources":["../../../src/php/array/array_count_values.js"],"names":["module","exports","array_count_values","array","tmpArr","key","t","_getType","obj","toLowerCase","_countValue","value","Math","floor","hasOwnProperty","call"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,kBAAT,CAA6BC,KAA7B,EAAoC;AAAE;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,SAAS,EAAb;AACA,MAAIC,MAAM,EAAV;AACA,MAAIC,IAAI,EAAR;;AAEA,MAAIC,WAAW,SAAXA,QAAW,CAAUC,GAAV,EAAe;AAC5B;AACA,QAAIF,WAAWE,GAAX,yCAAWA,GAAX,CAAJ;AACAF,QAAIA,EAAEG,WAAF,EAAJ;AACA,QAAIH,MAAM,QAAV,EAAoB;AAClBA,UAAI,OAAJ;AACD;AACD,WAAOA,CAAP;AACD,GARD;;AAUA,MAAII,cAAc,SAAdA,WAAc,CAAUN,MAAV,EAAkBO,KAAlB,EAAyB;AACzC,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAIC,KAAKC,KAAL,CAAWF,KAAX,MAAsBA,KAA1B,EAAiC;AAC/B;AACD;AACF,KAJD,MAIO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AACpC;AACD;;AAED,QAAIA,SAASP,MAAT,IAAmBA,OAAOU,cAAP,CAAsBH,KAAtB,CAAvB,EAAqD;AACnD,QAAEP,OAAOO,KAAP,CAAF;AACD,KAFD,MAEO;AACLP,aAAOO,KAAP,IAAgB,CAAhB;AACD;AACF,GAdD;;AAgBAL,MAAIC,SAASJ,KAAT,CAAJ;AACA,MAAIG,MAAM,OAAV,EAAmB;AACjB,SAAKD,GAAL,IAAYF,KAAZ,EAAmB;AACjB,UAAIA,MAAMW,cAAN,CAAqBT,GAArB,CAAJ,EAA+B;AAC7BK,oBAAYK,IAAZ,CAAiB,IAAjB,EAAuBX,MAAvB,EAA+BD,MAAME,GAAN,CAA/B;AACD;AACF;AACF;;AAED,SAAOD,MAAP;AACD,CAvDD","file":"array_count_values.js","sourcesContent":["module.exports = function array_count_values (array) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/array_count_values/\n  // original by: Ates Goral (http://magnetiq.com)\n  // improved by: Michael White (http://getsprink.com)\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  //    input by: sankai\n  //    input by: Shingo\n  // bugfixed by: Brett Zamir (http://brett-zamir.me)\n  //   example 1: array_count_values([ 3, 5, 3, \"foo\", \"bar\", \"foo\" ])\n  //   returns 1: {3:2, 5:1, \"foo\":2, \"bar\":1}\n  //   example 2: array_count_values({ p1: 3, p2: 5, p3: 3, p4: \"foo\", p5: \"bar\", p6: \"foo\" })\n  //   returns 2: {3:2, 5:1, \"foo\":2, \"bar\":1}\n  //   example 3: array_count_values([ true, 4.2, 42, \"fubar\" ])\n  //   returns 3: {42:1, \"fubar\":1}\n\n  var tmpArr = {}\n  var key = ''\n  var t = ''\n\n  var _getType = function (obj) {\n    // Objects are php associative arrays.\n    var t = typeof obj\n    t = t.toLowerCase()\n    if (t === 'object') {\n      t = 'array'\n    }\n    return t\n  }\n\n  var _countValue = function (tmpArr, value) {\n    if (typeof value === 'number') {\n      if (Math.floor(value) !== value) {\n        return\n      }\n    } else if (typeof value !== 'string') {\n      return\n    }\n\n    if (value in tmpArr && tmpArr.hasOwnProperty(value)) {\n      ++tmpArr[value]\n    } else {\n      tmpArr[value] = 1\n    }\n  }\n\n  t = _getType(array)\n  if (t === 'array') {\n    for (key in array) {\n      if (array.hasOwnProperty(key)) {\n        _countValue.call(this, tmpArr, array[key])\n      }\n    }\n  }\n\n  return tmpArr\n}\n"]}