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
Eugen Wissner
eb98c36258
Introduce hspec-megaparsec
...
Fixes #13 .
2019-09-27 10:50:38 +02:00
Eugen Wissner
70f7e1bd8e
Document undocumented modules
...
Fixes #15 .
2019-09-25 05:35:36 +02:00
Eugen Wissner
2b5c719ab0
Fix haddoc warnings
...
Fix #14 .
2019-09-20 08:47:14 +02:00
Eugen Wissner
c075a41582
Add pending inline fragment tests
2019-09-13 20:33:39 +02:00
Eugen Wissner
721cbaee17
Release 0.5.0.1
2019-09-10 10:20:40 +02:00
Eugen Wissner
1704022e74
Fix #12
2019-09-06 07:48:01 +02:00
Eugen Wissner
63d4de485d
Deprecate enum, enumA, wrappedEnum, wrappedEnumA
...
These functions are from Language.GraphQL.Schema.
There are actually only two generic types in GraphQL: Scalars and objects.
Enum is a scalar value. According to the specification enums may be
serailized to strings. And in the current implementation they used
untyped strings anyway, so there is no point to have differently named
functions with the same implementation as their scalar counterparts.
2019-09-01 03:16:27 +02:00
Eugen Wissner
22313d05df
Deprecate Language.GraphQL.Execute.Schema
...
It is not a schema (at least not a complete one), but a resolver list,
and the resolvers should be provided by the user separately, because the
schema can originate from a GraphQL document. Schema name should be free
to provide a data type for the real schema later.
2019-08-30 07:26:04 +02:00
Eugen Wissner
c1943c1979
Document all public symbols.
...
Mostly basic documentation. Fixes #4 .
2019-08-29 07:40:50 +02:00
Eugen Wissner
5175586def
Provide more documentation on functions and types
2019-08-26 10:14:46 +02:00
Eugen Wissner
f54e9451d2
Release 0.5.0.0
2019-08-14 08:49:07 +02:00
Eugen Wissner
045b6d15fb
Escape special characters in the encoded strings
...
Fixes #2 .
2019-08-13 07:24:05 +02:00
Eugen Wissner
6604fba7f4
Update stack snapshot to 14.0
2019-08-12 07:25:40 +02:00
Eugen Wissner
a3354e7f58
Make all encoder functions return lazy text
2019-08-05 09:00:11 +02:00
Eugen Wissner
f9dd363457
Provide more information in the REAME
...
Provide more information and documentation references in the README.
2019-08-04 12:38:01 +02:00
Eugen Wissner
7a8a90aba8
Implement indentation in the encoder
2019-08-03 23:57:27 +02:00
Eugen Wissner
989e418cc2
Put spaces between tokens in the pretty printer
2019-08-02 13:52:51 +02:00
Eugen Wissner
4812c8f039
Introduce formatter type for the encoder
...
... to distinguish between minified and pretty printing.
2019-07-31 05:40:17 +02:00
Eugen Wissner
d690d22ce8
Test the encoder with the unminified document
2019-07-27 07:31:09 +02:00
Eugen Wissner
15568a3b99
Implement multiple operation support
2019-07-25 07:37:36 +02:00
Eugen Wissner
282946560e
Add singleError utility function
2019-07-23 07:22:32 +02:00
Eugen Wissner
1b5094b6a3
Parse the BOM header if any
2019-07-22 05:50:00 +02:00