//! Compiled schema types - pure Rust, no authoring-language references.
//!
//! These types represent GraphQL schemas after compilation from authoring languages.
//! All data is owned by Rust - no foreign object references.

pub mod argument;
pub mod directive;
pub mod mutation;
pub mod query;
pub mod schema;
mod schema_domain;
mod schema_lookup;
mod schema_serde;
pub mod validation;

#[cfg(test)]
mod tests;

pub use argument::{ArgumentDefinition, AutoParams};
pub use directive::{DirectiveDefinition, DirectiveLocationKind};
pub use mutation::{InputStyle, MutationDefinition, MutationOperation};
pub use query::{CursorType, QueryDefinition};
pub use schema::{CURRENT_SCHEMA_FORMAT_VERSION, CompiledSchema, SubscribableEntity};
pub use schema_serde::canonicalize_json;
pub use validation::is_safe_sql_identifier;
