This library is in the early stage. It is still under active development. All functions are subject to change. Please file an issue or submit a PR if you have suggestions!
The implementation of the library follow closely to the GraphQL Draft RFC Specification (https://facebook.github.io/graphql/).
- GraphQL parser
- Query
- Mutation
- Type System
- Variables
- Transformation
- Execution
- Query
- Mutation
- Support List Type
- Support Non-Null Type
- Arguments
- Variables
- List type variable
- Union
- Interface
- Safe parallel execution
- Coerce
- Fragment execution
- Fragment Type
- Support Context
- Type Introspect
- Type introspection schema (http://graphql.org/docs/introspection/)
- Type introspection query (http://facebook.github.io/graphql/#sec-Introspection)
- Arguments
- Input Variables
- Interfaces
- Directives
- Testing
- Use clojure.spec to generate test resolver automatically
- Schema validation
- Query validation
- Overlapping fields can be merged (https://github.com/graphql/graphql-js/blob/master/src/validation/rules/OverlappingFieldsCanBeMerged.js)
- Arguments validation
- Argument Coerce
- Variables validation
- Variable Coerce
- Parser error handling
- Execution error handling
- Batch data loading
- Comment as meta data
- Relay support