module Chiasma.View.State where import Chiasma.Data.Ident (Ident) import Chiasma.Data.TmuxId (PaneId) import Chiasma.Data.Views (Views, ViewsError) import qualified Chiasma.View as Views (paneId) paneId :: Members [AtomicState Views, Stop ViewsError] r => Ident -> Sem r PaneId paneId :: forall (r :: EffectRow). Members '[AtomicState Views, Stop ViewsError] r => Ident -> Sem r PaneId paneId Ident paneIdent = Either ViewsError PaneId -> Sem r PaneId forall err (r :: EffectRow) a. Member (Stop err) r => Either err a -> Sem r a stopEither (Either ViewsError PaneId -> Sem r PaneId) -> Sem r (Either ViewsError PaneId) -> Sem r PaneId forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b =<< (Views -> Either ViewsError PaneId) -> Sem r (Either ViewsError PaneId) forall s s' (r :: EffectRow). Member (AtomicState s) r => (s -> s') -> Sem r s' atomicGets (Ident -> Views -> Either ViewsError PaneId Views.paneId Ident paneIdent)