usc 1.20230730.1349

A common lib for unitedservices
Documentation

#[macro_export]
macro_rules! myok {
    ($a:expr,None) => {
        match $a{
            Ok(a)=>a,
            Err(e)=>{
                return None ;
            },
        }
    };
    ($a:expr,?) => {
        match $a{
            Ok(a)=>a,
            Err(e)=>{
                return Err(MyError::new(format!("{}",e))) ;
            },
        }
    };
    ($a:expr,??) => {
        match $a{
            Ok(a)=>a,
            Err(e)=>{
                return Err(MyError::new(format!("{:?}",e))) ;
            },
        }
    };
    ($a:expr,) => {
        match $a{
            Ok(a)=>a,
            Err(_e)=>{
                return ;
            },
        }
    };
    ($a:expr,$b:expr) => {
        match $a{
            Ok(a)=>a,
            Err(e)=>{
                return Err($b(e));
            },
        }
    };
    ($a:expr) => {
        match $a{
            Ok(a)=>a,
            Err(e)=>{
                return Err(e);
            },
        }
    };
}
#[macro_export]
macro_rules! myok_or {
    ($a:expr ,$b:expr) => {
        match $a{
            Ok(a)=>a,
            Err(e)=>$b(e),
        }
    };
}

#[macro_export]
macro_rules! myoks {
    ($last:expr;) => ({
        myok!($last)
    });
    ($first:expr; $($rest:expr;)+)=> ({
        myok!($first);
        myoks!($($rest;)+)
    });
}