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
497b93c41b
Validate arguments have unique names
2020-09-17 10:33:37 +02:00
6e644c5b4b
Move path to the execution error
...
Since it isn't possible to get a path during validation, without
executing the query.
2020-09-16 09:12:49 +02:00
4c10ce9204
Use Seq as base monad in the validator
...
It is more natural to implement the logic: try to apply each rule to
each node.
2020-09-15 08:06:07 +02:00
08998dbd93
Validate fragments don't form cycles
2020-09-11 08:03:49 +02:00
c2c57b6363
Validate all fragments are used
2020-09-09 17:04:31 +02:00
f6ff0ab9c7
Validate fragments on composite types
2020-09-07 22:01:49 +02:00
d327d9d1ce
Validate fragment spread type existence
2020-09-05 10:00:58 +02:00
14ed209828
Collect types from the subscription root
2020-09-04 19:12:19 +02:00
33318a3b01
Validate fragment spread target existence
2020-08-31 11:06:27 +02:00
4b59da2fcb
Release 0.10.0.0
2020-08-29 12:12:04 +02:00
7e78f98f09
Validate fragment name uniqueness
2020-08-28 08:32:21 +02:00
eebad8a27f
Validate operation name uniqueness
...
Fixes #52 .
2020-08-27 09:04:31 +02:00
e6a6926e18
Validate anonymous operation definitions
2020-08-26 18:58:48 +02:00
7355533268
Validate single root field in subscriptions
2020-08-25 21:03:42 +02:00
54dbf1df16
Remove encoder test based on old external files
2020-08-22 06:39:52 +02:00
1a788a6261
Loose monad condition on test methods
2020-08-20 20:53:47 +02:00
c60dd98fc5
Release 0.9.0.0
2020-07-24 21:58:49 +02:00
44d506d4b5
Draft the Validation API
2020-07-20 21:29:12 +02:00
b9d5b1fb1b
Return a stream as well from graphql* functions
2020-07-19 07:36:06 +02:00
09135c581a
Constrain base monad to MonadCatch
...
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-17 07:05:03 +02:00