У нас есть структура, которая выглядит следующим образом:
export type LinkRestSource = {
model: string;
rel?: string;
title?: string;
} | {
model?: string;
rel: string;
title?: string;
} | {
model?: string;
rel?: string;
title: string;
};
Это почти то же самое, что сказать
type LinkRestSource = Partial<{model: string, rel: string, title: string}>
За исключением того, что это позволит передать пустой объект, тогда как для начального типа требуется одно из свойств, которое должно быть передано в
Как создать общий тип, например Partial
, но который ведет себя как моя структура выше?