# functional library Null safety

A collection of functional programming structures.

## Classes

Either<L, R>
A disjoint union with a value of either type `L` or type `R`. [...]
Optional<T>
A container object which may or may not contain a value of type `T`. [...]

## Functions

constantFunction0<R>(R value) Map0<R>
Constant function with 0 arguments.
constantFunction1<T0, R>(R value) Map1<T0, R>
Constant function with 1 argument.
constantFunction2<T0, T1, R>(R value) Map2<T0, T1, R>
Constant function with 2 arguments.
constantFunction3<T0, T1, T2, R>(R value) Map3<T0, T1, T2, R>
Constant function with 3 arguments.
constantFunction4<T0, T1, T2, T3, R>(R value) Map4<T0, T1, T2, T3, R>
Constant function with 4 arguments.
constantFunction5<T0, T1, T2, T3, T4, R>(R value) Map5<T0, T1, T2, T3, T4, R>
Constant function with 5 arguments.
constantFunction6<T0, T1, T2, T3, T4, T5, R>(R value) Map6<T0, T1, T2, T3, T4, T5, R>
Constant function with 6 arguments.
constantFunction7<T0, T1, T2, T3, T4, T5, T6, R>(R value) Map7<T0, T1, T2, T3, T4, T5, T6, R>
Constant function with 7 arguments.
constantFunction8<T0, T1, T2, T3, T4, T5, T6, T7, R>(R value) Map8<T0, T1, T2, T3, T4, T5, T6, T7, R>
Constant function with 8 arguments.
constantFunction9<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>(R value) Map9<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>
Constant function with 9 arguments.
constantFunction10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(R value) Map10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
Constant function with 10 arguments.
emptyFunction0() → void
Generic empty functions returning nothing. Empty function with 0 arguments.
emptyFunction1<T0>(T0 arg0) → void
Empty function with 1 argument.
emptyFunction2<T0, T1>(T0 arg0, T1 arg1) → void
Empty function with 2 arguments.
emptyFunction3<T0, T1, T2>(T0 arg0, T1 arg1, T2 arg2) → void
Empty function with 3 arguments.
emptyFunction4<T0, T1, T2, T3>(T0 arg0, T1 arg1, T2 arg2, T3 arg3) → void
Empty function with 4 arguments.
emptyFunction5<T0, T1, T2, T3, T4>(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) → void
Empty function with 5 arguments.
emptyFunction6<T0, T1, T2, T3, T4, T5>(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) → void
Empty function with 6 arguments.
emptyFunction7<T0, T1, T2, T3, T4, T5, T6>(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) → void
Empty function with 7 arguments.
emptyFunction8<T0, T1, T2, T3, T4, T5, T6, T7>(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) → void
Empty function with 8 arguments.
emptyFunction9<T0, T1, T2, T3, T4, T5, T6, T7, T8>(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) → void
Empty function with 9 arguments.
emptyFunction10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) → void
Empty function with 10 arguments.
identityFunction<T>(T arg) → T
Generic identity functions. Canonical identity function with 1 argument.
throwFunction0<R>(Object throwable) Map0<R>
Throwing function with 0 arguments.
throwFunction1<T0, R>(Object throwable) Map1<T0, R>
Throwing function with 1 argument.
throwFunction2<T0, T1, R>(Object throwable) Map2<T0, T1, R>
Throwing function with 2 arguments.
throwFunction3<T0, T1, T2, R>(Object throwable) Map3<T0, T1, T2, R>
Throwing function with 3 arguments.
throwFunction4<T0, T1, T2, T3, R>(Object throwable) Map4<T0, T1, T2, T3, R>
Throwing function with 4 arguments.
throwFunction5<T0, T1, T2, T3, T4, R>(Object throwable) Map5<T0, T1, T2, T3, T4, R>
Throwing function with 5 arguments.
throwFunction6<T0, T1, T2, T3, T4, T5, R>(Object throwable) Map6<T0, T1, T2, T3, T4, T5, R>
Throwing function with 6 arguments.
throwFunction7<T0, T1, T2, T3, T4, T5, T6, R>(Object throwable) Map7<T0, T1, T2, T3, T4, T5, T6, R>
Throwing function with 7 arguments.
throwFunction8<T0, T1, T2, T3, T4, T5, T6, T7, R>(Object throwable) Map8<T0, T1, T2, T3, T4, T5, T6, T7, R>
Throwing function with 8 arguments.
throwFunction9<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>(Object throwable) Map9<T0, T1, T2, T3, T4, T5, T6, T7, T8, R>
Throwing function with 9 arguments.
throwFunction10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>(Object throwable) Map10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
Throwing function with 10 arguments.

## Typedefs

Callback0 = void Function()
Function types for generic callbacks. Function callback with 0 arguments.
Callback1<T0> = void Function(T0 arg0)
Function callback with 1 argument.
Callback2<T0, T1> = void Function(T0 arg0, T1 arg1)
Function callback with 2 arguments.
Callback3<T0, T1, T2> = void Function(T0 arg0, T1 arg1, T2 arg2)
Function callback with 3 arguments.
Callback4<T0, T1, T2, T3> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3)
Function callback with 4 arguments.
Callback5<T0, T1, T2, T3, T4> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
Function callback with 5 arguments.
Callback6<T0, T1, T2, T3, T4, T5> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
Function callback with 6 arguments.
Callback7<T0, T1, T2, T3, T4, T5, T6> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
Function callback with 7 arguments.
Callback8<T0, T1, T2, T3, T4, T5, T6, T7> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
Function callback with 8 arguments.
Callback9<T0, T1, T2, T3, T4, T5, T6, T7, T8> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
Function callback with 9 arguments.
Callback10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> = void Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
Function callback with 10 arguments.
Map0<R> = R Function()
Function type for generic mapping functions. Function callback with 0 arguments.
Map1<T0, R> = R Function(T0 arg0)
Function callback with 1 argument.
Map2<T0, T1, R> = R Function(T0 arg0, T1 arg1)
Function callback with 2 arguments.
Map3<T0, T1, T2, R> = R Function(T0 arg0, T1 arg1, T2 arg2)
Function callback with 3 arguments.
Map4<T0, T1, T2, T3, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3)
Function callback with 4 arguments.
Map5<T0, T1, T2, T3, T4, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
Function callback with 5 arguments.
Map6<T0, T1, T2, T3, T4, T5, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
Function callback with 6 arguments.
Map7<T0, T1, T2, T3, T4, T5, T6, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
Function callback with 7 arguments.
Map8<T0, T1, T2, T3, T4, T5, T6, T7, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
Function callback with 8 arguments.
Map9<T0, T1, T2, T3, T4, T5, T6, T7, T8, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
Function callback with 9 arguments.
Map10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R> = R Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
Function callback with 10 arguments.
Predicate0 = bool Function()
Function type for generic predicate functions. Function predicate with 0 arguments.
Predicate1<T0> = bool Function(T0 arg0)
Function predicate with 1 argument.
Predicate2<T0, T1> = bool Function(T0 arg0, T1 arg1)
Function predicate with 2 arguments.
Predicate3<T0, T1, T2> = bool Function(T0 arg0, T1 arg1, T2 arg2)
Function predicate with 3 arguments.
Predicate4<T0, T1, T2, T3> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3)
Function predicate with 4 arguments.
Predicate5<T0, T1, T2, T3, T4> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
Function predicate with 5 arguments.
Predicate6<T0, T1, T2, T3, T4, T5> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
Function predicate with 6 arguments.
Predicate7<T0, T1, T2, T3, T4, T5, T6> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
Function predicate with 7 arguments.
Predicate8<T0, T1, T2, T3, T4, T5, T6, T7> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
Function predicate with 8 arguments.
Predicate9<T0, T1, T2, T3, T4, T5, T6, T7, T8> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
Function predicate with 9 arguments.
Predicate10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> = bool Function(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
Function predicate with 10 arguments.