diff options
author | jelemux <jeremias.weber@protonmail.com> | 2020-10-19 22:46:45 +0200 |
---|---|---|
committer | jelemux <jeremias.weber@protonmail.com> | 2020-10-19 22:46:45 +0200 |
commit | 3a0a55362fd98c74bfb14df320bcacafd0c57835 (patch) | |
tree | ad7f91af95df638bfbc58c48c97f34340ae37a8c /src/validation.rs | |
parent | 84c2dab4200c37c818d83c95f85445ee00d83bf6 (diff) | |
download | wasm-card-3a0a55362fd98c74bfb14df320bcacafd0c57835.tar.gz wasm-card-3a0a55362fd98c74bfb14df320bcacafd0c57835.tar.bz2 |
break things down into their most basic parts
Diffstat (limited to 'src/validation.rs')
-rw-r--r-- | src/validation.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/validation.rs b/src/validation.rs deleted file mode 100644 index 715b472..0000000 --- a/src/validation.rs +++ /dev/null @@ -1,37 +0,0 @@ - - -pub trait Validation { - fn validate(&self) -> Result<(), ValidationError>; -} - -#[derive(Debug)] -pub struct ValidationError { - messages: Vec<String>, -} - -impl std::fmt::Display for ValidationError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - for msg in &self.messages { - write!(f, "{}\n", msg)?; - } - Ok(()) - } -} - -impl std::error::Error for ValidationError { } - -pub fn add_results(first: Result<(), ValidationError>, second: Result<(), ValidationError>) -> Result<(), ValidationError> { - if first.is_ok() && second.is_ok() { - Ok(()) - } else if first.is_ok() && second.is_err() { - second - } else if first.is_err() && second.is_ok() { - first - } else { - let mut first = first.err().unwrap(); - let mut second = second.err().unwrap(); - first.messages.append(&mut second.messages); - - Err( ValidationError{ messages: first.messages } ) - } -}
\ No newline at end of file |