kalil_adt_annotation
library
Classes
-
DataAnnotation
-
The annotation used to derive an type according to body with the name
with the
typeParameters
, mixing in the mixins, implementing the
implementss, optionally generating
the Object.== operator and Object.hashCode according to
deriveEquality, an Object.runtimeType according to deriveRuntimeType,
and an Object.toString according to deriveToString.
-
DataExpr
-
data DataExpr = Union Map<Symbol, TypeD> UnionVisitDeriveMode bool
| Tuple List
-
Maybe<t extends Object?>
-
-
Methods
-
The type that defines the methods for an specific class
-
Opaque
-
Wrap an type and make it opaque by not exposing and allowing only usages to
it with specific operations defined in the library that defined this type
using the member named _unwrap.
-
ProductRuntimeType
-
An Type object which represents an product ( * ) type.
-
ProductType
-
An base class for classes which that represent an sum ( | ) type.
-
Record
-
An ProductType that contains every TypeD from the body named
respectively as the keys in the body.
-
SumRuntimeType
-
An Type object which represents an sum ( | ) type.
-
SumType
-
An base class for classes which that represent an sum ( | ) type.
-
Tuple
-
An ProductType that contains every TypeD from the body named from
e0..
body.length
, implementing TupleNbody.length
and with an unnamed
constructor initializing every value, and one fromTupleN
constructor.
-
TupleN0
-
-
TupleN1<E0>
-
-
TupleN10<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9>
-
-
TupleN11<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10>
-
-
TupleN12<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11>
-
-
TupleN13<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12>
-
-
TupleN14<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13>
-
-
TupleN15<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14>
-
-
TupleN16<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15>
-
-
TupleN17<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16>
-
-
TupleN18<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17>
-
-
TupleN19<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18>
-
-
TupleN2<E0, E1>
-
-
TupleN20<E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19>
-
-
TupleN3<E0, E1, E2>
-
-
TupleN4<E0, E1, E2, E3>
-
-
TupleN5<E0, E1, E2, E3, E4>
-
-
TupleN6<E0, E1, E2, E3, E4, E5>
-
-
TupleN7<E0, E1, E2, E3, E4, E5, E6>
-
-
TupleN8<E0, E1, E2, E3, E4, E5, E6, E7>
-
-
TupleN9<E0, E1, E2, E3, E4, E5, E6, E7, E8>
-
-
TypeD
-
-
TypeParam
-
data TypeParam = {name :: Symbol, constraint :: TypeD}
-
Union
-
An SumType that contains every type defined by taking the
DataAnnotation.typeParams and applying them to every key in the body.
Enums
-
RecordConstructorDeriveMode
-
How an Record will derive its constructor.
positionalArguments: An unnamed constructor that requires the arguments as
positional arguments.
namedArguments: An unnamed constructor that requires the arguments as
required named arguments.
both: An unnamed constructor that required the arguments as positional
arguments and an constructor named
named
that required the
arguments as required named arguments.
-
UnionVisitDeriveMode
-
The configuration for generating the visit function(s) for an Union.
auto: Equivalent to cata for bodies that are not large and data
otherwise.
cata: An
visit
function that destructures every case of the Union.
data: An visit
function that has an single param containing the type of
each Union case.
both: An cata named visitC
and an data named visit
.