belka
91bd2d0d81
Fix list input coercion
2020-06-19 10:53:41 +02:00
belka
882276a845
Coerce result
...
Fixes #45 .
2020-06-13 07:20:19 +02:00
belka
e8c54810f8
Merge selection sets
2020-06-12 07:58:08 +02:00
belka
c37b9c88b1
Skip unknown fields
2020-06-10 11:42:00 +02:00
belka
fdb1268213
Add custom Eq instances to the types
2020-06-09 10:02:34 +02:00
belka
377c87045e
Add description to the enum type values
2020-06-07 06:16:45 +02:00
belka
4c9264c12c
Coerce argument values properly
...
Fixes #44 .
2020-06-06 21:22:11 +02:00
belka
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
belka
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
belka
c06d0b8e95
Add Union and Interface type definitions
2020-05-26 11:13:55 +02:00
belka
61dbe6c728
Split input/output types and values into 2 modules
2020-05-25 07:41:21 +02:00
belka
eb90a4091c
Check point
2020-05-24 13:51:00 +02:00
belka
7cd4821718
Don't fail on invalid fragments and variables
2020-05-23 21:49:57 +02:00
belka
26cc53ce06
Reject variables as default values
2020-05-22 10:11:48 +02:00
belka
c3ecfece03
Coerce variable values
2020-05-21 10:20:59 +02:00
belka
a5c44f30fa
Add basic output object type support
2020-05-14 22:16:56 +02:00
belka
4c19c88e98
Accept resolvers given by the user as is
2020-05-13 16:21:48 +02:00
belka
500cff20eb
Separate Query and Mutation resolvers
...
Fixes #33 .
2020-05-10 18:32:58 +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
belka
613e929d91
Update to Stack 15.x
2020-02-20 05:16:14 +01:00
belka
c0e5e30e76
Document schema AST
...
Fixes #8 .
2020-02-14 06:20:05 +01:00
belka
67bebf853c
Replace MonadIO constraint with just Monad
...
And make the tests use Identity instead of IO.
2020-02-01 20:46:35 +01:00
belka
e8b82122c6
Try all extension parsers
2020-01-28 11:08:28 +01:00
belka
a6bd2370b6
Parse type extensions
...
Signed-off-by: Eugen Wissner <belka@caraus.de >
2020-01-26 11:55:15 +01:00
belka
b4a3c98114
Parse schema extensions
2020-01-25 16:45:39 +01:00
belka
3ef27f9d11
Add "extend symbol" lexer to parse extensions
2020-01-17 12:29:06 +01:00
belka
ba710a3c96
Parse complete TypeSystemDefinition
2020-01-15 20:20:50 +01:00
belka
d257d05d4e
Parse enum and input object type definitions
2020-01-13 08:21:02 +01:00
belka
adffa185bb
Parse interface type definition
2020-01-13 08:21:02 +01:00
belka
f4ed06741d
Parse union definitions
2020-01-13 08:21:02 +01:00
belka
8efb08fda1
Parse ObjectDefinition
2020-01-13 08:21:02 +01:00
belka
d9a2937b55
Parse SchemaDefinition
2020-01-13 08:18:30 +01:00
belka
f4f076fa59
Reduce usage of the opt parser
...
opt directives = some directive
All other occurrences of opt parse an optional list withing some
delimiters (braces, parens).
2020-01-13 08:11:22 +01:00
belka
6d951491be
Replace Parser.manyNE with NonEmpty.some
2020-01-12 07:19:28 +01:00
belka
dd8f312cb3
Rewrite argument list to argument map
2020-01-01 10:58:11 +01:00
belka
d82d5a36b3
Retrieve resolver arguments from the reader
2019-12-31 08:29:03 +01:00
belka
44dc80bb37
Replace substitution function with a map
...
It makes using variables with queries more approachable, but some work
still has to be done.
- The type `Subs` should be renamed and moved out of `Schema`, together with
`AST.Core.Value` probably.
- Some kind of conversion should be possible from a user-defined input
type T to the Value. So the final HashMap should have a type like
`HashMap name a`, where a is an instance of a potential typeclass
InputType.
2019-12-30 18:26:24 +01:00
belka
fdf5914626
Move AST to AST.Document
2019-12-28 07:07:58 +01:00
belka
78ee76f9d5
Define schema AST.
...
Large parts of the schema aren't exported publically. They will be made
public during writing the parser.
Fixes #6 .
2019-12-27 09:14:12 +01:00
belka
56d88310df
Add definition module
2019-12-26 13:07:21 +01:00
belka
62f3c34bfe
Replace AST.Selection data constructors
2019-12-25 06:45:29 +01:00
belka
b215e1a4a7
Pretify multi-line string arguments as block strings
...
Fixes #10 .
2019-12-21 09:25:05 +01:00
belka
1e55f17e7e
Encode Unicode. Fix #34
2019-12-20 07:58:09 +01:00
belka
9a5d54c035
Escape non-source characters in the encoder
2019-12-19 06:59:27 +01:00
belka
0cbe69736b
Move Execute.Directive to Type.Directive
...
Just to roughly follow the structure of the reference implementation.
2019-12-18 09:03:18 +01:00
belka
4c0d226030
Move Transform to Language.GraphQL.Execute
...
Language.GraphQL.AST.Transform is an internal module. Even though it
works with the AST, it is a part of the execution process, it translates
the original parser tree into a simpler one, so the executor has less
work to do. Language.GraphQL.AST should contain only the parser and be
independent from other packages, so it can be used on its own.
2019-12-07 09:46:00 +01:00
belka
3c1a5c800f
Support directives (skip and include)
...
Fixes #24 .
2019-12-06 22:52:24 +01:00
belka
fc9ad9c4a1
Consider __typename when evaluating fragments
...
Fixes #30 .
2019-12-02 07:43:19 +01:00
Sam Nolan
def52ddc20
Fix strings not consuming spaces
...
Fixes #28
2019-11-28 19:09:26 +11:00