Могу ли я иметь свойства отчета о машинописи с недопустимыми типами для обоих вызовов в приведенном ниже примере?
type TestProps = { a?: number; b?: string } interface Test { <Props extends TestProps>(props: () => Props): Props <Props extends TestProps>(props: Props): Props } declare const test: Test test(() => ({ a: '' })) test({ a: '' })
Например, я хочу, чтобы свойство a: в обоих вызовах было выделено; никогда не весь объект или функцию.
a:
Если я поменяю местами перегрузки, аргумент функции будет выделен, как и ожидалось, но я получаю эту ошибку для объекта аргумент: