JsonSchema

oxygen.schema.JsonSchema
See theJsonSchema companion trait
object JsonSchema extends Derivable[ProductLike], LowPriority1

Attributes

Companion
trait
Graph
Supertypes
trait LowPriority1
trait Derivable[ProductLike]
class Object
trait Matchable
class Any
Self type
JsonSchema.type

Members list

Type members

Classlikes

final case class ASTSchema[A] extends NonProductLike[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
final case class ArraySchema[A] extends NonProductLike[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
case object BooleanSchema extends NonProductLike[Boolean]

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait NonProductLike[Boolean]
trait JsonSchema[Boolean]
trait SchemaLike[Boolean]
class Object
trait Matchable
class Any
Show all
Self type
final case class IntNumberSchema[A] extends NonProductLike[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
sealed trait NonProductLike[A] extends JsonSchema[A]

Attributes

Supertypes
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Known subtypes
class ASTSchema[A]
class ArraySchema[A]
object BooleanSchema
class IntNumberSchema[A]
class NumberSchema[A]
class OptionalSchema[A]
class StringSchema[A]
class Transform[A, B]
class TransformOrFail[A, B]
Show all
final case class NumberSchema[A] extends NonProductLike[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
final case class OptionalSchema[A] extends NonProductLike[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
final case class ProductField[A](name: String, schema: JsonSchema[A])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ProductLike

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait ProductLike[A] extends JsonSchema[A]

Attributes

Companion
object
Supertypes
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Known subtypes
trait ProductSchema[A]
trait SumSchema[A]
class TransformProduct[A, B]
trait ProductSchema[A] extends ProductLike[A]

Attributes

Supertypes
trait ProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
final case class StringSchema[A](underlying: PlainTextSchema[A]) extends NonProductLike[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
final case class SumCase[A](name: String, schema: JsonSchema[A])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait SumSchema[A] extends ProductLike[A]

Attributes

Supertypes
trait ProductLike[A]
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Show all
final case class Transform[A, B] extends NonProductLike[B]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[B]
trait JsonSchema[B]
trait SchemaLike[B]
class Object
trait Matchable
class Any
Show all
final case class TransformOrFail[A, B] extends NonProductLike[B]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NonProductLike[B]
trait JsonSchema[B]
trait SchemaLike[B]
class Object
trait Matchable
class Any
Show all
final case class TransformOrFailProduct[A, B] extends ProductLike[B]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ProductLike[B]
trait JsonSchema[B]
trait SchemaLike[B]
class Object
trait Matchable
class Any
Show all
final case class TransformProduct[A, B] extends ProductLike[B]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ProductLike[B]
trait JsonSchema[B]
trait SchemaLike[B]
class Object
trait Matchable
class Any
Show all

Inherited classlikes

Attributes

Inherited from:
Derivable
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[A](using schema: JsonSchema[A]): JsonSchema[A]
inline override def derived[A]: ProductLike[A]

Unfortunately, scala macros do not allow this to be implemented in Derivable. Therefore, every companion object that extends Derivable must implement this function with the following body: ${ derivedImpl[A] }

Unfortunately, scala macros do not allow this to be implemented in Derivable. Therefore, every companion object that extends Derivable must implement this function with the following body: ${ derivedImpl[A] }

Attributes

Definition Classes
Derivable

Givens

Givens

given bigDecimal: JsonSchema[BigDecimal]
given bigInt: JsonSchema[BigInt]
given boolean: JsonSchema[Boolean]
given byte: JsonSchema[Byte]
given double: JsonSchema[Double]
given float: JsonSchema[Float]
given instant: JsonSchema[Instant]
given int: JsonSchema[Int]
given json: JsonSchema[Json]
given jsonArray: JsonSchema[Arr]
given jsonBoolean: JsonSchema[Bool]
given jsonNull: JsonSchema[Null.type]
given jsonNumber: JsonSchema[Number]
given jsonObject: JsonSchema[Obj]
given jsonString: JsonSchema[Str]
given localDate: JsonSchema[LocalDate]
given localDateTime: JsonSchema[LocalDateTime]
given localTime: JsonSchema[LocalTime]
given long: JsonSchema[Long]
given offsetDateTime: JsonSchema[OffsetDateTime]
given option[A](using underlying: JsonSchema[A], newTypeTag: TypeTag[Option[A]]): JsonSchema[Option[A]]
given short: JsonSchema[Short]
given specified[A](using underlying: JsonSchema[A], newTypeTag: TypeTag[Specified[A]]): JsonSchema[Specified[A]]
given string: JsonSchema[String]
given timeZone: JsonSchema[TimeZone]
given uuid: JsonSchema[UUID]
given zoneId: JsonSchema[ZoneId]
given zoneOffset: JsonSchema[ZoneOffset]
given zonedDateTime: JsonSchema[ZonedDateTime]

Inherited givens

given fromPlainText[A](using underlying: PlainTextSchema[A]): JsonSchema[A]

Attributes

Inherited from:
LowPriority1
given given_Derivable_F: Derivable[ProductLike]

Attributes

Inherited from:
Derivable