Parse a Schema Definition Language document into a Lacinia input schema.
Parse a Schema Definition Language document into a Lacinia input schema.
(parse-schema schema-string)
(parse-schema schema-string attach)
Given a GraphQL schema string, parses it and returns a Lacinia EDN schema. Defers validation of the schema to the downstream schema validator.
Directives may be declared and used, but validation of directives is also deferred downstream.
Most keys of the attach
map are deprecated, but still supported.
Documentation can now be provided inline in the schema document,
and directives, streamers, and etc. can be added as needed via
functions in the com.walmartlabs.lacinia.util
namespace.
attach
should be a map consisting of the following keys:
:federation
enables support for GraphQL federation. It contains a
sub-key, :entity-resolvers
which maps from keyword entity name to
an entity resolver function (or FieldResolver instance).
:resolvers
(deprecated) is expected to be a map of:
{:type-name {:field-name resolver-fn}}
:scalars
(deprecated) is expected to be a map of:
{:scalar-name {:parse parse-spec
:serialize serialize-spec}}
A scalar map may also include a :description.
The provided scalar maps are merged into the scalars parsed from the document.
:streamers
(deprecated) is expected to be a map of:
{:type-name {:subscription-field-name stream-fn}}
:documentation
(deprecated) is expected to be a map of:
{:type-name doc-str
:type-name/field-name doc-str
:type-name/field-name.arg-name doc-str}
Given a GraphQL schema string, parses it and returns a Lacinia EDN schema. Defers validation of the schema to the downstream schema validator. Directives may be declared and used, but validation of directives is also deferred downstream. Most keys of the `attach` map are deprecated, but still supported. Documentation can now be provided inline in the schema document, and directives, streamers, and etc. can be added as needed via functions in the [[com.walmartlabs.lacinia.util]] namespace. `attach` should be a map consisting of the following keys: `:federation` enables support for GraphQL federation. It contains a sub-key, `:entity-resolvers` which maps from keyword entity name to an entity resolver function (or FieldResolver instance). `:resolvers` (deprecated) is expected to be a map of: {:type-name {:field-name resolver-fn}} `:scalars` (deprecated) is expected to be a map of: {:scalar-name {:parse parse-spec :serialize serialize-spec}} A scalar map may also include a :description. The provided scalar maps are merged into the scalars parsed from the document. `:streamers` (deprecated) is expected to be a map of: {:type-name {:subscription-field-name stream-fn}} `:documentation` (deprecated) is expected to be a map of: {:type-name doc-str :type-name/field-name doc-str :type-name/field-name.arg-name doc-str}
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close