• v0.7.0.0 9232e08eb9

    0.7.0.0 Stable

    belka released this 2020-05-11 12:34:48 +02:00 | 214 commits to master since this release

    Fixed

    • Result of null encoding
    • Block strings encoding
    • Result of tab and newline encoding

    Added

    • AST for the GraphQL schema.
    • Type system definition parser.
    • Trans.argument.
    • Schema extension parser.
    • Contributing guidelines.
    • Schema.resolversToMap (intended to be used internally).

    Changed

    • Rename AST.Definition into AST.Document.ExecutableDefinition.
      AST.Document.TypeSystemDefinition and AST.Document.TypeSystemExtension
      can also be definitions.
    • Move all AST data to AST.Document and reexport them.
    • Rename AST.OperationSelectionSet to AST.Document.SelectionSet.
    • Make Schema.Subs a Data.HashMap.Strict (was a function
      key -> Maybe value before).
    • Make AST.Lexer.at a text (symbol) parser. It was a char before and is
      symbol "@" now.
    • Replace MonadIO with a plain Monad. Since the tests don't use IO,
      set the inner monad to Identity.
    • NonEmpty (Resolver m) is now HashMap Text (NonEmpty (Resolver m)). Root
      operation type can be any type, therefore a hashmap is needed. Since types
      cannot be empty, we save the list of resolvers in the type as a non-empty
      list. Currently only "Query" and "Mutation" are supported as types. For more
      schema support is required. The executor checks now if the type in the query
      matches the type of the provided root resolvers.

    Removed

    • AST.Field, AST.InlineFragment and AST.FragmentSpread.
      These types are only used in AST.Selection and AST.Selection contains now
      3 corresponding data constructors, Field, InlineFragment and
      FragmentSpread, instead of separate types. It simplifies pattern matching
      and doesn't make the code less typesafe.
    • Schema.scalarA.
    • Schema.wrappedScalarA.
    • Schema.wrappedObjectA.
    • Schema.objectA.
    • AST.Argument. Replaced with AST.Arguments which holds all arguments as a
      key/value map.
    Downloads