summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-05-10Separate Query and Mutation resolversEugen Wissner
Fixes #33 .
2020-04-10Don't encode controls as block stringsDmitrii Skurikhin
Fixes #39. String containing control sequences should be encoded as simple strings even if they contain newlines, since the block strings can contain only SourceCharacters.
2020-03-31encode null value as "null"Dmitrii Skurikhin
2020-02-20Update to Stack 15.xEugen Wissner
2020-02-14Document schema ASTEugen Wissner
Fixes #8.
2020-02-01Replace MonadIO constraint with just MonadEugen Wissner
And make the tests use Identity instead of IO.
2020-01-28Try all extension parsersEugen Wissner
2020-01-26Parse type extensionsEugen Wissner
Signed-off-by: Eugen Wissner <belka@caraus.de>
2020-01-25Parse schema extensionsEugen Wissner
2020-01-17Add "extend symbol" lexer to parse extensionsEugen Wissner
2020-01-15Parse complete TypeSystemDefinitionEugen Wissner
2020-01-13Parse enum and input object type definitionsEugen Wissner
2020-01-13Parse interface type definitionEugen Wissner
2020-01-13Parse union definitionsEugen Wissner
2020-01-13Parse ObjectDefinitionEugen Wissner
2020-01-13Parse SchemaDefinitionEugen Wissner
2020-01-13Reduce usage of the opt parserEugen Wissner
opt directives = some directive All other occurrences of opt parse an optional list withing some delimiters (braces, parens).
2020-01-12Replace Parser.manyNE with NonEmpty.someEugen 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-28Move AST to AST.DocumentEugen Wissner
2019-12-27Define schema AST.Eugen Wissner
Large parts of the schema aren't exported publically. They will be made public during writing the parser. Fixes #6.
2019-12-26Add definition moduleEugen Wissner
2019-12-25Replace AST.Selection data constructorsEugen Wissner
2019-12-21Pretify multi-line string arguments as block stringsEugen Wissner
Fixes #10.
2019-12-20Encode Unicode. Fix #34Eugen Wissner
2019-12-19Escape non-source characters in the encoderEugen Wissner
2019-12-18Move Execute.Directive to Type.DirectiveEugen Wissner
Just to roughly follow the structure of the reference implementation.
2019-12-07Move Transform to Language.GraphQL.ExecuteEugen Wissner
Language.GraphQL.AST.Transform is an internal module. Even though it works with the AST, it is a part of the execution process, it translates the original parser tree into a simpler one, so the executor has less work to do. Language.GraphQL.AST should contain only the parser and be independent from other packages, so it can be used on its own.
2019-12-06Support directives (skip and include)Eugen Wissner
Fixes #24.
2019-12-02Consider __typename when evaluating fragmentsEugen Wissner
Fixes #30.
2019-11-28Fix strings not consuming spacesSam Nolan
Fixes #28
2019-11-23Add a reader instance to the resolversEugen Wissner
The Reader contains a Name/Value hashmap, which will contain resolver arguments.
2019-11-22Try type parsers in a different orderEugen Wissner
2019-11-21Fix failed parsing on multiple required argumentsSam Nolan
Fixes #25.
2019-11-16Rewrite selections into a Sequence. Fix #21Eugen Wissner
2019-11-14Fail on cyclic fragments, fix #22Eugen Wissner
2019-11-12Support nested fragments in any orderEugen Wissner
Fix #19.
2019-11-09Support nested fragmentsEugen Wissner
... without forward lookup.
2019-11-07AST.Transform: Pass down a readerEugen Wissner
The reader contains variable substitution functions and fragments.
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-11-02Propagate Maybe in the transform treeEugen Wissner
Since the transform tree can already find some errors, it may fail here and there. Almost all functions return a Maybe to signalize an error. Will be replaced with an Either of course.
2019-10-31Save fragments in a hash mapEugen Wissner
Fixes #20.
2019-10-25Remove deprecated functions and aliasesEugen Wissner
2019-10-19Handle top-level fragmentsEugen Wissner
Fixes #17.
2019-10-11Inline fragments without typeEugen Wissner
Fixes #11.
2019-10-08Support inline fragments on typesEugen Wissner
2019-10-01Deprecate plural type aliasesEugen Wissner
Fixes #16. Deprecates: - Language.GraphQL.AST.Arguments - Language.GraphQL.AST.Directives - Language.GraphQL.AST.VariableDefinitions
2019-09-25Document undocumented modulesEugen Wissner
Fixes #15.