{-# LANGUAGE RankNTypes #-} {-# LANGUAGE TemplateHaskell #-} module Network.Mattermost.Lenses where import Network.Mattermost.Types.Internal import Network.Mattermost.Types import Network.Mattermost.WebSocket.Types import Network.Mattermost.TH -- | This is the same type alias as in @Control.Lens@, and so can be used -- anywhere lenses are needed. type Lens' a b = forall f. Functor f => (b -> f b) -> (a -> f a) -- * 'ConnectionData' lenses suffixLenses ''ConnectionData -- * 'Login' lenses suffixLenses ''Login -- * 'Team' lenses suffixLenses ''Team -- * 'TeamMember' lenses suffixLenses ''TeamMember -- * 'UserNotifyProps' lenses suffixLenses ''UserNotifyProps -- * 'ChannelNotifyProps' lenses suffixLenses ''ChannelNotifyProps -- * 'Channel' lenses suffixLenses ''Channel -- * 'ChannelData' lenses suffixLenses ''ChannelData -- * 'User' lenses suffixLenses ''User -- * 'Post' lenses suffixLenses ''Post -- * 'PostProps' lenses suffixLenses ''PostProps suffixLenses ''PostPropAttachment -- * 'PendingPost' lenses suffixLenses ''PendingPost -- * 'Posts' lenses suffixLenses ''Posts -- * 'Reaction' lenses suffixLenses ''Reaction -- * 'WebsocketEvent' lenses suffixLenses ''WebsocketEvent -- * 'WEData' lenses suffixLenses ''WEData -- * 'WEBroadcast' lenses suffixLenses ''WEBroadcast -- * 'CommandResponse' lenses suffixLenses ''CommandResponse suffixLenses ''CommandResponseType