| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Morpheus.App.Internal.Resolving
Documentation
data Resolver (o :: OperationType) event (m :: Type -> Type) value Source #
Instances
class LiftOperation (o :: OperationType) Source #
Minimal complete definition
packResolver
Instances
| LiftOperation MUTATION Source # | |
| LiftOperation QUERY Source # | |
| LiftOperation SUBSCRIPTION Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Resolver Methods packResolver :: forall (m :: Type -> Type) e a. Monad m => ResolverStateT e m a -> Resolver SUBSCRIPTION e m a | |
runRootResolverValue :: Monad m => RootResolverValue e m -> ResolverContext -> ResponseStream e m (Value VALID) Source #
data ResponseEvent event (m :: Type -> Type) Source #
Constructors
| Publish event | |
| Subscribe | |
Fields
| |
type ResponseStream event (m :: Type -> Type) = ResultT (ResponseEvent event m) m Source #
Instances
| Bifunctor Result | |
| MonadError er (Result er) | |
Defined in Data.Morpheus.Ext.Result Methods throwError :: er -> Result er a # catchError :: Result er a -> (er -> Result er a) -> Result er a # | |
| IsString err => MonadFail (Result err) | |
Defined in Data.Morpheus.Ext.Result | |
| Applicative (Result er) | |
Defined in Data.Morpheus.Ext.Result | |
| Functor (Result err) | |
| Monad (Result er) | |
newtype ResultT event (m :: Type -> Type) a #
Constructors
| ResultT | |
Fields
| |
Instances
| Applicative m => PushEvents event (ResultT event m) | |
Defined in Data.Morpheus.Ext.Result Methods pushEvents :: [event] -> ResultT event m () # | |
| Monad m => MonadError GQLError (ResultT event m) | |
Defined in Data.Morpheus.Ext.Result Methods throwError :: GQLError -> ResultT event m a # catchError :: ResultT event m a -> (GQLError -> ResultT event m a) -> ResultT event m a # | |
| MonadTrans (ResultT event) | |
Defined in Data.Morpheus.Ext.Result | |
| Applicative m => Applicative (ResultT event m) | |
Defined in Data.Morpheus.Ext.Result Methods pure :: a -> ResultT event m a # (<*>) :: ResultT event m (a -> b) -> ResultT event m a -> ResultT event m b # liftA2 :: (a -> b -> c) -> ResultT event m a -> ResultT event m b -> ResultT event m c # (*>) :: ResultT event m a -> ResultT event m b -> ResultT event m b # (<*) :: ResultT event m a -> ResultT event m b -> ResultT event m a # | |
| Functor m => Functor (ResultT event m) | |
| Monad m => Monad (ResultT event m) | |
newtype ObjectTypeResolver m Source #
Constructors
| ObjectTypeResolver | |
Fields
| |
Instances
| (Monad m, Applicative f, MonadError GQLError m) => Merge f (ObjectTypeResolver m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods merge :: ObjectTypeResolver m -> ObjectTypeResolver m -> f (ObjectTypeResolver m) # | |
| Show (ObjectTypeResolver m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods showsPrec :: Int -> ObjectTypeResolver m -> ShowS # show :: ObjectTypeResolver m -> String # showList :: [ObjectTypeResolver m] -> ShowS # | |
type WithOperation (o :: OperationType) = LiftOperation o Source #
class PushEvents e (m :: Type -> Type) where #
Methods
pushEvents :: [e] -> m () #
Instances
| Applicative m => PushEvents event (ResultT event m) | |
Defined in Data.Morpheus.Ext.Result Methods pushEvents :: [event] -> ResultT event m () # | |
| Monad m => PushEvents e (Resolver MUTATION e m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Resolver Methods pushEvents :: [e] -> Resolver MUTATION e m () # | |
data ResolverContext Source #
Constructors
| ResolverContext | |
Fields
| |
Instances
| Show ResolverContext Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.ResolverState Methods showsPrec :: Int -> ResolverContext -> ShowS # show :: ResolverContext -> String # showList :: [ResolverContext] -> ShowS # | |
| (LiftOperation o, Monad m) => MonadReader ResolverContext (Resolver o e m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Resolver Methods ask :: Resolver o e m ResolverContext # local :: (ResolverContext -> ResolverContext) -> Resolver o e m a -> Resolver o e m a # reader :: (ResolverContext -> a) -> Resolver o e m a # | |
data RootResolverValue e m Source #
Constructors
| RootResolverValue | |
Fields
| |
| NamedResolversValue | |
Fields
| |
Instances
| Monad m => FromJSON (RootResolverValue e m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.RootResolverValue Methods parseJSON :: Value -> Parser (RootResolverValue e m) # parseJSONList :: Value -> Parser [RootResolverValue e m] # omittedField :: Maybe (RootResolverValue e m) # | |
withArguments :: MonadResolver m => (Arguments VALID -> m a) -> m a Source #
mkBoolean :: Bool -> ResolverValue m Source #
mkFloat :: Double -> ResolverValue m Source #
mkInt :: Int -> ResolverValue m Source #
mkList :: [ResolverValue m] -> ResolverValue m Source #
mkNull :: ResolverValue m Source #
mkString :: Text -> ResolverValue m Source #
mkValue :: (MonadReader ResolverContext f, MonadReader ResolverContext m) => Value -> f (ResolverValue m) Source #
mkEnum :: TypeName -> ResolverValue m Source #
mkUnion :: Monad m => TypeName -> [ResolverEntry m] -> ResolverValue m Source #
mkObject :: TypeName -> [ResolverEntry m] -> ResolverValue m Source #
data SubscriptionField (a :: Type) where Source #
Constructors
| SubscriptionField | |
Fields
| |
Instances
| EncodeWrapper SubscriptionField Source # | |
Defined in Data.Morpheus.Types.GQLWrapper Methods encodeWrapper :: Monad m => (a -> m (ResolverValue m)) -> SubscriptionField a -> m (ResolverValue m) Source # | |
type ResolverState = ResolverStateT () Identity Source #
class (Monad m, MonadReader ResolverContext m, MonadFail m, MonadError GQLError m, Monad (MonadParam m)) => MonadResolver (m :: Type -> Type) where Source #
Associated Types
type MonadOperation m :: OperationType Source #
type MonadEvent m :: Type Source #
type MonadQuery m :: Type -> Type Source #
type MonadMutation m :: Type -> Type Source #
type MonadSubscription m :: Type -> Type Source #
type MonadParam m :: Type -> Type Source #
Methods
liftState :: ResolverState a -> m a Source #
getArguments :: m (Arguments VALID) Source #
subscribe :: MonadOperation m ~ SUBSCRIPTION => Channel (MonadEvent m) -> MonadQuery m (MonadEvent m -> m a) -> SubscriptionField (m a) Source #
publish :: MonadOperation m ~ MUTATION => [MonadEvent m] -> m () Source #
runResolver :: Maybe (Selection VALID -> ResolverState (Channel (MonadEvent m))) -> m ValidValue -> ResolverContext -> ResponseStream (MonadEvent m) (MonadParam m) ValidValue Source #
Instances
class (MonadResolver m, MonadIO m) => MonadIOResolver (m :: Type -> Type) Source #
Instances
| (LiftOperation o, Monad m, MonadIO m) => MonadIOResolver (Resolver o e m) Source # | |
type ResolverEntry m = (FieldName, m (ResolverValue m)) Source #
requireObject :: MonadError GQLError f => ResolverValue m -> f (ObjectTypeResolver m) Source #
data ResolverValue (m :: Type -> Type) Source #
Constructors
| ResNull | |
| ResScalar ScalarValue | |
| ResList [ResolverValue m] | |
| ResEnum TypeName | |
| ResObject (Maybe TypeName) (ObjectTypeResolver m) | |
| ResRef (m NamedResolverRef) | |
| ResLazy (m (ResolverValue m)) |
Instances
| (Monad f, MonadError GQLError f, Merge f (ObjectTypeResolver m)) => Merge f (ResolverValue m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods merge :: ResolverValue m -> ResolverValue m -> f (ResolverValue m) # | |
| IsString (ResolverValue m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods fromString :: String -> ResolverValue m # | |
| Show (ResolverValue m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods showsPrec :: Int -> ResolverValue m -> ShowS # show :: ResolverValue m -> String # showList :: [ResolverValue m] -> ShowS # | |
data NamedResolver (m :: Type -> Type) Source #
Constructors
| NamedResolver | |
Fields
| |
Instances
| KeyOf TypeName (NamedResolver m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods keyOf :: NamedResolver m -> TypeName # | |
| Show (NamedResolver m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods showsPrec :: Int -> NamedResolver m -> ShowS # show :: NamedResolver m -> String # showList :: [NamedResolver m] -> ShowS # | |
data NamedResolverResult (m :: Type -> Type) Source #
Constructors
| NamedObjectResolver (ObjectTypeResolver m) | |
| NamedUnionResolver NamedResolverRef | |
| NamedEnumResolver TypeName | |
| NamedScalarResolver ScalarValue | |
| NamedNullResolver |
Instances
| Show (NamedResolverResult m) Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods showsPrec :: Int -> NamedResolverResult m -> ShowS # show :: NamedResolverResult m -> String # showList :: [NamedResolverResult m] -> ShowS # | |
data NamedResolverRef Source #
Constructors
| NamedResolverRef | |
Fields
| |
Instances
| Show NamedResolverRef Source # | |
Defined in Data.Morpheus.App.Internal.Resolving.Types Methods showsPrec :: Int -> NamedResolverRef -> ShowS # show :: NamedResolverRef -> String # showList :: [NamedResolverRef] -> ShowS # | |