* 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>
36 lines
747 B
TypeScript
36 lines
747 B
TypeScript
/// <reference path="fourslash.ts" />
|
|
|
|
////interface CustomElements {
|
|
//// 'component-one': {
|
|
//// foo?: string;
|
|
//// },
|
|
//// 'component-two': {
|
|
//// bar?: string;
|
|
//// }
|
|
////}
|
|
////
|
|
////interface Options<T extends keyof CustomElements> {
|
|
//// props: CustomElements[T];
|
|
////}
|
|
////
|
|
////declare function create<T extends keyof CustomElements>(name: T, options: Options<T>): void;
|
|
////
|
|
////create('component-one', { props: { /*1*/ } });
|
|
////create('component-two', { props: { /*2*/ } });
|
|
|
|
verify.completions({
|
|
marker: "1",
|
|
exact: [{
|
|
name: "foo",
|
|
sortText: completion.SortText.OptionalMember
|
|
}]
|
|
});
|
|
|
|
verify.completions({
|
|
marker: "2",
|
|
exact: [{
|
|
name: "bar",
|
|
sortText: completion.SortText.OptionalMember
|
|
}]
|
|
});
|