summaryrefslogtreecommitdiff
path: root/src/Language
diff options
context:
space:
mode:
Diffstat (limited to 'src/Language')
-rw-r--r--src/Language/GraphQL/Class.hs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Language/GraphQL/Class.hs b/src/Language/GraphQL/Class.hs
index 3f52a13..b363fd0 100644
--- a/src/Language/GraphQL/Class.hs
+++ b/src/Language/GraphQL/Class.hs
@@ -14,6 +14,7 @@ module Language.GraphQL.Class
import Data.Foldable (toList)
import Data.Int (Int8, Int16, Int32, Int64)
import Data.Text (Text)
+import Data.Word (Word8, Word16, Word32, Word64)
import qualified Data.Text.Read as Text.Read
import Data.Vector (Vector)
import qualified Data.Vector as Vector
@@ -50,6 +51,21 @@ instance ToGraphQL Int32 where
instance ToGraphQL Int64 where
toGraphQL = Type.Int . fromIntegral
+instance ToGraphQL Word where
+ toGraphQL = Type.Int . fromIntegral
+
+instance ToGraphQL Word8 where
+ toGraphQL = Type.Int . fromIntegral
+
+instance ToGraphQL Word16 where
+ toGraphQL = Type.Int . fromIntegral
+
+instance ToGraphQL Word32 where
+ toGraphQL = Type.Int . fromIntegral
+
+instance ToGraphQL Word64 where
+ toGraphQL = Type.Int . fromIntegral
+
instance ToGraphQL a => ToGraphQL [a] where
toGraphQL = Type.List . fmap toGraphQL
@@ -87,6 +103,21 @@ instance FromGraphQL Int32 where
instance FromGraphQL Int64 where
fromGraphQL = fromGraphQLToIntegral
+instance FromGraphQL Word where
+ fromGraphQL = fromGraphQLToIntegral
+
+instance FromGraphQL Word8 where
+ fromGraphQL = fromGraphQLToIntegral
+
+instance FromGraphQL Word16 where
+ fromGraphQL = fromGraphQLToIntegral
+
+instance FromGraphQL Word32 where
+ fromGraphQL = fromGraphQLToIntegral
+
+instance FromGraphQL Word64 where
+ fromGraphQL = fromGraphQLToIntegral
+
instance FromGraphQL a => FromGraphQL [a] where
fromGraphQL (Type.List value) = traverse fromGraphQL value
fromGraphQL _ = Nothing