Commit Graph

405 Commits

Author SHA1 Message Date
116aa1f6bb
Put JSON support behind a flag 2021-12-24 13:35:18 +01:00
df078a59d0
Add Serialize and VariableValue value instances
- `Serialize` instance for `Type.Definition.Value`.
- `VariableValue` instance for `Type.Definition.Value`.

It makes it possible to use the library without an additional
serialization format like JSON.
2021-12-22 08:56:01 +01:00
930b8f10b7
Eta reduce and update required hlint 2021-11-23 09:21:07 +01:00
0047a13bc0
Move JSON tests to the upcoming extra package 2021-11-22 07:22:28 +01:00
a044fc40d3
Release 1.0.1.0 2021-09-27 07:24:02 +02:00
e6dbf936af
Test with GHC 9.0 2021-09-24 08:49:37 +02:00
fbfbb3e73f
Remove raw-strings-qq 2021-09-23 08:23:38 +02:00
eedab9e742
Don't append a trailing newline in gql 2021-09-22 08:50:20 +02:00
a3f18932bd
Add TH module with gql quasi quoter 2021-09-21 09:37:57 +02:00
60d1167839
Test nullability on value completion 2021-09-17 10:01:14 +02:00
7b00e8a0ab
Deprecate unused functions from the old executor 2021-09-05 09:14:57 +02:00
7444895a58
Remove unused (and not exposed) Execute.Internal 2021-09-04 07:27:51 +02:00
de4f69ab03
Add CHANGELOG entries for the new executor 2021-09-04 07:12:34 +02:00
b96d75f447
Replace the old executor 2021-09-03 22:47:49 +02:00
7b4c7e2b8c
Handle argument locations 2021-09-02 08:45:23 +02:00
233a58094d
Adjust value completion tests 2021-09-01 09:27:12 +02:00
c0d41a56ce Show the value and expected type in value completion errors 2021-08-31 17:30:04 +02:00
c7e586a125 Copy subscription code 2021-08-31 17:30:04 +02:00
f808d0664f Handle errors 2021-08-31 17:30:04 +02:00
2dafb00a16 Use sequences of selections 2021-08-31 17:30:04 +02:00
5505739e21 Collect fields 2021-08-31 17:30:04 +02:00
db721a3f53 Skip recursive fragments and marked fields 2021-08-31 17:30:04 +02:00
fef7c1ed98 Inline fragment spreads 2021-08-31 17:30:04 +02:00
4f7e990bf9 Use directives from the Type module 2021-08-31 17:30:04 +02:00
5e234ad4a9 Pass variables when generating the IR 2021-08-31 17:30:04 +02:00
9babf64cf6 Stub selection execution 2021-08-31 17:30:04 +02:00
5751870d2a Rewrite the executor tree 2021-08-31 17:30:04 +02:00
d7422e46ca Provide error information for variable definitions 2021-08-31 17:30:04 +02:00
f527b61a3d Stub request execution 2021-08-31 17:30:04 +02:00
38ec439e9f Handle query errors on invalid operations 2021-08-31 17:30:04 +02:00
dd996570c2 Add new executor module 2021-08-31 17:30:04 +02:00
cc8f14f122
Provide a custom Show instance for output Value 2021-08-31 17:29:20 +02:00
dd6fdf69f6
Release 1.0.0.0 2021-07-04 09:57:17 +02:00
b99bb72272
Report subscription error locations 2021-07-02 09:28:03 +02:00
b580d1a988
Attach the field location to resolver exceptions 2021-06-27 13:42:58 +02:00
c601ccb4ad
Add dependency version ranges
Also remove stack.yaml since it isn't used anymore. and adding libraries
to the snapshots doesn't seem to be as easy as I hoped.
2021-06-26 07:35:18 +02:00
96bb061666
Fail with a location for result coercion
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-24 09:29:24 +02:00
812f6967d4
Provide locations for argument errors
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-22 09:13:27 +02:00
6fe9eb72e4
Fix merging fields with arguments
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-18 06:51:14 +02:00
2ce2be5d91
Provide location information for interface errors 2021-06-17 08:15:27 +02:00
c311cb0070
Add constructor with additional schema types 2021-05-13 17:40:38 +02:00
1b7cd85216
Add location information to the intermediate tree 2021-05-12 06:51:59 +02:00
f671645043
Remove unused QueryError.TransformationError 2021-05-11 07:11:47 +02:00
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