Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- type family ConversationAction (tag :: ConversationActionTag) :: Type where ...
- data ConversationActionTag
- data SConversationActionTag :: ConversationActionTag -> Type where
- SConversationJoinTag :: SConversationActionTag ('ConversationJoinTag :: ConversationActionTag)
- SConversationLeaveTag :: SConversationActionTag ('ConversationLeaveTag :: ConversationActionTag)
- SConversationRemoveMembersTag :: SConversationActionTag ('ConversationRemoveMembersTag :: ConversationActionTag)
- SConversationMemberUpdateTag :: SConversationActionTag ('ConversationMemberUpdateTag :: ConversationActionTag)
- SConversationDeleteTag :: SConversationActionTag ('ConversationDeleteTag :: ConversationActionTag)
- SConversationRenameTag :: SConversationActionTag ('ConversationRenameTag :: ConversationActionTag)
- SConversationMessageTimerUpdateTag :: SConversationActionTag ('ConversationMessageTimerUpdateTag :: ConversationActionTag)
- SConversationReceiptModeUpdateTag :: SConversationActionTag ('ConversationReceiptModeUpdateTag :: ConversationActionTag)
- SConversationAccessDataTag :: SConversationActionTag ('ConversationAccessDataTag :: ConversationActionTag)
- SConversationUpdateProtocolTag :: SConversationActionTag ('ConversationUpdateProtocolTag :: ConversationActionTag)
- data SomeConversationAction where
- SomeConversationAction :: Sing tag -> ConversationAction tag -> SomeConversationAction
- conversationActionToEvent :: forall tag. Sing tag -> UTCTime -> Qualified UserId -> Qualified ConvId -> Maybe SubConvId -> ConversationAction tag -> Event
- conversationActionPermission :: ConversationActionTag -> Action
- type family ConversationActionPermission (a :: ConversationActionTag) :: Action where ...
- sConversationActionPermission :: forall (t :: ConversationActionTag). Sing t -> Sing (Apply ConversationActionPermissionSym0 t :: Action) :: Type
Documentation
type family ConversationAction (tag :: ConversationActionTag) :: Type where ... Source #
We use this type family instead of a sum type to be able to define
individual effects per conversation action. See HasConversationActionEffects
.
data ConversationActionTag Source #
Instances
data SConversationActionTag :: ConversationActionTag -> Type where Source #
Instances
TestCoercion SConversationActionTag Source # | |
Defined in Wire.API.Conversation.Action.Tag testCoercion :: forall (a :: k) (b :: k). SConversationActionTag a -> SConversationActionTag b -> Maybe (Coercion a b) # | |
TestEquality SConversationActionTag Source # | |
Defined in Wire.API.Conversation.Action.Tag testEquality :: forall (a :: k) (b :: k). SConversationActionTag a -> SConversationActionTag b -> Maybe (a :~: b) # |
data SomeConversationAction where Source #
SomeConversationAction :: Sing tag -> ConversationAction tag -> SomeConversationAction |
Instances
conversationActionToEvent :: forall tag. Sing tag -> UTCTime -> Qualified UserId -> Qualified ConvId -> Maybe SubConvId -> ConversationAction tag -> Event Source #
type family ConversationActionPermission (a :: ConversationActionTag) :: Action where ... Source #
sConversationActionPermission :: forall (t :: ConversationActionTag). Sing t -> Sing (Apply ConversationActionPermissionSym0 t :: Action) :: Type Source #