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()
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Schema
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def resolve(value: T): Step[R]

    Resolves T by turning a value of type T into an execution step that describes how to resolve the value.

    Resolves T by turning a value of type T into an execution step that describes how to resolve the value.

    value

    a value of type T

  2. 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 from ObjectType.

    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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def arguments: List[__InputValue]

    Defined the arguments of the given type.

    Defined the arguments of the given type. Should be empty except for Function.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. def contramap[A](f: (A) => T): Schema[R, A]

    Builds a new Schema of A from an existing Schema of T and a function from A to T.

    Builds a new Schema of A from an existing Schema of T and a function from A to T.

    f

    a function from A to T.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. 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.

  17. 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)

  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def toType_(isInput: Boolean = false, isSubscription: Boolean = false): __Type

    Generates a GraphQL type object from T.

    Generates a GraphQL type object from T. Unlike toType, 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 from ObjectType.

    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.

  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped