При попытке использовать сопоставленные типы с интерфейсом я получаю странную ошибку, которая заставляет меня думать, что их вообще невозможно использовать вместе.
См. идентичные объявления типов и интерфейсов:
type AllWorks<T> = {
[K in keyof T]: T[K];
}
interface DoesNotWork<T> {
[K in keyof T]: T[K];
}
В то время как первый работает как положено, второй выдает ошибку TS:
[ts] A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
[ts] Member '[K in keyof' implicitly has an 'any' type.
[ts] Cannot find name 'keyof'.
Итак, мой вопрос: возможно ли вообще отображать интерфейсы? если да - то как?