vos_core/
lib.rs

1pub use self::{
2    constraint::{
3        decimal_constraint::DecimalConstraint,
4        dict_constraint::DictConstraint,
5        integer_constraint::{IntegerConstraint, IntegerKind},
6        list_constraint::ListConstraint,
7        string_constraint::StringConstraint,
8        SharedConstraint,
9    },
10    schema::{
11        authors::ProjectAuthor,
12        document::{Document, DocumentKind},
13        endpoint::Endpoint,
14        environment::Environment,
15        license::ProjectLicense,
16        objects::Object,
17        Project, ProjectKind, Schema,
18    },
19};
20pub use voml_collection::{Number, Text};
21pub use vos_error::{for_3rd::*, Validation, VosError, VosErrorKind, VosResult};
22
23pub type List = voml_collection::List<Object>;
24pub type Dict = voml_collection::Dict<Object>;
25
26mod constraint;
27mod pretty_print;
28mod schema;
29pub mod validator;
30
31pub trait Faker {}
32
33pub trait Parser<S> {
34    fn parse(&self, source: &S) -> Validation<Project>;
35}
36
37pub trait Codegen {
38    type Output;
39    fn generate(&self, project: &Project) -> Validation<Self::Output>;
40}