保誠-保戶業務員媒合平台
tomasysh
2022-05-25 43d0eed31f4b2a59e23c06ceba3616aac3f549f6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* eslint-disable no-param-reassign */
function isObject(obj) {
  return (
    obj !== null &&
    typeof obj === 'object' &&
    'constructor' in obj &&
    obj.constructor === Object
  );
}
 
function extend(target: any = {}, src: any = {}) {
  Object.keys(src).forEach((key) => {
    if (typeof target[key] === 'undefined') target[key] = src[key];
    else if (
      isObject(src[key]) &&
      isObject(target[key]) &&
      Object.keys(src[key]).length > 0
    ) {
      extend(target[key], src[key]);
    }
  });
}
 
export default extend;