Query FunctionsManipolazione Condizionale dei Campi
Manipolazione Condizionale dei Campi
Included in the “Power Extensions” bundle
Aggiunta delle meta-direttive @if e @unless allo schema GraphQL, per eseguire in modo condizionale una direttiva annidata sul campo.
@if
@if esegue le sue direttive annidate solo se una condizione ha valore true.
In questa query, gli utenti "Leo" e "Peter" vedono i loro nomi convertiti in maiuscolo, poiché figurano nell'array degli "utenti speciali", mentre "Martin" no:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@if(
condition: $isSpecialUser
)
@strUpperCase
}
}...producendo:
{
"data": {
"users": [
{
"name": "LEO"
},
{
"name": "Martin"
},
{
"name": "PETER"
}
]
}
}@unless
Simile a @if, ma esegue le direttive annidate quando la condizione è false.
In questa query, è l'utente "Martin" a vedere il proprio nome convertito in maiuscolo, mentre gli altri no:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@unless(
condition: $isSpecialUser
)
@strUpperCase
}
}...producendo:
{
"data": {
"users": [
{
"name": "Leo"
},
{
"name": "MARTIN"
},
{
"name": "Peter"
}
]
}
}