summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/array/array_reverse.js.map
blob: 9b6bea1a3b34096d810564c459decfafdece4055 (plain) (blame)
1
{"version":3,"sources":["../../../src/php/array/array_reverse.js"],"names":["module","exports","array_reverse","array","preserveKeys","isArray","Object","prototype","toString","call","tmpArr","key","slice","reverse","keys","push","i","length","unshift"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,aAAT,CAAwBC,KAAxB,EAA+BC,YAA/B,EAA6C;AAAE;AAC9D;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAUC,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BN,KAA/B,MAA0C,gBAAxD;AACA,MAAIO,SAASN,eAAe,EAAf,GAAoB,EAAjC;AACA,MAAIO,GAAJ;;AAEA,MAAIN,WAAW,CAACD,YAAhB,EAA8B;AAC5B,WAAOD,MAAMS,KAAN,CAAY,CAAZ,EAAeC,OAAf,EAAP;AACD;;AAED,MAAIT,YAAJ,EAAkB;AAChB,QAAIU,OAAO,EAAX;AACA,SAAKH,GAAL,IAAYR,KAAZ,EAAmB;AACjBW,WAAKC,IAAL,CAAUJ,GAAV;AACD;;AAED,QAAIK,IAAIF,KAAKG,MAAb;AACA,WAAOD,GAAP,EAAY;AACVL,YAAMG,KAAKE,CAAL,CAAN;AACA;AACA;AACA;AACAN,aAAOC,GAAP,IAAcR,MAAMQ,GAAN,CAAd;AACD;AACF,GAdD,MAcO;AACL,SAAKA,GAAL,IAAYR,KAAZ,EAAmB;AACjBO,aAAOQ,OAAP,CAAef,MAAMQ,GAAN,CAAf;AACD;AACF;;AAED,SAAOD,MAAP;AACD,CApCD","file":"array_reverse.js","sourcesContent":["module.exports = function array_reverse (array, preserveKeys) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/array_reverse/\n  // original by: Kevin van Zonneveld (http://kvz.io)\n  // improved by: Karol Kowalski\n  //   example 1: array_reverse( [ 'php', '4.0', ['green', 'red'] ], true)\n  //   returns 1: { 2: ['green', 'red'], 1: '4.0', 0: 'php'}\n\n  var isArray = Object.prototype.toString.call(array) === '[object Array]'\n  var tmpArr = preserveKeys ? {} : []\n  var key\n\n  if (isArray && !preserveKeys) {\n    return array.slice(0).reverse()\n  }\n\n  if (preserveKeys) {\n    var keys = []\n    for (key in array) {\n      keys.push(key)\n    }\n\n    var i = keys.length\n    while (i--) {\n      key = keys[i]\n      // @todo: don't rely on browsers keeping keys in insertion order\n      // it's implementation specific\n      // eg. the result will differ from expected in Google Chrome\n      tmpArr[key] = array[key]\n    }\n  } else {\n    for (key in array) {\n      tmpArr.unshift(array[key])\n    }\n  }\n\n  return tmpArr\n}\n"]}