summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/array/array_replace_recursive.js.map
blob: 3b4b0fc55f09344958c042f7ada3f82499bfc27b (plain) (blame)
1
{"version":3,"sources":["../../../src/php/array/array_replace_recursive.js"],"names":["module","exports","array_replace_recursive","arr","i","p","argl","arguments","length","retObj","Error","Object","prototype","toString","call","push"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,uBAAT,CAAkCC,GAAlC,EAAuC;AAAE;AACxD;AACA;AACA;AACA;;AAEA,MAAIC,IAAI,CAAR;AACA,MAAIC,IAAI,EAAR;AACA,MAAIC,OAAOC,UAAUC,MAArB;AACA,MAAIC,MAAJ;;AAEA,MAAIH,OAAO,CAAX,EAAc;AACZ,UAAM,IAAII,KAAJ,CAAU,0EAAV,CAAN;AACD;;AAED;AACA;AACA;AACA,MAAIC,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BX,GAA/B,MAAwC,gBAA5C,EAA8D;AAC5DM,aAAS,EAAT;AACA,SAAKJ,CAAL,IAAUF,GAAV,EAAe;AACbM,aAAOM,IAAP,CAAYZ,IAAIE,CAAJ,CAAZ;AACD;AACF,GALD,MAKO;AACLI,aAAS,EAAT;AACA,SAAKJ,CAAL,IAAUF,GAAV,EAAe;AACbM,aAAOJ,CAAP,IAAYF,IAAIE,CAAJ,CAAZ;AACD;AACF;;AAED,OAAKD,IAAI,CAAT,EAAYA,IAAIE,IAAhB,EAAsBF,GAAtB,EAA2B;AACzB,SAAKC,CAAL,IAAUE,UAAUH,CAAV,CAAV,EAAwB;AACtB,UAAIK,OAAOJ,CAAP,KAAa,QAAOI,OAAOJ,CAAP,CAAP,MAAqB,QAAtC,EAAgD;AAC9CI,eAAOJ,CAAP,IAAYH,wBAAwBO,OAAOJ,CAAP,CAAxB,EAAmCE,UAAUH,CAAV,EAAaC,CAAb,CAAnC,CAAZ;AACD,OAFD,MAEO;AACLI,eAAOJ,CAAP,IAAYE,UAAUH,CAAV,EAAaC,CAAb,CAAZ;AACD;AACF;AACF;;AAED,SAAOI,MAAP;AACD,CAzCD","file":"array_replace_recursive.js","sourcesContent":["module.exports = function array_replace_recursive (arr) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/array_replace_recursive/\n  // original by: Brett Zamir (http://brett-zamir.me)\n  //   example 1: array_replace_recursive({'citrus' : ['orange'], 'berries' : ['blackberry', 'raspberry']}, {'citrus' : ['pineapple'], 'berries' : ['blueberry']})\n  //   returns 1: {citrus : ['pineapple'], berries : ['blueberry', 'raspberry']}\n\n  var i = 0\n  var p = ''\n  var argl = arguments.length\n  var retObj\n\n  if (argl < 2) {\n    throw new Error('There should be at least 2 arguments passed to array_replace_recursive()')\n  }\n\n  // Although docs state that the arguments are passed in by reference,\n  // it seems they are not altered, but rather the copy that is returned\n  // So we make a copy here, instead of acting on arr itself\n  if (Object.prototype.toString.call(arr) === '[object Array]') {\n    retObj = []\n    for (p in arr) {\n      retObj.push(arr[p])\n    }\n  } else {\n    retObj = {}\n    for (p in arr) {\n      retObj[p] = arr[p]\n    }\n  }\n\n  for (i = 1; i < argl; i++) {\n    for (p in arguments[i]) {\n      if (retObj[p] && typeof retObj[p] === 'object') {\n        retObj[p] = array_replace_recursive(retObj[p], arguments[i][p])\n      } else {\n        retObj[p] = arguments[i][p]\n      }\n    }\n  }\n\n  return retObj\n}\n"]}