trait Schema[-R, T] extends AnyRef
Typeclass that defines how to map the type T
to the according GraphQL concepts: how to introspect it and how to resolve it.
R
is the ZIO environment required by the effects in the schema (Any
if nothing required).
- Self Type
- Schema[R, T]
- Annotations
- @implicitNotFound("""Cannot find a Schema for type ${T}.
Caliban derives a Schema automatically for basic Scala types, case classes and sealed traits, but
you need to manually provide an implicit Schema for other types that could be nested in ${T}.
If you use a custom type as an argument, you also need to provide an implicit ArgBuilder for that type.
See https://ghostdogpr.github.io/caliban/docs/schema.html for more information.
""")
- Alphabetic
- By Inheritance
- Schema
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def resolve(value: T): Step[R]
Resolves
T
by turning a value of typeT
into an execution step that describes how to resolve the value.Resolves
T
by turning a value of typeT
into an execution step that describes how to resolve the value.- value
a value of type
T
- abstract def toType(isInput: Boolean = false): __Type
Generates a GraphQL type object from
T
.Generates a GraphQL type object from
T
.- isInput
indicates if the type is passed as an argument. This is needed because GraphQL differentiates
InputType
fromObjectType
.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def arguments: List[__InputValue]
Defined the arguments of the given type.
Defined the arguments of the given type. Should be empty except for
Function
. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def contramap[A](f: (A) => T): Schema[R, A]
Builds a new
Schema
ofA
from an existingSchema
ofT
and a function fromA
toT
.Builds a new
Schema
ofA
from an existingSchema
ofT
and a function fromA
toT
.- f
a function from
A
toT
.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def optional: Boolean
Defines if the type is considered optional or non-null.
Defines if the type is considered optional or non-null. Should be false except for
Option
. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()