interfaceAnimal{name: string;kind: string;age: number;location: string;owner: object;}functionclonePet(pet: Animal,fullCopy?: boolean){return{name: pet.name,kind: pet.kind,
...(fullCopy&&pet),}}Expected: clonePet returns type { name: string, kind: string, age?: number, location?: string, owner?: object }
Actual: clonePet returns the following type:
{
name: string;
kind: string;
} | {
name: string;
kind: string;
} | {
name: string;
kind: string;
age: number;
location: string;
owner: object;
}
Expected:
clonePetreturns type{ name: string, kind: string, age?: number, location?: string, owner?: object }Actual:
clonePetreturns the following type: