[HELP] Besoin d'un dev JS/TypeScript pour une petite question
Le 13 septembre 2022 Ă 23:10:26 :
tu type Post de ta const newPost objet custom il aime , met any a la place de Post pour voir si il continue de gueuler
Par contre c'est un truc de fou, il arrive a choper le type d'un objet selon la cle.
Genre la si j'ai bien defini le truc et que je fais schema.create("post", newPost)
, il sait que newPost
doit etre de type Post
, mais si je fais schema.create("rooms", newRoom)
, il sait que newRoom
doit etre de type Room
.
Les autres langages objets et fonctionnels gĂšrent pas les generics jusque la
Le 13 septembre 2022 Ă 23:15:56 :
fais ca ?export interface Post {
id?: string; => ici ?
title: string;
author: string;
latest: DateTime;
messages: Array<Message> | [];
}
Ouai c'est ce que j'ai fais du coup, merci encore
Le 13 septembre 2022 Ă 23:18:00 :
Le 13 septembre 2022 Ă 23:10:26 :
tu type Post de ta const newPost objet custom il aime , met any a la place de Post pour voir si il continue de gueulerPar contre c'est un truc de fou, il arrive a choper le type d'un objet selon la cle.
Genre la si j'ai bien defini le truc et que je faisschema.create("post", newPost)
, il sait quenewPost
doit etre de typePost
, mais si je faisschema.create("rooms", newRoom)
, il sait quenewRoom
doit etre de typeRoom
.
Les autres langages objets et fonctionnels gĂšrent pas les generics jusque la
Je connais pas la lib mais c'est surement dû au fait que Post est déclaré en générique dans la lib et que tu l'importe le type Post que tu réaffecte alors que Room tu l'a inventé avec ton interfcae? regarde tes imports khey?
Le 13 septembre 2022 Ă 23:23:22 :
Le 13 septembre 2022 Ă 23:18:00 :
Le 13 septembre 2022 Ă 23:10:26 :
tu type Post de ta const newPost objet custom il aime , met any a la place de Post pour voir si il continue de gueulerPar contre c'est un truc de fou, il arrive a choper le type d'un objet selon la cle.
Genre la si j'ai bien defini le truc et que je faisschema.create("post", newPost)
, il sait quenewPost
doit etre de typePost
, mais si je faisschema.create("rooms", newRoom)
, il sait quenewRoom
doit etre de typeRoom
.
Les autres langages objets et fonctionnels gÚrent pas les generics jusque laJe connais pas la lib mais c'est surement dû au fait que Post est déclaré en générique dans la lib et que tu l'importe le type Post que tu réaffecte alors que Room tu l'a inventé avec ton interfcae? regarde tes imports khey?
Non en fait je parlais surtout du modifier keyof
et des "Mapped types"... C'est un truc de fou: https://www.typescriptlang.org/docs/handbook/2/keyof-types.html
https://www.typescriptlang.org/docs/handbook/2/mapped-types.html
Le 13 septembre 2022 Ă 23:23:22 :
Le 13 septembre 2022 Ă 23:18:00 :
Le 13 septembre 2022 Ă 23:10:26 :
tu type Post de ta const newPost objet custom il aime , met any a la place de Post pour voir si il continue de gueulerPar contre c'est un truc de fou, il arrive a choper le type d'un objet selon la cle.
Genre la si j'ai bien defini le truc et que je faisschema.create("post", newPost)
, il sait quenewPost
doit etre de typePost
, mais si je faisschema.create("rooms", newRoom)
, il sait quenewRoom
doit etre de typeRoom
.
Les autres langages objets et fonctionnels gÚrent pas les generics jusque laJe connais pas la lib mais c'est surement dû au fait que Post est déclaré en générique dans la lib et que tu l'importe le type Post que tu réaffecte alors que Room tu l'a inventé avec ton interfcae? regarde tes imports khey?
ah ok j'ai mal lu laisse tomber.
Euh TS check tes typages quand tu affectes, quand tu compares...
Apres il y a un fichier de rules pour dĂ©activer ce qui te saoule mais ca n'a plus grand intĂ©rĂȘt. Le but premier de TS, au dela du choix de compilation JS c'est d'Ă©viter les cast foireux
Le 13 septembre 2022 Ă 23:26:23 :
Le 13 septembre 2022 Ă 23:23:22 :
Le 13 septembre 2022 Ă 23:18:00 :
Le 13 septembre 2022 Ă 23:10:26 :
tu type Post de ta const newPost objet custom il aime , met any a la place de Post pour voir si il continue de gueulerPar contre c'est un truc de fou, il arrive a choper le type d'un objet selon la cle.
Genre la si j'ai bien defini le truc et que je faisschema.create("post", newPost)
, il sait quenewPost
doit etre de typePost
, mais si je faisschema.create("rooms", newRoom)
, il sait quenewRoom
doit etre de typeRoom
.
Les autres langages objets et fonctionnels gÚrent pas les generics jusque laJe connais pas la lib mais c'est surement dû au fait que Post est déclaré en générique dans la lib et que tu l'importe le type Post que tu réaffecte alors que Room tu l'a inventé avec ton interfcae? regarde tes imports khey?
ah ok j'ai mal lu laisse tomber.
Euh TS check tes typages quand tu affectes, quand tu compares...
Apres il y a un fichier de rules pour dĂ©activer ce qui te saoule mais ca n'a plus grand intĂ©rĂȘt. Le but premier de TS, au dela du choix de compilation JS c'est d'Ă©viter les cast foireux
Yes c'est pour ca que je l'ai mis.
J'ai test Elm avant mais ça pue du cul je trouve, mĂȘme si j'adore les langages fonctionnels habituellement.
Le HTML qui devient une fonction
style private toto:! MyInterface | null = null;
C'est de le typer "as unknow as myInterface" mais sois sur et certain que tu as tout lol
Le 13 septembre 2022 Ă 23:33:38 :
Un truc utile quand tu construis un gros objet genre et que tu veux pas te prendre la tĂȘte avec les types never/null/undefined sur les props d'un objet sur lesquelles tu as des variables initialiser sur ces 3 valeurs.
style private toto:! MyInterface | null = null;
C'est de le typer "as unknow as myInterface" mais sois sur et certain que tu as tout lol
J'ai pas tout compris. Je note quand meme le as unknown as myInterface
, j'imagine que je le reverrais d'ici peu
Le 13 septembre 2022 Ă 23:41:14 :
Je connaissais pas Mirage ça Ă l'air sympa, c'est un peu de la mĂȘme veine que https://mswjs.io/
Effectivement, tout se passe dans un service worker.
Avant j'utilisais des application mock standalone genre MockServer mais c'est beaucoup trop lourd et pas intégré simplement dans les projets.
Données du topic
- Auteur
- RoadToSardine
- Date de création
- 13 septembre 2022 Ă 22:39:13
- Nb. messages archivés
- 30
- Nb. messages JVC
- 30