orElseWith
Returns option if option is Some
, else the result alternative evaluates to.
Type
type orElseWith = <T>(alternative: Thunk<Option<T>>) => (option: Option<T>) => Option<T>
Examples
import {orElseWith, Some} from 'fnxt/option';
orElseWith(() => Some(1))(Some(2)); // -> Some(2)
orElseWith(() => Some(1))(None); // -> Some(1)
orElseWith(() => None)(Some(1)); // -> Some(1)
orElseWith(() => None)(None); // -> None