spikard_graphql/lib.rs
1//! Spikard GraphQL - GraphQL support for Spikard with async-graphql integration.
2//!
3//! This crate provides a high-level, type-safe GraphQL implementation built on
4//! async-graphql, with support for:
5//!
6//! - Query, Mutation, and Subscription types
7//! - Builder pattern for schema construction
8//! - Introspection control
9//! - Complexity and depth limits
10//! - Federation support (via feature flag)
11//! - Integration with Spikard's HTTP runtime
12//!
13//! # Features
14//!
15//! - `federation` - Enable Apollo Federation support
16
17#![forbid(unsafe_code)]
18#![warn(
19 missing_docs,
20 missing_debug_implementations,
21 rust_2018_idioms,
22 unreachable_pub,
23 clippy::all
24)]
25
26pub mod error;
27pub mod executor;
28pub mod handler;
29pub mod routes;
30pub mod schema;
31
32pub use error::{GraphQLError, Result as GraphQLResult};
33pub use executor::GraphQLExecutor;
34pub use handler::GraphQLHandler;
35pub use routes::GraphQLRouteConfig;
36pub use schema::{
37 FullSchemaConfig, QueryMutationConfig, QueryOnlyConfig, SchemaBuilder, SchemaConfig, SchemaError, SchemaResult,
38 schema_full, schema_query_mutation, schema_query_only,
39};