1
|
{"version":3,"sources":["../../../src/php/array/each.js"],"names":["module","exports","each","arr","$global","window","global","$locutus","php","pointers","indexOf","value","i","length","push","arrpos","cursor","pos","Object","prototype","toString","call","ct","k","returnArrayOnly","key"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,IAAT,CAAeC,GAAf,EAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAW,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCC,MAAxD;AACAF,UAAQG,QAAR,GAAmBH,QAAQG,QAAR,IAAoB,EAAvC;AACA,MAAIA,WAAWH,QAAQG,QAAvB;AACAA,WAASC,GAAT,GAAeD,SAASC,GAAT,IAAgB,EAA/B;AACAD,WAASC,GAAT,CAAaC,QAAb,GAAwBF,SAASC,GAAT,CAAaC,QAAb,IAAyB,EAAjD;AACA,MAAIA,WAAWF,SAASC,GAAT,CAAaC,QAA5B;;AAEA,MAAIC,UAAU,SAAVA,OAAU,CAAUC,KAAV,EAAiB;AAC7B,SAAK,IAAIC,IAAI,CAAR,EAAWC,SAAS,KAAKA,MAA9B,EAAsCD,IAAIC,MAA1C,EAAkDD,GAAlD,EAAuD;AACrD,UAAI,KAAKA,CAAL,MAAYD,KAAhB,EAAuB;AACrB,eAAOC,CAAP;AACD;AACF;AACD,WAAO,CAAC,CAAR;AACD,GAPD;;AASA,MAAI,CAACH,SAASC,OAAd,EAAuB;AACrBD,aAASC,OAAT,GAAmBA,OAAnB;AACD;AACD,MAAID,SAASC,OAAT,CAAiBP,GAAjB,MAA0B,CAAC,CAA/B,EAAkC;AAChCM,aAASK,IAAT,CAAcX,GAAd,EAAmB,CAAnB;AACD;AACD,MAAIY,SAASN,SAASC,OAAT,CAAiBP,GAAjB,CAAb;AACA,MAAIa,SAASP,SAASM,SAAS,CAAlB,CAAb;AACA,MAAIE,MAAM,CAAV;;AAEA,MAAIC,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BlB,GAA/B,MAAwC,gBAA5C,EAA8D;AAC5D,QAAImB,KAAK,CAAT;AACA,SAAK,IAAIC,CAAT,IAAcpB,GAAd,EAAmB;AACjB,UAAImB,OAAON,MAAX,EAAmB;AACjBP,iBAASM,SAAS,CAAlB,KAAwB,CAAxB;AACA,YAAIb,KAAKsB,eAAT,EAA0B;AACxB,iBAAO,CAACD,CAAD,EAAIpB,IAAIoB,CAAJ,CAAJ,CAAP;AACD,SAFD,MAEO;AACL,iBAAO;AACL,eAAGpB,IAAIoB,CAAJ,CADE;AAELZ,mBAAOR,IAAIoB,CAAJ,CAFF;AAGL,eAAGA,CAHE;AAILE,iBAAKF;AAJA,WAAP;AAMD;AACF;AACDD;AACD;AACD;AACA,WAAO,KAAP;AACD;AACD,MAAInB,IAAIU,MAAJ,KAAe,CAAf,IAAoBG,WAAWb,IAAIU,MAAvC,EAA+C;AAC7C,WAAO,KAAP;AACD;AACDI,QAAMD,MAAN;AACAP,WAASM,SAAS,CAAlB,KAAwB,CAAxB;AACA,MAAIb,KAAKsB,eAAT,EAA0B;AACxB,WAAO,CAACP,GAAD,EAAMd,IAAIc,GAAJ,CAAN,CAAP;AACD,GAFD,MAEO;AACL,WAAO;AACL,SAAGd,IAAIc,GAAJ,CADE;AAELN,aAAOR,IAAIc,GAAJ,CAFF;AAGL,SAAGA,GAHE;AAILQ,WAAKR;AAJA,KAAP;AAMD;AACF,CAtED","file":"each.js","sourcesContent":["module.exports = function each (arr) {\n // discuss at: http://locutus.io/php/each/\n // original by: Ates Goral (http://magnetiq.com)\n // revised by: Brett Zamir (http://brett-zamir.me)\n // note 1: Uses global: locutus to store the array pointer\n // example 1: each({a: \"apple\", b: \"balloon\"})\n // returns 1: {0: \"a\", 1: \"apple\", key: \"a\", value: \"apple\"}\n\n var $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n var $locutus = $global.$locutus\n $locutus.php = $locutus.php || {}\n $locutus.php.pointers = $locutus.php.pointers || []\n var pointers = $locutus.php.pointers\n\n var indexOf = function (value) {\n for (var i = 0, length = this.length; i < length; i++) {\n if (this[i] === value) {\n return i\n }\n }\n return -1\n }\n\n if (!pointers.indexOf) {\n pointers.indexOf = indexOf\n }\n if (pointers.indexOf(arr) === -1) {\n pointers.push(arr, 0)\n }\n var arrpos = pointers.indexOf(arr)\n var cursor = pointers[arrpos + 1]\n var pos = 0\n\n if (Object.prototype.toString.call(arr) !== '[object Array]') {\n var ct = 0\n for (var k in arr) {\n if (ct === cursor) {\n pointers[arrpos + 1] += 1\n if (each.returnArrayOnly) {\n return [k, arr[k]]\n } else {\n return {\n 1: arr[k],\n value: arr[k],\n 0: k,\n key: k\n }\n }\n }\n ct++\n }\n // Empty\n return false\n }\n if (arr.length === 0 || cursor === arr.length) {\n return false\n }\n pos = cursor\n pointers[arrpos + 1] += 1\n if (each.returnArrayOnly) {\n return [pos, arr[pos]]\n } else {\n return {\n 1: arr[pos],\n value: arr[pos],\n 0: pos,\n key: pos\n }\n }\n}\n"]}
|