We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
TypeScript Version: 3.7.2
Search Terms: keyof interface function arguments args
Code
export interface ISocialButtonTypes { vk: {vk: string}; fb: {fb: string}; ok: {ok: string}; twitter: {tw: string}; }; export type createSocialItem = <T extends keyof ISocialButtonTypes>( socialType: T, params: ISocialButtonTypes[T] ) => void; function createSocialItem<T extends keyof ISocialButtonTypes>( socialType: T, params?: ISocialButtonTypes[T] ): ISocialButtonTypes[T] { return params } // the compiler show error, but suggest all keys createSocialItem('vk', { ok: 'dwdw' }) ~~~~~~~~~~~~~
Expected behavior: The second param should suggest only vk key.
vk
Actual behavior: The params field suggests all keys, but the compiler show error on the incorrect key. The function return works correctly
Playground Link: https://cutt.ly/cruK8eX
Related Issues:
TypeScript Version: 3.7.2
Search Terms:
keyof interface function arguments args
Code
Expected behavior:
The second param should suggest only
vkkey.Actual behavior:
The params field suggests all keys, but the compiler show error on the incorrect key. The function return works correctly
Playground Link:
https://cutt.ly/cruK8eX
Related Issues: