É possível simplificar o tipo que está sendo mostrado, o tipo de descrição que é visível quando eu passar o mouse sobre uma variável de Máquina de escrever?
Eu tenho o seguinte código:
type Debug<T> = {
[key in keyof T]: T[key]
}
type Chainable<Acc = {}> = {
option: <K extends string, V>(key: K, value: V) => Chainable<Acc & {[k in K]: V}>;
get: () => Debug<Acc>;
}
declare const config: Chainable
const result = config
.option('foo', 123)
.option('name', 'type-challenges')
.option('bar', { value: 'Hello World' })
.get()
type X = typeof result;
Quando eu passar o mouse sobre result
a variável I get:
[
No entanto, quando eu passar o mouse sobre type X
Eu vejo:
Perguntas:
- Por que esses tipos apresentados de forma diferente? (Mesmo que eles representam a mesma coisa)
- Existe uma maneira de mostrar o tipo como é mostrado na segunda tela?