| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-05-09 | Provide an internal function to add errors | Eugen 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-06 | Validate non-nullable values inside lists | Eugen Wissner | |
| 2021-04-12 | Traverse input object properties once | Eugen Wissner | |
| 2021-03-16 | Emit list item errors once | Eugen Wissner | |
| 2021-02-21 | Fix some issues with directive definitions | Ben 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-19 | Replace Map with OrderedMap | Eugen Wissner | |
| 2021-02-15 | traverseMaybe OrderedMap | Eugen Wissner | |
| 2021-02-14 | Combine value inserted into the OrderedMap | Eugen Wissner | |
| 2021-02-13 | Add OrderedMap prototype | Eugen Wissner | |
| 2021-02-06 | Split validation rule tests in contexts | Eugen Wissner | |
| 2021-02-04 | Provide custom Show instances for AST values | Eugen Wissner | |
| 2021-02-03 | Validate values | Eugen Wissner | |
| 2020-12-26 | Validate variable usages are allowed in arguments | Eugen Wissner | |
| 2020-11-19 | Validate fragment spreads are possible | Eugen Wissner | |
| 2020-11-15 | Implement basic "Field Selection Merging" rule | Eugen Wissner | |
| 2020-11-06 | Fix singleFieldSubscriptionsRule fragment lookup | Eugen Wissner | |
| singleFieldSubscriptionsRule picks up a wrong fragment definition. | |||
| 2020-11-05 | Remove StarWars tests | Eugen Wissner | |
| Our own test suite is slowly getting sufficient. | |||
| 2020-10-07 | Collect types once the schema is created | Eugen Wissner | |
| 2020-10-05 | Validate required input fields | Eugen Wissner | |
| 2020-10-03 | Validate required arguments | Eugen Wissner | |
| 2020-10-02 | Validate directives are in valid locations | Eugen Wissner | |
| 2020-09-30 | Validate input object field names | Eugen Wissner | |
| 2020-09-29 | Validate directives are defined | Eugen Wissner | |
| 2020-09-28 | Validate arguments are defined | Eugen Wissner | |
| 2020-09-26 | Validate leaf selections | Eugen Wissner | |
| 2020-09-26 | Validate field selections on composite types | Eugen Wissner | |
| 2020-09-24 | Validate input fields have unique names | Eugen Wissner | |
| 2020-09-22 | Validate variables are used | Eugen Wissner | |
| 2020-09-21 | Validate all variables are defined | Eugen Wissner | |
| 2020-09-20 | Validate fragments are input types | Eugen Wissner | |
| 2020-09-19 | Validate variable names are unique | Eugen Wissner | |
| 2020-09-18 | Validate directives are unique per location | Eugen Wissner | |
| 2020-09-17 | Validate arguments have unique names | Eugen Wissner | |
| 2020-09-16 | Move path to the execution error | Eugen Wissner | |
| Since it isn't possible to get a path during validation, without executing the query. | |||
| 2020-09-15 | Use Seq as base monad in the validator | Eugen Wissner | |
| It is more natural to implement the logic: try to apply each rule to each node. | |||
| 2020-09-11 | Validate fragments don't form cycles | Eugen Wissner | |
| 2020-09-09 | Validate all fragments are used | Eugen Wissner | |
| 2020-09-07 | Validate fragments on composite types | Eugen Wissner | |
| 2020-09-05 | Validate fragment spread type existence | Eugen Wissner | |
| 2020-09-04 | Collect types from the subscription root | Eugen Wissner | |
| 2020-08-31 | Validate fragment spread target existence | Eugen Wissner | |
| 2020-08-28 | Validate fragment name uniqueness | Eugen Wissner | |
| 2020-08-27 | Validate operation name uniqueness | Eugen Wissner | |
| Fixes #52. | |||
| 2020-08-26 | Validate anonymous operation definitions | Eugen Wissner | |
| 2020-08-25 | Validate single root field in subscriptions | Eugen Wissner | |
| 2020-08-22 | Remove encoder test based on old external files | Eugen Wissner | |
| 2020-07-20 | Draft the Validation API | Eugen Wissner | |
| 2020-07-19 | Return a stream as well from graphql* functions | Eugen Wissner | |
| 2020-07-17 | Constrain base monad to MonadCatch | Eugen Wissner | |
| Let's try MonadThrow/MonadCatch. It looks nice at a first glance. The monad transformer stack contains only the ReaderT, less lifts are required. Exception subtyping is easier, the user can (and should) define custom error types and throw them. And it is still possible to use pure error handling, if someone doesn't like runtime exceptions or need to run a query in a pure environment. Fixes #42. | |||
| 2020-07-15 | Respect subscriptions in the executor | Eugen Wissner | |
| After the last commit there were a few places needed to be adjusted to support subscriptions. This is done and a test case is added. It is important to implement subscriptions now, because they require changes to the library API, and they are a big missing part to finish the executor. When the executor is finished, we can start to provide more stable API without breaking everything every release. Validation and introspection shouldn't require much changes to the API; AST would require some changes to report good errors after the validation - this is one thing I can think of. Fixes #5. | |||
