Danny Navarro
78e0d871d5
Garden
2016-01-26 13:38:02 +01:00
Danny Navarro
a70732a4b6
Pin stack to LTS-4.2
2016-01-26 13:35:53 +01:00
Danny Navarro
bb685c9afa
Rough implementation of execute
...
The first end-to-end test taken from `graphql-js` passes but this still
needs to be extended to support more general cases.
- `Data.GraphQL.Schema` has been heavily modified to support the
execution model. More drastic changes are expected in this module.
- When defining a `Schema` ordinary functions taking fields as input are
being used instead of maps. This makes the implementation of `execute`
easier, and, arguably, makes `Schema` definitions more *Haskellish*.
- Drop explicit `unordered-containers` dependency. `Aeson.Value`s and
field functions should be good enough for now.
2016-01-26 12:43:18 +01:00
Danny Navarro
4e5dc3433a
Implement first StarWars end-to-end test
...
`execute` still needs to be implemented.
2015-10-19 12:19:39 +02:00
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