summaryrefslogtreecommitdiff
path: root/tests/Test/StarWars/Data.hs
AgeCommit message (Collapse)Author
2020-07-17Constrain base monad to MonadCatchEugen Wissner
Let's try MonadThrow/MonadCatch. It looks nice at a first glance. The monad transformer stack contains only the ReaderT, less lifts are required. Exception subtyping is easier, the user can (and should) define custom error types and throw them. And it is still possible to use pure error handling, if someone doesn't like runtime exceptions or need to run a query in a pure environment. Fixes #42.
2020-07-14Support subscriptionsEugen Wissner
This is experimental support. The implementation is based on conduit and is boring. There is a new resolver data constructor that should create a source event stream. The executor receives the events, pipes them through the normal execution and puts them into the response stream which is returned to the user. - Tests are missing. - The executor should check field value resolver on subscription types. - The graphql function should probably return (Either ResponseEventStream Response), but I'm not sure about this. It will make the usage more complicated if no subscriptions are involved, but with the current API implementing subscriptions is more difficult than it should be.
2020-07-02Merge Trans and Type.Out modulesEugen Wissner
2020-06-29Combine Resolver and ActionT in ResolverTEugen Wissner
2020-06-13Coerce resultEugen Wissner
Fixes #45.
2020-05-29Define resolvers on type fieldsEugen Wissner
Returning resolvers from other resolvers isn't supported anymore. Since we have a type system now, we define the resolvers in the object type fields and pass an object with the previous result to them.
2020-05-25Split input/output types and values into 2 modulesEugen Wissner
2020-05-23Don't fail on invalid fragments and variablesEugen Wissner
2020-05-14Add basic output object type supportEugen Wissner
2020-02-20Update to Stack 15.xEugen Wissner
2020-02-01Replace MonadIO constraint with just MonadEugen Wissner
And make the tests use Identity instead of IO.
2019-11-03Move related modules to Language.GraphQL.ASTEugen Wissner
Fixes #18. - `Language.GraphQL.Encoder` moved to `Language.GraphQL.AST.Encoder`. - `Language.GraphQL.Parser` moved to `Language.GraphQL.AST.Parser`. - `Language.GraphQL.Lexer` moved to `Language.GraphQL.AST.Lexer`. - All `Language.GraphQL.AST.Value` data constructor prefixes were removed. The module should be imported qualified. - All `Language.GraphQL.AST.Core.Value` data constructor prefixes were removed. The module should be imported qualified. - `Language.GraphQL.AST.Transform` is now isn't exposed publically anymore.
2019-09-01Deprecate enum, enumA, wrappedEnum, wrappedEnumAEugen Wissner
These functions are from Language.GraphQL.Schema. There are actually only two generic types in GraphQL: Scalars and objects. Enum is a scalar value. According to the specification enums may be serailized to strings. And in the current implementation they used untyped strings anyway, so there is no point to have differently named functions with the same implementation as their scalar counterparts.
2019-07-14Make all exports explicitEugen Wissner
2019-07-08Constrain the resolvers with MonadIOEugen Wissner
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.
2019-07-02Introduce monad transformer for resolversEugen Wissner
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.
2017-03-01Implement type instrospection testsDanny Navarro
The main intention with this commit is to show a poor's man way to support type instrospection.
2016-12-18Add homePlanet to test schemaDanny Navarro
2016-07-08add tests for errors in queries for queries in starwars testsPweaver (Paul Weaver)
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-12Split StarWars tests in different modulesDanny Navarro