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
Tby turning a value of typeTinto an execution step that describes how to resolve the value.Resolves
Tby turning a value of typeTinto an execution step that describes how to resolve the value.- value
a value of type
T
- abstract def toType(isInput: Boolean = false, isSubscription: 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
InputTypefromObjectType.- isSubscription
indicates if the type is used in a subscription operation. For example, ZStream gives a different GraphQL type depending whether it is used in a subscription or elsewhere.
- Attributes
- protected[this]
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
SchemaofAfrom an existingSchemaofTand a function fromAtoT.Builds a new
SchemaofAfrom an existingSchemaofTand a function fromAtoT.- f
a function from
AtoT.
- 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 toType_(isInput: Boolean = false, isSubscription: Boolean = false): __Type
Generates a GraphQL type object from
T.Generates a GraphQL type object from
T. UnliketoType, this function is optimized and will not re-generate the type at each call.- isInput
indicates if the type is passed as an argument. This is needed because GraphQL differentiates
InputTypefromObjectType.- isSubscription
indicates if the type is used in a subscription operation. For example, ZStream gives a different GraphQL type depending whether it is used in a subscription or elsewhere.
- 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()