errors_with_context 1.2.0

Application-ending Errors with context
Documentation
use std::convert::Infallible;
use crate::error_message::ErrorMessage;
use crate::WithContext;

impl<T> WithContext<T, Infallible> for Option<T> {
    fn with_err_context(self, context: impl ToString) -> Result<T, ErrorMessage> {
        match self {
            Some(value) => Ok(value),
            None => {
                ErrorMessage::err(context)
            }
        }
    }
    fn with_dyn_err_context(self, context: impl FnOnce() -> String) -> Result<T, ErrorMessage> {
        match self {
            Some(value) => Ok(value),
            None => {
                ErrorMessage::err(context())
            }
        }
    }
}