Valider à l'exécution

Voir la vidéo
Description Sommaire

TypeScript ne permet que de faire de l'analyse statique et ne pourra en aucun cas vous prémunir d'erreurs lorsque les types reçus à l'exécution ne correspondent pas au types annoncés lors de l'écriture du code. Cela s'avèrera particulièrement problématique lorsque l'on va travailler avec des systèmes externes comme des APIs. Pour remédier à ce problème, il va falloir vérifier que les objets reçus correspondent à ce que l'on attend à l'exécution, et on se retrouve du coup à doubler le travail (déclaration des types & validation des schémas de données à l'exécution). Heureusement, des librairies comme zod permettent de générer les types à partir des schémas et vous permettra de vous assurer de la structure d'un objet à la compilation et à l'exécution avec un seul format.

Voici le code utilisé en début de vidéo (qui contient donc une erreur) :

type PostsResponse = {
    content: string
}[]

// On aimerait que le code throw une erreur à ce moment là, car la réponse ne correspond pas à PostsResponse
const posts = schema.parse(await fetch('https://jsonplaceholder.typicode.com/posts?_limit=3').then(response => response.json())) as PostsResponse

if (posts[0]) {
    console.log(posts[0].content.toUpperCase()) // Le code va afficher une erreur ici
}
Publié
Technologies utilisées
Auteur :
Grafikart
Partager