| Age | Commit message (Collapse) | Author |
|
It is not a schema (at least not a complete one), but a resolver list,
and the resolvers should be provided by the user separately, because the
schema can originate from a GraphQL document. Schema name should be free
to provide a data type for the real schema later.
|
|
|
|
|
|
This replaces the most usages of MonadPlus, which is not appropriate for
the resolvers, since a resolver is unambiguously chosen by the name (no
need for 'mplus'), and the resolvers are often doing IO.
|
|
|
|
|
|
|
|
Now the errors in the resolvers can be handled and 3 tests throwing
errors pass now. Another test fail but it requires distinguisching
nullable and non-nullable values.
|
|
|
|
|
|
The relevant test was restored too.
|
|
The main intention with this commit is to show a poor's man way to support type
instrospection.
|
|
Only field names are supported for now.
|
|
Also, temporarily remove error reporting to simplify execution. This should be
restored once the new execution model is nailed.
|
|
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.
|
|
|
|
|
|
|
|
Also refactors some deplicate objects into a where clause
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
The test with invalid ID is commented out until proper exception
handling is implemented.
|
|
The correspondent end-to-end test has been ported. The variable
definition still needs to be checked.
|
|
|
|
|