Mam interfejs w mojej aplikacji:
interface Asset {
id: string;
internal_id: string;
usage: number;
}
to jest część interfejsu posta:
interface Post {
asset: Asset;
}
Mam również interfejs przeznaczony do wersji roboczej, w którym obiekt aktywów może być tylko częściowo zbudowany
interface PostDraft {
asset: Asset;
}
Chcę zezwolić PostDraftobiektowi na posiadanie częściowego obiektu aktywów, jednocześnie sprawdzając typy właściwości, które tam są (więc nie chcę go po prostu zamieniać any).
Zasadniczo chcę mieć możliwość generowania następujących elementów:
interface AssetDraft {
id?: string;
internal_id?: string;
usage?: number;
}
bez całkowitego ponownego definiowania Assetinterfejsu. Czy jest na to sposób? Jeśli nie, jaki byłby mądry sposób ułożenia moich typów w tej sytuacji?