t

caliban.schema

GenericSchema

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

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GenericSchema
  2. TemporalSchema
  3. SchemaDerivation
  4. CommonSchemaDerivation
  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
    CommonSchemaDerivation

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 apply[A](implicit ev: Schema[R, A]): Schema[R, A]
    Definition Classes
    SchemaDerivation
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. implicit val base64CursorSchema: Schema[Any, Base64Cursor]
  7. implicit val bigDecimalSchema: Schema[Any, BigDecimal]
  8. implicit val bigIntSchema: Schema[Any, BigInt]
  9. implicit val booleanSchema: Schema[Any, Boolean]
  10. implicit def chunkSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Chunk[A]]
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  12. def customErrorEffectSchema[R0, R1 >: R0, R2 >: R0, E, A](convertError: (E) => ExecutionError)(implicit ev: Schema[R2, A]): Schema[R0, ZIO[R1, E, A]]
  13. def customErrorQuerySchema[R0, R1 >: R0, R2 >: R0, E, A](convertError: (E) => ExecutionError)(implicit ev: Schema[R2, A]): Schema[R0, ZQuery[R1, E, A]]
  14. def customErrorStreamSchema[R0, R1 >: R0, R2 >: R0, E, A](convertError: (E) => ExecutionError)(implicit ev: Schema[R2, A]): Schema[R0, ZStream[R1, E, A]]
  15. 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, the "Input" suffix is added after the type name, given that it is not already present.

    Definition Classes
    CommonSchemaDerivation
  16. implicit val doubleSchema: Schema[Any, Double]
  17. implicit def effectSchema[R0, R1 >: R0, R2 >: R0, E <: Throwable, A](implicit ev: Schema[R2, A]): Schema[R0, ZIO[R1, E, A]]
  18. implicit def eitherSchema[RA, RB, A, B](implicit evA: Schema[RA, A], evB: Schema[RB, B]): Schema[RA with RB, Either[A, B]]
  19. def enumSchema[A](name: String, description: Option[String] = None, values: List[__EnumValue], directives: List[Directive] = List.empty, repr: (A) => String): Schema[Any, A]

    Creates an enum schema for a type A

    Creates an enum schema for a type A

    name

    name of the scalar type

    description

    description of the scalar type

    values

    list of possible enum values

    directives

    the directives to add to the type

    repr

    function that defines how to convert A into a string. WARNING: The resulting string must be contained in the values list

    See also

    enumValue convenience method for creating enum values required by this method

  20. def enumValue(name: String, description: Option[String] = None, isDeprecated: Boolean = false, deprecationReason: Option[String] = None, directives: List[Directive] = List.empty): __EnumValue
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  23. 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.

  24. 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.

  25. 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.

  26. implicit val floatSchema: Schema[Any, Float]
  27. implicit def functionSchema[RA, RB, A, B](implicit arg1: ArgBuilder[A], ev1: Schema[RA, A], ev2: Schema[RB, B]): Schema[RB, (A) => B]
  28. implicit def functionUnitSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, () => A]
  29. implicit def futureSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Future[A]]
  30. macro def gen[R0, T]: Typeclass[T]

    Returns an instance of Schema for the given type T.

    Returns an instance of Schema for the given type T. This method requires a Schema for all types nested inside T. It should be used only if T is a case class or a sealed trait.

    Definition Classes
    SchemaDerivation
  31. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  32. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  33. implicit def infallibleEffectSchema[R0, R1 >: R0, R2 >: R0, A](implicit ev: Schema[R2, A]): Schema[R0, URIO[R1, A]]
  34. implicit def infallibleQuerySchema[R0, R1 >: R0, R2 >: R0, A](implicit ev: Schema[R2, A]): Schema[R0, ZQuery[R1, Nothing, A]]
  35. implicit def infallibleStreamSchema[R1, R2 >: R1, A](implicit ev: Schema[R2, A]): Schema[R1, ZStream[R1, Nothing, A]]
  36. lazy val instantEpochSchema: Schema[Any, Instant]
    Definition Classes
    TemporalSchema
  37. implicit lazy val instantSchema: Schema[Any, Instant]
    Definition Classes
    TemporalSchema
  38. implicit val intSchema: Schema[Any, Int]
  39. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  40. def isScalarValueType[T](ctx: ReadOnlyCaseClass[Typeclass, T]): Boolean
    Definition Classes
    CommonSchemaDerivation
  41. def isValueType[T](ctx: ReadOnlyCaseClass[Typeclass, T]): Boolean
    Definition Classes
    CommonSchemaDerivation
  42. def join[T](ctx: ReadOnlyCaseClass[Typeclass, T]): Typeclass[T]
    Definition Classes
    CommonSchemaDerivation
  43. implicit def listSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, List[A]]
  44. val localDateEpochSchema: Schema[Any, LocalDate]
    Definition Classes
    TemporalSchema
  45. implicit lazy val localDateSchema: Schema[Any, LocalDate]
    Definition Classes
    TemporalSchema
  46. def localDateSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, LocalDate]
    Definition Classes
    TemporalSchema
  47. val localDateTimeEpochSchema: Schema[Any, LocalDateTime]
    Definition Classes
    TemporalSchema
  48. implicit lazy val localDateTimeSchema: Schema[Any, LocalDateTime]
    Definition Classes
    TemporalSchema
  49. def localDateTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, LocalDateTime]
    Definition Classes
    TemporalSchema
  50. implicit lazy val localTimeSchema: Schema[Any, LocalTime]
    Definition Classes
    TemporalSchema
  51. def localTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, LocalTime]
    Definition Classes
    TemporalSchema
  52. implicit val longSchema: Schema[Any, Long]
  53. implicit def mapSchema[RA, RB, A, B](implicit evA: Schema[RA, A], evB: Schema[RB, B]): Schema[RA with RB, Map[A, B]]
  54. implicit def metadataFunctionSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, (Field) => A]
  55. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  56. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  57. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  58. 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)
      )
    )
  59. 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

  60. implicit lazy val offsetDateTimeSchema: Schema[Any, OffsetDateTime]
    Definition Classes
    TemporalSchema
  61. def offsetDateTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, OffsetDateTime]
    Definition Classes
    TemporalSchema
  62. implicit def optionSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Option[A]]
  63. implicit def querySchema[R0, R1 >: R0, R2 >: R0, E <: Throwable, A](implicit ev: Schema[R2, A]): Schema[R0, ZQuery[R1, E, A]]
  64. lazy val sampleDate: ZonedDateTime
    Definition Classes
    TemporalSchema
  65. def scalarSchema[A](name: String, description: Option[String], specifiedBy: Option[String], directives: Option[List[Directive]], 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

    specifiedBy

    URL of the scalar specification

    directives

    the directives to add to the type

    makeResponse

    function from A to ResponseValue that defines how to resolve A

  66. implicit def seqSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Seq[A]]
  67. implicit def setSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Set[A]]
  68. implicit val shortSchema: Schema[Any, Short]
  69. def split[T](ctx: SealedTrait[Typeclass, T]): Typeclass[T]
    Definition Classes
    CommonSchemaDerivation
  70. implicit def streamSchema[R0, R1 >: R0, R2 >: R0, E <: Throwable, A](implicit ev: Schema[R2, A]): Schema[R0, ZStream[R1, E, A]]
  71. implicit val stringSchema: Schema[Any, String]
  72. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  73. def temporalSchema[A <: Temporal](name: String, description: Option[String] = None)(f: (A) => ResponseValue): Schema[Any, A]
    Definition Classes
    TemporalSchema
  74. def temporalSchemaWithFormatter[A <: Temporal](name: String, description: Option[String] = None)(formatter: DateTimeFormatter): Schema[Any, A]
    Definition Classes
    TemporalSchema
  75. def toString(): String
    Definition Classes
    AnyRef → Any
  76. implicit def tupleSchema[RA, RB, A, B](implicit evA: Schema[RA, A], evB: Schema[RB, B]): Schema[RA with RB, (A, B)]
  77. implicit val unitSchema: Schema[Any, Unit]
  78. implicit val uploadSchema: Schema[Any, Upload]
  79. implicit val uuidSchema: Schema[Any, UUID]
  80. implicit def vectorSchema[R0, A](implicit ev: Schema[R0, A]): Schema[R0, Vector[A]]
  81. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  82. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  83. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  84. implicit lazy val zonedDateTimeSchema: Schema[Any, ZonedDateTime]
    Definition Classes
    TemporalSchema
  85. def zonedDateTimeSchemaWithFormatter(formatter: DateTimeFormatter): Schema[Any, ZonedDateTime]
    Definition Classes
    TemporalSchema
  86. object auto extends AutoSchemaDerivation[R]
    Definition Classes
    SchemaDerivation

Deprecated Value Members

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

    (Since version 9)

Inherited from schema.TemporalSchema

Inherited from SchemaDerivation[R]

Inherited from CommonSchemaDerivation[R]

Inherited from AnyRef

Inherited from Any

Ungrouped