| Age | Commit message (Collapse) | Author |
|
The second graphql-js end-to-end test was ported and passed
successfully.
|
|
This simplifies Attoparsec parsing when executing a GraphQL
query.
|
|
This allows schema definitions with side-effects for any type with a
Monadic/Alternative implementation like IO for example.
|
|
|
|
|
|
|
|
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.
|
|
`execute` still needs to be implemented.
|
|
This includes simplications to the Schema data types.
|
|
|
|
|
|
|
|
|
|
This also includes the fixes to make it work. Golden tests have been
removed.
|
|
|
|
- Add printing combinators to make code more readable.
- Optimize printing for encoding. Pretty printing will be in a different
module.
|
|
- Braces instead of parens for `inputValueDefinitions`.
- Rename `bool` -> `booleanValue`.
- Some code rearrangements.
|
|
This just typechecks. It needs to be cleaned and tested. Tests have been
deactivated.
|
|
Thanks to @swolchok for the suggestion.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Add missing variable parsing.
- Reuse `name` in value string.
This parses successfully the `kitchen-sink.graphql` sample from
`graphql-js`.
|
|
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.
|
|
- 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.
|
|
|
|
|
|
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.
|
|
Also `Maybe` wrappers removed. I don't think there needs to be a special
case for empty values vs no values at all.
|
|
|
|
|
|
This includes a rough port of the data types at
https://github.com/graphql/graphql-js/blob/master/src/language/ast.js
|