I have a typescript class that contains an array attribute, i would like to create a copy of this object, i used Object.assign, but the array is not duplicated
class:
export interface IDeclaration {
    rechutes?: Rechute[];
    text: string;
}
export class Declaration implements IDeclaration {
    constructor(
        public rechutes?: Rechute[],
        public text ?: string,
    ) {}
}
export interface IRechute {
    dateDebut?: Moment;
    dateFin?: Moment;
}
export class Rechute implements IRechute {
    constructor(public dateDebut?: Moment, public dateFin?: Moment) {
        this.dateDebut = dateDebut ? dateDebut : null;
        this.dateFin = dateFin ? dateFin : null;
    }
}
copy :
const copy: IDeclaration = Object.assign({}, res.body, {
    text: transformMethodText(res.body.text),
    rechutes: transformMethodRechutes(res.body.rechutes)
});
transformMethodText(text: string) : string{
    return 'test : ' + text;
}
private transformMethodRechutes(rechute: Rechute): Rechute{
        return Object.assign({}, rechute, {
            dateDebut: rechute.dateDebut != null ? moment(rechute.dateDebut) : null,
            dateFin: rechute.dateFin != null ? moment(rechute.dateFin) : null
        });
    }
Array will always set to empty, when i try to push some new object no change is made.
How to copy my rechutes array inside the Object.assign function ?
Thank's
 
    