Danny Navarro
3f30a44d1d
Test fixtures for Schema toplevel
...
This includes simplications to the Schema data types.
2015-10-17 17:49:56 +02:00
Danny Navarro
8e3bae4b5c
Initial stub for a `GraphQL` and `execute`
2015-10-17 13:23:49 +02:00
Danny Navarro
c8f629e826
Merge pull request #2 from timmytofu/isstring-variable
...
`IsString` variable and .gitignore
2015-09-26 09:23:46 +02:00
timmy_tofu
85941139c1
Adds IsString instance to Variable for easier REPL playing
2015-09-25 19:12:22 -04:00
timmy_tofu
0848e65da2
Adds dist/ dir and cabal sandbox dir and file to gitignore
2015-09-25 19:11:42 -04:00
Danny Navarro
6ce2004264
Version Bump
...
This also includes updates to CHANGELOG, TODO and README.
2015-09-22 14:27:10 +02:00
Danny Navarro
af42e5577c
Rename `Data.GraphQL.Printer` -> `Data.GraphQL.Encoder`
2015-09-22 14:23:18 +02:00
Danny Navarro
a4db99ea5d
Fixes for ghc-7.8
2015-09-22 14:02:49 +02:00
Danny Navarro
06b3302862
Add kitchen sink parse/encode unit test
...
This also includes the fixes to make it work. Golden tests have been
removed.
2015-09-22 14:02:49 +02:00
Danny Navarro
4508364266
Fix alias colon order
2015-09-22 11:16:36 +02:00
Danny Navarro
99b4d86702
Polish printer code
...
- Add printing combinators to make code more readable.
- Optimize printing for encoding. Pretty printing will be in a different
module.
2015-09-22 11:13:09 +02:00
Danny Navarro
da97387042
Parser fixes:
...
- Braces instead of parens for `inputValueDefinitions`.
- Rename `bool` -> `booleanValue`.
- Some code rearrangements.
2015-09-22 10:39:14 +02:00
Danny Navarro
e74ee640a8
Initial implementation of GraphQL pretty printer
...
This just typechecks. It needs to be cleaned and tested. Tests have been
deactivated.
2015-09-21 18:26:22 +02:00
Danny Navarro
3d97b3e2ff
Introduce `Node` data type to simplify `OperationDefinition`
...
Thanks to @swolchok for the suggestion.
2015-09-21 10:05:09 +02:00
Danny Navarro
88ca3d1866
Add errors for all parser `Alternative`s
2015-09-21 09:28:51 +02:00
Danny Navarro
899fa1b531
Handle escaped quotes for GraphQL String Values
...
This also includes a new type for Value String.
The tests fail now, although it parses successfully. I'll use a pretty
printer in next commit so that it's easier to spot the differences.
Onces this is working I'll add the rest of the escaped characters.
2015-09-18 18:11:11 +02:00
Danny Navarro
cb9977141d
Golf
2015-09-18 16:29:40 +02:00
Danny Navarro
4f4e31805a
Parse secure names
2015-09-18 15:43:22 +02:00
Danny Navarro
d88acf3d0e
Refine numeric types
2015-09-18 15:02:51 +02:00
Danny Navarro
c9c1137ceb
Garden
2015-09-18 14:55:59 +02:00
Danny Navarro
dac6721f02
Version bump and CHANGELOG
2015-09-16 11:16:16 +02:00
Danny Navarro
b3482172a6
Add travis support
2015-09-16 10:51:53 +02:00
Danny Navarro
f88948e801
Support ghc-7.8
2015-09-16 10:36:59 +02:00
Danny Navarro
ee0e0c3d1f
Use Cabal data-files to access golden tests data
...
Fixes #1 .
2015-09-16 10:13:44 +02:00
Danny Navarro
82a380079c
Version bump, CHANGELOG and some gardening
2015-09-14 17:26:09 +02:00
Danny Navarro
7cf2b59331
Version bump, CHANGELOG and some gardening
2015-09-14 17:25:18 +02:00
Danny Navarro
dcd7b46a6d
Convenient imports for ghci
2015-09-14 17:02:43 +02:00
Danny Navarro
8d81f43b61
Add golden test for kitchen-sink.graphql
2015-09-14 17:01:14 +02:00
Danny Navarro
b4b8388392
Enable warnings and take care of extra imports
2015-09-14 15:48:47 +02:00
Danny Navarro
ec018db73a
Handle comments in whitespace
2015-09-14 15:43:09 +02:00
Danny Navarro
3084b188dd
Update TODO
2015-09-14 14:32:46 +02:00
Danny Navarro
26e2372c5e
Fix `value` parsing
...
- Add missing variable parsing.
- Reuse `name` in value string.
This parses successfully the `kitchen-sink.graphql` sample from
`graphql-js`.
2015-09-14 14:14:25 +02:00
Danny Navarro
c0b6fc8a05
Replace `take...` functions with `many...`
...
They are less efficient but they are giving me issues because they don't
fail. Once this is working I'll look into optimizing.
Also disable skipping comments until I figure out how to skip both
comments and space at the same time.
2015-09-14 13:16:58 +02:00
Danny Navarro
62adfd89cd
Several improvements to the parser
...
- Add token combinator to simplify whitespace handling.
- Simplify whiteSpace parsers.
- Add `optempty` to handle pure mempty cases. `empty /= pure mempty`.
- Use `between` combinators for brackets, braces and parens.
This also includes small adjustments to the AST.
2015-09-14 12:15:04 +02:00
Danny Navarro
b206079047
Add missing `=` required default values and unions
2015-09-13 17:44:31 +02:00
Danny Navarro
048ee552d8
Take care of comments
2015-09-13 15:34:01 +02:00
Danny Navarro
0e67fdc21c
Add GraphQL parser
...
WIP: This parser just type checks, it hasn't even been tested manually.
Check new tasks in the TODO file and the TODO comments in the code for
more gotchas.
2015-09-13 13:55:15 +02:00
Danny Navarro
44a2ff4765
Minor adjustments in AST for easier parsing
...
Also `Maybe` wrappers removed. I don't think there needs to be a special
case for empty values vs no values at all.
2015-09-13 13:49:11 +02:00
Danny Navarro
97b99eb448
Add missing OperationDefinition `Name`
2015-09-12 15:44:30 +02:00
Danny Navarro
0f673b9b4d
Rename module `Data.GraphQL` -> `Data.GraphQL.AST`
2015-09-12 15:16:28 +02:00
Danny Navarro
50a0c953d3
Garden
2015-09-12 13:09:06 +02:00
Danny Navarro
5af7136893
Initial commit
...
This includes a rough port of the data types at
https://github.com/graphql/graphql-js/blob/master/src/language/ast.js
2015-09-12 12:54:05 +02:00