You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
632B

  1. #[macro_export]
  2. macro_rules! required_arg {
  3. ($ty: ty, $e: expr, $err: expr) => {
  4. match $e {
  5. Some(v) => match from_value::<$ty>(v.clone()) {
  6. Ok(u) => u,
  7. Err(_) => return Err($err.into()),
  8. },
  9. None => return Err($err.into()),
  10. }
  11. };
  12. }
  13. #[macro_export]
  14. macro_rules! optional_arg {
  15. ($ty: ty, $e: expr, $err: expr) => {
  16. match $e {
  17. Some(v) => match from_value::<$ty>(v.clone()) {
  18. Ok(u) => Some(u),
  19. Err(_) => return Err($err.into()),
  20. },
  21. None => None,
  22. }
  23. };
  24. }