CaseClass2

sealed trait CaseClass2[A1, A2, Z] extends Record[Z]
Companion:
object
trait Record[Z]
trait Schema[Z]
class Object
trait Matchable
class Any
CaseClass2[A1, A2, Z]

Type members

Types

type Accessors[Lens[_, _, _], Prism[_, _, _], Traversal[_, _]] = (Lens[Field1, Z, A1], Lens[Field2, Z, A2])
type Field1 <: Singleton & String
type Field2 <: Singleton & String
override type FieldNames = Field1 & Field2
override type Terms = (Field1, A1) & (Field2, A2)

Value members

Abstract methods

def annotations: Chunk[Any]
def construct: (A1, A2) => Z

Concrete methods

override def construct(values: Chunk[Any])(implicit unsafe: Unsafe): Either[String, Z]
Definition Classes
override def deconstruct(value: Z)(implicit unsafe: Unsafe): Chunk[Any]
Definition Classes
override def fields: Chunk[Field[Z, _]]
Definition Classes
override def makeAccessors(b: AccessorBuilder): (Lens[Field1, Z, A1], Lens[Field2, Z, A2])
Definition Classes
override def toString: String
Definition Classes
Any

Inherited methods

def <*>[B](that: Schema[B]): Schema[(Z, B)]

A symbolic operator for zip.

A symbolic operator for zip.

Inherited from:
Schema
def <+>[B](that: Schema[B]): Schema[Either[Z, B]]

A symbolic operator for orElseEither.

A symbolic operator for orElseEither.

Inherited from:
Schema
def ?: Schema[Option[Z]]

A symbolic operator for optional.

A symbolic operator for optional.

Inherited from:
Schema
def annotate(annotation: Any): Schema[Z]

Returns a new schema that with annotation

Returns a new schema that with annotation

Inherited from:
Schema
Inherited from:
Schema
def coerce[B](newSchema: Schema[B]): Either[String, Schema[B]]

Convert to Schema[B] iff B and A are homomorphic.

Convert to Schema[B] iff B and A are homomorphic.

This can be used to e.g convert between a case class and it's "generic" representation as a ListMap[String,_]

Inherited from:
Schema
def defaultValue: Either[String, Z]
Inherited from:
Record
def diff(thisValue: Z, thatValue: Z): Patch[Z]

Performs a diff between thisValue and thatValue. See zio.schema.Differ for details on the default diff algorithms.

Performs a diff between thisValue and thatValue. See zio.schema.Differ for details on the default diff algorithms.

Inherited from:
Schema
def fromDynamic(value: DynamicValue): Either[String, Z]
Inherited from:
Schema
def id: TypeId
Inherited from:
Record
def migrate[B](newSchema: Schema[B]): Either[String, Z => Either[String, B]]

Generate a homomorphism from A to B iff A and B are homomorphic

Generate a homomorphism from A to B iff A and B are homomorphic

Inherited from:
Schema
def optional: Schema[Option[Z]]

Returns a new schema that modifies the type produced by this schema to be optional.

Returns a new schema that modifies the type produced by this schema to be optional.

Inherited from:
Schema
def orElseEither[B](that: Schema[B]): Schema[Either[Z, B]]

Returns a new schema that combines this schema and the specified schema together, modeling their either composition.

Returns a new schema that combines this schema and the specified schema together, modeling their either composition.

Inherited from:
Schema
def ordering: Ordering[Z]
Inherited from:
Schema
def patch(oldValue: Z, diff: Patch[Z]): Either[String, Z]

Patch value with a Patch.

Patch value with a Patch.

Inherited from:
Schema
def repeated: Schema[Chunk[Z]]
Inherited from:
Schema
Inherited from:
Schema
def toDynamic(value: Z): DynamicValue
Inherited from:
Schema
def transform[B](f: Z => B, g: B => Z)(implicit loc: SourceLocation): Schema[B]

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B, without possibility of failure.

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B, without possibility of failure.

Inherited from:
Schema
def transformOrFail[B](f: Z => Either[String, B], g: B => Either[String, Z])(implicit loc: SourceLocation): Schema[B]

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B (possibly failing in some cases).

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B (possibly failing in some cases).

Inherited from:
Schema
def validate(value: Z)(implicit schema: Schema[Z]): Chunk[ValidationError]
Inherited from:
Schema
def zip[B](that: Schema[B]): Schema[(Z, B)]

Returns a new schema that combines this schema and the specified schema together, modeling their tuple composition.

Returns a new schema that combines this schema and the specified schema together, modeling their tuple composition.

Inherited from:
Schema