Query FunctionsManipulación Condicional de Campos
Manipulación Condicional de Campos
Included in the “Power Extensions” bundle
Adición de las meta-directivas @if y @unless al esquema GraphQL, para ejecutar de forma condicional una directiva anidada sobre el campo.
@if
@if ejecuta sus directivas anidadas solo si una condición tiene valor true.
En esta consulta, los usuarios "Leo" y "Peter" ven sus nombres convertidos a mayúsculas, ya que están en el array de "usuarios especiales", mientras que "Martin" no:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@if(
condition: $isSpecialUser
)
@strUpperCase
}
}...produciendo:
{
"data": {
"users": [
{
"name": "LEO"
},
{
"name": "Martin"
},
{
"name": "PETER"
}
]
}
}@unless
Similar a @if, pero ejecuta las directivas anidadas cuando la condición es false.
En esta consulta, es el usuario "Martin" quien ve su nombre convertido a mayúsculas, mientras que los otros no:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@unless(
condition: $isSpecialUser
)
@strUpperCase
}
}...produciendo:
{
"data": {
"users": [
{
"name": "Leo"
},
{
"name": "MARTIN"
},
{
"name": "Peter"
}
]
}
}