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}