Microsoft/TypeScript
Voir sur GitHubType where type of second tuple item is dependent on the type of the first doesn't get filtered completion lists after the first item has been entered
Open
#49 711 ouverte le 28 juin 2022
Domain: LS: Completion ListsExperience EnhancementHelp WantedSuggestion
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
Description
Bug Report
🔎 Search Terms
recursive tuples the joint type
🕗 Version & Regression Information
"typescript": "4.6.4"
⏯ Playground Link
Playground link with relevant code
💻 Code
type Item = {
a: {
b: 2;
c: boolean;
};
d: {
e: 3
}
f: 1;
}
type GetKeys<T> = {
[K in keyof T]: [K, ...(T[K] extends object ? GetKeys<T[K]> : [])]
}[keyof T]
type To<T> = {
index: GetKeys<T>; // Looking forward to ['a', 'b'] | ['a', 'c'] | ['d', 'e'] | ['f']
}
const obj: To<Item> = {
index: ['d', 'e'], // Parameter 2 Prompt b | c | e | f Expected to prompt e
}
🙁 Actual behavior
obj.index Parameter 2 Prompt b | c | e | f
🙂 Expected behavior
Expected to prompt e