split_validation_errors

Function split_validation_errors 

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

Splits a Validation into individual Result values.

§Arguments

  • validation - The validation to split

§Returns

  • vec![Ok(value)] if validation is valid
  • A vector of Err(e) for each error if invalid

§Examples

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

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

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