Могу ли я извлечь вложенную структуру типа в Typescript, чтобы использовать ее для объявления нового типа? - PullRequest
2 голосов
/ 04 мая 2020

Представьте себе тип, определенный следующим образом:

type primaryType = {
  level1: {
    level12: {
      a: string
      b: string
      c: string
    }
  }
  ... 
}

Теперь я хочу создать новый тип, который выводится из свойства с ключом level12 и, следовательно, он неявно будет иметь свойства a , b и c:

// Something like this (notation is not valid, used just to visualize the idea):
type inferredType = primaryType.level1.level12

// Not this:
type inferredType = {
  a: string
  b: string
  c: string
}

Я отсканировал типы утилит , но не смог определить преобразование для такой цели.

Есть ли способ сделать это?

1 Ответ

5 голосов
/ 04 мая 2020

Ну, вы можете сделать:

type inferredType = primaryType['level1']['level12']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...