Typescript Clone Object Deep Copy Constructor