module AirGQL.Types.OutObjectType ( OutObjectType (OutObjectType, name, descriptionMb, interfaceTypes, fields), outObjectTypeToObjectType, ) where import Protolude (Maybe, Text, (&)) import Data.HashMap.Strict (HashMap) import Language.GraphQL.Type (InterfaceType) import Language.GraphQL.Type.Out qualified as Out data OutObjectType m = OutObjectType { forall (m :: * -> *). OutObjectType m -> Text name :: Text , forall (m :: * -> *). OutObjectType m -> Maybe Text descriptionMb :: Maybe Text , forall (m :: * -> *). OutObjectType m -> [InterfaceType m] interfaceTypes :: [InterfaceType m] , forall (m :: * -> *). OutObjectType m -> HashMap Text (Resolver m) fields :: HashMap Text (Out.Resolver m) } outObjectTypeToObjectType :: OutObjectType m -> Out.ObjectType m outObjectTypeToObjectType :: forall (m :: * -> *). OutObjectType m -> ObjectType m outObjectTypeToObjectType OutObjectType m objectType = Text -> Maybe Text -> [InterfaceType m] -> HashMap Text (Resolver m) -> ObjectType m forall (m :: * -> *). Text -> Maybe Text -> [InterfaceType m] -> HashMap Text (Resolver m) -> ObjectType m Out.ObjectType (OutObjectType m objectType OutObjectType m -> (OutObjectType m -> Text) -> Text forall a b. a -> (a -> b) -> b & OutObjectType m -> Text forall (m :: * -> *). OutObjectType m -> Text name) (OutObjectType m objectType OutObjectType m -> (OutObjectType m -> Maybe Text) -> Maybe Text forall a b. a -> (a -> b) -> b & (OutObjectType m -> Maybe Text forall (m :: * -> *). OutObjectType m -> Maybe Text descriptionMb :: OutObjectType m -> Maybe Text)) (OutObjectType m objectType OutObjectType m -> (OutObjectType m -> [InterfaceType m]) -> [InterfaceType m] forall a b. a -> (a -> b) -> b & OutObjectType m -> [InterfaceType m] forall (m :: * -> *). OutObjectType m -> [InterfaceType m] interfaceTypes) (OutObjectType m objectType OutObjectType m -> (OutObjectType m -> HashMap Text (Resolver m)) -> HashMap Text (Resolver m) forall a b. a -> (a -> b) -> b & OutObjectType m -> HashMap Text (Resolver m) forall (m :: * -> *). OutObjectType m -> HashMap Text (Resolver m) fields)