| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
MatrixBot.SharedTypes
Description
A set of generic types that can be used in different places/modules
Synopsis
- newtype Username = Username {
- unUsername :: Text
- newtype Password = Password {
- unPassword :: Text
- newtype AccessToken = AccessToken {
- unAccessToken :: Text
- newtype HomeServer = HomeServer {
- unHomeServer :: Text
- data Mxid = Mxid {}
- mxidParser :: Parser Mxid
- printMxid :: Mxid -> Text
- data RoomId
- = LocatedRoomId Text HomeServer
- | ServerlessRoomId Text
- roomIdParser :: Parser RoomId
- printRoomId :: RoomId -> Text
- newtype EventId = EventId {
- unEventId :: Text
- newtype EventToken = EventToken {
- unEventToken :: Text
- newtype TransactionId = TransactionId {
- unTransactionId :: UUID
- genTransactionId :: MonadIO m => m TransactionId
- newtype FilterId = FilterId {
- unFilterId :: Text
- newtype Milliseconds = Milliseconds {
- unMilliseconds :: Integer
- newtype Seconds = Seconds {
- unSeconds :: Integer
- newtype Microseconds = Microseconds {
- unMicroseconds :: Integer
- secondsToMilliseconds :: Seconds -> Milliseconds
- millisecondsToMicroseconds :: Milliseconds -> Microseconds
- secondsToMicroseconds :: Seconds -> Microseconds
- newtype RetryLimit = RetryLimit {
- unRetryLimit :: Natural
- newtype RetryDelay = RetryDelay {}
- class HasRetryParams r where
- retryLimit :: Lens' r RetryLimit
- retryDelay :: Lens' r RetryDelay
- printRetryDelaySeconds :: IsString s => RetryDelay -> s
- newtype EventsTimeout = EventsTimeout {}
Matrix entities
Constructors
| Username | |
Fields
| |
Instances
| FromJSON Username Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser Username parseJSONList :: Value -> Parser [Username] omittedField :: Maybe Username | |
| ToJSON Username Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: Username -> Encoding toJSONList :: [Username] -> Value toEncodingList :: [Username] -> Encoding | |
| Show Username Source # | |
| Eq Username Source # | |
Constructors
| Password | |
Fields
| |
Instances
| FromJSON Password Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser Password parseJSONList :: Value -> Parser [Password] omittedField :: Maybe Password | |
| ToJSON Password Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: Password -> Encoding toJSONList :: [Password] -> Value toEncodingList :: [Password] -> Encoding | |
| Show Password Source # | |
| Eq Password Source # | |
newtype AccessToken Source #
Constructors
| AccessToken | |
Fields
| |
Instances
| FromJSON AccessToken Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser AccessToken parseJSONList :: Value -> Parser [AccessToken] omittedField :: Maybe AccessToken | |
| ToJSON AccessToken Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: AccessToken -> Value toEncoding :: AccessToken -> Encoding toJSONList :: [AccessToken] -> Value toEncodingList :: [AccessToken] -> Encoding omitField :: AccessToken -> Bool | |
| Show AccessToken Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> AccessToken -> ShowS show :: AccessToken -> String showList :: [AccessToken] -> ShowS | |
| Eq AccessToken Source # | |
Defined in MatrixBot.SharedTypes | |
newtype HomeServer Source #
Constructors
| HomeServer | |
Fields
| |
Instances
| FromJSON HomeServer Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser HomeServer parseJSONList :: Value -> Parser [HomeServer] omittedField :: Maybe HomeServer | |
| ToJSON HomeServer Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: HomeServer -> Value toEncoding :: HomeServer -> Encoding toJSONList :: [HomeServer] -> Value toEncodingList :: [HomeServer] -> Encoding omitField :: HomeServer -> Bool | |
| Show HomeServer Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> HomeServer -> ShowS show :: HomeServer -> String showList :: [HomeServer] -> ShowS | |
| Eq HomeServer Source # | |
Defined in MatrixBot.SharedTypes | |
Matrix user identifier aka MXID
Looks like this:
@username:homeserver.tld
Constructors
| Mxid | |
Fields | |
Instances
| FromJSON Mxid Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser Mxid parseJSONList :: Value -> Parser [Mxid] omittedField :: Maybe Mxid | |
| ToJSON Mxid Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: Mxid -> Encoding toJSONList :: [Mxid] -> Value toEncodingList :: [Mxid] -> Encoding | |
| Show Mxid Source # | |
| Eq Mxid Source # | |
| ToHttpApiData Mxid Source # | |
Defined in MatrixBot.SharedTypes Methods toUrlPiece :: Mxid -> Text toEncodedUrlPiece :: Mxid -> Builder toHeader :: Mxid -> ByteString toQueryParam :: Mxid -> Text toEncodedQueryParam :: Mxid -> Builder | |
mxidParser :: Parser Mxid Source #
Matrix room identifier
Looks like this: !ffffffffffffffffff:homeserver.tld
Parsed to LocatedRoomId "ffffffffffffffffff" "homeserver.tld"
Or in newer room versions (>=12) looks like this (randomized example):
!xDtl8llK_oKog5ekJYYwJ58CpeVcUPQNOsK0Sp-L2rQ
Parsed to ServerlessRoomId "xDtl8llK_oKog5ekJYYwJ58CpeVcUPQNOsK0Sp-L2rQ"
Constructors
| LocatedRoomId Text HomeServer | Older room versions (<12) |
| ServerlessRoomId Text | Newer room versions (>=12) |
Instances
| FromJSON RoomId Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser RoomId parseJSONList :: Value -> Parser [RoomId] omittedField :: Maybe RoomId | |
| ToJSON RoomId Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: RoomId -> Encoding toJSONList :: [RoomId] -> Value toEncodingList :: [RoomId] -> Encoding | |
| Show RoomId Source # | |
| Eq RoomId Source # | |
| ToHttpApiData RoomId Source # | |
Defined in MatrixBot.SharedTypes Methods toUrlPiece :: RoomId -> Text toEncodedUrlPiece :: RoomId -> Builder toHeader :: RoomId -> ByteString toQueryParam :: RoomId -> Text toEncodedQueryParam :: RoomId -> Builder | |
roomIdParser :: Parser RoomId Source #
printRoomId :: RoomId -> Text Source #
Instances
| FromJSON EventId Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser EventId parseJSONList :: Value -> Parser [EventId] omittedField :: Maybe EventId | |
| ToJSON EventId Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: EventId -> Encoding toJSONList :: [EventId] -> Value toEncodingList :: [EventId] -> Encoding | |
| Show EventId Source # | |
| Eq EventId Source # | |
newtype EventToken Source #
Constructors
| EventToken | |
Fields
| |
Instances
| FromJSON EventToken Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser EventToken parseJSONList :: Value -> Parser [EventToken] omittedField :: Maybe EventToken | |
| ToJSON EventToken Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: EventToken -> Value toEncoding :: EventToken -> Encoding toJSONList :: [EventToken] -> Value toEncodingList :: [EventToken] -> Encoding omitField :: EventToken -> Bool | |
| Show EventToken Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> EventToken -> ShowS show :: EventToken -> String showList :: [EventToken] -> ShowS | |
| Eq EventToken Source # | |
Defined in MatrixBot.SharedTypes | |
| ToHttpApiData EventToken Source # | |
Defined in MatrixBot.SharedTypes Methods toUrlPiece :: EventToken -> Text toEncodedUrlPiece :: EventToken -> Builder toHeader :: EventToken -> ByteString toQueryParam :: EventToken -> Text toEncodedQueryParam :: EventToken -> Builder | |
newtype TransactionId Source #
Constructors
| TransactionId | |
Fields
| |
Instances
| FromJSON TransactionId Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser TransactionId parseJSONList :: Value -> Parser [TransactionId] omittedField :: Maybe TransactionId | |
| ToJSON TransactionId Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: TransactionId -> Value toEncoding :: TransactionId -> Encoding toJSONList :: [TransactionId] -> Value toEncodingList :: [TransactionId] -> Encoding omitField :: TransactionId -> Bool | |
| Show TransactionId Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> TransactionId -> ShowS show :: TransactionId -> String showList :: [TransactionId] -> ShowS | |
| Eq TransactionId Source # | |
Defined in MatrixBot.SharedTypes | |
| ToHttpApiData TransactionId Source # | |
Defined in MatrixBot.SharedTypes Methods toUrlPiece :: TransactionId -> Text toEncodedUrlPiece :: TransactionId -> Builder toHeader :: TransactionId -> ByteString toQueryParam :: TransactionId -> Text toEncodedQueryParam :: TransactionId -> Builder | |
genTransactionId :: MonadIO m => m TransactionId Source #
Constructors
| FilterId | |
Fields
| |
Instances
| FromJSON FilterId Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser FilterId parseJSONList :: Value -> Parser [FilterId] omittedField :: Maybe FilterId | |
| ToJSON FilterId Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: FilterId -> Encoding toJSONList :: [FilterId] -> Value toEncodingList :: [FilterId] -> Encoding | |
| Show FilterId Source # | |
| Eq FilterId Source # | |
| ToHttpApiData FilterId Source # | |
Defined in MatrixBot.SharedTypes Methods toUrlPiece :: FilterId -> Text toEncodedUrlPiece :: FilterId -> Builder toHeader :: FilterId -> ByteString toQueryParam :: FilterId -> Text toEncodedQueryParam :: FilterId -> Builder | |
Time-related stuff
newtype Milliseconds Source #
Constructors
| Milliseconds | |
Fields
| |
Instances
| FromJSON Milliseconds Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser Milliseconds parseJSONList :: Value -> Parser [Milliseconds] omittedField :: Maybe Milliseconds | |
| ToJSON Milliseconds Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: Milliseconds -> Value toEncoding :: Milliseconds -> Encoding toJSONList :: [Milliseconds] -> Value toEncodingList :: [Milliseconds] -> Encoding omitField :: Milliseconds -> Bool | |
| Show Milliseconds Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> Milliseconds -> ShowS show :: Milliseconds -> String showList :: [Milliseconds] -> ShowS | |
| Eq Milliseconds Source # | |
Defined in MatrixBot.SharedTypes | |
| ToHttpApiData Milliseconds Source # | |
Defined in MatrixBot.SharedTypes Methods toUrlPiece :: Milliseconds -> Text toEncodedUrlPiece :: Milliseconds -> Builder toHeader :: Milliseconds -> ByteString toQueryParam :: Milliseconds -> Text toEncodedQueryParam :: Milliseconds -> Builder | |
Instances
| FromJSON Seconds Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser Seconds parseJSONList :: Value -> Parser [Seconds] omittedField :: Maybe Seconds | |
| ToJSON Seconds Source # | |
Defined in MatrixBot.SharedTypes Methods toEncoding :: Seconds -> Encoding toJSONList :: [Seconds] -> Value toEncodingList :: [Seconds] -> Encoding | |
| Show Seconds Source # | |
| Eq Seconds Source # | |
newtype Microseconds Source #
Constructors
| Microseconds | |
Fields
| |
Instances
| FromJSON Microseconds Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser Microseconds parseJSONList :: Value -> Parser [Microseconds] omittedField :: Maybe Microseconds | |
| ToJSON Microseconds Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: Microseconds -> Value toEncoding :: Microseconds -> Encoding toJSONList :: [Microseconds] -> Value toEncodingList :: [Microseconds] -> Encoding omitField :: Microseconds -> Bool | |
| Show Microseconds Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> Microseconds -> ShowS show :: Microseconds -> String showList :: [Microseconds] -> ShowS | |
| Eq Microseconds Source # | |
Defined in MatrixBot.SharedTypes | |
Other types
newtype RetryLimit Source #
Constructors
| RetryLimit | |
Fields
| |
Instances
| FromJSON RetryLimit Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser RetryLimit parseJSONList :: Value -> Parser [RetryLimit] omittedField :: Maybe RetryLimit | |
| ToJSON RetryLimit Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: RetryLimit -> Value toEncoding :: RetryLimit -> Encoding toJSONList :: [RetryLimit] -> Value toEncodingList :: [RetryLimit] -> Encoding omitField :: RetryLimit -> Bool | |
| Show RetryLimit Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> RetryLimit -> ShowS show :: RetryLimit -> String showList :: [RetryLimit] -> ShowS | |
| Eq RetryLimit Source # | |
Defined in MatrixBot.SharedTypes | |
newtype RetryDelay Source #
Constructors
| RetryDelay | |
Fields | |
Instances
| FromJSON RetryDelay Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser RetryDelay parseJSONList :: Value -> Parser [RetryDelay] omittedField :: Maybe RetryDelay | |
| ToJSON RetryDelay Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: RetryDelay -> Value toEncoding :: RetryDelay -> Encoding toJSONList :: [RetryDelay] -> Value toEncodingList :: [RetryDelay] -> Encoding omitField :: RetryDelay -> Bool | |
| Show RetryDelay Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> RetryDelay -> ShowS show :: RetryDelay -> String showList :: [RetryDelay] -> ShowS | |
| Eq RetryDelay Source # | |
Defined in MatrixBot.SharedTypes | |
class HasRetryParams r where Source #
printRetryDelaySeconds :: IsString s => RetryDelay -> s Source #
newtype EventsTimeout Source #
Constructors
| EventsTimeout | |
Fields | |
Instances
| FromJSON EventsTimeout Source # | |
Defined in MatrixBot.SharedTypes Methods parseJSON :: Value -> Parser EventsTimeout parseJSONList :: Value -> Parser [EventsTimeout] omittedField :: Maybe EventsTimeout | |
| ToJSON EventsTimeout Source # | |
Defined in MatrixBot.SharedTypes Methods toJSON :: EventsTimeout -> Value toEncoding :: EventsTimeout -> Encoding toJSONList :: [EventsTimeout] -> Value toEncodingList :: [EventsTimeout] -> Encoding omitField :: EventsTimeout -> Bool | |
| Show EventsTimeout Source # | |
Defined in MatrixBot.SharedTypes Methods showsPrec :: Int -> EventsTimeout -> ShowS show :: EventsTimeout -> String showList :: [EventsTimeout] -> ShowS | |
| Eq EventsTimeout Source # | |
Defined in MatrixBot.SharedTypes | |