Как корректно сделать пересечение типов с одинаковыми именами свойств, но разными их типами?

Есть вот такой тип:

export type TBookBasic = {
  _id: string
  title: string
  subtitle?: string
  authors: TCategoryAuthor[]
}


И второй, образующий с первым пересечение, но тип у authors должен быть другой:

export type TBookPage = TBookBasic & {
 [...]
  authors: TCategoryAuthorBook[]
}


В таком виде, понятное дело, никакого TCategoryAuthorBook[] во втором типе не оказывается. А как сделать, чтобы сработало? Подозреваю, что можно дженериками как-то сделать, но не соображу, как именно.
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
export type TBookPage = Omit<TBookBasic, 'authors'> & {
  // [...]
  authors: TCategoryAuthorBook[]
}


https://www.typescriptlang.org/play?ssl=11&ssc=18&...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы