Для типа пересечения Typescript (тип C = A & B), как увидеть подпись результирующего типа вместо компонентов в подсказках IDE? - PullRequest
0 голосов
/ 01 мая 2020

В Typescript при проверке типов, определенных пересечением, я вижу подсказку, идентичную оригинальному определению:

enter image description here

, но я хотел бы видеть результирующая форма, примерно такая:

enter image description here

что такое быстрый / эффективный способ сделать это?

1 Ответ

1 голос
/ 01 мая 2020

Я не думаю, что есть какой-либо способ попросить вашу IDE сделать это автоматически, но вы можете сделать функцию типа, которая вычислит тип, который вы ищете. От ответа на вопрос дубликатов , я бы написал Expand:

type Expand<T> = T extends infer U ? { [K in keyof U]: U[K] } : never;

, который принимает тип (или объединение типов) и просматривает все его свойства, даже если они происходят из нескольких пересечений и упаковывают его (или каждый член объединения) в один тип объекта. Затем вы можете написать Expand<C> или определить C как Expand<A & B>:

type ExpandedC = Expand<A & B>;
/*
type ExpandedC = {
    a: number;
    b: string;
    c: boolean;
    d: Date;
}
*/

, что вы и хотели. Хорошо, надеюсь, это поможет; удачи!

Детская площадка ссылка на код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...