Module convert

Module convert 

Source
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);
assert!(composable.is_err());

Enums§

SplitValidationIter
Iterator returned by split_validation_errors.

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 ComposableError with no context.
flatten_composable_result
Flattens a Result<T, ComposableError<E>> into Result<T, E>.
result_to_validation
Converts a Result to a Validation.
split_validation_errors
Splits a Validation into individual Result values.
validation_to_result
Converts a Validation to a Result, taking the first error if invalid.
wrap_in_composable_result
Wraps a plain Result<T, E> into Result<T, ComposableError<E>>.
wrap_in_composable_result_boxed
Wraps a plain Result<T, E> into a boxed ComposableError.