{-# LANGUAGE RankNTypes #-}
module Network.Matrix.Client.Lens
  ( -- MessageText
    _mtBody
  , _mtType
  , _mtFormat
  , _mtFormattedBody
    -- RoomMessage
  , _RoomMessageText
    -- Event
  , _EventRoomMessage
  , _EventRoomReply
  , _EventRoomEdit
  , _EventUnknown
    -- EventFilter
  , efLimit
  , _efNotSenders
  , _efNotTypes
  , _efSenders
  , _efTypes
    -- PaginatedRoomMessages
  , _chunk
  , _end
  , _start
  , _state
    -- ResolvedRoomAlias
  , _roomAlias
  , _roomID
  , _servers
    -- RoomEventFilter
  , _refLimit
  , _refNotSenders
  , _refNotTypes
  , _refSenders
  , _refTypes
  , _refLazyLoadMembers
  , _refIncludeRedundantMembers
  , _refNotRooms
  , _refRooms
  , _refContainsUrl
    -- StateContent
  , _StateContentMRCreate
  , _StateContentMRCanonicalAlias
  , _StateContentMRGuestAccess
  , _StateContentMRHistoryVisibility
  , _StateContentMRName
  , _StateContentMRTopic
  , _StateContentMROther
    -- StateEvent
  , _seContent
  , _seEventId
  , _seOriginServerTimestamp
  , _sePreviousContent
  , _seRoomId
  , _seSender
  , _seStateKey
  , _seEventType
  , _seUnsigned
    -- StateFilter
  , _sfLimit
  , _sfNotSenders
  , _sfTypes
  , _sfLazyLoadMembers
  , _sfIncludeRedundantMembers
  , _sfNotRooms
  , _sfRooms
  , _sfContainsUrl
    -- RoomFilter
  , _rfNotRooms
  , _rfRooms
  , _rfEphemeral
  , _rfIncludeLeave
  , _rfState
  , _rfTimeline
  , _rfAccountData
    -- Filter
  , _filterEventFields
  , _filterEventFormat
  , _filterPresence
  , _filterAccountData
  , _filterRoom
    -- RoomEvent
  , _reContent
  , _reType
  , _reEventId
  , _reSender
    -- RoomSummary
  , _rsJoinedMemberCount
  , _rsInvitedMemberCount
    -- TimelineSync
  , _tsEvents
  , _tsLimited
  , _tsPrevBatch
    --  JoinedRoomSync
  , _jrsSummary
  , _jrsTimeline
    -- SyncResult
  , _srNextBatch
  , _srRooms
    -- SyncResultRoom
  , _srrJoin
  , _srrInvite
  ) where

import Network.Matrix.Client

import qualified Data.Aeson as J
import Data.Coerce
import qualified Data.Text as T
import qualified Data.Map.Strict as M
import Data.Profunctor (Choice, dimap, right')

type Lens' s a = forall f. Functor f => (a -> f a) -> s -> f s 
type Prism' s a = forall p f. (Choice p, Applicative f) => p a (f a) -> p s (f s) 

lens :: (s -> a) -> (s -> a -> s) -> Lens' s a
lens :: forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens s -> a
sa s -> a -> s
sbt a -> f a
afb s
s = s -> a -> s
sbt s
s forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> a -> f a
afb (s -> a
sa s
s)
{-# INLINE lens #-}

prism :: (a -> s) -> (s -> Either s a) -> Prism' s a
prism :: forall a s. (a -> s) -> (s -> Either s a) -> Prism' s a
prism a -> s
bt s -> Either s a
seta = forall (p :: * -> * -> *) a b c d.
Profunctor p =>
(a -> b) -> (c -> d) -> p b c -> p a d
dimap s -> Either s a
seta (forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
either forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap a -> s
bt)) forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (p :: * -> * -> *) a b c.
Choice p =>
p a b -> p (Either c a) (Either c b)
right'

prism' :: (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' :: forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' a -> s
bs s -> Maybe a
sma = forall a s. (a -> s) -> (s -> Either s a) -> Prism' s a
prism a -> s
bs (\s
s -> forall b a. b -> (a -> b) -> Maybe a -> b
maybe (forall a b. a -> Either a b
Left s
s) forall a b. b -> Either a b
Right (s -> Maybe a
sma s
s))
{-# INLINE prism' #-}

_mtBody :: Lens' MessageText T.Text
_mtBody :: Lens' MessageText Text
_mtBody = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens MessageText -> Text
getter MessageText -> Text -> MessageText
setter
  where
    getter :: MessageText -> Text
getter = MessageText -> Text
mtBody
    setter :: MessageText -> Text -> MessageText
setter MessageText
mt Text
t = MessageText
mt { mtBody :: Text
mtBody = Text
t }

_mtType :: Lens' MessageText MessageTextType
_mtType :: Lens' MessageText MessageTextType
_mtType = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens MessageText -> MessageTextType
getter MessageText -> MessageTextType -> MessageText
setter
  where
    getter :: MessageText -> MessageTextType
getter = MessageText -> MessageTextType
mtType
    setter :: MessageText -> MessageTextType -> MessageText
setter MessageText
mt MessageTextType
t = MessageText
mt { mtType :: MessageTextType
mtType = MessageTextType
t }

_mtFormat :: Lens' MessageText (Maybe T.Text)
_mtFormat :: Lens' MessageText (Maybe Text)
_mtFormat = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens MessageText -> Maybe Text
getter MessageText -> Maybe Text -> MessageText
setter
  where
    getter :: MessageText -> Maybe Text
getter = MessageText -> Maybe Text
mtFormat
    setter :: MessageText -> Maybe Text -> MessageText
setter MessageText
mt Maybe Text
t = MessageText
mt { mtFormat :: Maybe Text
mtFormat = Maybe Text
t }

_mtFormattedBody :: Lens' MessageText (Maybe T.Text)
_mtFormattedBody :: Lens' MessageText (Maybe Text)
_mtFormattedBody = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens MessageText -> Maybe Text
getter MessageText -> Maybe Text -> MessageText
setter
  where
    getter :: MessageText -> Maybe Text
getter = MessageText -> Maybe Text
mtFormattedBody
    setter :: MessageText -> Maybe Text -> MessageText
setter MessageText
mt Maybe Text
t = MessageText
mt { mtFormattedBody :: Maybe Text
mtFormattedBody = Maybe Text
t}

_RoomMessageText :: Lens' RoomMessage MessageText
_RoomMessageText :: Lens' RoomMessage MessageText
_RoomMessageText = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomMessage -> MessageText
getter forall {p}. p -> MessageText -> RoomMessage
setter
  where
    getter :: RoomMessage -> MessageText
getter = coerce :: forall a b. Coercible a b => a -> b
coerce
    setter :: p -> MessageText -> RoomMessage
setter p
_ MessageText
t = MessageText -> RoomMessage
RoomMessageText MessageText
t

_EventRoomMessage :: Prism' Event RoomMessage
_EventRoomMessage :: Prism' Event RoomMessage
_EventRoomMessage = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' RoomMessage -> Event
to Event -> Maybe RoomMessage
from
  where
    to :: RoomMessage -> Event
to = RoomMessage -> Event
EventRoomMessage
    from :: Event -> Maybe RoomMessage
from (EventRoomMessage RoomMessage
msg) = forall a. a -> Maybe a
Just RoomMessage
msg
    from Event
_ = forall a. Maybe a
Nothing

_EventRoomReply :: Prism' Event (EventID, RoomMessage)
_EventRoomReply :: Prism' Event (EventID, RoomMessage)
_EventRoomReply = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' (EventID, RoomMessage) -> Event
to Event -> Maybe (EventID, RoomMessage)
from
  where
    to :: (EventID, RoomMessage) -> Event
to (EventID
eid, RoomMessage
rm) = EventID -> RoomMessage -> Event
EventRoomReply EventID
eid RoomMessage
rm
    from :: Event -> Maybe (EventID, RoomMessage)
from (EventRoomReply EventID
eid RoomMessage
rm) = forall a. a -> Maybe a
Just (EventID
eid, RoomMessage
rm)
    from Event
_ = forall a. Maybe a
Nothing

_EventRoomEdit :: Prism' Event ((EventID, RoomMessage), RoomMessage)
_EventRoomEdit :: Prism' Event ((EventID, RoomMessage), RoomMessage)
_EventRoomEdit = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' ((EventID, RoomMessage), RoomMessage) -> Event
to Event -> Maybe ((EventID, RoomMessage), RoomMessage)
from
  where
    to :: ((EventID, RoomMessage), RoomMessage) -> Event
to ((EventID, RoomMessage)
oldEvent, RoomMessage
newMsg) = (EventID, RoomMessage) -> RoomMessage -> Event
EventRoomEdit (EventID, RoomMessage)
oldEvent RoomMessage
newMsg
    from :: Event -> Maybe ((EventID, RoomMessage), RoomMessage)
from (EventRoomEdit (EventID, RoomMessage)
oldEvent RoomMessage
newMsg) = forall a. a -> Maybe a
Just ((EventID, RoomMessage)
oldEvent, RoomMessage
newMsg)
    from Event
_ = forall a. Maybe a
Nothing

_EventUnknown :: Prism' Event J.Object
_EventUnknown :: Prism' Event Object
_EventUnknown = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' Object -> Event
to Event -> Maybe Object
from
  where
    to :: Object -> Event
to = Object -> Event
EventUnknown
    from :: Event -> Maybe Object
from (EventUnknown Object
obj) = forall a. a -> Maybe a
Just Object
obj
    from Event
_ = forall a. Maybe a
Nothing

_efLimit :: Lens' EventFilter (Maybe Int)
_efLimit :: Lens' EventFilter (Maybe Int)
_efLimit = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens EventFilter -> Maybe Int
getter EventFilter -> Maybe Int -> EventFilter
setter
  where
    getter :: EventFilter -> Maybe Int
getter = EventFilter -> Maybe Int
efLimit
    setter :: EventFilter -> Maybe Int -> EventFilter
setter EventFilter
ef Maybe Int
lim =  EventFilter
ef { efLimit :: Maybe Int
efLimit = Maybe Int
lim }

_efNotSenders :: Lens' EventFilter (Maybe [T.Text])
_efNotSenders :: Lens' EventFilter (Maybe [Text])
_efNotSenders = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens EventFilter -> Maybe [Text]
getter EventFilter -> Maybe [Text] -> EventFilter
setter
  where
    getter :: EventFilter -> Maybe [Text]
getter = EventFilter -> Maybe [Text]
efNotSenders
    setter :: EventFilter -> Maybe [Text] -> EventFilter
setter EventFilter
ef Maybe [Text]
ns = EventFilter
ef { efNotSenders :: Maybe [Text]
efNotSenders = Maybe [Text]
ns }

_efNotTypes :: Lens' EventFilter (Maybe [T.Text])
_efNotTypes :: Lens' EventFilter (Maybe [Text])
_efNotTypes = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens EventFilter -> Maybe [Text]
getter EventFilter -> Maybe [Text] -> EventFilter
setter
  where
    getter :: EventFilter -> Maybe [Text]
getter = EventFilter -> Maybe [Text]
efNotTypes
    setter :: EventFilter -> Maybe [Text] -> EventFilter
setter EventFilter
ef Maybe [Text]
nt = EventFilter
ef { efNotTypes :: Maybe [Text]
efNotTypes = Maybe [Text]
nt }

_efSenders :: Lens' EventFilter (Maybe [T.Text])
_efSenders :: Lens' EventFilter (Maybe [Text])
_efSenders = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens EventFilter -> Maybe [Text]
getter EventFilter -> Maybe [Text] -> EventFilter
setter
  where
    getter :: EventFilter -> Maybe [Text]
getter = EventFilter -> Maybe [Text]
efSenders
    setter :: EventFilter -> Maybe [Text] -> EventFilter
setter EventFilter
ef Maybe [Text]
s = EventFilter
ef { efSenders :: Maybe [Text]
efSenders = Maybe [Text]
s }

_efTypes :: Lens' EventFilter (Maybe [T.Text])
_efTypes :: Lens' EventFilter (Maybe [Text])
_efTypes = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens EventFilter -> Maybe [Text]
getter EventFilter -> Maybe [Text] -> EventFilter
setter
  where
    getter :: EventFilter -> Maybe [Text]
getter = EventFilter -> Maybe [Text]
efTypes
    setter :: EventFilter -> Maybe [Text] -> EventFilter
setter EventFilter
ef Maybe [Text]
t = EventFilter
ef { efTypes :: Maybe [Text]
efTypes = Maybe [Text]
t }

_chunk :: Lens' PaginatedRoomMessages [RoomEvent]
_chunk :: Lens' PaginatedRoomMessages [RoomEvent]
_chunk = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens PaginatedRoomMessages -> [RoomEvent]
getter PaginatedRoomMessages -> [RoomEvent] -> PaginatedRoomMessages
setter
  where
    getter :: PaginatedRoomMessages -> [RoomEvent]
getter = PaginatedRoomMessages -> [RoomEvent]
chunk
    setter :: PaginatedRoomMessages -> [RoomEvent] -> PaginatedRoomMessages
setter PaginatedRoomMessages
prm [RoomEvent]
c = PaginatedRoomMessages
prm { chunk :: [RoomEvent]
chunk = [RoomEvent]
c }

_end :: Lens' PaginatedRoomMessages (Maybe T.Text)
_end :: Lens' PaginatedRoomMessages (Maybe Text)
_end = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens PaginatedRoomMessages -> Maybe Text
getter PaginatedRoomMessages -> Maybe Text -> PaginatedRoomMessages
setter
  where
    getter :: PaginatedRoomMessages -> Maybe Text
getter = PaginatedRoomMessages -> Maybe Text
end
    setter :: PaginatedRoomMessages -> Maybe Text -> PaginatedRoomMessages
setter PaginatedRoomMessages
prm Maybe Text
e = PaginatedRoomMessages
prm { end :: Maybe Text
end = Maybe Text
e }

_start :: Lens' PaginatedRoomMessages T.Text
_start :: Lens' PaginatedRoomMessages Text
_start = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens PaginatedRoomMessages -> Text
getter PaginatedRoomMessages -> Text -> PaginatedRoomMessages
setter
  where
    getter :: PaginatedRoomMessages -> Text
getter = PaginatedRoomMessages -> Text
start
    setter :: PaginatedRoomMessages -> Text -> PaginatedRoomMessages
setter PaginatedRoomMessages
prm Text
s = PaginatedRoomMessages
prm { start :: Text
start = Text
s }

_state :: Lens' PaginatedRoomMessages [StateEvent]
_state :: Lens' PaginatedRoomMessages [StateEvent]
_state = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens PaginatedRoomMessages -> [StateEvent]
getter PaginatedRoomMessages -> [StateEvent] -> PaginatedRoomMessages
setter
  where
    getter :: PaginatedRoomMessages -> [StateEvent]
getter = PaginatedRoomMessages -> [StateEvent]
state
    setter :: PaginatedRoomMessages -> [StateEvent] -> PaginatedRoomMessages
setter PaginatedRoomMessages
prm [StateEvent]
s = PaginatedRoomMessages
prm { state :: [StateEvent]
state = [StateEvent]
s }

_roomAlias :: Lens' ResolvedRoomAlias RoomAlias
_roomAlias :: Lens' ResolvedRoomAlias RoomAlias
_roomAlias = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens ResolvedRoomAlias -> RoomAlias
getter ResolvedRoomAlias -> RoomAlias -> ResolvedRoomAlias
setter
  where
    getter :: ResolvedRoomAlias -> RoomAlias
getter = ResolvedRoomAlias -> RoomAlias
roomAlias
    setter :: ResolvedRoomAlias -> RoomAlias -> ResolvedRoomAlias
setter ResolvedRoomAlias
rra RoomAlias
ra = ResolvedRoomAlias
rra { roomAlias :: RoomAlias
roomAlias = RoomAlias
ra }

_roomID :: Lens' ResolvedRoomAlias RoomID
_roomID :: Lens' ResolvedRoomAlias RoomID
_roomID = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens ResolvedRoomAlias -> RoomID
getter ResolvedRoomAlias -> RoomID -> ResolvedRoomAlias
setter
  where
    getter :: ResolvedRoomAlias -> RoomID
getter = ResolvedRoomAlias -> RoomID
roomID
    setter :: ResolvedRoomAlias -> RoomID -> ResolvedRoomAlias
setter ResolvedRoomAlias
rra RoomID
rid = ResolvedRoomAlias
rra { roomID :: RoomID
roomID = RoomID
rid }

_servers :: Lens' ResolvedRoomAlias [T.Text]
_servers :: Lens' ResolvedRoomAlias [Text]
_servers = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens ResolvedRoomAlias -> [Text]
getter ResolvedRoomAlias -> [Text] -> ResolvedRoomAlias
setter
  where
    getter :: ResolvedRoomAlias -> [Text]
getter = ResolvedRoomAlias -> [Text]
servers
    setter :: ResolvedRoomAlias -> [Text] -> ResolvedRoomAlias
setter ResolvedRoomAlias
rra [Text]
s = ResolvedRoomAlias
rra { servers :: [Text]
servers = [Text]
s }

_refLimit :: Lens' RoomEventFilter (Maybe Int)
_refLimit :: Lens' RoomEventFilter (Maybe Int)
_refLimit = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe Int
getter RoomEventFilter -> Maybe Int -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe Int
getter = RoomEventFilter -> Maybe Int
refLimit
    setter :: RoomEventFilter -> Maybe Int -> RoomEventFilter
setter RoomEventFilter
ref Maybe Int
rl = RoomEventFilter
ref { refLimit :: Maybe Int
refLimit = Maybe Int
rl }

_refNotSenders :: Lens' RoomEventFilter (Maybe [T.Text])
_refNotSenders :: Lens' RoomEventFilter (Maybe [Text])
_refNotSenders = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe [Text]
getter RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe [Text]
getter = RoomEventFilter -> Maybe [Text]
refNotSenders
    setter :: RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter RoomEventFilter
ref Maybe [Text]
ns = RoomEventFilter
ref { refNotSenders :: Maybe [Text]
refNotSenders = Maybe [Text]
ns }

_refNotTypes :: Lens' RoomEventFilter (Maybe [T.Text])
_refNotTypes :: Lens' RoomEventFilter (Maybe [Text])
_refNotTypes = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe [Text]
getter RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe [Text]
getter = RoomEventFilter -> Maybe [Text]
refNotTypes
    setter :: RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter RoomEventFilter
ref Maybe [Text]
rnt = RoomEventFilter
ref { refNotTypes :: Maybe [Text]
refNotTypes = Maybe [Text]
rnt }

_refSenders :: Lens' RoomEventFilter (Maybe [T.Text])
_refSenders :: Lens' RoomEventFilter (Maybe [Text])
_refSenders = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe [Text]
getter RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter
 where
   getter :: RoomEventFilter -> Maybe [Text]
getter = RoomEventFilter -> Maybe [Text]
refSenders
   setter :: RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter RoomEventFilter
ref Maybe [Text]
rs = RoomEventFilter
ref { refSenders :: Maybe [Text]
refSenders = Maybe [Text]
rs }

_refTypes :: Lens' RoomEventFilter (Maybe [T.Text])
_refTypes :: Lens' RoomEventFilter (Maybe [Text])
_refTypes = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe [Text]
getter RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe [Text]
getter = RoomEventFilter -> Maybe [Text]
refTypes
    setter :: RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter RoomEventFilter
ref Maybe [Text]
rt = RoomEventFilter
ref { refTypes :: Maybe [Text]
refTypes = Maybe [Text]
rt }

_refLazyLoadMembers :: Lens' RoomEventFilter (Maybe Bool)
_refLazyLoadMembers :: Lens' RoomEventFilter (Maybe Bool)
_refLazyLoadMembers = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe Bool
getter RoomEventFilter -> Maybe Bool -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe Bool
getter = RoomEventFilter -> Maybe Bool
refLazyLoadMembers
    setter :: RoomEventFilter -> Maybe Bool -> RoomEventFilter
setter RoomEventFilter
ref Maybe Bool
rldm = RoomEventFilter
ref { refLazyLoadMembers :: Maybe Bool
refLazyLoadMembers = Maybe Bool
rldm }

_refIncludeRedundantMembers :: Lens' RoomEventFilter (Maybe Bool)
_refIncludeRedundantMembers :: Lens' RoomEventFilter (Maybe Bool)
_refIncludeRedundantMembers = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe Bool
getter RoomEventFilter -> Maybe Bool -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe Bool
getter = RoomEventFilter -> Maybe Bool
refIncludeRedundantMembers
    setter :: RoomEventFilter -> Maybe Bool -> RoomEventFilter
setter RoomEventFilter
ref Maybe Bool
rirm = RoomEventFilter
ref { refIncludeRedundantMembers :: Maybe Bool
refIncludeRedundantMembers = Maybe Bool
rirm }

_refNotRooms :: Lens' RoomEventFilter (Maybe [T.Text])
_refNotRooms :: Lens' RoomEventFilter (Maybe [Text])
_refNotRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe [Text]
getter RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe [Text]
getter = RoomEventFilter -> Maybe [Text]
refNotRooms
    setter :: RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter RoomEventFilter
ref Maybe [Text]
rnr = RoomEventFilter
ref { refNotRooms :: Maybe [Text]
refNotRooms = Maybe [Text]
rnr }

_refRooms :: Lens' RoomEventFilter (Maybe [T.Text])
_refRooms :: Lens' RoomEventFilter (Maybe [Text])
_refRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe [Text]
getter RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe [Text]
getter = RoomEventFilter -> Maybe [Text]
refRooms
    setter :: RoomEventFilter -> Maybe [Text] -> RoomEventFilter
setter RoomEventFilter
ref Maybe [Text]
rr = RoomEventFilter
ref { refRooms :: Maybe [Text]
refRooms = Maybe [Text]
rr }

_refContainsUrl :: Lens' RoomEventFilter (Maybe Bool)
_refContainsUrl :: Lens' RoomEventFilter (Maybe Bool)
_refContainsUrl = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEventFilter -> Maybe Bool
getter RoomEventFilter -> Maybe Bool -> RoomEventFilter
setter
  where
    getter :: RoomEventFilter -> Maybe Bool
getter = RoomEventFilter -> Maybe Bool
refContainsUrl
    setter :: RoomEventFilter -> Maybe Bool -> RoomEventFilter
setter RoomEventFilter
ref Maybe Bool
rcu = RoomEventFilter
ref { refContainsUrl :: Maybe Bool
refContainsUrl = Maybe Bool
rcu }

_StateContentMRCreate :: Prism' StateContent MRCreate
_StateContentMRCreate :: Prism' StateContent MRCreate
_StateContentMRCreate = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' MRCreate -> StateContent
to StateContent -> Maybe MRCreate
from
  where
    to :: MRCreate -> StateContent
to = MRCreate -> StateContent
StRoomCreate
    from :: StateContent -> Maybe MRCreate
from (StRoomCreate MRCreate
create) = forall a. a -> Maybe a
Just MRCreate
create
    from StateContent
_ = forall a. Maybe a
Nothing

_StateContentMRCanonicalAlias :: Prism' StateContent MRCanonicalAlias
_StateContentMRCanonicalAlias :: Prism' StateContent MRCanonicalAlias
_StateContentMRCanonicalAlias = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' MRCanonicalAlias -> StateContent
to StateContent -> Maybe MRCanonicalAlias
from
  where
    to :: MRCanonicalAlias -> StateContent
to = MRCanonicalAlias -> StateContent
StRoomCanonicalAlias
    from :: StateContent -> Maybe MRCanonicalAlias
from (StRoomCanonicalAlias MRCanonicalAlias
alias) = forall a. a -> Maybe a
Just MRCanonicalAlias
alias
    from StateContent
_ = forall a. Maybe a
Nothing

_StateContentMRGuestAccess :: Prism' StateContent MRGuestAccess
_StateContentMRGuestAccess :: Prism' StateContent MRGuestAccess
_StateContentMRGuestAccess = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' MRGuestAccess -> StateContent
to StateContent -> Maybe MRGuestAccess
from
  where
    to :: MRGuestAccess -> StateContent
to = MRGuestAccess -> StateContent
StRoomGuestAccess
    from :: StateContent -> Maybe MRGuestAccess
from (StRoomGuestAccess MRGuestAccess
guest) = forall a. a -> Maybe a
Just MRGuestAccess
guest
    from StateContent
_ = forall a. Maybe a
Nothing

_StateContentMRHistoryVisibility :: Prism' StateContent MRHistoryVisibility
_StateContentMRHistoryVisibility :: Prism' StateContent MRHistoryVisibility
_StateContentMRHistoryVisibility = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' MRHistoryVisibility -> StateContent
to StateContent -> Maybe MRHistoryVisibility
from
  where
    to :: MRHistoryVisibility -> StateContent
to = MRHistoryVisibility -> StateContent
StRoomHistoryVisibility
    from :: StateContent -> Maybe MRHistoryVisibility
from (StRoomHistoryVisibility MRHistoryVisibility
history) = forall a. a -> Maybe a
Just MRHistoryVisibility
history
    from StateContent
_ = forall a. Maybe a
Nothing

_StateContentMRName :: Prism' StateContent MRName
_StateContentMRName :: Prism' StateContent MRName
_StateContentMRName = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' MRName -> StateContent
to StateContent -> Maybe MRName
from
  where
    to :: MRName -> StateContent
to = MRName -> StateContent
StRoomName
    from :: StateContent -> Maybe MRName
from (StRoomName MRName
name) = forall a. a -> Maybe a
Just MRName
name
    from StateContent
_ = forall a. Maybe a
Nothing

_StateContentMRTopic :: Prism' StateContent MRTopic
_StateContentMRTopic :: Prism' StateContent MRTopic
_StateContentMRTopic = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' MRTopic -> StateContent
to StateContent -> Maybe MRTopic
from
  where
    to :: MRTopic -> StateContent
to = MRTopic -> StateContent
StRoomTopic
    from :: StateContent -> Maybe MRTopic
from (StRoomTopic MRTopic
topic) = forall a. a -> Maybe a
Just MRTopic
topic
    from StateContent
_ = forall a. Maybe a
Nothing

_StateContentMROther :: Prism' StateContent J.Value
_StateContentMROther :: Prism' StateContent Value
_StateContentMROther = forall a s. (a -> s) -> (s -> Maybe a) -> Prism' s a
prism' Value -> StateContent
to StateContent -> Maybe Value
from
  where
    to :: Value -> StateContent
to = Value -> StateContent
StOther
    from :: StateContent -> Maybe Value
from (StOther Value
other) = forall a. a -> Maybe a
Just Value
other
    from StateContent
_ = forall a. Maybe a
Nothing

_seContent :: Lens' StateEvent StateContent
_seContent :: Lens' StateEvent StateContent
_seContent = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> StateContent
getter StateEvent -> StateContent -> StateEvent
setter
  where
    getter :: StateEvent -> StateContent
getter = StateEvent -> StateContent
seContent
    setter :: StateEvent -> StateContent -> StateEvent
setter StateEvent
sec StateContent
c = StateEvent
sec { seContent :: StateContent
seContent = StateContent
c }

_seEventId :: Lens' StateEvent EventID
_seEventId :: Lens' StateEvent EventID
_seEventId = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> EventID
getter StateEvent -> EventID -> StateEvent
setter
  where
    getter :: StateEvent -> EventID
getter = StateEvent -> EventID
seEventId
    setter :: StateEvent -> EventID -> StateEvent
setter StateEvent
sec EventID
eid = StateEvent
sec { seEventId :: EventID
seEventId = EventID
eid }

_seOriginServerTimestamp :: Lens' StateEvent Integer
_seOriginServerTimestamp :: Lens' StateEvent Integer
_seOriginServerTimestamp = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> Integer
getter StateEvent -> Integer -> StateEvent
setter
  where
    getter :: StateEvent -> Integer
getter = StateEvent -> Integer
seOriginServerTimestamp
    setter :: StateEvent -> Integer -> StateEvent
setter StateEvent
sec Integer
ts = StateEvent
sec { seOriginServerTimestamp :: Integer
seOriginServerTimestamp = Integer
ts }

_sePreviousContent :: Lens' StateEvent (Maybe J.Value)
_sePreviousContent :: Lens' StateEvent (Maybe Value)
_sePreviousContent = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> Maybe Value
getter StateEvent -> Maybe Value -> StateEvent
setter
  where
    getter :: StateEvent -> Maybe Value
getter = StateEvent -> Maybe Value
sePreviousContent
    setter :: StateEvent -> Maybe Value -> StateEvent
setter StateEvent
sec Maybe Value
c = StateEvent
sec { sePreviousContent :: Maybe Value
sePreviousContent = Maybe Value
c }

_seRoomId :: Lens' StateEvent RoomID
_seRoomId :: Lens' StateEvent RoomID
_seRoomId = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> RoomID
getter StateEvent -> RoomID -> StateEvent
setter
  where
    getter :: StateEvent -> RoomID
getter = StateEvent -> RoomID
seRoomId
    setter :: StateEvent -> RoomID -> StateEvent
setter StateEvent
sec RoomID
rid = StateEvent
sec { seRoomId :: RoomID
seRoomId = RoomID
rid }

_seSender :: Lens' StateEvent UserID
_seSender :: Lens' StateEvent UserID
_seSender = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> UserID
getter StateEvent -> UserID -> StateEvent
setter
  where
    getter :: StateEvent -> UserID
getter = StateEvent -> UserID
seSender
    setter :: StateEvent -> UserID -> StateEvent
setter StateEvent
sec UserID
uid = StateEvent
sec { seSender :: UserID
seSender = UserID
uid }

_seStateKey :: Lens' StateEvent StateKey
_seStateKey :: Lens' StateEvent StateKey
_seStateKey = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> StateKey
getter StateEvent -> StateKey -> StateEvent
setter
  where
    getter :: StateEvent -> StateKey
getter = StateEvent -> StateKey
seStateKey
    setter :: StateEvent -> StateKey -> StateEvent
setter StateEvent
sec StateKey
key = StateEvent
sec { seStateKey :: StateKey
seStateKey = StateKey
key }

_seEventType :: Lens' StateEvent EventType
_seEventType :: Lens' StateEvent EventType
_seEventType = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> EventType
getter StateEvent -> EventType -> StateEvent
setter
  where
    getter :: StateEvent -> EventType
getter = StateEvent -> EventType
seEventType
    setter :: StateEvent -> EventType -> StateEvent
setter StateEvent
sec EventType
et = StateEvent
sec { seEventType :: EventType
seEventType = EventType
et }

_seUnsigned :: Lens' StateEvent (Maybe J.Value)
_seUnsigned :: Lens' StateEvent (Maybe Value)
_seUnsigned = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateEvent -> Maybe Value
getter StateEvent -> Maybe Value -> StateEvent
setter
  where
    getter :: StateEvent -> Maybe Value
getter = StateEvent -> Maybe Value
seUnsigned
    setter :: StateEvent -> Maybe Value -> StateEvent
setter StateEvent
sec Maybe Value
val = StateEvent
sec { seUnsigned :: Maybe Value
seUnsigned = Maybe Value
val }

_sfLimit :: Lens' StateFilter (Maybe Int)
_sfLimit :: Lens' StateFilter (Maybe Int)
_sfLimit = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe Int
getter StateFilter -> Maybe Int -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe Int
getter = StateFilter -> Maybe Int
sfLimit
    setter :: StateFilter -> Maybe Int -> StateFilter
setter StateFilter
sf Maybe Int
sfl = StateFilter
sf { sfLimit :: Maybe Int
sfLimit = Maybe Int
sfl }

_sfNotSenders :: Lens' StateFilter (Maybe [T.Text])
_sfNotSenders :: Lens' StateFilter (Maybe [Text])
_sfNotSenders = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe [Text]
getter StateFilter -> Maybe [Text] -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe [Text]
getter = StateFilter -> Maybe [Text]
sfNotSenders
    setter :: StateFilter -> Maybe [Text] -> StateFilter
setter StateFilter
sf Maybe [Text]
sfns = StateFilter
sf { sfNotSenders :: Maybe [Text]
sfNotSenders = Maybe [Text]
sfns}

_sfTypes :: Lens' StateFilter (Maybe [T.Text])
_sfTypes :: Lens' StateFilter (Maybe [Text])
_sfTypes = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe [Text]
getter StateFilter -> Maybe [Text] -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe [Text]
getter = StateFilter -> Maybe [Text]
sfTypes
    setter :: StateFilter -> Maybe [Text] -> StateFilter
setter StateFilter
sf Maybe [Text]
sft = StateFilter
sf { sfTypes :: Maybe [Text]
sfTypes = Maybe [Text]
sft }

_sfLazyLoadMembers :: Lens' StateFilter (Maybe Bool)
_sfLazyLoadMembers :: Lens' StateFilter (Maybe Bool)
_sfLazyLoadMembers = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe Bool
getter StateFilter -> Maybe Bool -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe Bool
getter = StateFilter -> Maybe Bool
sfLazyLoadMembers
    setter :: StateFilter -> Maybe Bool -> StateFilter
setter StateFilter
sf Maybe Bool
sflm = StateFilter
sf { sfLazyLoadMembers :: Maybe Bool
sfLazyLoadMembers = Maybe Bool
sflm }

_sfIncludeRedundantMembers :: Lens' StateFilter (Maybe Bool)
_sfIncludeRedundantMembers :: Lens' StateFilter (Maybe Bool)
_sfIncludeRedundantMembers = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe Bool
getter StateFilter -> Maybe Bool -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe Bool
getter = StateFilter -> Maybe Bool
sfIncludeRedundantMembers
    setter :: StateFilter -> Maybe Bool -> StateFilter
setter StateFilter
sf Maybe Bool
sfirm = StateFilter
sf { sfIncludeRedundantMembers :: Maybe Bool
sfIncludeRedundantMembers = Maybe Bool
sfirm }

_sfNotRooms :: Lens' StateFilter (Maybe [T.Text])
_sfNotRooms :: Lens' StateFilter (Maybe [Text])
_sfNotRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe [Text]
getter StateFilter -> Maybe [Text] -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe [Text]
getter = StateFilter -> Maybe [Text]
sfNotRooms
    setter :: StateFilter -> Maybe [Text] -> StateFilter
setter StateFilter
sf Maybe [Text]
sfnr = StateFilter
sf { sfNotRooms :: Maybe [Text]
sfNotRooms = Maybe [Text]
sfnr }

_sfRooms :: Lens' StateFilter (Maybe [T.Text])
_sfRooms :: Lens' StateFilter (Maybe [Text])
_sfRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe [Text]
getter StateFilter -> Maybe [Text] -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe [Text]
getter = StateFilter -> Maybe [Text]
sfRooms
    setter :: StateFilter -> Maybe [Text] -> StateFilter
setter StateFilter
sf Maybe [Text]
sfr = StateFilter
sf { sfRooms :: Maybe [Text]
sfRooms = Maybe [Text]
sfr }

_sfContainsUrl :: Lens' StateFilter (Maybe Bool)
_sfContainsUrl :: Lens' StateFilter (Maybe Bool)
_sfContainsUrl = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens StateFilter -> Maybe Bool
getter StateFilter -> Maybe Bool -> StateFilter
setter
  where
    getter :: StateFilter -> Maybe Bool
getter = StateFilter -> Maybe Bool
sfContains_url
    setter :: StateFilter -> Maybe Bool -> StateFilter
setter StateFilter
sf Maybe Bool
cu = StateFilter
sf { sfContains_url :: Maybe Bool
sfContains_url = Maybe Bool
cu }

_rfNotRooms :: Lens' RoomFilter (Maybe [T.Text])
_rfNotRooms :: Lens' RoomFilter (Maybe [Text])
_rfNotRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe [Text]
getter RoomFilter -> Maybe [Text] -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe [Text]
getter = RoomFilter -> Maybe [Text]
rfNotRooms
    setter :: RoomFilter -> Maybe [Text] -> RoomFilter
setter RoomFilter
rm Maybe [Text]
rfnr = RoomFilter
rm { rfNotRooms :: Maybe [Text]
rfNotRooms = Maybe [Text]
rfnr }

_rfRooms :: Lens' RoomFilter (Maybe [T.Text])
_rfRooms :: Lens' RoomFilter (Maybe [Text])
_rfRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe [Text]
getter RoomFilter -> Maybe [Text] -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe [Text]
getter = RoomFilter -> Maybe [Text]
rfRooms
    setter :: RoomFilter -> Maybe [Text] -> RoomFilter
setter RoomFilter
rm Maybe [Text]
rfr = RoomFilter
rm { rfRooms :: Maybe [Text]
rfRooms = Maybe [Text]
rfr }

_rfEphemeral :: Lens' RoomFilter (Maybe RoomEventFilter)
_rfEphemeral :: Lens' RoomFilter (Maybe RoomEventFilter)
_rfEphemeral = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe RoomEventFilter
getter RoomFilter -> Maybe RoomEventFilter -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe RoomEventFilter
getter = RoomFilter -> Maybe RoomEventFilter
rfEphemeral
    setter :: RoomFilter -> Maybe RoomEventFilter -> RoomFilter
setter RoomFilter
rm Maybe RoomEventFilter
rfe = RoomFilter
rm { rfEphemeral :: Maybe RoomEventFilter
rfEphemeral = Maybe RoomEventFilter
rfe }

_rfIncludeLeave :: Lens' RoomFilter (Maybe Bool)
_rfIncludeLeave :: Lens' RoomFilter (Maybe Bool)
_rfIncludeLeave = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe Bool
getter RoomFilter -> Maybe Bool -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe Bool
getter = RoomFilter -> Maybe Bool
rfIncludeLeave
    setter :: RoomFilter -> Maybe Bool -> RoomFilter
setter RoomFilter
rm Maybe Bool
rfil = RoomFilter
rm { rfIncludeLeave :: Maybe Bool
rfIncludeLeave = Maybe Bool
rfil }

_rfState :: Lens' RoomFilter (Maybe StateFilter)
_rfState :: Lens' RoomFilter (Maybe StateFilter)
_rfState = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe StateFilter
getter RoomFilter -> Maybe StateFilter -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe StateFilter
getter = RoomFilter -> Maybe StateFilter
rfState
    setter :: RoomFilter -> Maybe StateFilter -> RoomFilter
setter RoomFilter
rm Maybe StateFilter
rfs = RoomFilter
rm { rfState :: Maybe StateFilter
rfState = Maybe StateFilter
rfs }

_rfTimeline :: Lens' RoomFilter (Maybe RoomEventFilter)
_rfTimeline :: Lens' RoomFilter (Maybe RoomEventFilter)
_rfTimeline = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe RoomEventFilter
getter RoomFilter -> Maybe RoomEventFilter -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe RoomEventFilter
getter = RoomFilter -> Maybe RoomEventFilter
rfTimeline
    setter :: RoomFilter -> Maybe RoomEventFilter -> RoomFilter
setter RoomFilter
rm Maybe RoomEventFilter
rft = RoomFilter
rm { rfTimeline :: Maybe RoomEventFilter
rfTimeline = Maybe RoomEventFilter
rft }

_rfAccountData :: Lens' RoomFilter (Maybe RoomEventFilter)
_rfAccountData :: Lens' RoomFilter (Maybe RoomEventFilter)
_rfAccountData = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomFilter -> Maybe RoomEventFilter
getter RoomFilter -> Maybe RoomEventFilter -> RoomFilter
setter
  where
    getter :: RoomFilter -> Maybe RoomEventFilter
getter = RoomFilter -> Maybe RoomEventFilter
rfAccountData
    setter :: RoomFilter -> Maybe RoomEventFilter -> RoomFilter
setter RoomFilter
rm Maybe RoomEventFilter
rfad = RoomFilter
rm { rfAccountData :: Maybe RoomEventFilter
rfAccountData = Maybe RoomEventFilter
rfad }

_filterEventFields :: Lens' Filter (Maybe [T.Text])
_filterEventFields :: Lens' Filter (Maybe [Text])
_filterEventFields = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens Filter -> Maybe [Text]
getter Filter -> Maybe [Text] -> Filter
setter
  where
    getter :: Filter -> Maybe [Text]
getter = Filter -> Maybe [Text]
filterEventFields
    setter :: Filter -> Maybe [Text] -> Filter
setter Filter
fltr Maybe [Text]
fef = Filter
fltr { filterEventFields :: Maybe [Text]
filterEventFields = Maybe [Text]
fef }

_filterEventFormat :: Lens' Filter (Maybe EventFormat)
_filterEventFormat :: Lens' Filter (Maybe EventFormat)
_filterEventFormat = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens Filter -> Maybe EventFormat
getter Filter -> Maybe EventFormat -> Filter
setter
  where
    getter :: Filter -> Maybe EventFormat
getter = Filter -> Maybe EventFormat
filterEventFormat
    setter :: Filter -> Maybe EventFormat -> Filter
setter Filter
fltr Maybe EventFormat
fef = Filter
fltr { filterEventFormat :: Maybe EventFormat
filterEventFormat = Maybe EventFormat
fef }

_filterPresence :: Lens' Filter (Maybe EventFilter)
_filterPresence :: Lens' Filter (Maybe EventFilter)
_filterPresence = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens Filter -> Maybe EventFilter
getter Filter -> Maybe EventFilter -> Filter
setter
  where
    getter :: Filter -> Maybe EventFilter
getter = Filter -> Maybe EventFilter
filterPresence
    setter :: Filter -> Maybe EventFilter -> Filter
setter Filter
fltr Maybe EventFilter
fp = Filter
fltr { filterPresence :: Maybe EventFilter
filterPresence = Maybe EventFilter
fp }

_filterAccountData :: Lens' Filter (Maybe EventFilter)
_filterAccountData :: Lens' Filter (Maybe EventFilter)
_filterAccountData = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens Filter -> Maybe EventFilter
getter Filter -> Maybe EventFilter -> Filter
setter
  where
    getter :: Filter -> Maybe EventFilter
getter = Filter -> Maybe EventFilter
filterAccountData
    setter :: Filter -> Maybe EventFilter -> Filter
setter Filter
fltr Maybe EventFilter
fac = Filter
fltr { filterAccountData :: Maybe EventFilter
filterAccountData = Maybe EventFilter
fac }

_filterRoom :: Lens' Filter (Maybe RoomFilter)
_filterRoom :: Lens' Filter (Maybe RoomFilter)
_filterRoom = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens Filter -> Maybe RoomFilter
getter Filter -> Maybe RoomFilter -> Filter
setter
  where
    getter :: Filter -> Maybe RoomFilter
getter = Filter -> Maybe RoomFilter
filterRoom
    setter :: Filter -> Maybe RoomFilter -> Filter
setter Filter
fltr Maybe RoomFilter
fr = Filter
fltr { filterRoom :: Maybe RoomFilter
filterRoom = Maybe RoomFilter
fr }

_reContent :: Lens' RoomEvent Event
_reContent :: Lens' RoomEvent Event
_reContent = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEvent -> Event
getter RoomEvent -> Event -> RoomEvent
setter
  where
    getter :: RoomEvent -> Event
getter = RoomEvent -> Event
reContent
    setter :: RoomEvent -> Event -> RoomEvent
setter RoomEvent
rEvent Event
rc = RoomEvent
rEvent { reContent :: Event
reContent = Event
rc }

_reType :: Lens' RoomEvent T.Text
_reType :: Lens' RoomEvent Text
_reType = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEvent -> Text
getter RoomEvent -> Text -> RoomEvent
setter
  where
    getter :: RoomEvent -> Text
getter = RoomEvent -> Text
reType
    setter :: RoomEvent -> Text -> RoomEvent
setter RoomEvent
rEvent Text
rt = RoomEvent
rEvent { reType :: Text
reType = Text
rt }

_reEventId :: Lens' RoomEvent EventID
_reEventId :: Lens' RoomEvent EventID
_reEventId = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEvent -> EventID
getter RoomEvent -> EventID -> RoomEvent
setter
  where
    getter :: RoomEvent -> EventID
getter = RoomEvent -> EventID
reEventId
    setter :: RoomEvent -> EventID -> RoomEvent
setter RoomEvent
rEvent EventID
reid = RoomEvent
rEvent { reEventId :: EventID
reEventId = EventID
reid }

_reSender :: Lens' RoomEvent Author
_reSender :: Lens' RoomEvent Author
_reSender = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomEvent -> Author
getter RoomEvent -> Author -> RoomEvent
setter
  where
    getter :: RoomEvent -> Author
getter = RoomEvent -> Author
reSender
    setter :: RoomEvent -> Author -> RoomEvent
setter RoomEvent
rEvent Author
res = RoomEvent
rEvent { reSender :: Author
reSender = Author
res }

_rsJoinedMemberCount :: Lens' RoomSummary (Maybe Int)
_rsJoinedMemberCount :: Lens' RoomSummary (Maybe Int)
_rsJoinedMemberCount = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomSummary -> Maybe Int
getter RoomSummary -> Maybe Int -> RoomSummary
setter
  where
    getter :: RoomSummary -> Maybe Int
getter = RoomSummary -> Maybe Int
rsJoinedMemberCount
    setter :: RoomSummary -> Maybe Int -> RoomSummary
setter RoomSummary
rs Maybe Int
rsjmc = RoomSummary
rs { rsJoinedMemberCount :: Maybe Int
rsJoinedMemberCount = Maybe Int
rsjmc }

_rsInvitedMemberCount :: Lens' RoomSummary (Maybe Int)
_rsInvitedMemberCount :: Lens' RoomSummary (Maybe Int)
_rsInvitedMemberCount = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens RoomSummary -> Maybe Int
getter RoomSummary -> Maybe Int -> RoomSummary
setter
  where
    getter :: RoomSummary -> Maybe Int
getter = RoomSummary -> Maybe Int
rsInvitedMemberCount
    setter :: RoomSummary -> Maybe Int -> RoomSummary
setter RoomSummary
rs Maybe Int
rsimc = RoomSummary
rs { rsInvitedMemberCount :: Maybe Int
rsInvitedMemberCount = Maybe Int
rsimc }

_tsEvents :: Lens' TimelineSync (Maybe [RoomEvent])
_tsEvents :: Lens' TimelineSync (Maybe [RoomEvent])
_tsEvents = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens TimelineSync -> Maybe [RoomEvent]
getter TimelineSync -> Maybe [RoomEvent] -> TimelineSync
setter
  where
    getter :: TimelineSync -> Maybe [RoomEvent]
getter = TimelineSync -> Maybe [RoomEvent]
tsEvents
    setter :: TimelineSync -> Maybe [RoomEvent] -> TimelineSync
setter TimelineSync
ts Maybe [RoomEvent]
tse = TimelineSync
ts { tsEvents :: Maybe [RoomEvent]
tsEvents = Maybe [RoomEvent]
tse }

_tsLimited :: Lens' TimelineSync (Maybe Bool)
_tsLimited :: Lens' TimelineSync (Maybe Bool)
_tsLimited = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens TimelineSync -> Maybe Bool
getter TimelineSync -> Maybe Bool -> TimelineSync
setter
  where
    getter :: TimelineSync -> Maybe Bool
getter = TimelineSync -> Maybe Bool
tsLimited
    setter :: TimelineSync -> Maybe Bool -> TimelineSync
setter TimelineSync
ts Maybe Bool
tsl = TimelineSync
ts { tsLimited :: Maybe Bool
tsLimited = Maybe Bool
tsl }

_tsPrevBatch :: Lens' TimelineSync (Maybe T.Text)
_tsPrevBatch :: Lens' TimelineSync (Maybe Text)
_tsPrevBatch = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens TimelineSync -> Maybe Text
getter TimelineSync -> Maybe Text -> TimelineSync
setter
  where
    getter :: TimelineSync -> Maybe Text
getter = TimelineSync -> Maybe Text
tsPrevBatch
    setter :: TimelineSync -> Maybe Text -> TimelineSync
setter TimelineSync
ts Maybe Text
tspb = TimelineSync
ts { tsPrevBatch :: Maybe Text
tsPrevBatch = Maybe Text
tspb }

_jrsSummary :: Lens' JoinedRoomSync (Maybe RoomSummary)
_jrsSummary :: Lens' JoinedRoomSync (Maybe RoomSummary)
_jrsSummary = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens JoinedRoomSync -> Maybe RoomSummary
getter JoinedRoomSync -> Maybe RoomSummary -> JoinedRoomSync
setter
  where
    getter :: JoinedRoomSync -> Maybe RoomSummary
getter = JoinedRoomSync -> Maybe RoomSummary
jrsSummary
    setter :: JoinedRoomSync -> Maybe RoomSummary -> JoinedRoomSync
setter JoinedRoomSync
jrs Maybe RoomSummary
jrss = JoinedRoomSync
jrs { jrsSummary :: Maybe RoomSummary
jrsSummary = Maybe RoomSummary
jrss }

_jrsTimeline :: Lens' JoinedRoomSync TimelineSync
_jrsTimeline :: Lens' JoinedRoomSync TimelineSync
_jrsTimeline = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens JoinedRoomSync -> TimelineSync
getter JoinedRoomSync -> TimelineSync -> JoinedRoomSync
setter
  where
    getter :: JoinedRoomSync -> TimelineSync
getter = JoinedRoomSync -> TimelineSync
jrsTimeline
    setter :: JoinedRoomSync -> TimelineSync -> JoinedRoomSync
setter JoinedRoomSync
jrs TimelineSync
jrst = JoinedRoomSync
jrs { jrsTimeline :: TimelineSync
jrsTimeline = TimelineSync
jrst }

_srNextBatch :: Lens' SyncResult T.Text
_srNextBatch :: Lens' SyncResult Text
_srNextBatch = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens SyncResult -> Text
getter SyncResult -> Text -> SyncResult
setter
  where
    getter :: SyncResult -> Text
getter = SyncResult -> Text
srNextBatch
    setter :: SyncResult -> Text -> SyncResult
setter SyncResult
sr Text
srnb = SyncResult
sr { srNextBatch :: Text
srNextBatch = Text
srnb }

_srRooms :: Lens' SyncResult (Maybe SyncResultRoom)
_srRooms :: Lens' SyncResult (Maybe SyncResultRoom)
_srRooms = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens SyncResult -> Maybe SyncResultRoom
getter SyncResult -> Maybe SyncResultRoom -> SyncResult
setter
  where
    getter :: SyncResult -> Maybe SyncResultRoom
getter = SyncResult -> Maybe SyncResultRoom
srRooms
    setter :: SyncResult -> Maybe SyncResultRoom -> SyncResult
setter SyncResult
sr Maybe SyncResultRoom
srr = SyncResult
sr { srRooms :: Maybe SyncResultRoom
srRooms = Maybe SyncResultRoom
srr }

_srrJoin :: Lens' SyncResultRoom (Maybe (M.Map T.Text JoinedRoomSync))
_srrJoin :: Lens' SyncResultRoom (Maybe (Map Text JoinedRoomSync))
_srrJoin = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens SyncResultRoom -> Maybe (Map Text JoinedRoomSync)
getter SyncResultRoom -> Maybe (Map Text JoinedRoomSync) -> SyncResultRoom
setter
  where
    getter :: SyncResultRoom -> Maybe (Map Text JoinedRoomSync)
getter = SyncResultRoom -> Maybe (Map Text JoinedRoomSync)
srrJoin
    setter :: SyncResultRoom -> Maybe (Map Text JoinedRoomSync) -> SyncResultRoom
setter SyncResultRoom
srr Maybe (Map Text JoinedRoomSync)
srrj = SyncResultRoom
srr { srrJoin :: Maybe (Map Text JoinedRoomSync)
srrJoin = Maybe (Map Text JoinedRoomSync)
srrj }

_srrInvite :: Lens' SyncResultRoom (Maybe (M.Map T.Text InvitedRoomSync))
_srrInvite :: Lens' SyncResultRoom (Maybe (Map Text InvitedRoomSync))
_srrInvite = forall s a. (s -> a) -> (s -> a -> s) -> Lens' s a
lens SyncResultRoom -> Maybe (Map Text InvitedRoomSync)
getter SyncResultRoom
-> Maybe (Map Text InvitedRoomSync) -> SyncResultRoom
setter
  where
    getter :: SyncResultRoom -> Maybe (Map Text InvitedRoomSync)
getter = SyncResultRoom -> Maybe (Map Text InvitedRoomSync)
srrInvite
    setter :: SyncResultRoom
-> Maybe (Map Text InvitedRoomSync) -> SyncResultRoom
setter SyncResultRoom
srr Maybe (Map Text InvitedRoomSync)
srri = SyncResultRoom
srr { srrInvite :: Maybe (Map Text InvitedRoomSync)
srrInvite = Maybe (Map Text InvitedRoomSync)
srri }