Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.34 KB | None | 0 0
  1. declare class Map<T, K1=null, V1=null, K2=null, V2=null> {
  2.  
  3. constructor(val: T): void;
  4.  
  5. get(key: K1 & $Keys<T>): V1;
  6. get(key: K2 & $Keys<T>): V2;
  7. // etc
  8. }
  9.  
  10. const m: Map<{ foo: string, bar: number }, 'foo', string, 'bar', number> = new Map({
  11. 'foo': 'foo',
  12. bar: 42
  13. });
  14.  
  15.  
  16. m.get('foo') // string
  17. m.get('bar') // number
  18. m.get('baz') // error
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement