Type-Safe API Calls in TypeScript with Just 30 Lines of Code