{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE NoImplicitPrelude #-}

module Data.Morpheus.Client.Schema.JSON.TypeRef
  ( TypeRef (..),
  )
where

import Data.Aeson (FromJSON)
import Data.Morpheus.Types.Internal.AST
  ( TypeName,
  )
import Relude

newtype TypeRef = TypeRef {TypeRef -> TypeName
name :: TypeName}
  deriving (forall x. Rep TypeRef x -> TypeRef
forall x. TypeRef -> Rep TypeRef x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TypeRef x -> TypeRef
$cfrom :: forall x. TypeRef -> Rep TypeRef x
Generic, Int -> TypeRef -> ShowS
[TypeRef] -> ShowS
TypeRef -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TypeRef] -> ShowS
$cshowList :: [TypeRef] -> ShowS
show :: TypeRef -> String
$cshow :: TypeRef -> String
showsPrec :: Int -> TypeRef -> ShowS
$cshowsPrec :: Int -> TypeRef -> ShowS
Show, Value -> Parser [TypeRef]
Value -> Parser TypeRef
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [TypeRef]
$cparseJSONList :: Value -> Parser [TypeRef]
parseJSON :: Value -> Parser TypeRef
$cparseJSON :: Value -> Parser TypeRef
FromJSON)