/* 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;