Query FunctionsManipulation Conditionnelle de Champs
Manipulation Conditionnelle de Champs
Included in the “Power Extensions” bundle
Ajout des méta-directives @if et @unless au schéma GraphQL, pour exécuter conditionnellement une directive imbriquée sur le champ.
@if
@if exécute ses directives imbriquées uniquement si une condition a la valeur true.
Dans cette requête, les utilisateurs "Leo" et "Peter" voient leurs noms convertis en majuscules, car ils figurent dans le tableau des "utilisateurs spéciaux", tandis que "Martin" ne l'est pas :
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@if(
condition: $isSpecialUser
)
@strUpperCase
}
}...produisant :
{
"data": {
"users": [
{
"name": "LEO"
},
{
"name": "Martin"
},
{
"name": "PETER"
}
]
}
}@unless
Similaire à @if, mais exécute les directives imbriquées lorsque la condition est false.
Dans cette requĂŞte, c'est l'utilisateur "Martin" qui voit son nom converti en majuscules, tandis que les autres ne le voient pas :
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@unless(
condition: $isSpecialUser
)
@strUpperCase
}
}...produisant :
{
"data": {
"users": [
{
"name": "Leo"
},
{
"name": "MARTIN"
},
{
"name": "Peter"
}
]
}
}