public static TState Execute <TState, TValue>(this IStateMonad <TState, TValue> self, TState state, Action <TValue> onValue) { StateResult <TState, TValue> result = self.Run(state); onValue(result.Value); return(result.State); }
public StateResult <TState, TValue> Run(TState state) { StateResult <TState, TValue> result = _self.Run(state); _action(result); return(result); }
public StateResult <TState, TValue> Run(TState state) { if (_selector()) { return(_thenSource.Run(state)); } else { return(_elseSource.Run(state)); } }
public StateResult <TState, TValue> Run(TState state) { StateResult <TState, TValue> result = _self.Run(state); if (_selector(result)) { return(result); } else { return(_elseSource.Run(state)); } }
public StateResult <TState, TResult> Run(TState state) { StateResult <TState, TValue> result = _self.Run(state); return(StateResult.Create(result.State, _selector(result.Value))); }
public static TState Execute <TState, TValue>(this IStateMonad <TState, TValue> self, TState state) { return(self.Run(state).State); }
StateResult <TState, TValue> RunSelf() { return(_self.Run(_state)); }