matrix-bot-0.2.0: Matrix multipurpose bot
Safe HaskellNone
LanguageHaskell2010

MatrixBot.SharedTypes

Description

A set of generic types that can be used in different places/modules

Synopsis

Matrix entities

newtype Username Source #

Constructors

Username 

Fields

Instances

Instances details
FromJSON Username Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser Username

parseJSONList :: Value -> Parser [Username]

omittedField :: Maybe Username

ToJSON Username Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: Username -> Value

toEncoding :: Username -> Encoding

toJSONList :: [Username] -> Value

toEncodingList :: [Username] -> Encoding

omitField :: Username -> Bool

Show Username Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> Username -> ShowS

show :: Username -> String

showList :: [Username] -> ShowS

Eq Username Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: Username -> Username -> Bool

(/=) :: Username -> Username -> Bool

newtype Password Source #

Constructors

Password 

Fields

Instances

Instances details
FromJSON Password Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser Password

parseJSONList :: Value -> Parser [Password]

omittedField :: Maybe Password

ToJSON Password Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: Password -> Value

toEncoding :: Password -> Encoding

toJSONList :: [Password] -> Value

toEncodingList :: [Password] -> Encoding

omitField :: Password -> Bool

Show Password Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> Password -> ShowS

show :: Password -> String

showList :: [Password] -> ShowS

Eq Password Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: Password -> Password -> Bool

(/=) :: Password -> Password -> Bool

newtype AccessToken Source #

Constructors

AccessToken 

Fields

Instances

Instances details
FromJSON AccessToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser AccessToken

parseJSONList :: Value -> Parser [AccessToken]

omittedField :: Maybe AccessToken

ToJSON AccessToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: AccessToken -> Value

toEncoding :: AccessToken -> Encoding

toJSONList :: [AccessToken] -> Value

toEncodingList :: [AccessToken] -> Encoding

omitField :: AccessToken -> Bool

Show AccessToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> AccessToken -> ShowS

show :: AccessToken -> String

showList :: [AccessToken] -> ShowS

Eq AccessToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: AccessToken -> AccessToken -> Bool

(/=) :: AccessToken -> AccessToken -> Bool

newtype HomeServer Source #

Constructors

HomeServer 

Fields

Instances

Instances details
FromJSON HomeServer Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser HomeServer

parseJSONList :: Value -> Parser [HomeServer]

omittedField :: Maybe HomeServer

ToJSON HomeServer Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: HomeServer -> Value

toEncoding :: HomeServer -> Encoding

toJSONList :: [HomeServer] -> Value

toEncodingList :: [HomeServer] -> Encoding

omitField :: HomeServer -> Bool

Show HomeServer Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> HomeServer -> ShowS

show :: HomeServer -> String

showList :: [HomeServer] -> ShowS

Eq HomeServer Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: HomeServer -> HomeServer -> Bool

(/=) :: HomeServer -> HomeServer -> Bool

data Mxid Source #

Matrix user identifier aka MXID

Looks like this:

@username:homeserver.tld

Constructors

Mxid 

Instances

Instances details
FromJSON Mxid Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser Mxid

parseJSONList :: Value -> Parser [Mxid]

omittedField :: Maybe Mxid

ToJSON Mxid Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: Mxid -> Value

toEncoding :: Mxid -> Encoding

toJSONList :: [Mxid] -> Value

toEncodingList :: [Mxid] -> Encoding

omitField :: Mxid -> Bool

Show Mxid Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> Mxid -> ShowS

show :: Mxid -> String

showList :: [Mxid] -> ShowS

Eq Mxid Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: Mxid -> Mxid -> Bool

(/=) :: Mxid -> Mxid -> Bool

ToHttpApiData Mxid Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toUrlPiece :: Mxid -> Text

toEncodedUrlPiece :: Mxid -> Builder

toHeader :: Mxid -> ByteString

toQueryParam :: Mxid -> Text

toEncodedQueryParam :: Mxid -> Builder

printMxid :: Mxid -> Text Source #

data RoomId 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

Instances details
FromJSON RoomId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser RoomId

parseJSONList :: Value -> Parser [RoomId]

omittedField :: Maybe RoomId

ToJSON RoomId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: RoomId -> Value

toEncoding :: RoomId -> Encoding

toJSONList :: [RoomId] -> Value

toEncodingList :: [RoomId] -> Encoding

omitField :: RoomId -> Bool

Show RoomId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> RoomId -> ShowS

show :: RoomId -> String

showList :: [RoomId] -> ShowS

Eq RoomId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: RoomId -> RoomId -> Bool

(/=) :: RoomId -> RoomId -> Bool

ToHttpApiData RoomId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toUrlPiece :: RoomId -> Text

toEncodedUrlPiece :: RoomId -> Builder

toHeader :: RoomId -> ByteString

toQueryParam :: RoomId -> Text

toEncodedQueryParam :: RoomId -> Builder

newtype EventId Source #

Constructors

EventId 

Fields

Instances

Instances details
FromJSON EventId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser EventId

parseJSONList :: Value -> Parser [EventId]

omittedField :: Maybe EventId

ToJSON EventId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: EventId -> Value

toEncoding :: EventId -> Encoding

toJSONList :: [EventId] -> Value

toEncodingList :: [EventId] -> Encoding

omitField :: EventId -> Bool

Show EventId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> EventId -> ShowS

show :: EventId -> String

showList :: [EventId] -> ShowS

Eq EventId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: EventId -> EventId -> Bool

(/=) :: EventId -> EventId -> Bool

newtype EventToken Source #

Constructors

EventToken 

Fields

Instances

Instances details
FromJSON EventToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser EventToken

parseJSONList :: Value -> Parser [EventToken]

omittedField :: Maybe EventToken

ToJSON EventToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: EventToken -> Value

toEncoding :: EventToken -> Encoding

toJSONList :: [EventToken] -> Value

toEncodingList :: [EventToken] -> Encoding

omitField :: EventToken -> Bool

Show EventToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> EventToken -> ShowS

show :: EventToken -> String

showList :: [EventToken] -> ShowS

Eq EventToken Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: EventToken -> EventToken -> Bool

(/=) :: EventToken -> EventToken -> Bool

ToHttpApiData EventToken Source # 
Instance details

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

Instances details
FromJSON TransactionId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser TransactionId

parseJSONList :: Value -> Parser [TransactionId]

omittedField :: Maybe TransactionId

ToJSON TransactionId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: TransactionId -> Value

toEncoding :: TransactionId -> Encoding

toJSONList :: [TransactionId] -> Value

toEncodingList :: [TransactionId] -> Encoding

omitField :: TransactionId -> Bool

Show TransactionId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> TransactionId -> ShowS

show :: TransactionId -> String

showList :: [TransactionId] -> ShowS

Eq TransactionId Source # 
Instance details

Defined in MatrixBot.SharedTypes

ToHttpApiData TransactionId Source # 
Instance details

Defined in MatrixBot.SharedTypes

newtype FilterId Source #

Constructors

FilterId 

Fields

Instances

Instances details
FromJSON FilterId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser FilterId

parseJSONList :: Value -> Parser [FilterId]

omittedField :: Maybe FilterId

ToJSON FilterId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: FilterId -> Value

toEncoding :: FilterId -> Encoding

toJSONList :: [FilterId] -> Value

toEncodingList :: [FilterId] -> Encoding

omitField :: FilterId -> Bool

Show FilterId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> FilterId -> ShowS

show :: FilterId -> String

showList :: [FilterId] -> ShowS

Eq FilterId Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: FilterId -> FilterId -> Bool

(/=) :: FilterId -> FilterId -> Bool

ToHttpApiData FilterId Source # 
Instance details

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

Instances details
FromJSON Milliseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser Milliseconds

parseJSONList :: Value -> Parser [Milliseconds]

omittedField :: Maybe Milliseconds

ToJSON Milliseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: Milliseconds -> Value

toEncoding :: Milliseconds -> Encoding

toJSONList :: [Milliseconds] -> Value

toEncodingList :: [Milliseconds] -> Encoding

omitField :: Milliseconds -> Bool

Show Milliseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> Milliseconds -> ShowS

show :: Milliseconds -> String

showList :: [Milliseconds] -> ShowS

Eq Milliseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: Milliseconds -> Milliseconds -> Bool

(/=) :: Milliseconds -> Milliseconds -> Bool

ToHttpApiData Milliseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

newtype Seconds Source #

Constructors

Seconds 

Fields

Instances

Instances details
FromJSON Seconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser Seconds

parseJSONList :: Value -> Parser [Seconds]

omittedField :: Maybe Seconds

ToJSON Seconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: Seconds -> Value

toEncoding :: Seconds -> Encoding

toJSONList :: [Seconds] -> Value

toEncodingList :: [Seconds] -> Encoding

omitField :: Seconds -> Bool

Show Seconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> Seconds -> ShowS

show :: Seconds -> String

showList :: [Seconds] -> ShowS

Eq Seconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: Seconds -> Seconds -> Bool

(/=) :: Seconds -> Seconds -> Bool

newtype Microseconds Source #

Constructors

Microseconds 

Fields

Instances

Instances details
FromJSON Microseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser Microseconds

parseJSONList :: Value -> Parser [Microseconds]

omittedField :: Maybe Microseconds

ToJSON Microseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: Microseconds -> Value

toEncoding :: Microseconds -> Encoding

toJSONList :: [Microseconds] -> Value

toEncodingList :: [Microseconds] -> Encoding

omitField :: Microseconds -> Bool

Show Microseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> Microseconds -> ShowS

show :: Microseconds -> String

showList :: [Microseconds] -> ShowS

Eq Microseconds Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: Microseconds -> Microseconds -> Bool

(/=) :: Microseconds -> Microseconds -> Bool

Other types

newtype RetryLimit Source #

Constructors

RetryLimit 

Fields

Instances

Instances details
FromJSON RetryLimit Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser RetryLimit

parseJSONList :: Value -> Parser [RetryLimit]

omittedField :: Maybe RetryLimit

ToJSON RetryLimit Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: RetryLimit -> Value

toEncoding :: RetryLimit -> Encoding

toJSONList :: [RetryLimit] -> Value

toEncodingList :: [RetryLimit] -> Encoding

omitField :: RetryLimit -> Bool

Show RetryLimit Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> RetryLimit -> ShowS

show :: RetryLimit -> String

showList :: [RetryLimit] -> ShowS

Eq RetryLimit Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: RetryLimit -> RetryLimit -> Bool

(/=) :: RetryLimit -> RetryLimit -> Bool

newtype RetryDelay Source #

Constructors

RetryDelay 

Instances

Instances details
FromJSON RetryDelay Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser RetryDelay

parseJSONList :: Value -> Parser [RetryDelay]

omittedField :: Maybe RetryDelay

ToJSON RetryDelay Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: RetryDelay -> Value

toEncoding :: RetryDelay -> Encoding

toJSONList :: [RetryDelay] -> Value

toEncodingList :: [RetryDelay] -> Encoding

omitField :: RetryDelay -> Bool

Show RetryDelay Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> RetryDelay -> ShowS

show :: RetryDelay -> String

showList :: [RetryDelay] -> ShowS

Eq RetryDelay Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

(==) :: RetryDelay -> RetryDelay -> Bool

(/=) :: RetryDelay -> RetryDelay -> Bool

class HasRetryParams r where Source #

newtype EventsTimeout Source #

Constructors

EventsTimeout 

Instances

Instances details
FromJSON EventsTimeout Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

parseJSON :: Value -> Parser EventsTimeout

parseJSONList :: Value -> Parser [EventsTimeout]

omittedField :: Maybe EventsTimeout

ToJSON EventsTimeout Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

toJSON :: EventsTimeout -> Value

toEncoding :: EventsTimeout -> Encoding

toJSONList :: [EventsTimeout] -> Value

toEncodingList :: [EventsTimeout] -> Encoding

omitField :: EventsTimeout -> Bool

Show EventsTimeout Source # 
Instance details

Defined in MatrixBot.SharedTypes

Methods

showsPrec :: Int -> EventsTimeout -> ShowS

show :: EventsTimeout -> String

showList :: [EventsTimeout] -> ShowS

Eq EventsTimeout Source # 
Instance details

Defined in MatrixBot.SharedTypes