summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2015-09-16Version bump and CHANGELOGv0.2.1Danny Navarro
2015-09-16Add travis supportDanny Navarro
2015-09-16Support ghc-7.8Danny Navarro
2015-09-16Use Cabal data-files to access golden tests dataDanny Navarro
Fixes #1.
2015-09-14Version bump, CHANGELOG and some gardeningv0.2Danny Navarro
2015-09-14Version bump, CHANGELOG and some gardeningDanny Navarro
2015-09-14Convenient imports for ghciDanny Navarro
2015-09-14Add golden test for kitchen-sink.graphqlDanny Navarro
2015-09-14Enable warnings and take care of extra importsDanny Navarro
2015-09-14Handle comments in whitespaceDanny Navarro
2015-09-14Update TODODanny Navarro
2015-09-14Fix `value` parsingDanny Navarro
- Add missing variable parsing. - Reuse `name` in value string. This parses successfully the `kitchen-sink.graphql` sample from `graphql-js`.
2015-09-14Replace `take...` functions with `many...`Danny Navarro
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-14Several improvements to the parserDanny Navarro
- 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-13Add missing `=` required default values and unionsDanny Navarro
2015-09-13Take care of commentsDanny Navarro
2015-09-13Add GraphQL parserDanny Navarro
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-13Minor adjustments in AST for easier parsingDanny Navarro
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-12Add missing OperationDefinition `Name`Danny Navarro
2015-09-12Rename module `Data.GraphQL` -> `Data.GraphQL.AST`Danny Navarro
2015-09-12Gardenv0.1Danny Navarro