summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/Schema.hs
AgeCommit message (Collapse)Author
2020-01-13Parse interface type definitionEugen Wissner
2020-01-01Rewrite argument list to argument mapEugen Wissner
2019-12-31Retrieve resolver arguments from the readerEugen Wissner
2019-12-30Replace substitution function with a mapEugen Wissner
It makes using variables with queries more approachable, but some work still has to be done. - The type `Subs` should be renamed and moved out of `Schema`, together with `AST.Core.Value` probably. - Some kind of conversion should be possible from a user-defined input type T to the Value. So the final HashMap should have a type like `HashMap name a`, where a is an instance of a potential typeclass InputType.
2019-12-02Consider __typename when evaluating fragmentsEugen Wissner
Fixes #30.
2019-11-23Add a reader instance to the resolversEugen Wissner
The Reader contains a Name/Value hashmap, which will contain resolver arguments.
2019-11-16Rewrite selections into a Sequence. Fix #21Eugen Wissner
2019-11-03Move related modules to Language.GraphQL.ASTEugen Wissner
Fixes #18. - `Language.GraphQL.Encoder` moved to `Language.GraphQL.AST.Encoder`. - `Language.GraphQL.Parser` moved to `Language.GraphQL.AST.Parser`. - `Language.GraphQL.Lexer` moved to `Language.GraphQL.AST.Lexer`. - All `Language.GraphQL.AST.Value` data constructor prefixes were removed. The module should be imported qualified. - All `Language.GraphQL.AST.Core.Value` data constructor prefixes were removed. The module should be imported qualified. - `Language.GraphQL.AST.Transform` is now isn't exposed publically anymore.
2019-10-25Remove deprecated functions and aliasesEugen Wissner
2019-10-08Support inline fragments on typesEugen Wissner
2019-09-20Fix haddoc warningsEugen Wissner
Fix #14.
2019-09-01Deprecate enum, enumA, wrappedEnum, wrappedEnumAEugen Wissner
These functions are from Language.GraphQL.Schema. There are actually only two generic types in GraphQL: Scalars and objects. Enum is a scalar value. According to the specification enums may be serailized to strings. And in the current implementation they used untyped strings anyway, so there is no point to have differently named functions with the same implementation as their scalar counterparts.
2019-08-30Deprecate Language.GraphQL.Execute.SchemaEugen Wissner
It is not a schema (at least not a complete one), but a resolver list, and the resolvers should be provided by the user separately, because the schema can originate from a GraphQL document. Schema name should be free to provide a data type for the real schema later.
2019-07-14Make all exports explicitEugen Wissner
2019-07-08Constrain the resolvers with MonadIOEugen Wissner
This replaces the most usages of MonadPlus, which is not appropriate for the resolvers, since a resolver is unambiguously chosen by the name (no need for 'mplus'), and the resolvers are often doing IO.
2019-07-07Change the main namespace to Language.GraphQLEugen Wissner