Как сделать поиск типа к исходному типу, чтобы отложить его возвращаемый тип - PullRequest
1 голос
/ 13 марта 2019

Я собрал некоторую аккуратную библиотеку ts-get, которая помогает в течение некоторого времени жить без дополнительных цепочек. Но я борюсь с одним случаем, который не могу раскрыть. В основном, если не скаляр, но тип объекта возвращается из AccessorFunction, я хочу найти исходный тип T для оригинального вложенного типа. Что касается скаляров, я хочу сохранить свое поведение.

Вот оригинальный код: https://github.com/RIP21/ts-get/blob/master/src/index.ts

Проблема с таким случаем.

type Original = {
  objectField?: {
    optionalField?: string | undefined
  }
}

const obj = {} as Original

const a = get(obj, it => it.objectField)
//    ^ is of type { optionalField: string } | undefined
// expected type in this case { optionalField?: string | undefined } | undefined

Если вы, ребята, сможете помочь, это сделает нашу жизнь немного лучше и правильнее набранной ^ _ ^

...