split_validation_errors

Function split_validation_errors 

Source
pub fn split_validation_errors<T, E>(
    validation: Validation<E, T>,
) -> SplitValidationIter<T, E> 
Expand description

Splits a Validation into individual Result values.

§Arguments

  • validation - The validation to split

§Returns

An iterator that yields:

  • Ok(value) if validation is valid
  • Err(e) for each error if validation is invalid

§Examples

use error_rail::convert::split_validation_errors;
use error_rail::validation::Validation;

let valid = Validation::<&str, i32>::Valid(42);
let results: Vec<_> = split_validation_errors(valid).collect();
assert_eq!(results, vec![Ok(42)]);

let invalid = Validation::<&str, i32>::invalid_many(vec!["err1", "err2"]);
let results: Vec<_> = split_validation_errors(invalid).collect();
assert_eq!(results, vec![Err("err1"), Err("err2")]);