Microsoft/TypeScript
Ver no 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 aberto em 28 de jun. de 2022
Domain: LS: Completion ListsExperience EnhancementHelp WantedSuggestion
Métricas do repositório
- Stars
- (48.455 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)
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