input StepZen_Argument
are used to map constants, GraphQL fields or GraphQL arguments to the
GraphQL target argument or input field name
or the target @rest name
.
For @materializer
field
must be a field in the enclosing object
and argument
must be a valid expression against the arguments
of the annotated field with @materializer
.
For @sequence
field
must be a field returned by a prior step
and argument
must be a valid expression against the arguments
of the annotated field with @sequence
.
One may read this as a GraphQL argument or input field name
is fulfilled by const
, field
or argument
.
For @rest
, arguments
provides a mechanism to alias argument
to name
.
Fields
argument: String
the argument or input field mapped to the argument or input field specified by name
.
Values can be pulled from an input object using a dotted path to the input object field.
For example customer.address.city
pulls the city
field
if the argument customer
is an input object with an
input object field address
.
List elements can be pulled by using syntax identifier[index]
either from the argument or input object field as long as the
argument or input field type is a list type.
The first element in the list has index 0
and negative indices pull
from the end of the list, so phone[-1]
is the last value in the list.
If the element does not exist then the value evaluates to null
.
const: JSON
The constant value is mapped to the argument or input field specified by name
.
field: String
the field name mapped to the argument or input field specified by name
.
name: String!
is the name of the argument or an expression for an input field of an argument.
When used in @materializer
and @sequence
name
either points to
a complete argument a
, an element of a list argument a[1]
, or
an input field of the argument using a dotted expression a.b.c
.
If any input field is a list type then individual elements can
be set using indexes a.b[1].c
or a.b.c[0]
.