t

caliban.schema

GenericSchema

trait GenericSchema[R] extends SchemaDerivation[R] with TemporalSchema

Linear Supertypes
schema.TemporalSchema, SchemaDerivation[R], LowPriorityDerivedSchema, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GenericSchema
  2. TemporalSchema
  3. SchemaDerivation
  4. LowPriorityDerivedSchema
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Typeclass[T] = Schema[R, T]
    Definition Classes
    SchemaDerivation

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. implicit val bigDecimalSchema: Schema[Any, BigDecimal]
  6. implicit val bigIntSchema: Schema[Any, BigInt]
  7. implicit val booleanSchema: Schema[Any, Boolean]
  8. implicit def chunkSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Chunk[A]]
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  10. def combine[T](ctx: ReadOnlyCaseClass[Typeclass, T]): Typeclass[T]
    Definition Classes
    SchemaDerivation
  11. def customizeInputTypeName(name: String): String

    Default naming logic for input types.

    Default naming logic for input types. This is needed to avoid a name clash between a type used as an input and the same type used as an output. GraphQL needs 2 different types, and they can't have the same name. By default, we add the "Input" suffix after the type name.

    Definition Classes
    SchemaDerivation
  12. implicit def derivedSchema[R, T](implicit derived: Derived[Schema[R, T]]): Schema[R, T]
    Definition Classes
    LowPriorityDerivedSchema
  13. def dispatch[T](ctx: SealedTrait[Typeclass, T]): Typeclass[T]
    Definition Classes
    SchemaDerivation
  14. implicit val doubleSchema: Schema[Any, Double]
  15. implicit def effectSchema[R0, R1 >: R0, R2 >: R0, E <: Throwable, A](implicit ev: Schema[R2, A]): Schema[R0, ZIO[R1, E, A]]
  16. implicit def eitherSchema[RA, RB, A, B](implicit evA: Schema[RA, A], evB: Schema[RB, B]): Schema[RA with RB, Either[A, B]]
  17. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  19. def field[V](name: String, description: Option[String] = None, directives: List[Directive] = List.empty): PartiallyAppliedField[V]

    Manually defines a field from a name, a description, some directives and a resolver.

    Manually defines a field from a name, a description, some directives and a resolver. If the field is a function that should be called lazily, use fieldLazy instead. If the field takes arguments, use fieldWithArgs instead.

  20. def fieldLazy[V](name: String, description: Option[String] = None, directives: List[Directive] = List.empty): PartiallyAppliedFieldLazy[V]

    Manually defines a lazy field from a name, a description, some directives and a resolver.

  21. def fieldWithArgs[V, A](name: String, description: Option[String] = None, directives: List[Directive] = Nil): PartiallyAppliedFieldWithArgs[V, A]

    Manually defines a field with arguments from a name, a description, some directives and a resolver.

  22. implicit val floatSchema: Schema[Any, Float]
  23. implicit def functionSchema[RA, RB, A, B](implicit arg1: ArgBuilder[A], ev1: Schema[RA, A], ev2: Schema[RB, B]): Schema[RA with RB, (A) => B]
  24. implicit def functionUnitSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, () => A]
  25. implicit def futureSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Future[A]]
  26. def gen[T](implicit derived: Derived[Schema[R, T]]): Schema[R, T]

    Returns an instance of Schema for the given type T.

    Returns an instance of Schema for the given type T. For a case class or sealed trait, you can call genMacro[T].schema instead to get more details if the schema can't be derived.

    Definition Classes
    SchemaDerivation
  27. implicit macro def genMacro[T]: Derived[Typeclass[T]]

    Generates an instance of Schema for the given type T.

    Generates an instance of Schema for the given type T. This should be used only if T is a case class or a sealed trait.

    Definition Classes
    SchemaDerivation
  28. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. implicit def infallibleEffectSchema[R0, R1 >: R0, R2 >: R0, A](implicit ev: Schema[R2, A]): Schema[R0, URIO[R1, A]]
  31. implicit def infallibleQuerySchema[R0, R1 >: R0, R2 >: R0, A](implicit ev: Schema[R2, A]): Schema[R0, ZQuery[R1, Nothing, A]]
  32. implicit def infallibleStreamSchema[R1, R2 >: R1, A](implicit ev: Schema[R2, A]): Schema[R1, ZStream[R1, Nothing, A]]
  33. lazy val instantEpochSchema: Schema[Any, Instant]
    Definition Classes
    TemporalSchema
  34. implicit lazy val instantSchema: Schema[Any, Instant]
    Definition Classes
    TemporalSchema
  35. implicit val intSchema: Schema[Any, Int]
  36. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  37. implicit def listSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, List[A]]
  38. val localDateEpochSchema: Schema[Any, LocalDate]
    Definition Classes
    TemporalSchema
  39. implicit lazy val localDateSchema: Schema[Any, LocalDate]
    Definition Classes
    TemporalSchema
  40. def localDateSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, LocalDate]
    Definition Classes
    TemporalSchema
  41. val localDateTimeEpochSchema: Schema[Any, LocalDateTime]
    Definition Classes
    TemporalSchema
  42. implicit lazy val localDateTimeSchema: Schema[Any, LocalDateTime]
    Definition Classes
    TemporalSchema
  43. def localDateTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, LocalDateTime]
    Definition Classes
    TemporalSchema
  44. implicit lazy val localTimeSchema: Schema[Any, LocalTime]
    Definition Classes
    TemporalSchema
  45. def localTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, LocalTime]
    Definition Classes
    TemporalSchema
  46. implicit val longSchema: Schema[Any, Long]
  47. implicit def mapSchema[RA, RB, A, B](implicit evA: Schema[RA, A], evB: Schema[RB, B]): Schema[RA with RB, Map[A, B]]
  48. implicit def metadataFunctionSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, (Field) => A]
  49. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  50. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  51. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  52. def obj[R1, V](name: String, description: Option[String] = None, directives: List[Directive] = Nil)(fields: (FieldAttributes) => List[(__Field, (V) => Step[R1])]): Schema[R1, V]

    Creates a new hand-rolled schema.

    Creates a new hand-rolled schema. For normal usage use the derived schemas, this is primarily for schemas which can't be resolved by derivation.

    name

    The name of the type

    description

    An optional description of the type

    directives

    The directives to add to the type

    fields

    The fields to add to this object

    case class Group(id: String, users: UQuery[List[User]], parent: UQuery[Option[Group]], organization: UQuery[Organization])
    case class Organization(id: String, groups: UQuery[List[Group]])
    case class User(id: String, group: UQuery[Group])
    
    implicit val groupSchema: Schema[Any, Group] = obj("Group", Some("A group of users"))(implicit ft =>
      List(
        field("id")(_.id),
        field("users")(_.users),
        field("parent")(_.parent),
        field("organization")(_.organization)
      )
    )
    
    implicit val orgSchema: Schema[Any, Organization] = obj("Organization", Some("An organization of groups"))(implicit ft =>
      List(
        field("id")(_.id),
        field("groups")(_.groups)
      )
    )
    
    implicit val userSchema: Schema[Any, User] = obj("User", Some("A user of the service"))(implicit ft =>
      List(
        field("id")(_.id),
        field("group")(_.group)
      )
    )
  53. def objectSchema[R1, A](name: String, description: Option[String], fields: (Boolean, Boolean) => List[(__Field, (A) => Step[R1])], directives: List[Directive] = List.empty): Schema[R1, A]

    Creates an object schema for a type A

    Creates an object schema for a type A

    name

    name of the type

    description

    description of the type

    fields

    list of fields with a type description and a resolver for each field

  54. implicit lazy val offsetDateTimeSchema: Schema[Any, OffsetDateTime]
    Definition Classes
    TemporalSchema
  55. def offsetDateTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, OffsetDateTime]
    Definition Classes
    TemporalSchema
  56. implicit def optionSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Option[A]]
  57. implicit def querySchema[R0, R1 >: R0, R2 >: R0, E <: Throwable, A](implicit ev: Schema[R2, A]): Schema[R0, ZQuery[R1, E, A]]
  58. lazy val sampleDate: ZonedDateTime
    Definition Classes
    TemporalSchema
  59. def scalarSchema[A](name: String, description: Option[String], makeResponse: (A) => ResponseValue): Schema[Any, A]

    Creates a scalar schema for a type A

    Creates a scalar schema for a type A

    name

    name of the scalar type

    description

    description of the scalar type

    makeResponse

    function from A to ResponseValue that defines how to resolve A

  60. implicit def seqSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Seq[A]]
  61. implicit def setSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Set[A]]
  62. implicit def streamSchema[R0, R1 >: R0, R2 >: R0, E <: Throwable, A](implicit ev: Schema[R2, A]): Schema[R0, ZStream[R1, E, A]]
  63. implicit val stringSchema: Schema[Any, String]
  64. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  65. def temporalSchema[A <: Temporal](name: String, description: Option[String] = None)(f: (A) => ResponseValue): Schema[Any, A]
    Definition Classes
    TemporalSchema
  66. def temporalSchemaWithFormatter[A <: Temporal](name: String, description: Option[String] = None)(formatter: DateTimeFormatter): Schema[Any, A]
    Definition Classes
    TemporalSchema
  67. def toString(): String
    Definition Classes
    AnyRef → Any
  68. implicit def tupleSchema[RA, RB, A, B](implicit evA: Schema[RA, A], evB: Schema[RB, B]): Schema[RA with RB, (A, B)]
  69. implicit val unitSchema: Schema[Any, Unit]
  70. implicit val uuidSchema: Schema[Any, UUID]
  71. implicit def vectorSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Vector[A]]
  72. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  73. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  74. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  75. implicit lazy val zonedDateTimeSchema: Schema[Any, ZonedDateTime]
    Definition Classes
    TemporalSchema
  76. def zonedDateTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, ZonedDateTime]
    Definition Classes
    TemporalSchema

Deprecated Value Members

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

Inherited from schema.TemporalSchema

Inherited from SchemaDerivation[R]

Inherited from LowPriorityDerivedSchema

Inherited from AnyRef

Inherited from Any

Ungrouped