* Conditionally elide a parameter from contextual type signature calculation * Slightly different approach to forbid inference to specific expressions * Handle nested literals and mapped types correctly * Delete unused cache * Rename ContextFlags.BaseConstraint and related usage * Add tests from my PR * Update ContextFlags comment Co-Authored-By: Wesley Wigham <wwigham@gmail.com> * Update comments and fourslash triple slash refs Co-authored-by: Wesley Wigham <wwigham@gmail.com>
31 lines
650 B
TypeScript
31 lines
650 B
TypeScript
/// <reference path="fourslash.ts" />
|
|
|
|
////interface CustomElements {
|
|
//// 'component-one': {
|
|
//// foo?: string;
|
|
//// },
|
|
//// 'component-two': {
|
|
//// bar?: string;
|
|
//// }
|
|
////}
|
|
////
|
|
////interface Options<T extends keyof CustomElements> {
|
|
//// props?: {} & { x: CustomElements[(T extends string ? T : never) & string][] }['x'];
|
|
////}
|
|
////
|
|
////declare function f<T extends keyof CustomElements>(k: T, options: Options<T>): void;
|
|
////
|
|
////f("component-one", {
|
|
//// props: [{
|
|
//// /**/
|
|
//// }]
|
|
////})
|
|
|
|
verify.completions({
|
|
marker: "",
|
|
exact: [{
|
|
name: "foo",
|
|
sortText: completion.SortText.OptionalMember
|
|
}]
|
|
});
|