1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//! # Infrastructure for validating objects
//!
//! ## Nomenclature
//!
//! **Validation** is the process of checking that objects meet specific
//! requirements. Each kind of object has its own set of requirements.
//!
//! An object that meets all the requirement for its kind is considered
//! **valid**. An object that does not meet all of them is considered
//! **invalid**. This results in a **validation error**, which is represented by
//! [`ValidationError`].
//!
//! ## Implementation Note
//!
//! This is a new module whose goal is to replace [`crate::validate`]. While
//! this transition is ongoing, both modules will be incomplete.
//!
//! Issues that track the transition:
//!
//! - <https://github.com/hannobraun/fornjot/issues/1713>
//! - <https://github.com/hannobraun/fornjot/issues/2157>

mod config;
mod error;
mod validation;
mod validation_check;

pub mod checks;

pub use self::{
    config::ValidationConfig,
    error::{ValidationError, ValidationErrors},
    validation::Validation,
    validation_check::ValidationCheck,
};