diff options
Diffstat (limited to 'src/Language')
| -rw-r--r-- | src/Language/GraphQL/Class.hs | 31 |
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 |
