Я пытаюсь создать функцию с параметром типа, которая возвращает объект со свойством, которое является функцией, возвращающей этот тип c. Следующее сводится к минимальному примеру. Какие неправильные предположения / синтаксические ошибки я делаю?
type chatType = {
name: string,
}
const cake = <T>(asdf: T) => ({
pizza: (): T => asdf,
})
cake<chatType>({ name: 'abcde' }).pizza().name
Ошибка:
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ asdf.js:24:43
Cannot get cake<...>(...).pizza().name because property name is
missing in T [1].
[1] 21│ pizza: (): T => asdf,
22│ })
23│
24│ cake<chatType>({ name: 'abcde' }).pizza().name
25│