# L'héritage
L'héritage est naturellement supporté par graphql-composer-decorators
, lorsque vous allez utiliser le mot clé extends
, il va déterminer le type de la classé hérité et récupérer son type GraphQL et ajouter les champs au type héritant.
L'héritage n'est pas nativement pris en charge par GraphQL,
graphql-composer-decorators
se charge alors de copier les champs.
# Exemple d'héritage
Les deux class doivent être décoré du même type GraphQL pour pouvoir utiliser l'héritage (ici @ObjectType
et @InputType
).
@ObjectType()
@InputType("AnimalInput")
class Animal {
@Field()
name: string;
}
@ObjectType()
@InputType("CatInput")
class Cat extends Animal {
@Field()
meow: string;
}
Donnera en SDL:
type Animal {
name: String
}
type Cat {
name: String
meow: String
}
input AnimalInput {
name: String
}
input CatInput {
name: String
meow: String
}