/**
 * Like object assign but directly creating a new object and only enumerable properties.
 */ function merge < T > ( a ) ; function merge < T , U > ( a , b ) ; function merge < T , U , V > ( a , b , c ) ; function merge < T , U , V , W > ( a , b , c , d ) ; function merge ( ... args ) { const newObject = { } ; const argsLength = args . length ; for ( let i = 0 ; i < argsLength ; i ++ ) { for ( const key in args [ i ] ) newObject [ key ] = args [ i ] [ key ] ; } return newObject ; } export default merge ;