summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-08adds the starwars tests for fragmentsPweaver (Paul Weaver)
Also refactors some deplicate objects into a where clause
2016-03-17Add @Tritlo and @solrun as authorsDanny Navarro
2016-03-15Merge branch 'all-improvements'Danny Navarro
This adds general API documentation, a tutorial and error handling.
2016-03-14Added documentation of functions and modules and included tutorial.lhs.solrun
2016-03-14Added exception handling with Alternative constraint according to spec.Matthías Páll Gissurarson
2016-03-14Added a tutorial, based on graphql-js and servant documentation.Matthías Páll Gissurarson
2016-02-22Remove `StringValue` typeDanny Navarro
2016-02-19Simplify Schema definition APIDanny Navarro
Now there is one `Resolver` type and the `Output` and `Scalar` types have been removed. This should be closer to the final Schema definition API.
2016-02-18Overhaul Schema DSLDanny Navarro
Aside of making the definition of Schemas easier, it takes care of issues like nested aliases which previously wasn't possible. The naming of the DSL functions is still provisional.
2016-02-17GardenDanny Navarro
2016-02-17Initial support for aliases in `execute`Danny Navarro
2016-02-17Add remaining tests with variables in argumentsDanny Navarro
The test with invalid ID is commented out until proper exception handling is implemented.
2016-02-15Initial support for variable substitutionDanny Navarro
The correspondent end-to-end test has been ported. The variable definition still needs to be checked.
2016-02-15Clean up StarWars test queriesDanny Navarro
2016-02-12Split StarWars tests in different modulesDanny Navarro
2016-02-12Handle Field arguments in Schema definitionDanny Navarro
The `Schema` has been overhauled to make `Output` monomorphic. Traversing the `GraphQL` document is handled implicitly while defining the `Schema`. The 4th end-to-end test from `graphql-js` has been ported.
2016-02-09Split Character data type into Droid and HumanDanny Navarro
`Character` is now a synonym of the sum type of `Droid` and `Human`. For now I don't see the need to implement GraphQL Schema interfaces with type classes or lens. Plain Haskell ADTs should be good enough.
2016-02-09Handle Output enumerations in Schema definitionDanny Navarro
The third end-to-end test from graphql-js was implemented.
2016-02-08Bump copyright yearDanny Navarro
2016-02-08Drop support for older stackage versionsDanny Navarro
2016-02-08Extend `execute` for deeper queriesDanny Navarro
The second graphql-js end-to-end test was ported and passed successfully.
2016-02-05Simplify JSON notation in testsDanny Navarro
2016-02-05Introduce `graphql` functionDanny Navarro
This simplifies Attoparsec parsing when executing a GraphQL query.
2016-01-30Generalize `Maybe` type constructor to any MonadDanny Navarro
This allows schema definitions with side-effects for any type with a Monadic/Alternative implementation like IO for example.
2016-01-27Remove unnecessary importDanny Navarro
2016-01-26Fix for GHC-7.8.4Danny Navarro
2016-01-26GardenDanny Navarro
2016-01-26Pin stack to LTS-4.2Danny Navarro
2016-01-26Rough implementation of `execute`Danny Navarro
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.
2015-10-19Implement first StarWars end-to-end testDanny Navarro
`execute` still needs to be implemented.
2015-10-17Test fixtures for Schema toplevelDanny Navarro
This includes simplications to the Schema data types.
2015-10-17Initial stub for a `GraphQL` and `execute`Danny Navarro
2015-09-26Merge pull request #2 from timmytofu/isstring-variableDanny Navarro
`IsString` variable and .gitignore
2015-09-25Adds IsString instance to Variable for easier REPL playingtimmy_tofu
2015-09-25Adds dist/ dir and cabal sandbox dir and file to gitignoretimmy_tofu
2015-09-22Version Bumpv0.3Danny Navarro
This also includes updates to CHANGELOG, TODO and README.
2015-09-22Rename `Data.GraphQL.Printer` -> `Data.GraphQL.Encoder`Danny Navarro
2015-09-22Fixes for ghc-7.8Danny Navarro
2015-09-22Add kitchen sink parse/encode unit testDanny Navarro
This also includes the fixes to make it work. Golden tests have been removed.
2015-09-22Fix alias colon orderDanny Navarro
2015-09-22Polish printer codeDanny Navarro
- Add printing combinators to make code more readable. - Optimize printing for encoding. Pretty printing will be in a different module.
2015-09-22Parser fixes:Danny Navarro
- Braces instead of parens for `inputValueDefinitions`. - Rename `bool` -> `booleanValue`. - Some code rearrangements.
2015-09-21Initial implementation of GraphQL pretty printerDanny Navarro
This just typechecks. It needs to be cleaned and tested. Tests have been deactivated.
2015-09-21Introduce `Node` data type to simplify `OperationDefinition`Danny Navarro
Thanks to @swolchok for the suggestion.
2015-09-21Add errors for all parser `Alternative`sDanny Navarro
2015-09-18Handle escaped quotes for GraphQL String ValuesDanny Navarro
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-18GolfDanny Navarro
2015-09-18Parse secure namesDanny Navarro
2015-09-18Refine numeric typesDanny Navarro
2015-09-18GardenDanny Navarro