Eugen Wissner
e8b82122c6
Try all extension parsers
2020-01-28 11:08:28 +01:00
Eugen Wissner
a6bd2370b6
Parse type extensions
...
Signed-off-by: Eugen Wissner <belka@caraus.de>
2020-01-26 11:55:15 +01:00
Eugen Wissner
b4a3c98114
Parse schema extensions
2020-01-25 16:45:39 +01:00
Eugen Wissner
cb5270b197
Update copyright
2020-01-21 23:27:21 +01:00
Eugen Wissner
3ef27f9d11
Add "extend symbol" lexer to parse extensions
2020-01-17 12:29:06 +01:00
Eugen Wissner
ba710a3c96
Parse complete TypeSystemDefinition
2020-01-15 20:20:50 +01:00
Eugen Wissner
d257d05d4e
Parse enum and input object type definitions
2020-01-13 08:21:02 +01:00
Eugen Wissner
adffa185bb
Parse interface type definition
2020-01-13 08:21:02 +01:00
Eugen Wissner
f4ed06741d
Parse union definitions
2020-01-13 08:21:02 +01:00
Eugen Wissner
8efb08fda1
Parse ObjectDefinition
2020-01-13 08:21:02 +01:00
Eugen Wissner
d9a2937b55
Parse SchemaDefinition
2020-01-13 08:18:30 +01:00
Eugen Wissner
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
Eugen Wissner
6d951491be
Replace Parser.manyNE with NonEmpty.some
2020-01-12 07:19:28 +01:00
Eugen Wissner
dd8f312cb3
Rewrite argument list to argument map
2020-01-01 10:58:11 +01:00
Eugen Wissner
d82d5a36b3
Retrieve resolver arguments from the reader
2019-12-31 08:29:03 +01:00
Eugen Wissner
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
Eugen Wissner
fdf5914626
Move AST to AST.Document
2019-12-28 07:07:58 +01:00
Eugen Wissner
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
Eugen Wissner
56d88310df
Add definition module
2019-12-26 13:07:21 +01:00
Eugen Wissner
e3a495a778
Add changelog header and versioning policy
2019-12-26 13:05:17 +01:00
Eugen Wissner
62f3c34bfe
Replace AST.Selection data constructors
2019-12-25 06:45:29 +01:00
Eugen Wissner
bdf711d69f
Release 0.6.1.0
2019-12-23 06:35:32 +01:00
Eugen Wissner
b215e1a4a7
Pretify multi-line string arguments as block strings
...
Fixes #10 .
2019-12-21 09:25:05 +01:00
Eugen Wissner
1e55f17e7e
Encode Unicode. Fix #34
2019-12-20 07:58:09 +01:00
Eugen Wissner
9a5d54c035
Escape non-source characters in the encoder
2019-12-19 06:59:27 +01:00
Eugen Wissner
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
Eugen Wissner
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
Eugen Wissner
3c1a5c800f
Support directives (skip and include)
...
Fixes #24 .
2019-12-06 22:52:24 +01:00
Eugen Wissner
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
Eugen Wissner
3497784984
Release 0.6.0.0
2019-11-27 08:26:51 +01:00
Eugen Wissner
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
Eugen Wissner
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
Eugen Wissner
7b92e5bcfd
Rewrite selections into a Sequence. Fix #21
2019-11-16 11:41:40 +01:00
Eugen Wissner
115aa02672
Fail on cyclic fragments, fix #22
2019-11-14 20:40:09 +01:00
Eugen Wissner
31c516927d
Support nested fragments in any order
...
Fix #19 .
2019-11-12 10:47:10 +01:00
Eugen Wissner
1dd6b7b013
Support nested fragments
...
... without forward lookup.
2019-11-09 23:24:31 +01:00
Eugen Wissner
b77da3d492
AST.Transform: Pass down a reader
...
The reader contains variable substitution functions and fragments.
2019-11-07 06:34:36 +01:00
Eugen Wissner
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
Eugen Wissner
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
Eugen Wissner
0e3b6184be
Save fragments in a hash map
...
Fixes #20 .
2019-10-31 07:32:51 +01:00
Eugen Wissner
51d39b69e8
Remove deprecated functions and aliases
2019-10-25 09:07:45 +02:00
Eugen Wissner
75bc3b8509
Release 0.5.1.0
2019-10-22 07:07:54 +02:00
Eugen Wissner
c7d5b02911
Handle top-level fragments
...
Fixes #17 .
2019-10-19 10:00:25 +02:00
Eugen Wissner
37254c8c95
Inline fragments without type
...
Fixes #11 .
2019-10-11 23:28:55 +02:00
Eugen Wissner
856efc5d25
Support inline fragments on types
2019-10-08 09:03:07 +02:00
Eugen Wissner
b2a9ec7d82
Deprecate plural type aliases
...
Fixes #16 . Deprecates:
- Language.GraphQL.AST.Arguments
- Language.GraphQL.AST.Directives
- Language.GraphQL.AST.VariableDefinitions
2019-10-01 07:24:25 +02:00
Eugen Wissner
0d142fb01c
Set STACK_ROOT to cache dependencies in the CI
...
Set STACK_ROOT to cache dependencies between the builds.
2019-09-30 07:09:58 +02:00
Eugen Wissner
f767f6cd40
Ignore graphql.cabal
...
This file is generated and for releases another version is generated
anyway.
2019-09-29 07:39:18 +02:00