Schema

object Schema
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Schema.type

Type members

Classlikes

final case class BijectionSchema[A, B](underlying: Schema[A], to: A => B, from: B => A) extends Schema[B]
final case class EnumerationSchema[E](shapeId: ShapeId, hints: Hints, values: List[EnumValue[E]], total: E => EnumValue[E]) extends Schema[E]
final case class LazySchema[A](suspend: Lazy[Schema[A]]) extends Schema[A]
final case class ListSchema[A](shapeId: ShapeId, hints: Hints, member: Schema[A]) extends Schema[List[A]]
final case class MapSchema[K, V](shapeId: ShapeId, hints: Hints, key: Schema[K], value: Schema[V]) extends Schema[Map[K, V]]
final case class PrimitiveSchema[P](shapeId: ShapeId, hints: Hints, tag: Primitive[P]) extends Schema[P]
final case class SetSchema[A](shapeId: ShapeId, hints: Hints, member: Schema[A]) extends Schema[Set[A]]
final case class StructSchema[S](shapeId: ShapeId, hints: Hints, fields: Vector[Field[Schema, S, _]], make: IndexedSeq[Any] => S) extends Schema[S]
final case class SurjectionSchema[A, B](underlying: Schema[A], refinement: Refinement[A, B], from: B => A) extends Schema[B]
final case class UnionSchema[U](shapeId: ShapeId, hints: Hints, alternatives: Vector[Alt[Schema, U, _]], dispatch: U => WithValue[Schema, U, _]) extends Schema[U]

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def bijection[A, B](a: Schema[A], to: A => B, from: B => A): Schema[B]
def constant[A](a: A): Schema[A]
def enumeration[E](total: E => EnumValue[E], values: List[EnumValue[E]]): Schema[E]
def enumeration[E <: Value](values: List[E]): Schema[E]
def list[A](a: Schema[A]): Schema[List[A]]
def map[K, V](k: Schema[K], v: Schema[V]): Schema[Map[K, V]]
def recursive[A](s: => Schema[A]): Schema[A]
def set[A](a: Schema[A]): Schema[Set[A]]
def union[U](alts: Alt[Schema, U, _]*)(dispatch: U => WithValue[Schema, U, _]): UnionSchema[U]
def union[U](alts: Vector[Alt[Schema, U, _]])(dispatch: U => WithValue[Schema, U, _]): UnionSchema[U]