4 ms·
It is worth noting there are good options out there to get both compile time type safety and runtime validation using TypeScript. Personally I’m a fan of ts-re
by yashap 3y ago
It is worth noting there are good options out there to get both compile time type safety and runtime validation using TypeScript.
Personally I’m a fan of ts-rest: https://ts-rest.com/ https://ts-rest.com/
Write a specification of your endpoints in TypeScript, and from that one spec you get:
- Server side validation of requests/responses
- A TypeScript API client
- Specialized clients, if you like, for example a react-query client if you like using react-query
- Auto-generated docs (OAS)
- TypeScript types for requests and responses to use in your code
IMO a lot more maintainable than a jsdoc based approach. For example, you can define a type for a Person, and then re-use that type in the responses of all Person-related endpoints, and even in POST/PUT/PATCH bodies (saying things like “the POST body is a person Person, but omit the id field”). With jsdoc you’re repeating that definition a tonne, AND you’re lacking compile time type safety.