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

See Also