Skip to main content

rskit_schema/
lib.rs

1//! JSON Schema generation and validation from Rust types.
2//!
3//! Thin wrapper around [`schemars`] providing a consistent API for generating JSON Schema documents from any type implementing `JsonSchema`,
4//! plus a runtime validator for checking JSON values against schemas.
5
6#![warn(missing_docs)]
7
8pub use schemars::JsonSchema;
9
10mod document;
11mod generation;
12mod json;
13mod limits;
14mod validation;
15
16pub use document::SchemaDocument;
17pub use generation::{Options, generate, generate_document, generate_with, generate_with_options};
18pub use json::Json;
19pub use limits::ValidationLimits;
20#[cfg(feature = "validation")]
21pub use validation::{
22    CompiledSchema, compile, compile_with_options, validate, validate_structured_output,
23    validate_with_options,
24};
25pub use validation::{ValidationError, ValidationOptions, ValidationResult};
26
27#[cfg(all(test, feature = "validation"))]
28mod tests;