Query FunctionsManipulasi Field Kondisional
Manipulasi Field Kondisional
Included in the “Power Extensions” bundle
Penambahan meta-direktif @if dan @unless ke skema GraphQL, untuk mengeksekusi direktif bersarang secara kondisional pada field tersebut.
@if
@if mengeksekusi direktif bersarangnya hanya jika suatu kondisi bernilai true.
Dalam query ini, pengguna "Leo" dan "Peter" mendapatkan nama mereka diubah menjadi huruf kapital, karena mereka berada dalam array "pengguna spesial", sementara "Martin" tidak:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@if(
condition: $isSpecialUser
)
@strUpperCase
}
}...menghasilkan:
{
"data": {
"users": [
{
"name": "LEO"
},
{
"name": "Martin"
},
{
"name": "PETER"
}
]
}
}@unless
Mirip dengan @if, tetapi mengeksekusi direktif bersarang ketika kondisi bernilai false.
Dalam query ini, pengguna "Martin" yang mendapatkan namanya diubah menjadi huruf kapital, sementara yang lain tidak:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@unless(
condition: $isSpecialUser
)
@strUpperCase
}
}...menghasilkan:
{
"data": {
"users": [
{
"name": "Leo"
},
{
"name": "MARTIN"
},
{
"name": "Peter"
}
]
}
}