TGViewer
Андруша пишет код Андруша пишет код @xavescor_code · 1.33K subscribers
Post #183 1.18K

Forwarded from Work & Beer Balance

Постоянно гуглю этот тип, так что решил обронить его тут.
Полезная вещь для дебага, позвоялет "развернуть" сложный тип. Ну то-есть выводит конечный тип после всех дженериков юнионов и тп.
Если совсем просто - вместо SomeGeneric<SomeOtherGeneric, AnotherGeneric<API["some"]>> получаем структуру из js примитивов

/**
* Debugging type that will display a fully resolved type
* in Intellisense instead of just the type aliases
*
* @type {T} The type to expand out
*/
type ExpandRecursively<T> = T extends (...args: infer A) => infer R
? (...args: ExpandRecursively<A>) => ExpandRecursively<R>
: T extends object
? T extends infer O
? { [K in keyof O]: ExpandRecursively<O[K]> }
: never
: T

type Expand<T> = T extends (...args: infer A) => infer R
? (...args: A) => R
: T extends object
? T extends infer O
? { [K in keyof O]: O[K] }
: never
: T


Бонус контент:
чтобы тс вам в ошибках не обрезал тип через ... надо включить noErrorTruncation в tsconfig
  • 👍 23
  • 😨 14
  • 🤡 2
  • 🔥 1
  • 💩 1
More from @xavescor_code
  1. Sep 29, 2026https://x.com/thsottiaux/status/2104823812042940713 Ну, впервые в жизни ванганул, и походу…
  2. Sep 24, 2026Тут в моём казахстанском пузыре происходит прикольная вещь. Ща, в пятницу, в кз обьявлен т…
  3. Sep 22, 2026Чуть чуть проснусь от спячки по важному поводу. Мы походу пришли к AGI в ЛЛМках. Ну, точне…
  4. Aug 6, 2026Уже почти месяц прошел после взлома моделями OpenAI – HuggingFace. Спустя это время каждая…
  5. Jul 28, 2026https://t.me/denissexy/11581 Знаете, меня очень сильно удивляет вопрос: какого чёрта подоб…
  6. Jul 28, 2026Антропик: китайцы дистилируют наши модели, надо забанить их Опенаи: китайцы дистилируют на…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →