Commit Graph

279 Commits

Author SHA1 Message Date
5cf10b38ec Report parse errors with line and column numbers 2019-07-19 06:38:54 +02:00
bc6a7dddd1 Reuse common types from AST.Core 2019-07-18 05:10:02 +02:00
74801b0483 Remove TODO
Issues should be created instead.
2019-07-17 07:06:35 +02:00
f3b8d9b74c Make all exports explicit 2019-07-14 05:58:05 +02:00
eb40810f25 Replace tasty and HUnit with Hspec 2019-07-10 05:57:35 +02:00
61879fb124 Constrain the resolvers with MonadIO
This replaces the most usages of MonadPlus, which is not appropriate for
the resolvers, since a resolver is unambiguously chosen by the name (no
need for 'mplus'), and the resolvers are often doing IO.
2019-07-08 10:15:47 +02:00
22d4a4e583 Change the main namespace to Language.GraphQL 2019-07-07 06:31:53 +02:00
1431db7e63 Add licence badge 2019-07-06 07:57:18 +02:00
d7b6fd0329 Allow resolvers to return arbitrary nested lists 2019-07-05 20:05:04 +02:00
2fa50d4f62 Update CI settings 2019-07-04 06:32:04 +02:00
6238b2fbfa Add nullable types 2019-07-03 17:54:50 +02:00
91679650b5 Introduce monad transformer for resolvers
Now the errors in the resolvers can be handled and 3 tests throwing
errors pass now. Another test fail but it requires distinguisching
nullable and non-nullable values.
2019-07-02 20:07:26 +02:00
1017b728d9 Pass root field names together with resolvers 2019-07-01 07:05:10 +02:00
f64e186c60 Move the source code into src/ 2019-06-30 06:07:32 +02:00
28aaa6a70b Remove GHCI config 2019-06-29 04:46:45 +02:00
79c734fa62 Replace Alternative with MonadPlus 2019-06-28 11:12:28 +02:00
ae4038eb47 Restore error handling 2019-06-27 08:00:59 +02:00
3cc38343db Fix ambigious Int resolution in the lexer tests 2019-06-26 15:41:30 +02:00
2172de3729 Enable mutations 2019-06-23 05:38:45 +02:00
5e9bf9648d Parse queries with megaparsec 2019-06-21 10:44:58 +02:00
ce169ecef2 Add package.yaml, update stack snapshot to 13.25 2019-06-11 06:34:15 +02:00
Danny Navarro
40f9024b51 Merge pull request #22 from Lupino/master
update docs
2017-03-07 20:03:12 -03:00
Lupino
8d21972c42 update docs 2017-03-05 11:01:07 +08:00
Danny Navarro
2b5648efda
When argument is not found return null
The relevant test was restored too.
2017-03-03 17:02:19 -03:00
Danny Navarro
fb071210cf
Fix wrong scientific exponent when parsing 2017-03-03 15:23:43 -03:00
Danny Navarro
285ccb0af9
Implement type instrospection tests
The main intention with this commit is to show a poor's man way to support type
instrospection.
2017-03-01 17:04:13 -03:00
Danny Navarro
6a10e28ba8
Garden 2017-03-01 16:05:49 -03:00
Danny Navarro
5954962de1
Make alternate Schema functions work with AST.Core 2017-03-01 16:04:35 -03:00
Danny Navarro
1327bcf7f7
Merge pull request #20 from Lupino/master 2017-03-01 15:13:20 -03:00
Danny Navarro
e521d92c7f
Use builtin scientific toBoundInteger to check for Int32 bounds 2017-02-28 17:22:06 -03:00
Danny Navarro
1b8fca3658
Merge branch 'core'
This introduces a distinction between a Full and a Core AST. Fragments and
variables are replaced when transforming from Full to Core.
2017-02-28 16:07:00 -03:00
Danny Navarro
bada28ce24
Simplify fragment substitution 2017-02-24 16:46:51 -03:00
Danny Navarro
d2c138f8d1
Add basic Fragment Support
Only field names are supported for now.
2017-02-23 15:29:58 -03:00
Lupino
3be86bf69e Enable Monad for array and object resolver
When I use facebook/haxl, I can not find any way to the sub resolver.
so I add Monad resolver to support it.
2017-02-23 11:08:47 +08:00
Danny Navarro
39731ff233
Fix parsing of Named Types 2017-02-13 15:31:56 -03:00
Danny Navarro
b7a72591fd
Support variables in AST transformation 2017-02-13 15:19:13 -03:00
Danny Navarro
e716bc57e7
Wrap executed result in "data" object 2017-02-10 17:10:09 -03:00
Danny Navarro
4ab4660d36
Initial implementation of AST.Full -> AST.Core
This focused mainly on fragments.
2017-02-10 15:00:22 -03:00
Danny Navarro
8b09c8aa76
Make operation name optional 2017-02-03 12:57:21 -03:00
Danny Navarro
693b7d18dc
Introduce Tranform module
In the Transform module the Full AST will converted to Core AST.

This commit also includes a partial implementation of Fragment replacement.
2017-02-02 12:44:03 -03:00
Danny Navarro
f35e1f949a
Define Schema using Core AST
Also, temporarily remove error reporting to simplify execution. This should be
restored once the new execution model is nailed.
2017-01-30 15:20:17 -03:00
Danny Navarro
337b620717
Update .gitignore 2017-01-29 11:11:30 -03:00
Danny Navarro
642eab312f Merge pull request #19 from jasonzoladz/master
Fix Int32 bounds checking in Value parser.
2017-01-28 14:36:44 -03:00
Danny Navarro
5390c4ca1e
Split AST in 2
One AST is meant to be a target parser and tries to adhere as much as possible
to the spec. The other is a simplified version of that AST meant for execution.

Also newtypes have been replaced by type synonyms and NonEmpty lists are being
used where it makes sense.
2017-01-28 14:15:14 -03:00
jasonzoladz
140c7df6fb Fix Int32 bounds checking in Value parser. 2017-01-28 12:06:28 -05:00
Danny Navarro
3e991adf4e
Add Graphql Core AST 2017-01-26 12:52:07 -03:00
Danny Navarro
10fdf05aa7
Remove Type Definition support 2017-01-26 11:56:22 -03:00
Danny Navarro
933cfd2852
Tokenize number parser
The essential change hidden behind the code golfing is using the `tok`
combinator. This was making fail the Kitchen Sink test.
2016-12-18 12:19:59 -03:00
Danny Navarro
aa66236081
Add homePlanet to test schema 2016-12-18 11:43:45 -03:00
Danny Navarro
afb2fc4eb9
Include GHC-8.0.1 in travis build 2016-12-18 10:59:02 -03:00