Product

io.hireproof.structure.Schema$.Product
See theProduct companion object
sealed abstract class Product[A](default: Option[A], description: Option[String], example: Option[A], name: Option[String], validations: Chain[Validation[_, _]]) extends Value[A] with Product[A]

Attributes

Companion:
object
Graph
Supertypes
trait Product[A]
class Value[A]
class Schema[A]
trait Structure[A]
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Types

final override type Element[a] = Field[a]
final override type Group[a] = Product[a]
final override type Self[a] = Product[a]

Value members

Abstract methods

def toChain: Chain[Field[_]]

Concrete methods

final def copy(default: Option[A], description: Option[String], example: Option[A], name: Option[String]): Product[A]
final override def toJson(fa: A): Option[Json]

Attributes

Definition Classes
final override def toJsonValue(fa: A): Json

Attributes

Definition Classes
final override def toString(fa: A): Option[String]

Attributes

Definition Classes
final override def toStringValue(fa: A): String

Attributes

Definition Classes
final override def zip[T](field: Field[T]): Product[(A, T)]

Attributes

Definition Classes
final override def zipAll[T](schema: Product[T]): Product[(A, T)]

Attributes

Definition Classes

Inherited methods

final def const(value: => A): Self[Unit]

Attributes

Inherited from:
Structure
final def fromJson(json: Option[Json]): Validated[Errors, A]

Attributes

Inherited from:
Schema
final def fromJsonValue(json: Json): Validated[Errors, A]

Attributes

Inherited from:
Value
final def fromString(value: Option[String]): Validated[Errors, A]

Attributes

Inherited from:
Schema
final def fromStringValue(value: String): Validated[Errors, A]

Attributes

Inherited from:
Value
final def imap[T](f: A => T)(g: T => A): Self[T]

Attributes

Inherited from:
Structure
final def ivalidate[T](validation: Validation[A, T])(g: T => A): Self[T]

Attributes

Inherited from:
Structure
final def jsonDefault: Option[Json]

Attributes

Inherited from:
Schema
final def jsonExample: Option[Json]

Attributes

Inherited from:
Schema
final def merge[T](implicit evidence: Aux[A, T]): Self[T]

Attributes

Inherited from:
Structure
final def setDefault(default: Option[A]): Self[A]

Attributes

Inherited from:
Schema
final def setDescription(description: Option[String]): Self[A]

Attributes

Inherited from:
Schema
final def setExample(example: Option[A]): Self[A]

Attributes

Inherited from:
Schema
final def setName(description: Option[String]): Self[A]

Attributes

Inherited from:
Schema
final def stringDefault: Option[String]

Attributes

Inherited from:
Schema
final def stringExample: Option[String]

Attributes

Inherited from:
Schema
final def validate(validation: Validation[A, A]): Self[A]

Attributes

Inherited from:
Structure
final def withDefault(default: A): Self[A]

Attributes

Inherited from:
Schema
final def withDescription(description: String): Self[A]

Attributes

Inherited from:
Schema
final def withExample(example: A): Self[A]

Attributes

Inherited from:
Schema
final def withName(description: String): Self[A]

Attributes

Inherited from:
Schema
final def withoutDefault: Self[A]

Attributes

Inherited from:
Schema
final def withoutDescription: Self[A]

Attributes

Inherited from:
Schema
final def withoutExample: Self[A]

Attributes

Inherited from:
Schema
final def withoutName: Self[A]

Attributes

Inherited from:
Schema
final def ximap[T](implicit evidence: Aux[T, A]): Self[T]

Attributes

Inherited from:
Product
final def |*|[T](element: Field[T])(implicit evidence: Merger[(A, T)]): Group[Out]

Attributes

Inherited from:
Product