-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Mixpanel client
--
-- Mixpanel client
@package mixpanel-client
@version 0.3.0
module MixPanel.Types.Core
newtype AuthToken
AuthToken :: Text -> AuthToken
-- | MixPanel API uses boolean logic with 1 or 0, | so we have a special
-- type for it
data Toggle
On :: Toggle
Off :: Toggle
data DidSucceed
Success :: DidSucceed
Fail :: Text -> DidSucceed
instance Data.Aeson.Types.ToJSON.ToJSON MixPanel.Types.Core.AuthToken
instance GHC.Generics.Generic MixPanel.Types.Core.AuthToken
instance GHC.Show.Show MixPanel.Types.Core.Toggle
instance GHC.Show.Show MixPanel.Types.Core.DidSucceed
instance Data.Aeson.Types.FromJSON.FromJSON MixPanel.Types.Core.DidSucceed
instance Data.Aeson.Types.ToJSON.ToJSON MixPanel.Types.Core.Toggle
instance Web.Internal.HttpApiData.ToHttpApiData MixPanel.Types.Core.Toggle
module MixPanel.Types.EngageData
data EngageData
EngageData :: AuthToken -> DistinctId -> Maybe Text -> Maybe Text -> Maybe Bool -> Operation -> EngageData
[token] :: EngageData -> AuthToken
[distinctId] :: EngageData -> DistinctId
[ip] :: EngageData -> Maybe Text
[time] :: EngageData -> Maybe Text
[ignoreTime] :: EngageData -> Maybe Bool
[operation] :: EngageData -> Operation
type DistinctId = Text
mkEngageData :: AuthToken -> DistinctId -> Operation -> EngageData
data Operation
[Set] :: Object -> Operation
[SetOnce] :: Object -> Operation
[Add] :: Object -> Operation
[Append] :: Object -> Operation
[Union] :: Object -> Operation
[Remove] :: Object -> Operation
[Unset] :: Array -> Operation
[Delete] :: Operation
instance Data.Aeson.Types.ToJSON.ToJSON MixPanel.Types.EngageData.EngageData
instance Web.Internal.HttpApiData.ToHttpApiData MixPanel.Types.EngageData.EngageData
instance Data.Aeson.Types.ToJSON.ToJSON MixPanel.Types.EngageData.Operation
module MixPanel.Types.TrackData
data TrackData
TrackData :: Text -> Properties -> TrackData
[event] :: TrackData -> Text
[properties] :: TrackData -> Properties
data Properties
mkProperties :: AuthToken -> Object -> Properties
instance Data.Aeson.Types.ToJSON.ToJSON MixPanel.Types.TrackData.TrackData
instance GHC.Generics.Generic MixPanel.Types.TrackData.TrackData
instance Web.Internal.HttpApiData.ToHttpApiData MixPanel.Types.TrackData.TrackData
instance Data.Aeson.Types.ToJSON.ToJSON MixPanel.Types.TrackData.Properties
module MixPanel.API
type API = Track :<|> Engage
api :: Proxy API
module MixPanel
data MixPanelError
ClientError :: ClientError -> MixPanelError
Error :: Text -> MixPanelError
newtype AuthToken
AuthToken :: Text -> AuthToken
data Operation
[Set] :: Object -> Operation
[SetOnce] :: Object -> Operation
[Add] :: Object -> Operation
[Append] :: Object -> Operation
[Union] :: Object -> Operation
[Remove] :: Object -> Operation
[Unset] :: Array -> Operation
[Delete] :: Operation
type DistinctId = Text
mkEnv :: AuthToken -> Manager -> Env
data Env
track :: Env -> Text -> Object -> IO (Either MixPanelError ())
-- | Renames distinct id into alias id
alias :: Env -> DistinctId -> Text -> IO (Either MixPanelError ())
engage :: Env -> DistinctId -> Operation -> IO (Either MixPanelError ())
engage' :: Env -> DistinctId -> (EngageData -> EngageData) -> Operation -> IO (Either MixPanelError ())
-- | Default TLS-enabled manager settings
tlsManagerSettings :: ManagerSettings
-- | Create a Manager. The Manager will be shut down
-- automatically via garbage collection.
--
-- Creating a new Manager is a relatively expensive operation, you
-- are advised to share a single Manager between requests instead.
--
-- The first argument to this function is often
-- defaultManagerSettings, though add-on libraries may provide a
-- recommended replacement.
--
-- Since 0.1.0
newManager :: ManagerSettings -> IO Manager
instance GHC.Exception.Type.Exception MixPanel.MixPanelError
instance GHC.Show.Show MixPanel.MixPanelError