1use super::{Path, ValidationErr};
2pub trait Validator<V> {
3 fn none(val: &V, path: &Path) -> Result<(), ValidationErr>;
4
5 #[inline(always)]
6 fn lang(val: &V, path: &Path, _: &str) -> Result<(), ValidationErr> {
7 Self::none(val, path)
8 }
9
10 #[inline(always)]
11 fn stack_errs(val: &V, path: &Path) -> Result<(), Vec<ValidationErr>> {
12 match Self::none(val, path) {
13 Ok(_) => Ok(()),
14
15 Err(e) => Err(vec![e]),
16 }
17 }
18
19 #[inline(always)]
20 fn stack_errs_lang(val: &V, path: &Path, _: &str) -> Result<(), Vec<ValidationErr>> {
21 match Self::none(val, path) {
22 Ok(_) => Ok(()),
23
24 Err(e) => Err(vec![e]),
25 }
26 }
27}