thaterror/lib.rs
1use thiserror::Error;
2
3pub trait OptionExt<T> {
4 fn required(self) -> Result<T, Required>;
5}
6
7impl<T> OptionExt<T> for Option<T> {
8 fn required(self) -> Result<T, Required> {
9 self.ok_or(Required)
10 }
11}
12
13/// If option or parameter is required.
14#[derive(Error, Debug)]
15#[error("value is required")]
16pub struct Required;