View Source Absinthe.Type.NonNull (absinthe v1.7.1)
A type that wraps an underlying type, acting identically to that type but adding a non-null constraint.
By default, all types in GraphQL are nullable. To declare a type that
disallows null, wrap it in a Absinthe.Type.NonNull
struct.
Adding non_null/1 to a type is a breaking change, removing it is not. Client documents that specify non null on a
variable eg query ($id: ID!)
are allowed to be passed to arguments which allow null. If the argument however is
non_null, then the variable type MUST be non null as well.
examples
Examples
Given a type, :item
, to declare it as non-null, you could do the following:
type: %Absinthe.Type.NonNull{of_type: :item}
But normally this would be done using Absinthe.Schema.Notation.non_null/1
.
type: non_null(:item)
Link to this section Summary
Functions
Callback implementation for c:Absinthe.Introspection.TypeKind.kind/0
.
Link to this section Types
@type t() :: %Absinthe.Type.NonNull{of_type: Absinthe.Type.nullable_t()}
A defined non-null type.
options
Options
:of_type
-- the underlying type to wrap
@type t(x) :: %Absinthe.Type.NonNull{of_type: x}
Link to this section Functions
Callback implementation for c:Absinthe.Introspection.TypeKind.kind/0
.