Имеют ошибки свойств либо для функции, возвращающей объект, либо для простого объекта в перегруженном типе функции - PullRequest
0 голосов
/ 11 апреля 2020

Могу ли я иметь свойства отчета о машинописи с недопустимыми типами для обоих вызовов в приведенном ниже примере?

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: в обоих вызовах было выделено; никогда не весь объект или функцию.

Screenshot

Если я поменяю местами перегрузки, аргумент функции будет выделен, как и ожидалось, но я получаю эту ошибку для объекта аргумент:

1013 *Screenshot 2 1018 * См здесь: https://typescript-play.js.org/#code / C4TwDgpgBAKhDOwAKAnA9meUC8UDeUAhgPwBcUAdgK4C2ARhCgNxR1lSIoCWFA5lAF8AUEJ7BGAM0IBjaHET4hUKAB5UGLBAAe4igBMs85OkwA + ABRgT8cuYCUOU1HWY75F-CWqPUbboOwCMYaFlYa7tZuztZCwkJ6ENIANoQo0NJoFAriiORGIjnA5vaOUOYEhOQA5FWCdnZCheVE1bUCDUA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...