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()
- 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, isSubscription: Boolean = false): __Type
Generates a GraphQL type object from
T
.Generates a GraphQL type object from
T
.Note that this method is public to allow derivation via the
derives
keyword in Scala 3. To avoid accidental usage (which would be bad for performance), we mark as @deprecated, which will lead to compiler warnings when used- isInput
indicates if the type is passed as an argument. This is needed because GraphQL differentiates
InputType
fromObjectType
.- 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.
- Annotations
- @deprecated
- Deprecated
use toType_ instead
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]) @HotSpotIntrinsicCandidate() @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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @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
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @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
. - def rename(name: String, inputName: Option[String] = None): Schema[R, T]
Changes the name of the generated graphql type.
Changes the name of the generated graphql type.
- name
new name for the type
- inputName
new name for the type when it's an input type (by default "Input" is added after the name)
- 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
InputType
fromObjectType
.- 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(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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)