UNPKG

qsu

Version:

qsu is a utility library that contains useful and frequently used functions. Start with your preferred language and the modern development environment.

1 lines 555 B
import{isObject as e}from"../verify/isObject.js";export function objMergeNewKey(r,t,o){if(!r||"object"!=typeof r||!t||"object"!=typeof t)return null;const n={...r};return Object.keys(t).forEach(r=>{const i=t[r];if(Object.hasOwn(n,r))if(Array.isArray(n[r])&&Array.isArray(i)){if("append"===o?.arrayAction)n[r].push(...i);else if("replace"===o?.arrayAction)n[r]=i;else if(n[r].length===i.length)for(let t=0;t<n[r].length;t+=1){const s=i[t];e(s)&&(n[r][t]=objMergeNewKey(n[r][t],s,o))}}else e(n[r])&&e(i)?n[r]=objMergeNewKey(n[r],i,o):n[r]=i;else n[r]=i}),n}