import { isObject } from './isObject';

export function merge(target: any, ...sources: any) {
  for (const source of sources) {
    for (const key in source) {
      if (isObject(target[key]) && isObject(source[key])) {
        merge(target[key], source[key]);
      } else {
        target[key] = source[key];
      }
    }
  }
  return target;
}
