Je suis tombé sur le code suivant écrit en js FlowType (je suis intéressé de connaître la valeur de + dans le contexte de FlowType pas en général JS).
Pourriez-vous s'il vous plaît m'expliquer ce que le +
symbole signifie devant la propriété dans le code ci-dessous:
export type User = {
+name: string,
+surname: string,
+personId: PourceId,
}
Je n'ai trouvé aucune référence dans la documentation, tout lien est également le bienvenu.
Le +
le symbole devant la propriété signifie que la propriété est en lecture seule
Référence: https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only
Le symbole ' + ' signifie que la propriété est en lecture seule et
' - ' signifie que la propriété est en écriture seule et
Si n'a pas de '+' ou '-' symbole, cela signifie que la propriété a les deux accès en lecture/écriture .
Il peut être utilisé lors de la définition d'une propriété d'interface ou d'une propriété de type.
La documentation peut être trouvée dans le lien ci-dessous:
https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only
Après quelques recherches supplémentaires, j'ai découvert que +/-
indique la covariante ou la contravariante d'une propriété.
interface MyInterface {
+covariant: number; // read-only
-contravariant: number; // write-only
}
Article intéressant sur la variance:
https://flow.org/en/docs/lang/variance/
https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only