JsonSchema

harness.schema.JsonSchema$
See theJsonSchema companion trait
object JsonSchema extends Derivable[JsonSchema]

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
trait Derivable[JsonSchema]
class Object
trait Matchable
class Any
Show all
Self type
JsonSchema.type

Members list

Type members

Classlikes

final case class JsonArr[A](tag: HTag[A], codec: JsonCodec[A], elem: JsonSchema[_]) extends JsonSchema[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait JsonSchema[A]
trait Schema[A]
class Object
trait Matchable
class Any
Show all
final case class JsonBool[A](tag: HTag[A], codec: JsonCodec[A]) extends JsonSchema[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait JsonSchema[A]
trait Schema[A]
class Object
trait Matchable
class Any
Show all
final case class JsonNum[A](tag: HTag[A], codec: JsonCodec[A]) extends JsonSchema[A]

Attributes

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

Attributes

Supertypes
trait JsonSchema[A]
trait Schema[A]
class Object
trait Matchable
class Any
Known subtypes
class ProductJsonObj[A]
class SumJsonObj[A]
final case class JsonStr[A](tag: HTag[A], codec: JsonCodec[A], enumValues: Option[List[String]]) extends JsonSchema[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait JsonSchema[A]
trait Schema[A]
class Object
trait Matchable
class Any
Show all
final case class NotRequired[A](tag: HTag[A], codec: JsonCodec[A], elem: JsonSchema[_], canBeNull: Boolean, canBeMissing: Boolean) extends JsonSchema[A]

Attributes

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ProductJsonObj[A](tag: HTag[A], codec: JsonCodec[A], name: String, elems: Lazy[List[ProductField]]) extends JsonObj[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait JsonObj[A]
trait JsonSchema[A]
trait Schema[A]
class Object
trait Matchable
class Any
Show all
final case class SumJsonObj[A](tag: HTag[A], codec: JsonCodec[A], discriminator: Option[String], options: List[SumOption[_]]) extends JsonObj[A]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait JsonObj[A]
trait JsonSchema[A]
trait Schema[A]
class Object
trait Matchable
class Any
Show all
final case class SumOption[A](option: ProductJsonObj[A])

Attributes

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

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

inline def apply[A](implicit schema: JsonSchema[A]): JsonSchema[A]

Inherited methods

final inline def derived[F](using m: Generic[F]): T[F]

Attributes

Inherited from:
Derivable
final inline def summonOrDerive[F](using m: Generic[F]): T[F]

Attributes

Inherited from:
Derivable

Implicits

Implicits

implicit val bigDecimalSchema: JsonSchema[BigDecimal]
implicit val bigIntSchema: JsonSchema[BigInt]
implicit val booleanSchema: JsonSchema[Boolean]
implicit val byteSchema: JsonSchema[Byte]
implicit val charSchema: JsonSchema[Char]
implicit def chunkSchema[A](using evidence$21: Tag[A], elem: JsonSchema[A]): JsonSchema[Chunk[A]]
implicit val doubleSchema: JsonSchema[Double]
implicit def encodedStringSchema[A](using evidence$15: StringEncoder[A], evidence$16: StringDecoder[A], evidence$17: Tag[A]): JsonSchema[A]
implicit def enumSchema[E <: Enum[LazyRef(...)]](using evidence$13: Tag[E], evidence$14: ClassTag[E], ewe: WithEnc[E, String]): JsonSchema[E]
implicit val floatSchema: JsonSchema[Float]
implicit inline override def genProduct[A](implicit m: ProductGeneric[A]): Derived[JsonSchema[A]]

Attributes

Definition Classes
Derivable
implicit inline override def genSum[A](implicit m: SumGeneric[A]): Derived[JsonSchema[A]]

Attributes

Definition Classes
Derivable
implicit val intSchema: JsonSchema[Int]
implicit def listSchema[A](using evidence$19: Tag[A], elem: JsonSchema[A]): JsonSchema[List[A]]
implicit val longSchema: JsonSchema[Long]
implicit def nelSchema[A](using evidence$22: Tag[A], elem: JsonSchema[A]): JsonSchema[NonEmptyList[A]]
implicit def optionSchema[A](using evidence$23: Tag[A], elem: JsonSchema[A]): JsonSchema[Option[A]]
implicit def seqSchema[A](using evidence$18: Tag[A], elem: JsonSchema[A]): JsonSchema[Seq[A]]
implicit def setSchema[A](using evidence$20: Tag[A], elem: JsonSchema[A]): JsonSchema[Set[A]]
implicit val shortSchema: JsonSchema[Short]
implicit val stringSchema: JsonSchema[String]