This commit is contained in:
Mateusz Burzyński 2024-09-16 14:06:19 +02:00
Родитель 2f86371018
Коммит 9825bcdfe8
5 изменённых файлов: 427 добавлений и 4 удалений

Просмотреть файл

@ -2692,6 +2692,7 @@
// | type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void
// | type Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never
// | type Partial<T> = { [P in keyof T]?: T[P]; }
// | type PartialInference<T, Keys extends string> = { [K in Keys]: { [K1 in K]: T; }; }[Keys]
// | type Pick<T, K extends keyof T> = { [P in K]: T[P]; }
// | interface Promise<T>
// | type PromiseConstructorLike = new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>
@ -2872,6 +2873,7 @@
// | type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void
// | type Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never
// | type Partial<T> = { [P in keyof T]?: T[P]; }
// | type PartialInference<T, Keys extends string> = { [K in Keys]: { [K1 in K]: T; }; }[Keys]
// | type Pick<T, K extends keyof T> = { [P in K]: T[P]; }
// | interface Promise<T>
// | type PromiseConstructorLike = new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>
@ -73582,6 +73584,212 @@
}
]
},
{
"name": "PartialInference",
"kind": "type",
"kindModifiers": "declare",
"sortText": "15",
"displayParts": [
{
"text": "type",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "PartialInference",
"kind": "aliasName"
},
{
"text": "<",
"kind": "punctuation"
},
{
"text": "T",
"kind": "typeParameterName"
},
{
"text": ",",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "Keys",
"kind": "typeParameterName"
},
{
"text": " ",
"kind": "space"
},
{
"text": "extends",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "string",
"kind": "keyword"
},
{
"text": ">",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "=",
"kind": "operator"
},
{
"text": " ",
"kind": "space"
},
{
"text": "{",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "[",
"kind": "punctuation"
},
{
"text": "K",
"kind": "typeParameterName"
},
{
"text": " ",
"kind": "space"
},
{
"text": "in",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "Keys",
"kind": "typeParameterName"
},
{
"text": "]",
"kind": "punctuation"
},
{
"text": ":",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "{",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "[",
"kind": "punctuation"
},
{
"text": "K1",
"kind": "typeParameterName"
},
{
"text": " ",
"kind": "space"
},
{
"text": "in",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "K",
"kind": "typeParameterName"
},
{
"text": "]",
"kind": "punctuation"
},
{
"text": ":",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "T",
"kind": "typeParameterName"
},
{
"text": ";",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "}",
"kind": "punctuation"
},
{
"text": ";",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "}",
"kind": "punctuation"
},
{
"text": "[",
"kind": "punctuation"
},
{
"text": "Keys",
"kind": "typeParameterName"
},
{
"text": "]",
"kind": "punctuation"
}
],
"documentation": [
{
"text": "Type instantiated to perform partial inferences from indexed accesses",
"kind": "text"
}
]
},
{
"name": "Pick",
"kind": "type",
@ -82569,6 +82777,212 @@
}
]
},
{
"name": "PartialInference",
"kind": "type",
"kindModifiers": "declare",
"sortText": "15",
"displayParts": [
{
"text": "type",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "PartialInference",
"kind": "aliasName"
},
{
"text": "<",
"kind": "punctuation"
},
{
"text": "T",
"kind": "typeParameterName"
},
{
"text": ",",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "Keys",
"kind": "typeParameterName"
},
{
"text": " ",
"kind": "space"
},
{
"text": "extends",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "string",
"kind": "keyword"
},
{
"text": ">",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "=",
"kind": "operator"
},
{
"text": " ",
"kind": "space"
},
{
"text": "{",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "[",
"kind": "punctuation"
},
{
"text": "K",
"kind": "typeParameterName"
},
{
"text": " ",
"kind": "space"
},
{
"text": "in",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "Keys",
"kind": "typeParameterName"
},
{
"text": "]",
"kind": "punctuation"
},
{
"text": ":",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "{",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "[",
"kind": "punctuation"
},
{
"text": "K1",
"kind": "typeParameterName"
},
{
"text": " ",
"kind": "space"
},
{
"text": "in",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "K",
"kind": "typeParameterName"
},
{
"text": "]",
"kind": "punctuation"
},
{
"text": ":",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "T",
"kind": "typeParameterName"
},
{
"text": ";",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "}",
"kind": "punctuation"
},
{
"text": ";",
"kind": "punctuation"
},
{
"text": " ",
"kind": "space"
},
{
"text": "}",
"kind": "punctuation"
},
{
"text": "[",
"kind": "punctuation"
},
{
"text": "Keys",
"kind": "typeParameterName"
},
{
"text": "]",
"kind": "punctuation"
}
],
"documentation": [
{
"text": "Type instantiated to perform partial inferences from indexed accesses",
"kind": "text"
}
]
},
{
"name": "Pick",
"kind": "type",

Просмотреть файл

@ -2,7 +2,7 @@
=== Performance Stats ===
Type Count: 2,500
Instantiation count: 5,000
Instantiation count: 2,500 -> 5,000
=== dependentDestructuredVariables.ts ===
type Action =

Просмотреть файл

@ -1,8 +1,5 @@
//// [tests/cases/compiler/nonnullAssertionPropegatesContextualType.ts] ////
=== Performance Stats ===
Type Count: 1,000
=== nonnullAssertionPropegatesContextualType.ts ===
let rect2: SVGRectElement = document.querySelector('.svg-rectangle')!; // Error: Element
>rect2 : SVGRectElement

Просмотреть файл

@ -976,6 +976,12 @@ Info seq [hh:mm:ss:mss] response:
"kindModifiers": "declare",
"sortText": "15"
},
{
"name": "PartialInference",
"kind": "type",
"kindModifiers": "declare",
"sortText": "15"
},
{
"name": "Pick",
"kind": "type",

Просмотреть файл

@ -928,6 +928,12 @@ Info seq [hh:mm:ss:mss] response:
"kindModifiers": "declare",
"sortText": "15"
},
{
"name": "PartialInference",
"kind": "type",
"kindModifiers": "declare",
"sortText": "15"
},
{
"name": "Pick",
"kind": "type",