graphql_query/
lib.rs

1//! `graphql_query`
2//! =========
3//!
4//! _Stupendously fast and easy GraphQL Query Language handling._
5//!
6//! The **`graphql_query`** library follows two goals:
7//!
8//! - To support a pleasant-to-use API for the GraphQL Query Language
9//! - To be stupendously fast at processing GraphQL Query Language ASTs
10//!
11//! In short, _surprise!_ The `graphql_query` crate while handling a part of GraphQL does
12//! not aim to support full, server-side GraphQL execution or the GraphQL Schema Language.
13//! Many parts of the server-side execution of requests are one-off operations. Parsing a schema
14//! and using it are operations that could even be preprocessed using the reference GraphQL.js
15//! implementation.
16//!
17//! A harder focus is to optimize how individual GraphQL requests are handled and making it easier
18//! to write complex code on top of an easy to use AST.
19//! GraphQL throughput is highly important in ensuring that GraphQL doesn't fall behind any other
20//! solutions, which don't feature a rich query language.
21//! On top, having an AST and library that's sufficiently easy to use and contains enough primitives
22//! and utilities at the same time as valuing performance is something that's harder to do when
23//! focusing on building a full GraphQL server.
24//!
25//! As such, this library focuses on just processing GraphQL queries for the purpose of
26//! intermediary GraphQL layers, which operate inbetween GraphQL clients and GraphQL servers.
27//!
28//! [A good place to start learning more about this crate is the `ast` module...](ast)
29
30pub mod ast;
31pub mod error;
32pub mod schema;
33pub mod validate;
34pub mod visit;
35
36pub use bumpalo;
37
38#[cfg(feature = "json")]
39pub mod json;