Vue normale

Reçu hier — 7 août 2025

Building a typed fetch in TypeScript with conditional types and infer - Piccalilli

7 août 2025 à 14:09

Exactement le genre d'usage de TypeScript que je déteste.

Ce qui semble être une bonne idée au départ devient un méli-mélo de complexité impossible à comprendre du premier coup et qui finalement apporte une valeur limitée et un faux sentiment de sécurité, du fait que le schéma JSON de l'API appelée peut changer du jour au lendemain.

Si vous avez la chance de consommer une API REST qui dispose d'une documentation OpenAPI exhaustive, alors je préfère l'usage de librairies type json-schema-to-ts pour inférer le type des requêtes et réponses à partir du schéma, et créer un petit adapteur (une fonction) qui prendra le type de la requête en argument (incluant body, query params, et headers si nécessaire) et qui retournera le type de la réponse.

Ça permet un bien meilleur contrôle selon moi, et le code n'en est que plus explicite.


Permalink

Building a typed fetch in TypeScript with conditional types and infer - Piccalilli

7 août 2025 à 14:09

Exactement le genre d'usage de TypeScript que je déteste.

Ce qui semble être une bonne idée au départ devient un méli-mélo de complexité impossible à comprendre du premier coup et qui finalement apporte une valeur limitée et un faux sentiment de sécurité, du fait que le schéma JSON de l'API appelée peut changer du jour au lendemain.

Si vous avez la chance de consommer une API REST qui dispose d'une documentation OpenAPI exhaustive, alors je préfère l'usage de librairies type json-schema-to-ts pour inférer le type des requêtes et réponses à partir du schéma, et créer un petit adapteur (une fonction) qui prendra le type de la requête en argument (incluant body, query params, et headers si nécessaire) et qui retournera le type de la réponse.

Ça permet un bien meilleur contrôle selon moi, et le code n'en est que plus explicite.


Permalink
Reçu avant avant-hier
❌