Contents
- OptionT <M, A> (K<M, Option<A>> runOption)
- None = OptionT.lift<M, A>(Option<A>.None)
- Match <B> (Func<A, B> Some, Func<B> None)
- Match (Action<A> Some, Action None)
- IfSome (Action<A> f)
- IfSome (Func<A, Unit> f)
- IfNone (Func<A> None)
- IfNone (Action None)
- IfNone (A noneValue)
- Run ()
- MapT <M1, B> (Func<K<M, Option<A>>, K<M1, Option<B>>> f)
- MapM <B> (Func<K<M, A>, K<M, B>> f)
- Map <B> (Func<A, B> f)
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, K<OptionT<M>, B>> f)
- Bind <B> (Func<A, OptionT<M, B>> f)
- BiBind <B> (Func<A, OptionT<M, B>> Some, Func<OptionT<M, B>> None)
- BindNone (Func<OptionT<M, A>> None)
- Bind <B> (Func<A, Pure<B>> f)
- SelectMany <B, C> (Func<A, K<OptionT<M>, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, OptionT<M, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, K<M, B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Option<B>> bind, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project)
- ToEither <L> (L left)
- ToEither <L> (Func<L> left)
- ToEither <L> ()
- OptionT
Sub modules
| Extensions |
| Operators |
| Prelude |
| Trait |
record OptionT <M, A> (K<M, Option<A>> runOption) Source #
OptionT monad transformer, which allows for an optional result.
Parameters
| type | M | Given monad trait |
| type | A | Bound value type |
Fields
field OptionT<M, A> None = OptionT.lift<M, A>(Option<A>.None) Source #
Lift a pure value into the monad-transformer
Parameters
| param | value | Value to lift |
| returns |
| |
Methods
method K<M, B> Match <B> (Func<A, B> Some, Func<B> None) Source #
Match the two states of the Option and return a B, which can be null.
Parameters
| type | B | Return type |
| param | Some | Some match operation. May return null. |
| param | None | None match operation. May return null. |
| returns | B, or null | |
method K<M, Unit> Match (Action<A> Some, Action None) Source #
Match the two states of the Option
Parameters
| param | Some | Some match operation |
| param | None | None match operation |
method K<M, Unit> IfSome (Action<A> f) Source #
Invokes the action if Option is in the Some state, otherwise nothing happens.
Parameters
| param | f | Action to invoke if Option is in the |
method K<M, Unit> IfSome (Func<A, Unit> f) Source #
Invokes the f function if Option is in the Some state, otherwise nothing
happens.
Parameters
| param | f | Function to invoke if Option is in the |
method K<M, A> IfNone (Func<A> None) Source #
Returns the result of invoking the None() operation if the optional
is in a None state, otherwise the bound Some(x) value is returned.
Will not accept a null return value from the None operation
Parameters
| param | None | Operation to invoke if the structure is in a None state |
| returns | Result of invoking the | |
method K<M, Unit> IfNone (Action None) Source #
Invokes the action if Option is in the None state, otherwise nothing happens.
Parameters
| param | f | Action to invoke if Option is in the None state |
method K<M, A> IfNone (A noneValue) Source #
Returns the noneValue if the optional is in a None state, otherwise the bound Some(x) value is returned.
Will not accept a null noneValue
Parameters
| param | noneValue | Value to return if in a None state |
| returns | noneValue if the optional is in a None state, otherwise the bound Some(x) value is returned | |
method K<M, Option<A>> Run () Source #
Runs the OptionT exposing the outer monad with an inner wrapped Option
method OptionT<M1, B> MapT <M1, B> (Func<K<M, Option<A>>, K<M1, Option<B>>> f) Source #
Maps the bound monad
Parameters
| type | M1 | Target monad type |
| type | B | Target bound value type |
| param | f | Mapping function |
| returns | Mapped monad | |
method OptionT<M, B> MapM <B> (Func<K<M, A>, K<M, B>> f) Source #
Maps the given monad
Parameters
| param | f | Mapping function |
method OptionT<M, B> Map <B> (Func<A, B> f) Source #
Maps the bound value
Parameters
| type | B | Target bound value type |
| param | f | Mapping function |
| returns |
| |
method OptionT<M, B> Select <B> (Func<A, B> f) Source #
Maps the bound value
Parameters
| type | B | Target bound value type |
| param | f | Mapping transducer |
| returns |
| |
method OptionT<M, B> Bind <B> (Func<A, K<OptionT<M>, B>> f) Source #
Monad bind operation
Parameters
| type | B | Target bound value type |
| param | f | Mapping function |
| returns |
| |
method OptionT<M, B> Bind <B> (Func<A, OptionT<M, B>> f) Source #
Monad bind operation
Parameters
| type | B | Target bound value type |
| param | f | Mapping function |
| returns |
| |
method OptionT<M, B> BiBind <B> (Func<A, OptionT<M, B>> Some, Func<OptionT<M, B>> None) Source #
Monad bi-bind operation
Parameters
| type | B | Target bound value type |
| param | Some | Some state mapping function |
| param | None | None state mapping function |
| returns |
| |
method OptionT<M, A> BindNone (Func<OptionT<M, A>> None) Source #
Monad bi-bind operation
Parameters
| type | B | Target bound value type |
| param | None | None state mapping function |
| returns |
| |
method OptionT<M, B> Bind <B> (Func<A, Pure<B>> f) Source #
Monad bind operation
Parameters
| type | B | Target bound value type |
| param | f | Mapping function |
| returns |
| |
method OptionT<M, C> SelectMany <B, C> (Func<A, K<OptionT<M>, B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
| type | B | Intermediate bound value type |
| type | C | Target bound value type |
| param | bind | Monadic bind function |
| param | project | Projection function |
| returns |
| |
method OptionT<M, C> SelectMany <B, C> (Func<A, OptionT<M, B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
| type | B | Intermediate bound value type |
| type | C | Target bound value type |
| param | bind | Monadic bind function |
| param | project | Projection function |
| returns |
| |
method OptionT<M, C> SelectMany <B, C> (Func<A, K<M, B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
| type | B | Intermediate bound value type |
| type | C | Target bound value type |
| param | bind | Monadic bind function |
| param | project | Projection function |
| returns |
| |
method OptionT<M, C> SelectMany <B, C> (Func<A, Option<B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
| type | B | Intermediate bound value type |
| type | C | Target bound value type |
| param | bind | Monadic bind function |
| param | project | Projection function |
| returns |
| |
method OptionT<M, C> SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project) Source #
Monad bind operation
Parameters
| type | B | Intermediate bound value type |
| type | C | Target bound value type |
| param | bind | Monadic bind function |
| param | project | Projection function |
| returns |
| |
Methods
method OptionT<M, A> Some <M, A> (A value) Source #
Lift a pure value into the monad-transformer
Parameters
| param | value | Value to lift |
| returns |
| |
method OptionT<M, A> None <M, A> () Source #
Lift a None value into the monad-transformer
Parameters
| returns |
| |
method OptionT<M, A> lift <M, A> (Pure<A> monad) Source #
Lifts a given monad into the transformer
Parameters
| param | monad | Monad to lift |
| returns |
| |
method OptionT<M, A> lift <M, A> (Option<A> monad) Source #
Lifts a given monad into the transformer
Parameters
| param | monad | Monad to lift |
| returns |
| |
method OptionT<M, A> lift <M, A> (Fail<Unit> monad) Source #
Lifts a given monad into the transformer
Parameters
| param | monad | Monad to lift |
| returns |
| |
method OptionT<M, A> lift <M, A> (K<M, A> monad) Source #
Lifts a given monad into the transformer
Parameters
| param | monad | Monad to lift |
| returns |
| |
method OptionT<M, A> lift <M, A> (K<M, Option<A>> monad) Source #
Lifts a given monad into the transformer
Parameters
| param | monad | Monad to lift |
| returns |
| |