View Source Absinthe.Type.InputObject (absinthe v1.7.7)
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
}
}
Summary
Types
Note new input object types should be defined using
Absinthe.Schema.Notation.input_object/3
.
Types
@type t() :: %Absinthe.Type.InputObject{ __private__: Keyword.t(), __reference__: Absinthe.Type.Reference.t(), definition: module(), description: binary(), fields: map(), identifier: atom(), 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/4
.
The __private__
and :__reference__
fields are for internal use.
Functions
Callback implementation for c:Absinthe.Introspection.TypeKind.kind/0
.