summaryrefslogtreecommitdiff
path: root/Data
AgeCommit message (Collapse)Author
2019-06-28Replace Alternative with MonadPlusEugen Wissner
2019-06-27Restore error handlingEugen Wissner
2019-06-23Enable mutationsEugen Wissner
2019-06-21Parse queries with megaparsecEugen Wissner
2017-03-03When argument is not found return nullDanny Navarro
The relevant test was restored too.
2017-03-03Fix wrong scientific exponent when parsingDanny Navarro
2017-03-01GardenDanny Navarro
2017-03-01Make alternate Schema functions work with AST.CoreDanny Navarro
2017-03-01Merge pull request #20 from Lupino/masterDanny Navarro
2017-02-28Use builtin scientific `toBoundInteger` to check for Int32 boundsDanny Navarro
2017-02-28Merge branch 'core'Danny Navarro
This introduces a distinction between a Full and a Core AST. Fragments and variables are replaced when transforming from Full to Core.
2017-02-24Simplify fragment substitutionDanny Navarro
2017-02-23Add basic Fragment SupportDanny Navarro
Only field names are supported for now.
2017-02-23Enable Monad for array and object resolverLupino
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-13Fix parsing of Named TypesDanny Navarro
2017-02-13Support variables in AST transformationDanny Navarro
2017-02-10Wrap executed result in "data" objectDanny Navarro
2017-02-10Initial implementation of AST.Full -> AST.CoreDanny Navarro
This focused mainly on fragments.
2017-02-03Make operation name optionalDanny Navarro
2017-02-02Introduce Tranform moduleDanny Navarro
In the Transform module the Full AST will converted to Core AST. This commit also includes a partial implementation of Fragment replacement.
2017-01-30Define Schema using Core ASTDanny Navarro
Also, temporarily remove error reporting to simplify execution. This should be restored once the new execution model is nailed.
2017-01-28Split AST in 2Danny Navarro
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-28Fix Int32 bounds checking in Value parser.jasonzoladz
2017-01-26Add Graphql Core ASTDanny Navarro
2017-01-26Remove Type Definition supportDanny Navarro
2016-12-18Tokenize number parserDanny Navarro
The essential change hidden behind the code golfing is using the `tok` combinator. This was making fail the Kitchen Sink test.
2016-12-09Parse number as scientific and interpret meaning separately.Tom Hunger
The current parser will fail parsing floats because it parses an int, and then stumbles on the dot. To fix I interpret the value with the scientific library which already is a dependency through attoparsec, so we're not introducing any extra downloads or compiling. I think this is still subtly wrong because "10.0" will be parsed as ValueInt, but because input argument ints are allowed to be coerced into doubles (according to the spec) this is probably acceptable.
2016-11-27Drop support for GHC-7.8.4Danny 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-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-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-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-09Handle Output enumerations in Schema definitionDanny Navarro
The third end-to-end test from graphql-js was implemented.
2016-02-08Extend `execute` for deeper queriesDanny Navarro
The second graphql-js end-to-end test was ported and passed successfully.
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-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-25Adds IsString instance to Variable for easier REPL playingtimmy_tofu