alumbra.analyzer
analyze-schema
(analyze-schema schema parser-fn)(analyze-schema schema parser-fn {:keys [base-schema introspection-schema]})Given a schema (implementing IReadable), as well as a parser function, generate a value conforming to :alumbra/analyzed-schema.
(analyze-schema
"type Person { name: String! }
schema { query: Person }"
alumbra.parser/parse-schema)
By default, base and introspection schemas bundled with this library will be used. You can exclude them by explicitly supplying nil and replace them by passing a Schema value.
canonicalize-operation
(canonicalize-operation analyzed-schema document)(canonicalize-operation analyzed-schema document operation-name)(canonicalize-operation analyzed-schema document operation-name variables)Canonicalize a validated GraphQL document based on the given schema.
canonicalizer
(canonicalizer analyzed-schema)Create a function canonicalizing GraphQL documents conforming to :alumbra/document based on the given schema.
Schema
protocol
Protocol for representations of GraphQL schemas.
members
analyze-schema*
(analyze-schema* schema base-schema parser-fn)Convert the given GraphQL schema representation to a value conforming to :alumbra/analyzed-schema.
Use analyze-schema to produce a self-contained schema, including base types, directives and introspection capabilities.