1af95345d2
Deprecate internal error generation functions
...
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-10 09:43:39 +02:00
0d23df3da2
Provide an internal function to add errors
...
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-09 12:42:02 +02:00
5a5f265fe4
Validate non-nullable values inside lists
2021-05-06 22:23:16 +02:00
2220f0ca56
Remove unused OverloadedStrings pragmas
2021-04-14 07:09:21 +02:00
5654b78935
Traverse input object properties once
2021-04-12 07:09:39 +02:00
d6dda14cfd
Remove package.yaml
...
This reduces duplication between the modified cabal file and
package.yaml.
2021-04-07 10:12:40 +02:00
328e6acdee
Emit list item errors once
2021-03-16 10:08:13 +01:00
4d762d6356
Add location information to list values
2021-03-14 12:19:30 +01:00
Ben Sinclair
cbccb9ed0b
Add -Wall flags to graphql.cabal
2021-02-22 08:30:36 +11:00
Ben Sinclair
ca0f0bd32d
Fix some issues with directive definitions
...
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-21 23:35:34 +11:00
10e4d64052
Replace Map with OrderedMap
2021-02-19 08:09:04 +01:00
d74e27e903
traverseMaybe OrderedMap
2021-02-15 09:04:16 +01:00
90d36f66b9
Combine value inserted into the OrderedMap
2021-02-14 14:46:06 +01:00
c1a1b47aea
Add OrderedMap prototype
2021-02-13 06:56:10 +01:00
1e8405a6d6
Document AST.Document.escape
2021-02-11 12:02:08 +01:00
2839b28590
Release 0.11.1.0
2021-02-07 08:10:46 +01:00
ed725ea514
Split validation rule tests in contexts
2021-02-06 12:54:27 +01:00
b27da54bf4
Provide custom Show instances for AST values
2021-02-04 08:12:12 +01:00
a034f2ce4d
Validate values
2021-02-03 05:47:40 +01:00
ebf4f4d24e
Update stack snapshot to 17.x.
2021-02-02 07:15:30 +01:00
1c7554c328
Validate variable usage is allowed in objects
2021-01-22 09:26:22 +01:00
c018657e25
Fix the type in messages when validating variables
2021-01-04 08:24:50 +01:00
71a5964c27
Rename variablesInAllowedPositionRule's variables
...
Name variablesInAllowedPositionRule's variables more meaningful.
2020-12-27 11:47:29 +01:00
22abf7ca58
Validate variable usages are allowed in arguments
2020-12-26 06:31:56 +01:00
5a6709030c
Add show instances for AST type representation
2020-12-17 20:42:47 +01:00
2bcae9e0a7
Implement Show class for GraphQL type definitions
...
.. in the `Type` modules.
2020-12-14 22:36:27 +01:00
2dbc985dfc
Validate fragment spreads are possible
2020-11-19 08:48:37 +01:00
86a0e00f7e
Collect interface implementations
2020-11-17 08:10:32 +01:00
1f4eb6fb9b
Implement basic "Field Selection Merging" rule
2020-11-15 10:11:09 +01:00
f5209481aa
Extract collectFields function
2020-11-11 08:49:45 +01:00
445f33dcf3
Release 0.11.0.0
2020-11-07 09:05:47 +01:00
4a3b4cb16d
Fix singleFieldSubscriptionsRule fragment lookup
...
singleFieldSubscriptionsRule picks up a wrong fragment definition.
2020-11-06 08:33:51 +01:00
7f0fb18716
Remove StarWars tests
...
Our own test suite is slowly getting sufficient.
2020-11-05 07:55:22 +01:00
afcf9aaa14
Write documentation out of the source tree
...
In a Wiki.
2020-11-02 08:24:48 +01:00
6e8d8a34a1
Reflect infrastructure and license changes
2020-10-30 07:06:36 +01:00
7c0b0ace4d
Collect types once the schema is created
2020-10-07 05:24:51 +02:00
a91bc7f2d2
Validate required input fields
2020-10-05 14:51:21 +02:00
d5f518fe82
Validate required arguments
2020-10-03 07:34:34 +02:00
6daae8a521
Validate directives are in valid locations
2020-10-02 06:31:38 +02:00
56b63f1c3e
Validate input object field names
2020-09-30 05:14:52 +02:00
466416d4b0
Validate directives are defined
2020-09-29 06:21:32 +02:00
4602eb1df3
Validate arguments are defined
2020-09-28 07:06:15 +02:00
ced9b815db
Validate leaf selections
2020-09-26 09:06:30 +02:00
3373c94895
Validate field selections on composite types
2020-09-26 07:57:25 +02:00
9bfa2aa7e8
Validate input fields have unique names
2020-09-24 05:47:31 +02:00
e9a94147fb
Validate variables are used
2020-09-22 04:42:25 +02:00
3e393004ae
Validate all variables are defined
2020-09-21 07:28:40 +02:00
38c3097bcf
Validate fragments are input types
2020-09-20 06:59:27 +02:00
21a7d9cce4
Validate variable names are unique
2020-09-19 18:18:26 +02:00
9a08aa5de7
Validate directives are unique per location
2020-09-18 07:32:58 +02:00