Empty

case class Empty[T](codec: Codec[Unit, T, TextPlain], info: Info[T]) extends Atom[T]
trait Serializable
trait Product
trait Equals
trait Atom[T]
trait Atom[T]
trait Atom[T]
trait Atom[T]
trait Basic[T]
trait Basic[T]
trait Basic[T]
trait Basic[T]
trait Single[T]
trait Single[T]
trait Single[T]
trait EndpointIO[T]
trait EndpointInput[T]
class Object
trait Matchable
class Any

Value members

Concrete methods

override def show: String
Definition Classes

Inherited methods

def /[U, TU](other: EndpointInput[U])(implicit concat: Aux[T, U, TU]): EndpointInput[TU]
Inherited from:
EndpointInput
def and[J, IJ](other: EndpointOutput[J])(implicit concat: Aux[T, J, IJ]): EndpointOutput[IJ]
Inherited from:
EndpointOutput
def and[U, TU](other: EndpointInput[U])(implicit concat: Aux[T, U, TU]): EndpointInput[TU]
Inherited from:
EndpointInput
def and[J, IJ](other: EndpointIO[J])(implicit concat: Aux[T, J, IJ]): EndpointIO[IJ]
Inherited from:
EndpointIO
def attribute[A](k: AttributeKey[A], v: A): ThisType[T]
Inherited from:
Atom
def attribute[A](k: AttributeKey[A]): Option[A]
Inherited from:
Atom
def default(d: T): ThisType[T]
Inherited from:
Atom
def deprecated(): ThisType[T]
Inherited from:
Atom
def description(d: String): ThisType[T]
Inherited from:
Atom
def example(example: Example[T]): ThisType[T]
Inherited from:
Atom
def example(t: T): ThisType[T]
Inherited from:
Atom
def examples(examples: List[Example[T]]): ThisType[T]
Inherited from:
Atom
override def map[U](mapping: Mapping[T, U]): ThisType[U]
Definition Classes
Inherited from:
Atom
def map[U](f: T => U)(g: U => T): ThisType[U]
Inherited from:
EndpointTransput
def mapDecode[U](f: T => DecodeResult[U])(g: U => T): ThisType[U]
Inherited from:
EndpointTransput
inline def mapTo[CASE_CLASS <: Product](using mc: ProductOf[CASE_CLASS]): ThisType[CASE_CLASS]
Inherited from:
EndpointTransputMacros
def mapValidate[U](v: Validator[T])(f: T => U)(g: U => T): ThisType[U]

Adds the given validator, and maps to the given higher-level type U.

Adds the given validator, and maps to the given higher-level type U.

Unlike a .validate(v).map(f)(g) invocation, during decoding the validator is run before applying the f function. If there are validation errors, decoding fails. However, the validator is then invoked again on the fully decoded value.

This is useful to create inputs/outputs for types, which are unrepresentable unless the validator's condition is met, e.g. due to preconditions in the constructor.

See also:
Inherited from:
EndpointTransput
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
def schema(modify: Schema[T] => Schema[T]): ThisType[T]
Inherited from:
Atom
def schema(s: Option[Schema[T]]): ThisType[T]
Inherited from:
Atom
def schema(s: Schema[T]): ThisType[T]
Inherited from:
Atom
def validate(v: Validator[T]): ThisType[T]

Adds a validator.

Adds a validator.

Note that validation is run on a fully decoded value. That is, during decoding, first the decoding functions are run, followed by validations. Hence any functions provided in subsequent .maps or .mapDecodes will be invoked before validation.

See also:
Inherited from:
EndpointTransput
def validateIterable[C <: (Iterable), U](v: Validator[U])(implicit tIsCU: T =:= C[U]): ThisType[T]

Adds a validator which validates each element in the collection.

Adds a validator which validates each element in the collection.

Should only be used if the schema hasn't been created by .mapping another one, but directly from Schema[U]. Otherwise the shape of the schema doesn't correspond to the type T, but to some lower-level representation of the type. This might cause invalid results at run-time.

Inherited from:
Atom
def validateOption[U](v: Validator[U])(implicit tIsOptionU: T =:= Option[U]): ThisType[T]

Adds a validator which validates the option's element, if it is present.

Adds a validator which validates the option's element, if it is present.

Should only be used if the schema hasn't been created by .mapping another one, but directly from Schema[U]. Otherwise the shape of the schema doesn't correspond to the type T, but to some lower-level representation of the type. This might cause invalid results at run-time.

Inherited from:
Atom