Skip to main content

fraiseql_cli/schema/
mod.rs

1//! Schema format handling
2//!
3//! This module handles the intermediate schema format (language-agnostic)
4//! and converts it to `CompiledSchema` (Rust-specific).
5
6pub mod advanced_types;
7pub mod converter;
8pub mod database_validator;
9pub mod intermediate;
10pub mod lookup_data;
11pub mod merger;
12pub mod multi_file_loader;
13pub mod mutation_contract;
14pub mod optimizer;
15pub mod pg_catalog;
16pub mod rich_filters;
17pub mod sql_templates;
18pub mod validator;
19
20pub use converter::SchemaConverter;
21pub use intermediate::{IntermediateScalar, IntermediateSchema};
22pub use merger::SchemaMerger;
23pub use multi_file_loader::MultiFileLoader;
24pub use optimizer::{OptimizationReport, SchemaOptimizer};
25pub use validator::SchemaValidator;
26
27/// GraphQL built-in scalar type names.
28///
29/// Used by the validator and converter to seed the known-type registry so
30/// fields typed as these names are never flagged as unknown.
31pub(crate) const BUILTIN_SCALAR_NAMES: &[&str] =
32    &["Int", "Float", "String", "Boolean", "ID", "JSON"];
33
34#[cfg(test)]
35mod tests;