ae2210f659
Support subscriptions
...
This is experimental support.
The implementation is based on conduit and is boring. There is a new
resolver data constructor that should create a source event stream. The
executor receives the events, pipes them through the normal execution
and puts them into the response stream which is returned to the user.
- Tests are missing.
- The executor should check field value resolver on subscription types.
- The graphql function should probably return (Either
ResponseEventStream Response), but I'm not sure about this. It will
make the usage more complicated if no subscriptions are involved, but
with the current API implementing subscriptions is more
difficult than it should be.
2020-07-14 19:37:56 +02:00
840e129c44
Parse subscriptions
2020-07-11 06:34:10 +02:00
04a58be3f8
Label parsers with help info
...
Fixes #36 .
2020-07-10 08:43:47 +02:00
28781586a5
Parse comments in the front of definitions
2020-07-09 08:11:12 +02:00
c9e265f72c
Return parser error location in a list
...
An error can have multiple locations which are returned in a listt with
key "locations".
2020-07-08 08:17:55 +02:00
b2d473de8d
Export sum type for all GraphQL types
2020-07-06 19:10:34 +02:00
a6f9cec413
Handle errors using custom types
...
Fixes #32 .
2020-07-05 14:36:00 +02:00
b5157e141e
Check in .cabal
2020-07-03 07:00:37 +02:00
2f4310268a
Merge Trans and Type.Out modules
2020-07-02 07:33:03 +02:00
8b164c4844
Move Core module out of AST
2020-06-30 10:28:10 +02:00
705e506c13
Combine Resolver and ActionT in ResolverT
2020-06-29 13:14:23 +02:00
9798b08b4c
Remove semaphoreci.sh
2020-06-26 11:40:09 +02:00
175268b422
Add a github actions workflow
2020-06-24 10:12:22 +02:00
aef6030a8e
Release 0.8.0.0
2020-06-20 05:48:25 +02:00
91bd2d0d81
Fix list input coercion
2020-06-19 10:53:41 +02:00
882276a845
Coerce result
...
Fixes #45 .
2020-06-13 07:20:19 +02:00
e8c54810f8
Merge selection sets
2020-06-12 07:58:08 +02:00
c37b9c88b1
Skip unknown fields
2020-06-10 11:42:00 +02:00
fdb1268213
Add custom Eq instances to the types
2020-06-09 10:02:34 +02:00
377c87045e
Add description to the enum type values
2020-06-07 06:16:45 +02:00
4c9264c12c
Coerce argument values properly
...
Fixes #44 .
2020-06-06 21:22:11 +02:00
93a0403288
Resolve abstract types
...
Objects that can be a part of an union or interface should return
__typename as string.
2020-06-03 07:20:38 +02:00
d12577ae71
Define resolvers on type fields
...
Returning resolvers from other resolvers isn't supported anymore. Since
we have a type system now, we define the resolvers in the object type
fields and pass an object with the previous result to them.
2020-05-29 13:53:51 +02:00
c06d0b8e95
Add Union and Interface type definitions
2020-05-26 11:13:55 +02:00
61dbe6c728
Split input/output types and values into 2 modules
2020-05-25 07:41:21 +02:00
eb90a4091c
Check point
2020-05-24 13:51:00 +02:00
7cd4821718
Don't fail on invalid fragments and variables
2020-05-23 21:49:57 +02:00
26cc53ce06
Reject variables as default values
2020-05-22 10:11:48 +02:00
c3ecfece03
Coerce variable values
2020-05-21 10:20:59 +02:00
a5c44f30fa
Add basic output object type support
2020-05-14 22:16:56 +02:00
4c19c88e98
Accept resolvers given by the user as is
2020-05-13 16:21:48 +02:00
9232e08eb9
Release 0.7.0.0
2020-05-11 12:34:48 +02:00
500cff20eb
Separate Query and Mutation resolvers
...
Fixes #33 .
2020-05-10 18:32:58 +02:00
387d158bd1
Write contrinbuting guidelines
2020-04-12 08:32:39 +02:00
Dmitrii Skurikhin
2760bd8ee1
Don't encode controls as block strings
...
Fixes #39 .
String containing control sequences should be encoded as simple strings
even if they contain newlines, since the block strings can contain only
SourceCharacters.
2020-04-10 11:19:36 +02:00
Dmitrii Skurikhin
30d6a0a58d
encode null value as "null"
2020-03-31 10:04:34 +03:00
613e929d91
Update to Stack 15.x
2020-02-20 05:16:14 +01:00
c0e5e30e76
Document schema AST
...
Fixes #8 .
2020-02-14 06:20:05 +01:00
67bebf853c
Replace MonadIO constraint with just Monad
...
And make the tests use Identity instead of IO.
2020-02-01 20:46:35 +01:00
e8b82122c6
Try all extension parsers
2020-01-28 11:08:28 +01:00
a6bd2370b6
Parse type extensions
...
Signed-off-by: Eugen Wissner <belka@caraus.de>
2020-01-26 11:55:15 +01:00
b4a3c98114
Parse schema extensions
2020-01-25 16:45:39 +01:00
cb5270b197
Update copyright
2020-01-21 23:27:21 +01:00
3ef27f9d11
Add "extend symbol" lexer to parse extensions
2020-01-17 12:29:06 +01:00
ba710a3c96
Parse complete TypeSystemDefinition
2020-01-15 20:20:50 +01:00
d257d05d4e
Parse enum and input object type definitions
2020-01-13 08:21:02 +01:00
adffa185bb
Parse interface type definition
2020-01-13 08:21:02 +01:00
f4ed06741d
Parse union definitions
2020-01-13 08:21:02 +01:00
8efb08fda1
Parse ObjectDefinition
2020-01-13 08:21:02 +01:00
d9a2937b55
Parse SchemaDefinition
2020-01-13 08:18:30 +01:00