SubtypeDsl
org.hungerford.generic.schema.coproduct.subtype.SubtypeDsl
trait SubtypeDsl
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- object exports.type
Members list
Concise view
Extensions
Extensions
extension (subtype: Subtype.type)
def builder[T, ST, D, DN](using dn: ValueOf[DN], tsEv: ToSuperGenerator[T, ST]): SubtypeBuilder[T, ST, D, DN, Unit, TS, Unit, Unit, Nothing, Unit]
extension [T, ST, D, DN, DV, N <: TypeName, S](subtype: Subtype[T, ST, D, DN, DV, N, S])
def addValidators(validator: Validator[ST], otherValidators: Validator[ST]*): Subtype[T, ST, D, DN, DV, N, S]
def withDiscriminatorValue[NewDV <: D & Singleton](value: NewDV)(using ev: NotGiven[D =:= Unit]): Subtype[T, ST, D, DN, NewDV, N, S]
def withValidation(validator: Validator[ST], otherValidators: Validator[ST]*): Subtype[T, ST, D, DN, DV, N, S]
extension [T, ST, D, DN, DV, N <: TypeName](subtype: LazySubtype[T, ST, D, DN, DV, N])
def addValidators(validator: Validator[ST], otherValidators: Validator[ST]*): LazySubtype[T, ST, D, DN, DV, N]
def apply[Sel <: Tuple, Inner](selector: Selector[Sel])(using cr: Aux[LazySubtype[T, ST, D, DN, DV, N], Sel, Inner]): Inner
def modifyComponent[Sel <: Tuple, Inner](selector: Selector[Sel])(using cr: Aux[LazySubtype[T, ST, D, DN, DV, N], Sel, Inner]): Updater[LazySubtype[T, ST, D, DN, DV, N], Inner, Sel]
def withDiscriminatorValue[NewDV <: D & Singleton](value: NewDV)(using ev: NotGiven[D =:= Unit]): LazySubtype[T, ST, D, DN, NewDV, N]
def withValidators(validator: Validator[ST], otherValidators: Validator[ST]*): LazySubtype[T, ST, D, DN, DV, N]