summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/AST/Parser.hs
AgeCommit message (Collapse)Author
2025-01-18Make the lexer and parser safeEugen Wissner
2024-11-05Parse interfaces implementing interfacesEugen Wissner
2024-08-27Parse repeatable directive definitionsEugen Wissner
2024-08-04Remove unused liftA2 importEugen Wissner
2022-01-09fix empty list argument parsingDmitrii Skurikhin
2021-03-14Add location information to list valuesEugen Wissner
2021-02-21Fix some issues with directive definitionsBen Sinclair
I found some issues with directive definitions: - I couldn't use `on FIELD_DEFINITION`, I believe because `FIELD` was parsed first in `executableDirectiveLocation`. I've combined both `executableDirectiveLocation` and `typetypeSystemDirectiveLocation` into one function which can reorder them to ensure every directive location gets a fair chance at parsing. Not actually to do with directives, some literals weren't being parsed correctly. - The GraphQL spec defines list to be `[]` or `[Value]`, but empty literal lists weren't being parsed correctly because of using `some` instead of `many`. - The GraphQL spec defines objects to be `{}` or `{Name: Value}`, but empty literal objects had the same issue.
2020-10-05Validate required input fieldsEugen Wissner
2020-09-30Validate input object field namesEugen Wissner
2020-09-24Validate input fields have unique namesEugen Wissner
2020-09-21Validate all variables are definedEugen Wissner
2020-09-19Validate variable names are uniqueEugen Wissner
2020-09-18Validate directives are unique per locationEugen Wissner
2020-09-15Use Seq as base monad in the validatorEugen Wissner
It is more natural to implement the logic: try to apply each rule to each node.
2020-09-09Validate all fragments are usedEugen Wissner
2020-09-07Validate fragments on composite typesEugen Wissner
2020-09-05Validate fragment spread type existenceEugen Wissner
2020-08-31Validate fragment spread target existenceEugen Wissner
2020-08-25Validate single root field in subscriptionsEugen Wissner
2020-07-20Draft the Validation APIEugen Wissner
2020-07-11Parse subscriptionsEugen Wissner
2020-07-10Label parsers with help infoEugen Wissner
Fixes #36.
2020-07-09Parse comments in the front of definitionsEugen Wissner
2020-05-22Reject variables as default valuesEugen Wissner
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
2019-12-28Move AST to AST.DocumentEugen Wissner
2019-12-26Add definition moduleEugen Wissner
2019-12-25Replace AST.Selection data constructorsEugen Wissner
2019-11-22Try type parsers in a different orderEugen 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.