absinthe v1.2.6 Absinthe.Type.InputObject

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

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

Types

t()
t :: %{name: binary, description: binary, fields: map | (() -> map), __private__: Keyword.t, __reference__: Absinthe.Type.Reference.t}

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.

Functions

build(map)
fetch(container, key)
kind()

Callback implementation for c:Absinthe.Introspection.Kind.kind/0.