summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-02Report subscription error locationsEugen Wissner
2021-06-27Attach the field location to resolver exceptionsEugen Wissner
2021-06-24Fail with a location for result coercionEugen Wissner
The intermediate representation was further modified so that the operation definitions contain location information. Probably I should introduce a data type that generalizes fields and operations, so it contains object type, location and the selection set, so the functions don't accept so many arguments.
2021-06-22Provide locations for argument errorsEugen Wissner
The executor still doesn't give an error per argument, but a single error per field with locations for all arguments. If a non-null argument isn't specified, only the error location of the field is given. If some arguments cannot be coerced, only the locations of these arguments are given, non-null arguments are ignored. This should still be improved, so the executor returns all errors at once. The transformation tree is changed, so that argument map contains locations of the arguments (but not the locations of the argument values yet).
2021-06-18Fix merging fields with argumentsEugen Wissner
executeField shouldn't assume that a selection has only one field with a given name, but it should take the first field. The underlying cause is a wrong pattern, which (because of the laziness) is executed only if the field has arguments.
2021-06-17Provide location information for interface errorsEugen Wissner
2021-05-13Add constructor with additional schema typesEugen Wissner
2021-05-12Add location information to the intermediate treeEugen Wissner
2021-05-11Remove unused QueryError.TransformationErrorEugen Wissner
2021-05-10Deprecate internal error generation functionsEugen Wissner
The functions generating errors in the executor should be changed anyway when we provide better error messages from the executor, with the error location and response path. So public definitions of these functions are deprecated now and they are replaced by more generic functions in the executor code.
2021-05-09Provide an internal function to add errorsEugen Wissner
The old function, addErrMsg, takes only a string with an error description, but more information is required for the execution errors: locations and path. addErrMsg should be deprecated after the switching to the new addError.
2021-05-06Validate non-nullable values inside listsEugen Wissner
2021-04-14Remove unused OverloadedStrings pragmasEugen Wissner
2021-04-12Traverse input object properties onceEugen Wissner
2021-03-16Emit list item errors onceEugen Wissner
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.
2021-02-19Replace Map with OrderedMapEugen Wissner
2021-02-15traverseMaybe OrderedMapEugen Wissner
2021-02-14Combine value inserted into the OrderedMapEugen Wissner
2021-02-13Add OrderedMap prototypeEugen Wissner
2021-02-11Document AST.Document.escapeEugen Wissner
2021-02-04Provide custom Show instances for AST valuesEugen Wissner
2021-02-03Validate valuesEugen Wissner
2021-02-02Update stack snapshot to 17.x.Eugen Wissner
2021-01-22Validate variable usage is allowed in objectsEugen Wissner
2021-01-04Fix the type in messages when validating variablesEugen Wissner
2020-12-27Rename variablesInAllowedPositionRule's variablesEugen Wissner
Name variablesInAllowedPositionRule's variables more meaningful.
2020-12-26Validate variable usages are allowed in argumentsEugen Wissner
2020-12-17Add show instances for AST type representationEugen Wissner
2020-12-14Implement Show class for GraphQL type definitionsEugen Wissner
.. in the `Type` modules.
2020-11-19Validate fragment spreads are possibleEugen Wissner
2020-11-17Collect interface implementationsEugen Wissner
2020-11-15Implement basic "Field Selection Merging" ruleEugen Wissner
2020-11-11Extract collectFields functionEugen Wissner
2020-11-06Fix singleFieldSubscriptionsRule fragment lookupEugen Wissner
singleFieldSubscriptionsRule picks up a wrong fragment definition.
2020-10-07Collect types once the schema is createdEugen Wissner
2020-10-05Validate required input fieldsEugen Wissner
2020-10-03Validate required argumentsEugen Wissner
2020-10-02Validate directives are in valid locationsEugen Wissner
2020-09-30Validate input object field namesEugen Wissner
2020-09-29Validate directives are definedEugen Wissner
2020-09-28Validate arguments are definedEugen Wissner
2020-09-26Validate leaf selectionsEugen Wissner
2020-09-26Validate field selections on composite typesEugen Wissner
2020-09-24Validate input fields have unique namesEugen Wissner
2020-09-22Validate variables are usedEugen Wissner
2020-09-21Validate all variables are definedEugen Wissner
2020-09-20Validate fragments are input typesEugen Wissner
2020-09-19Validate variable names are uniqueEugen Wissner