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
6d951491be
Replace Parser.manyNE with NonEmpty.some
2020-01-12 07:19:28 +01:00
dd8f312cb3
Rewrite argument list to argument map
2020-01-01 10:58:11 +01:00
fdf5914626
Move AST to AST.Document
2019-12-28 07:07:58 +01:00
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
56d88310df
Add definition module
2019-12-26 13:07:21 +01:00
62f3c34bfe
Replace AST.Selection data constructors
2019-12-25 06:45:29 +01:00
b215e1a4a7
Pretify multi-line string arguments as block strings
...
Fixes #10 .
2019-12-21 09:25:05 +01:00
1e55f17e7e
Encode Unicode. Fix #34
2019-12-20 07:58:09 +01:00
9a5d54c035
Escape non-source characters in the encoder
2019-12-19 06:59:27 +01:00
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
3c1a5c800f
Support directives (skip and include)
...
Fixes #24 .
2019-12-06 22:52:24 +01:00
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
587aab005e
Add a reader instance to the resolvers
...
The Reader contains a Name/Value hashmap, which will contain resolver
arguments.
2019-11-23 09:49:12 +01:00
625d7100ca
Try type parsers in a different order
2019-11-22 08:00:50 +01:00
Sam Nolan
73e21661b4
Fix failed parsing on multiple required arguments
...
Fixes #25 .
2019-11-21 08:51:42 +01:00
7b92e5bcfd
Rewrite selections into a Sequence. Fix #21
2019-11-16 11:41:40 +01:00
115aa02672
Fail on cyclic fragments, fix #22
2019-11-14 20:40:09 +01:00
31c516927d
Support nested fragments in any order
...
Fix #19 .
2019-11-12 10:47:10 +01:00
1dd6b7b013
Support nested fragments
...
... without forward lookup.
2019-11-09 23:24:31 +01:00
b77da3d492
AST.Transform: Pass down a reader
...
The reader contains variable substitution functions and fragments.
2019-11-07 06:34:36 +01:00
73fc334bf8
Move related modules to Language.GraphQL.AST
...
Fixes #18 .
- `Language.GraphQL.Encoder` moved to `Language.GraphQL.AST.Encoder`.
- `Language.GraphQL.Parser` moved to `Language.GraphQL.AST.Parser`.
- `Language.GraphQL.Lexer` moved to `Language.GraphQL.AST.Lexer`.
- All `Language.GraphQL.AST.Value` data constructor prefixes were removed. The
module should be imported qualified.
- All `Language.GraphQL.AST.Core.Value` data constructor prefixes were removed.
The module should be imported qualified.
- `Language.GraphQL.AST.Transform` is now isn't exposed publically anymore.
2019-11-03 11:00:18 +01:00
417ff5da7d
Propagate Maybe in the transform tree
...
Since the transform tree can already find some errors, it may fail here
and there. Almost all functions return a Maybe to signalize an error.
Will be replaced with an Either of course.
2019-11-02 06:24:21 +01:00
0e3b6184be
Save fragments in a hash map
...
Fixes #20 .
2019-10-31 07:32:51 +01:00
c7d5b02911
Handle top-level fragments
...
Fixes #17 .
2019-10-19 10:00:25 +02:00
37254c8c95
Inline fragments without type
...
Fixes #11 .
2019-10-11 23:28:55 +02:00
856efc5d25
Support inline fragments on types
2019-10-08 09:03:07 +02:00
70f7e1bd8e
Document undocumented modules
...
Fixes #15 .
2019-09-25 05:35:36 +02:00
2b5c719ab0
Fix haddoc warnings
...
Fix #14 .
2019-09-20 08:47:14 +02:00
c1943c1979
Document all public symbols.
...
Mostly basic documentation. Fixes #4 .
2019-08-29 07:40:50 +02:00
5175586def
Provide more documentation on functions and types
2019-08-26 10:14:46 +02:00
15568a3b99
Implement multiple operation support
2019-07-25 07:37:36 +02:00
bc6a7dddd1
Reuse common types from AST.Core
2019-07-18 05:10:02 +02:00
f3b8d9b74c
Make all exports explicit
2019-07-14 05:58:05 +02:00
22d4a4e583
Change the main namespace to Language.GraphQL
2019-07-07 06:31:53 +02:00