From a00da57346c195b1b15d1c6aca2891483901aae6 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 21 Jan 2019 19:44:39 +0100 Subject: src: Types -> Internal --- src/Reaktor/Types.hs | 58 ---------------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 src/Reaktor/Types.hs (limited to 'src/Reaktor/Types.hs') diff --git a/src/Reaktor/Types.hs b/src/Reaktor/Types.hs deleted file mode 100644 index 7b5e8fa..0000000 --- a/src/Reaktor/Types.hs +++ /dev/null @@ -1,58 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -module Reaktor.Types (module Reaktor.Types, module X) where - -import Blessings (Blessings) -import Control.Monad.Trans.Class as X (lift) -import Control.Monad.Trans.State as X (gets,modify) -import Control.Monad.Trans.State (StateT) -import Data.Aeson -import Data.Aeson.Types -import qualified Data.ByteString.Char8.Extended as BS -import Network.Socket as X (HostName,ServiceName) - - -type Prefix = BS.ByteString - -type Nickname = BS.ByteString -type Password = BS.ByteString -type MsgTarget = BS.ByteString -type Channel = MsgTarget - -data PluginState = PluginState { - s_putLog :: Blessings BS.ByteString -> IO (), - s_nick :: BS.ByteString, - s_sendMsg :: Message -> IO (), - s_sendMsg' :: Message -> Message -> IO () - } - -setNick :: Nickname -> PluginIO () -setNick newnick = modify (\q -> q { s_nick = newnick }) - -getNick :: PluginIO Nickname -getNick = gets s_nick - -sendMsg :: Message -> PluginIO () -sendMsg msg = gets s_sendMsg >>= \f -> lift $ f msg - -sendMsg' :: Message -> Message -> PluginIO () -sendMsg' msg logMsg = gets s_sendMsg' >>= \f -> lift $ f msg logMsg - - -type PluginIO = StateT PluginState IO - -type PluginFunc = Message -> PluginIO () - -data Plugin = Plugin { - pluginFunc :: PluginFunc, - requireTLS :: Bool - } - -simplePlugin :: FromJSON a => (a -> PluginFunc) -> Value -> IO Plugin -simplePlugin f v = - either error (\x -> return $ Plugin (f x) False) (parseEither parseJSON v) - - -type Param = BS.ByteString -type Command = BS.ByteString -data Message = Message (Maybe Prefix) Command [Param] - deriving Show -- cgit v1.2.3