Add show instances for AST type representation

This commit is contained in:
Eugen Wissner 2020-12-17 20:42:47 +01:00
parent 2bcae9e0a7
commit 5a6709030c
2 changed files with 12 additions and 2 deletions

View File

@ -14,6 +14,7 @@ and this project adheres to
- `Type.Schema.implementations` contains a map from interfaces and objects to
interfaces they implement.
- Show instances for GraphQL type definitions in the `Type` modules.
- Custom Show instances for the type representation in the AST.
## [0.11.0.0] - 2020-11-07
### Changed

View File

@ -281,7 +281,12 @@ data Type
= TypeNamed Name
| TypeList Type
| TypeNonNull NonNullType
deriving (Eq, Show)
deriving Eq
instance Show Type where
show (TypeNamed typeName) = Text.unpack typeName
show (TypeList listType) = concat ["[", show listType, "]"]
show (TypeNonNull nonNullType) = show nonNullType
-- | Represents type names.
type NamedType = Name
@ -290,7 +295,11 @@ type NamedType = Name
data NonNullType
= NonNullTypeNamed Name
| NonNullTypeList Type
deriving (Eq, Show)
deriving Eq
instance Show NonNullType where
show (NonNullTypeNamed typeName) = '!' : Text.unpack typeName
show (NonNullTypeList listType) = concat ["![", show listType, "]"]
-- ** Directives