summaryrefslogtreecommitdiff
path: root/Data/GraphQL
diff options
context:
space:
mode:
Diffstat (limited to 'Data/GraphQL')
-rw-r--r--Data/GraphQL/Execute.hs3
-rw-r--r--Data/GraphQL/Schema.hs2
2 files changed, 4 insertions, 1 deletions
diff --git a/Data/GraphQL/Execute.hs b/Data/GraphQL/Execute.hs
index df6b506..0586a2e 100644
--- a/Data/GraphQL/Execute.hs
+++ b/Data/GraphQL/Execute.hs
@@ -33,6 +33,9 @@ selection _ _ = error "selection: Not implemented yet"
output :: (Alternative f, Monad f) => SelectionSet -> Output f -> f Aeson.Value
output sels (OutputResolver resolv) = selectionSet resolv sels
output sels (OutputList os) = fmap array . traverse (output sels) =<< os
+output sels (OutputEnum e)
+ | null sels = Aeson.toJSON <$> e
+ | otherwise = empty
output sels (OutputScalar s)
| null sels = Aeson.toJSON <$> s
| otherwise = empty
diff --git a/Data/GraphQL/Schema.hs b/Data/GraphQL/Schema.hs
index a4ba0ca..8a6e625 100644
--- a/Data/GraphQL/Schema.hs
+++ b/Data/GraphQL/Schema.hs
@@ -14,8 +14,8 @@ type Resolver f = Input -> f (Output f)
data Output f = OutputResolver (Resolver f)
| OutputList (f [Output f])
| OutputScalar (f Scalar)
+ | OutputEnum (f Text)
-- | OutputUnion [Output]
- -- | OutputEnum [Scalar]
-- | OutputNonNull (Output)
data Input = InputScalar Scalar