Source code for returns._generated.pointfree.value_or
def _value_or(default_value):
"""
Get value from successful container or default value from failed one.
.. code:: python
>>> import anyio
>>> from returns.pointfree import value_or
>>> from returns.io import IO, IOFailure, IOSuccess
>>> from returns.maybe import Some, Nothing
>>> from returns.context import ReaderFutureResult
>>> assert value_or(2)(IOSuccess(1)) == IO(1)
>>> assert value_or(2)(IOFailure(1)) == IO(2)
>>> assert value_or(2)(Some(1)) == 1
>>> assert value_or(2)(Nothing) == 2
>>> assert anyio.run(
... value_or(2)(ReaderFutureResult.from_value(1)),
... ReaderFutureResult.empty,
... ) == IO(1)
>>> assert anyio.run(
... value_or(2)(ReaderFutureResult.from_failure(1)),
... ReaderFutureResult.empty,
... ) == IO(2)
"""
return lambda container: container.value_or(default_value)