From 64d7545bc696070f3df6cc90ee65dabd852ea2d3 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sun, 7 May 2023 17:19:57 +0200 Subject: Add instances for Float and Double --- src/Language/GraphQL/Class.hs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/Language/GraphQL/Class.hs b/src/Language/GraphQL/Class.hs index b363fd0..89b4337 100644 --- a/src/Language/GraphQL/Class.hs +++ b/src/Language/GraphQL/Class.hs @@ -79,6 +79,12 @@ instance ToGraphQL a => ToGraphQL (Maybe a) where instance ToGraphQL Bool where toGraphQL = Type.Boolean +instance ToGraphQL Float where + toGraphQL = Type.Float . realToFrac + +instance ToGraphQL Double where + toGraphQL = Type.Float + -- | Instances of this typeclass can be used to convert GraphQL internal -- representation to user-defined type. class FromGraphQL a where @@ -134,3 +140,11 @@ instance FromGraphQL a => FromGraphQL (Maybe a) where instance FromGraphQL Bool where fromGraphQL (Type.Boolean value) = Just value fromGraphQL _ = Nothing + +instance FromGraphQL Float where + fromGraphQL (Type.Float value) = Just $ realToFrac value + fromGraphQL _ = Nothing + +instance FromGraphQL Double where + fromGraphQL (Type.Float value) = Just value + fromGraphQL _ = Nothing -- cgit v1.2.3