Je suis en train de tester FlowJS pour mon projet, et j'ai un problème avec Type Aliases.FlowJS: types héritage
Je construire un SDK Web pour une API: J'ai une classe Helper
avec cette méthode:
class Helper {
find(filters:PaginationOptions = {}) {
// ...
}
}
PaginationOptions
est un type FlowJS de base:
type PaginationOptions = {
start?:string,
end?:number,
};
J'ai aussi une aide pour les utilisateurs , héritant de Helper
:
class UsersHelper extends Helper {
find(filters:UsersFilterOptions = {}) {
// ...
}
}
UsersFilterOptions
est un type FlowJS « extension » PaginationOptions
:
type UsersFilterOptions = {
username?:string,
city?:string,
} & PaginationOptions;
J'utilise ici un Intersection pour que mes filtres utilisateurs doivent également accepter start
et end
propriétés.
Il semble que mon IDE (PHPStorm) n'aime pas ma méthode find()
de ma classe UsersHelper
, il continue à me dire que:
commande non compatible, devrait avoir le type 'PaginationOptions'
Eh bien ... Je sais, c'est pourquoi UsersFilterOptions
a une intersection avec PaginationOptions
.
Mais FlowJS me montre aussi deux avertissements autres:
Débit: propriété
littéralusername
. Propriété introuvable dans le littéral d'objet
Flux: propriétécity
. Propriété non trouvée dans l'objet
Je ne comprends pas pourquoi j'ai ces erreurs: ces propriétés sont définies en option ...
Avez-vous des suggestions pour la fixation de ces trois erreurs?
Merci d'avance!
@ nat-mote Puis-je savoir pourquoi la balise 'flow-js' a été supprimée? Cette question concerne totalement 'flow-js', c'est un non-sens pour moi de supprimer cette balise ... – KorHosik
Regardez la description de cette balise, c'est pour un projet différent qui n'est pas le vérificateur de type de flux. Le tag pour ce que vous voulez est flowtype: http://stackoverflow.com/tags/flow-js/info –
Ok, merci pour l'information :) – KorHosik