|
168 | 168 |
|
169 | 169 | EXCLUDE_ATTRIBUTES = { |
170 | 170 | "ResultErr", |
171 | | - "Ok", |
172 | | - "Err", |
173 | | - "empty_init", |
| 171 | + "as_Ok", |
| 172 | + "as_Err", |
| 173 | + "_empty_init", |
174 | 174 | "is_Ok", |
175 | 175 | "is_Err", |
| 176 | + "Ok", |
| 177 | + "Err", |
176 | 178 | "Err_msg", |
177 | 179 | "Err_traceback", |
178 | | - "raises", |
179 | | - "expect", |
180 | | - "expect_Err", |
181 | 180 | "unwrap", |
182 | 181 | "unwrap_or", |
| 182 | + "expect", |
| 183 | + "expect_Err", |
| 184 | + "raises", |
| 185 | + "getitem", |
| 186 | + "setitem", |
| 187 | + "is_Ok_and", |
| 188 | + "is_Err_and", |
| 189 | + "Ok_and", |
| 190 | + "Ok_or", |
| 191 | + "inspect", |
| 192 | + "inspect_apply", |
| 193 | + "inspect_Err", |
183 | 194 | "apply", |
184 | 195 | "apply_or", |
185 | 196 | "apply_or_else", |
186 | 197 | "apply_Err", |
| 198 | + "apply_map", |
187 | 199 | "map", |
188 | 200 | "map_or", |
189 | 201 | "map_or_else", |
190 | 202 | "map_Err", |
| 203 | + "iter_wrap", |
| 204 | + "iter_unwrap", |
191 | 205 | "iter", |
192 | | - "is_Ok_and", |
193 | | - "copy", |
194 | | - "update_result", |
195 | 206 | "Err_msg_contains", |
196 | 207 | "add_Err_msg", |
| 208 | + "update_result", |
| 209 | + "copy", |
197 | 210 | "str", |
198 | 211 | "_operator_overload_prep", |
199 | | - "_success", |
| 212 | + "_operator_overload_error", |
200 | 213 | } |
201 | 214 |
|
202 | 215 | ATTRIBUTES_MISTAKES = { |
203 | 216 | "resulterr": "ResultErr", |
204 | | - "ok": "Ok", |
205 | | - "err": "Err", |
| 217 | + "as_ok": "as_Ok", |
| 218 | + "as_err": "as_Err", |
206 | 219 | "is_ok": "is_Ok", |
207 | 220 | "is_err": "is_Err", |
| 221 | + "ok": "Ok", |
| 222 | + "err": "Err", |
208 | 223 | "err_msg": "Err_msg", |
209 | 224 | "err_traceback": "Err_traceback", |
210 | 225 | "expect_err": "expect_Err", |
| 226 | + "is_ok_and": "is_Ok_and", |
| 227 | + "is_err_and": "is_Err_and", |
| 228 | + "ok_and": "Ok_and", |
| 229 | + "ok_or": "Ok_or", |
| 230 | + "inspect_apply": "inspect_apply", |
| 231 | + "inspect_err": "inspect_Err", |
211 | 232 | "apply_err": "apply_Err", |
212 | 233 | "map_err": "map_Err", |
213 | 234 | "err_msg_contains": "Err_msg_contains", |
214 | | - "is_ok_and": "is_Ok_and", |
215 | 235 | "add_err_msg": "add_Err_msg", |
216 | 236 | } |
217 | 237 |
|
@@ -746,7 +766,7 @@ class Result: |
746 | 766 | Returns original Result instance. |
747 | 767 | - If ok_func fails, no exception is raised . |
748 | 768 |
|
749 | | - inspect_err(err_func, *args, **kwargs): |
| 769 | + inspect_Err(err_func, *args, **kwargs): |
750 | 770 | If `Err(e)`, then evaluates `err_func(e)`. |
751 | 771 | Returns original Result instance. |
752 | 772 | - If err_func fails, raises an exception. |
@@ -1103,7 +1123,7 @@ def inspect_apply(self, ok_func, *args, **kwargs): |
1103 | 1123 | pass |
1104 | 1124 | return self |
1105 | 1125 |
|
1106 | | - def inspect_err(self, err_func, *args, **kwargs): |
| 1126 | + def inspect_Err(self, err_func, *args, **kwargs): |
1107 | 1127 | if not self._success: |
1108 | 1128 | err_func(self._val, *args, **kwargs) |
1109 | 1129 | return self |
@@ -1403,17 +1423,22 @@ def __getattr__(self, name): |
1403 | 1423 | The result of the attribute wrapped as a Result or modifies underlying value. |
1404 | 1424 | """ |
1405 | 1425 | if name in ATTRIBUTES_MISTAKES: |
1406 | | - self.add_Err_msg( |
1407 | | - f"Result.{name} is a possible case mistake. Did you mean Result.{ATTRIBUTES_MISTAKES[name]} instead?" |
1408 | | - f" Or did you forget () on a method or put () on an attrib." |
1409 | | - f" If Ok(x.{name}) is what you want, then do Ok(x).expect().{name}", |
1410 | | - _levels=-4, |
1411 | | - ) |
1412 | | - elif name in EXCLUDE_ATTRIBUTES: |
| 1426 | + attr = getattr(self, ATTRIBUTES_MISTAKES[name]) |
| 1427 | + if callable(attr): |
| 1428 | + return lambda *args, **kwargs: attr(*args, **kwargs) |
| 1429 | + return attr |
| 1430 | + # self.add_Err_msg( |
| 1431 | + # f"Result.{name} is a possible case mistake. Did you mean Result.{ATTRIBUTES_MISTAKES[name]} instead?" |
| 1432 | + # f" Or did you forget () on a method or put () on an attrib." |
| 1433 | + # f" If Ok(x.{name}) is what you want, then do Ok(x).expect().{name}", |
| 1434 | + # _levels=-4, |
| 1435 | + # ) |
| 1436 | + if name in EXCLUDE_ATTRIBUTES: |
1413 | 1437 | self.add_Err_msg( |
1414 | 1438 | f"{name} is an excluded attribute/method." |
1415 | | - f" Did you forget () on a method or put () on an attrib." |
1416 | | - f" If Ok(x.{name}) is what you want, then do Ok(x).expect().{name}", |
| 1439 | + f" Did you forget () on a method or put () on an attribute." |
| 1440 | + f" If Ok(x.{name}) is what you want, then do Ok(x).unwrap().{name}", |
| 1441 | + f" or Result(Ok(x).unwrap().{name})", |
1417 | 1442 | _levels=-4, |
1418 | 1443 | ) |
1419 | 1444 | elif self.is_Err: |
|
0 commit comments