packages feed

bugsnag-types-1.1.0.1: src/Data/Bugsnag/Types/SessionEvent.hs

module Data.Bugsnag.Types.SessionEvent
  ( SessionEvent (..)
  , exampleSessionEvent
  ) where

import Data.Bugsnag.Types.Prelude

-- | Details of the number of handled and unhandled events that have occurred
-- so far in this session.
data SessionEvent = SessionEvent
  { handled :: Int
  -- ^ The number of handled events that have occurred in this session
  -- (including this event).
  , unhandled :: Int
  -- ^ The number of unhandled events that have occurred in this session
  -- (including this event)
  }
  deriving stock (Eq, Show, Generic)

instance FromJSON SessionEvent where
  parseJSON = genericParseJSON aesonOptions

instance ToJSON SessionEvent where
  toJSON = genericToJSON aesonOptions
  toEncoding = genericToEncoding aesonOptions

exampleSessionEvent :: SessionEvent
exampleSessionEvent = SessionEvent
  { handled = 1
  , unhandled = 1
  }