Liking cljdoc? Tell your friends :D

com.walmartlabs.lacinia.parser.schema

Parse a Schema Definition Language document into a Lacinia input schema.

Parse a Schema Definition Language document into a Lacinia input schema.
raw docstring

is-extension?clj

(is-extension? v)
source

parse-schemaclj

(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}
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close