absinthe v1.4.0-beta.1 Absinthe.Type.InputObject View Source
Defines a GraphQL input object
Input objects enable nested arguments to queries and mutations.
Example
mutation do
field :user, :user do
arg :name, :string
arg :contact, non_null(:contact)
resolve &User.create/2
end
end
input_object :contact do
field :email, :string
end
This supports the following mutation
:
mutation CreateUser {
user(contact: {email: "foo@bar.com"}) {
id
}
}
Link to this section Summary
Types
Note new input object types should be defined using
Absinthe.Schema.Notation.input_object/3
Functions
Callback implementation for c:Absinthe.Introspection.Kind.kind/0
Link to this section Types
Link to this type
t()
View Source
t() :: %Absinthe.Type.InputObject{__private__: Keyword.t, __reference__: Absinthe.Type.Reference.t, description: binary, field_imports: term, fields: map | (() -> map), name: binary}
Note new input object types should be defined using
Absinthe.Schema.Notation.input_object/3
.
:name
- The name of the input object type. Should be a TitleCasedbinary
. Set automatically.:description
- A nice description for introspection.:fields
- A map ofAbsinthe.Type.Field
structs. Usually built viaAbsinthe.Schema.Notation.field/1
.
The __private__
and :__reference__
fields are for internal use.
Link to this section Functions
Callback implementation for c:Absinthe.Introspection.Kind.kind/0
.