Представьте себе простой CollectionStore
, который имеет методы для создания и обновления записи. create()
принимает набор атрибутов и возвращает тот же набор с добавлением id
. update
принимает набор той же структуры, но для этого необходимо определить свойство id
.Typcript: возьмите тип и верните тип объединения в общий интерфейс
Как выразить в машинописном тексте, что функция create()
принимает некоторый тип T
и возвращает T & {id: string}
?
Я ожидаю, что картина будет выражена так:
interface CollectionStore<T> {
updateRecord(T & {id: string}): void;
createRecord(T): T & {id: string};
}
Однако приведенный выше код не является действительным. Пожалуйста, помогите =)