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

t()

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 TitleCased binary. Set automatically.
  • :description - A nice description for introspection.
  • :fields - A map of Absinthe.Type.Field structs. Usually built via Absinthe.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.