Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ribosome.Plugin.TH.Command
Documentation
data CmdParamType Source #
Instances
Eq CmdParamType Source # | |
Defined in Ribosome.Plugin.TH.Command | |
Show CmdParamType Source # | |
Defined in Ribosome.Plugin.TH.Command Methods showsPrec :: Int -> CmdParamType -> ShowS # show :: CmdParamType -> String # showList :: [CmdParamType] -> ShowS # |
Constructors
ZeroParams | |
OneParam Bool CmdParamType | |
OnlyPrims Int | |
DataPlus Int |
data HandlerParams Source #
Constructors
HandlerParams | |
Fields |
Instances
Eq HandlerParams Source # | |
Defined in Ribosome.Plugin.TH.Command Methods (==) :: HandlerParams -> HandlerParams -> Bool # (/=) :: HandlerParams -> HandlerParams -> Bool # | |
Show HandlerParams Source # | |
Defined in Ribosome.Plugin.TH.Command Methods showsPrec :: Int -> HandlerParams -> ShowS # show :: HandlerParams -> String # showList :: [HandlerParams] -> ShowS # |
primArgPattern :: [Name] -> PatQ Source #
newtype ArgNormalizer m Source #
Constructors
ArgNormalizer (Text -> [Object] -> m (Object, [Object])) |
shapeError :: Text -> m a Source #
normalizeArgsFlat :: Monad m => ArgNormalizer m Source #
normalizeArgsPlus :: Monad m => ArgNormalizer m Source #
normalizeArgs :: CmdParams -> ExpQ Source #
rpc :: Monad m => MsgpackEncode a => Text -> ArgNormalizer m -> (Object -> [Object] -> Either Err (m a)) -> [Object] -> m Object Source #
invalidArgCount :: String -> m a Source #
command :: String -> Name -> [Name] -> HandlerParams -> PatQ -> (Name -> Name -> [Name] -> Bool -> ExpQ) -> ExpQ Source #
primCommand :: String -> Name -> [Name] -> HandlerParams -> Bool -> Bool -> ExpQ Source #
jsonCommand :: String -> Name -> [Name] -> HandlerParams -> Bool -> ExpQ Source #
commandImplementation :: String -> Name -> HandlerParams -> ExpQ Source #
cmdNargs :: CmdParams -> CommandOption Source #
amendSync :: Synchronous -> [CommandOption] -> [CommandOption] Source #
rpcCommand :: String -> Name -> HandlerParams -> Synchronous -> [CommandOption] -> ExpQ Source #
handlerParams :: Name -> Q HandlerParams Source #