From 7c146fe41620ebf2166d797cfc54070fd69f3fd8 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sun, 19 Feb 2023 11:26:27 +0100 Subject: Add ToGraphQL and `romGraphQL` instances for Word --- src/Language/GraphQL/Class.hs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/Language') 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 -- cgit v1.2.3