summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/array/array_merge_recursive.js.map
blob: e647b8dab589ded6dc6d146aa88cdf2a0e0b69e9 (plain) (blame)
1
{"version":3,"sources":["../../../src/php/array/array_merge_recursive.js"],"names":["module","exports","array_merge_recursive","arr1","arr2","arrayMerge","require","idx","Object","prototype","toString","call","push"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,qBAAT,CAAgCC,IAAhC,EAAsCC,IAAtC,EAA4C;AAAE;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,aAAaC,QAAQ,sBAAR,CAAjB;AACA,MAAIC,MAAM,EAAV;;AAEA,MAAIJ,QAAQK,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BR,IAA/B,MAAyC,gBAAjD,IACFC,IADE,IACMI,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,IAA/B,MAAyC,gBADnD,EACqE;AACnE,SAAKG,GAAL,IAAYH,IAAZ,EAAkB;AAChBD,WAAKS,IAAL,CAAUR,KAAKG,GAAL,CAAV;AACD;AACF,GALD,MAKO,IAAKJ,QAASA,gBAAgBK,MAA1B,IAAuCJ,QAASA,gBAAgBI,MAApE,EAA8E;AACnF,SAAKD,GAAL,IAAYH,IAAZ,EAAkB;AAChB,UAAIG,OAAOJ,IAAX,EAAiB;AACf,YAAI,QAAOA,KAAKI,GAAL,CAAP,MAAqB,QAArB,IAAiC,QAAOH,IAAP,yCAAOA,IAAP,OAAgB,QAArD,EAA+D;AAC7DD,eAAKI,GAAL,IAAYF,WAAWF,KAAKI,GAAL,CAAX,EAAsBH,KAAKG,GAAL,CAAtB,CAAZ;AACD,SAFD,MAEO;AACLJ,eAAKI,GAAL,IAAYH,KAAKG,GAAL,CAAZ;AACD;AACF,OAND,MAMO;AACLJ,aAAKI,GAAL,IAAYH,KAAKG,GAAL,CAAZ;AACD;AACF;AACF;;AAED,SAAOJ,IAAP;AACD,CAlCD","file":"array_merge_recursive.js","sourcesContent":["module.exports = function array_merge_recursive (arr1, arr2) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/array_merge_recursive/\n  // original by: Subhasis Deb\n  //    input by: Brett Zamir (http://brett-zamir.me)\n  // bugfixed by: Kevin van Zonneveld (http://kvz.io)\n  //   example 1: var $arr1 = {'color': {'favorite': 'red'}, 0: 5}\n  //   example 1: var $arr2 = {0: 10, 'color': {'favorite': 'green', 0: 'blue'}}\n  //   example 1: array_merge_recursive($arr1, $arr2)\n  //   returns 1: {'color': {'favorite': {0: 'red', 1: 'green'}, 0: 'blue'}, 1: 5, 1: 10}\n  //        test: skip-1\n\n  var arrayMerge = require('../array/array_merge')\n  var idx = ''\n\n  if (arr1 && Object.prototype.toString.call(arr1) === '[object Array]' &&\n    arr2 && Object.prototype.toString.call(arr2) === '[object Array]') {\n    for (idx in arr2) {\n      arr1.push(arr2[idx])\n    }\n  } else if ((arr1 && (arr1 instanceof Object)) && (arr2 && (arr2 instanceof Object))) {\n    for (idx in arr2) {\n      if (idx in arr1) {\n        if (typeof arr1[idx] === 'object' && typeof arr2 === 'object') {\n          arr1[idx] = arrayMerge(arr1[idx], arr2[idx])\n        } else {\n          arr1[idx] = arr2[idx]\n        }\n      } else {\n        arr1[idx] = arr2[idx]\n      }\n    }\n  }\n\n  return arr1\n}\n"]}