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