summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-06-19Fix list input coercionEugen Wissner
2020-06-13Coerce resultEugen Wissner
Fixes #45.
2020-06-12Merge selection setsEugen Wissner
2020-06-10Skip unknown fieldsEugen Wissner
2020-06-09Add custom Eq instances to the typesEugen Wissner
2020-06-07Add description to the enum type valuesEugen Wissner
2020-06-06Coerce argument values properlyEugen Wissner
Fixes #44.
2020-06-03Resolve abstract typesEugen Wissner
Objects that can be a part of an union or interface should return __typename as string.
2020-05-29Define resolvers on type fieldsEugen Wissner
Returning resolvers from other resolvers isn't supported anymore. Since we have a type system now, we define the resolvers in the object type fields and pass an object with the previous result to them.
2020-05-26Add Union and Interface type definitionsEugen Wissner
2020-05-25Split input/output types and values into 2 modulesEugen Wissner
2020-05-24Check pointEugen Wissner
2020-05-23Don't fail on invalid fragments and variablesEugen Wissner
2020-05-22Reject variables as default valuesEugen Wissner
2020-05-21Coerce variable valuesEugen Wissner
2020-05-14Add basic output object type supportEugen Wissner
2020-05-13Accept resolvers given by the user as isEugen Wissner
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