module Data.Morpheus.Types
( resolver
, mutResolver
, toMutResolver
, IORes
, IOMutRes
, IOSubRes
, Resolver
, SubRootRes
, SubResolver(..)
, Event(..)
, GQLType(KIND, description)
, GQLScalar(parseValue, serialize)
, GQLRequest(..)
, GQLResponse(..)
, ID(..)
, ScalarValue(..)
, GQLRootResolver(..)
, constRes
) where
import Data.Morpheus.Types.GQLScalar (GQLScalar (parseValue, serialize))
import Data.Morpheus.Types.GQLType (GQLType (KIND, description))
import Data.Morpheus.Types.ID (ID (..))
import Data.Morpheus.Types.Internal.Value (ScalarValue (..))
import Data.Morpheus.Types.IO (GQLRequest (..), GQLResponse (..))
import Data.Morpheus.Types.Resolver (Event (..), GQLRootResolver (..), MutResolver, Resolver,
SubResolver (..), SubRootRes, mutResolver, resolver, toMutResolver)
constRes :: Monad m => b -> a -> m b
constRes = const . return
type IORes = Resolver IO
type IOMutRes e c = MutResolver IO e c
type IOSubRes e c = SubResolver IO e c