Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface Data {
- fn(arg: string): Array<string>
- fn(arg: number): null
- }
- let data: Data;
- const a = data.fn(42); // null
- const b = data.fn("str"); // Array<string>
- interface API {
- "/users": { params: [], response: User[]}
- "/users/:id": { params: [number], response: User}
- }
- let users: API['/users'] // { params: [], response: User[]}
- let user: API['/users/:id'] // params: [number], response: User
- const fn = (arg: 0 | 1) => 42;
- fn(0); // OK
- fn(1); // OK
- fn(2); // ERROR Argument of type '2' is not assignable to parameter of type '0 | 1'.
- (num: number) => fn(num); // ERROR Argument of type 'number' is not assignable to parameter of type '0 | 1'.
Add Comment
Please, Sign In to add comment