summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md9
1 files changed, 4 insertions, 5 deletions
diff --git a/README.md b/README.md
index 455ab50..32c55ce 100644
--- a/README.md
+++ b/README.md
@@ -65,7 +65,6 @@ To be able to work with this schema, we are going to implement it in Haskell.
```haskell
{-# LANGUAGE OverloadedStrings #-}
-import Control.Exception (SomeException)
import qualified Data.Aeson as Aeson
import qualified Data.ByteString.Lazy.Char8 as ByteString.Lazy.Char8
import qualified Data.HashMap.Strict as HashMap
@@ -75,9 +74,8 @@ import qualified Language.GraphQL.Type.Out as Out
-- GraphQL supports 3 kinds of operations: queries, mutations and subscriptions.
-- Our first schema supports only queries.
-schema :: Schema IO
-schema = Schema
- { query = queryType, mutation = Nothing, subscription = Nothing }
+citeSchema :: Schema IO
+citeSchema = schema queryType
-- GraphQL distinguishes between input and output types. Input types are field
-- argument types and they are defined in Language.GraphQL.Type.In. Output types
@@ -99,6 +97,7 @@ queryType = Out.ObjectType "Query" (Just "Root Query type.") []
-- Our resolver just returns a constant value.
citeResolver = ValueResolver citeField
$ pure "Piscis primum a capite foetat"
+
-- The first argument is an optional field description. The second one is
-- the field type and the third one is for arguments (we have none in this
-- example).
@@ -116,7 +115,7 @@ queryType = Out.ObjectType "Query" (Just "Root Query type.") []
-- mutations.
main :: IO ()
main = do
- Right result <- graphql schema "{ cite }"
+ Right result <- graphql citeSchema "{ cite }"
ByteString.Lazy.Char8.putStrLn $ Aeson.encode result
```