Expand description
Error type conversions between Result, Validation, and ComposableError
Conversion helpers between Result, Validation, and ComposableError.
These adapters make it straightforward to incrementally adopt error-rail
by wrapping legacy results or by flattening composable errors back into core
types when interacting with external APIs.
§Examples
use error_rail::convert::*;
use error_rail::validation::Validation;
// Convert between Result and Validation
let result: Result<i32, &str> = Ok(42);
let validation = result_to_validation(result);
assert!(validation.is_valid());
// Wrap errors in ComposableError
let result: Result<i32, &str> = Err("failed");
let composable = wrap_in_composable_result(result);Functions§
- collect_
errors - Collects multiple errors into a single
Validation. - composable_
to_ core - Extracts the core error from a
ComposableError, discarding all context. - core_
to_ composable - Wraps a core error in a
ComposableErrorwith no context. - flatten_
composable_ result - Flattens a
Result<T, ComposableError<E>>intoResult<T, E>. - result_
to_ validation - Converts a
Resultto aValidation. - split_
validation_ errors - Splits a
Validationinto individualResultvalues. - validation_
to_ result - Converts a
Validationto aResult, taking the first error if invalid. - wrap_
in_ composable_ result - Wraps a plain
Result<T, E>intoResult<T, ComposableError<E>>. - wrap_
in_ composable_ result_ boxed - Wraps a plain
Result<T, E>into a boxedComposableError.