Schema

smithy4s.schema.Schema$
See theSchema companion trait
object Schema

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Schema.type

Members list

Concise view

Type members

Classlikes

final case class BijectionSchema[A, B](underlying: Schema[A], bijection: Bijection[A, B]) extends Schema[B]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[B]
class Object
trait Matchable
class Any
final case class CollectionSchema[C[_], A](shapeId: ShapeId, hints: Hints, tag: CollectionTag[C], member: Schema[A]) extends Schema[C[A]]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[C[A]]
class Object
trait Matchable
class Any
final case class EnumerationSchema[E](shapeId: ShapeId, hints: Hints, values: List[EnumValue[E]], total: E => EnumValue[E]) extends Schema[E]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[E]
class Object
trait Matchable
class Any
final case class LazySchema[A](suspend: Lazy[Schema[A]]) extends Schema[A]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[A]
class Object
trait Matchable
class Any
final case class MapSchema[K, V](shapeId: ShapeId, hints: Hints, key: Schema[K], value: Schema[V]) extends Schema[Map[K, V]]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[Map[K, V]]
class Object
trait Matchable
class Any
final case class PrimitiveSchema[P](shapeId: ShapeId, hints: Hints, tag: Primitive[P]) extends Schema[P]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[P]
class Object
trait Matchable
class Any
final case class RefinementSchema[A, B](underlying: Schema[A], refinement: Refinement[A, B]) extends Schema[B]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[B]
class Object
trait Matchable
class Any
final case class StructSchema[S](shapeId: ShapeId, hints: Hints, fields: Vector[Field[Schema, S, _]], make: IndexedSeq[Any] => S) extends Schema[S]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[S]
class Object
trait Matchable
class Any
final case class UnionSchema[U](shapeId: ShapeId, hints: Hints, alternatives: Vector[Alt[Schema, U, _]], dispatch: U => WithValue[Schema, U, _]) extends Schema[U]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Schema[U]
class Object
trait Matchable
class Any

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def bijection[A, B](a: Schema[A], bijection: Bijection[A, B]): Schema[B]
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 indexedSeq[A](a: Schema[A]): Schema[IndexedSeq[A]]
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]
def vector[A](a: Schema[A]): Schema[Vector[A]]