Skip to main content

return_ok/
lib.rs

1#[macro_export]
2macro_rules! ok_some {
3    ($value:expr) => {
4        match $value {
5            Ok(Some(value)) => value,
6            Ok(None) => return Ok(None),
7            Err(err) => return Err(err.into()),
8        }
9    };
10}
11
12#[macro_export]
13macro_rules! some_ok {
14    ($value:expr) => {
15        match $value {
16            Some(Ok(value)) => value,
17            Some(Err(err)) => return Some(Err(err.into())),
18            None => return None,
19        }
20    };
21}
22
23#[macro_export]
24macro_rules! option_ok {
25    ($value:expr) => {
26        match $value {
27            Ok(value) => value,
28            Err(err) => return Some(Err(err.into())),
29        }
30    };
31}
32
33#[macro_export]
34macro_rules! some_or_return {
35    ($value:expr) => {
36        match $value {
37            Some(value) => value,
38            None => return Default::default(),
39        }
40    };
41}
42
43#[macro_export]
44macro_rules! some_or_return_ok {
45    ($value:expr) => {
46        match $value {
47            Some(value) => value,
48            None => return Ok(Default::default()),
49        }
50    };
51}
52
53#[macro_export]
54macro_rules! some_or_return_err {
55    ($value:expr) => {
56        match $value {
57            Some(value) => value,
58            None => return Err(Default::default()),
59        }
60    };
61}
62
63#[macro_export]
64macro_rules! some_or_return_some {
65    ($value:expr) => {
66        match $value {
67            Some(value) => value,
68            None => return Some(Default::default()),
69        }
70    };
71}
72
73#[macro_export]
74macro_rules! some_or_continue {
75    ($value:expr) => {
76        match $value {
77            Some(value) => value,
78            None => continue,
79        }
80    };
81}
82
83#[macro_export]
84macro_rules! ok_or_return {
85    ($value:expr) => {
86        match $value {
87            Ok(value) => value,
88            Err(_) => return Default::default(),
89        }
90    };
91}
92
93#[macro_export]
94macro_rules! ok_or_return_ok {
95    ($value:expr) => {
96        match $value {
97            Ok(value) => value,
98            Err(_) => return Ok(Default::default()),
99        }
100    };
101}
102
103#[macro_export]
104macro_rules! ok_or_return_err {
105    ($value:expr) => {
106        match $value {
107            Ok(value) => value,
108            Err(_) => return Err(Default::default()),
109        }
110    };
111}
112
113#[macro_export]
114macro_rules! ok_or_return_some {
115    ($value:expr) => {
116        match $value {
117            Ok(value) => value,
118            Err(_) => return Some(Default::default()),
119        }
120    };
121}
122
123#[macro_export]
124macro_rules! ok_or_continue {
125    ($value:expr) => {
126        match $value {
127            Ok(value) => value,
128            Err(_) => continue,
129        }
130    };
131}