Query FunctionsManipulação Condicional de Campos
Manipulação Condicional de Campos
Included in the “Power Extensions” bundle
Adição das meta-diretivas @if e @unless ao schema GraphQL, para executar condicionalmente uma diretiva aninhada no campo.
@if
@if executa suas diretivas aninhadas somente se uma condição tiver o valor true.
Nesta query, os usuários "Leo" e "Peter" têm seus nomes convertidos para maiúsculas, pois estão no array de "usuários especiais", enquanto "Martin" não:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@if(
condition: $isSpecialUser
)
@strUpperCase
}
}...produzindo:
{
"data": {
"users": [
{
"name": "LEO"
},
{
"name": "Martin"
},
{
"name": "PETER"
}
]
}
}@unless
Semelhante a @if, mas executa as diretivas aninhadas quando a condição é false.
Nesta query, é o usuário "Martin" quem tem o nome convertido para maiúsculas, enquanto os demais não:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@unless(
condition: $isSpecialUser
)
@strUpperCase
}
}...produzindo:
{
"data": {
"users": [
{
"name": "Leo"
},
{
"name": "MARTIN"
},
{
"name": "Peter"
}
]
}
}Prev