Expand description
§graphql-schema-validation
This crate implements GraphQL SDL schema validation according to the 2021 version of the GraphQL spec.
Scope:
- All the spec and nothing but the spec.
- Query documents are out of scope, we only validate schemas.
- The error messages should be as close as possible to the style of other GraphQL schema validation libraries.
§Example
use graphql_schema_validation::validate;
fn main() {
let graphql = "schema { query: MyQueryDoesNotExist }";
let diagnostics = validate(graphql);
assert!(diagnostics.has_errors());
let formatted_diagnostics = diagnostics.iter().map(|err| format!("{}", err)).collect::<Vec<String>>();
assert_eq!(formatted_diagnostics, ["Cannot set schema query root to unknown type `MyQueryDoesNotExist`"]);
}
§Status
The crate is being actively developed and maintained. It covers the spec completely and faithfully, as far as we are aware.
Structs§
- Options
- Options to configure validation.
Functions§
- validate
- Validate the GraphQL SDL document and produce a possibly empty collection of errors.
- validate_
with_ options - Validate the GraphQL SDL document and produce a possibly empty collection of errors.