tesla-0.2.0.0: Tesla API client.

Safe HaskellNone
LanguageHaskell2010

Tesla.Car.Command

Contents

Description

Executing commands within the Car Monad.

Synopsis

Documentation

runCmd :: (MonadIO m, Postable p) => String -> p -> Car m CommandResponse Source #

Run a command with a payload.

runCmd' :: MonadIO m => String -> Car m CommandResponse Source #

Run command without a payload

type CommandResponse = Either Text () Source #

A CommandResponse wraps an Either such that Left represents a failure message and Right suggests the command was successful.

data Car m a Source #

Car Monad for accessing car-specific things.

Instances
Monad m => Monad (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

(>>=) :: Car m a -> (a -> Car m b) -> Car m b #

(>>) :: Car m a -> Car m b -> Car m b #

return :: a -> Car m a #

fail :: String -> Car m a #

Functor m => Functor (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

fmap :: (a -> b) -> Car m a -> Car m b #

(<$) :: a -> Car m b -> Car m a #

MonadFail m => MonadFail (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

fail :: String -> Car m a #

Applicative m => Applicative (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

pure :: a -> Car m a #

(<*>) :: Car m (a -> b) -> Car m a -> Car m b #

liftA2 :: (a -> b -> c) -> Car m a -> Car m b -> Car m c #

(*>) :: Car m a -> Car m b -> Car m b #

(<*) :: Car m a -> Car m b -> Car m a #

MonadIO m => MonadIO (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

liftIO :: IO a -> Car m a #

MonadUnliftIO m => MonadUnliftIO (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

withRunInIO :: ((forall a. Car m a -> IO a) -> IO b) -> Car m b #

MonadThrow m => MonadThrow (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

throwM :: Exception e => e -> Car m a #

MonadCatch m => MonadCatch (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

catch :: Exception e => Car m a -> (e -> Car m a) -> Car m a #

MonadMask m => MonadMask (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

mask :: ((forall a. Car m a -> Car m a) -> Car m b) -> Car m b #

uninterruptibleMask :: ((forall a. Car m a -> Car m a) -> Car m b) -> Car m b #

generalBracket :: Car m a -> (a -> ExitCase b -> Car m c) -> (a -> Car m b) -> Car m (b, c) #

MonadLogger m => MonadLogger (Car m) Source # 
Instance details

Defined in Tesla.Car

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> Car m () #

TH support for generating commands.

mkCommand :: String -> String -> Q [Dec] Source #

Build a simple named command car that posts to the given named endpoint.

mkCommands :: [String] -> Q [Dec] Source #

Build a bunch of commands from a list of named endpoints, defining functions by removing the common prefix.

mkNamedCommands :: [(String, String)] -> Q [Dec] Source #

Make commands with given names.

Orphan instances

FormValue Bool Source # 
Instance details