module Network.FastIRC.ServerSet
(
ServerSet,
addServer,
delServer,
emptyServers,
isServer,
serverList,
serversFromList
)
where
import qualified Data.ByteString.Char8 as B
import qualified Data.Set as S
import Data.Char
newtype ServerSet = ServerSet (S.Set B.ByteString)
emptyServers :: ServerSet
emptyServers = ServerSet S.empty
addServer :: B.ByteString -> ServerSet -> ServerSet
addServer s (ServerSet ss) = ServerSet $ S.insert (B.map toLower s) ss
delServer :: B.ByteString -> ServerSet -> ServerSet
delServer s (ServerSet ss) = ServerSet $ S.delete (B.map toLower s) ss
isServer :: B.ByteString -> ServerSet -> Bool
isServer s (ServerSet ss) = S.member (B.map toLower s) ss
serverList :: ServerSet -> [B.ByteString]
serverList (ServerSet ss) = S.toList ss
serversFromList :: [B.ByteString] -> ServerSet
serversFromList = ServerSet . S.fromList