cdp-0.0.1.0: src/CDP/Domains/EventBreakpoints.hs
{-# LANGUAGE OverloadedStrings, RecordWildCards, TupleSections #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies #-}
{- |
= EventBreakpoints
EventBreakpoints permits setting breakpoints on particular operations and
events in targets that run JavaScript but do not have a DOM.
JavaScript execution will stop on these operations as if there was a regular
breakpoint set.
-}
module CDP.Domains.EventBreakpoints (module CDP.Domains.EventBreakpoints) where
import Control.Applicative ((<$>))
import Control.Monad
import Control.Monad.Loops
import Control.Monad.Trans (liftIO)
import qualified Data.Map as M
import Data.Maybe
import Data.Functor.Identity
import Data.String
import qualified Data.Text as T
import qualified Data.List as List
import qualified Data.Text.IO as TI
import qualified Data.Vector as V
import Data.Aeson.Types (Parser(..))
import Data.Aeson (FromJSON (..), ToJSON (..), (.:), (.:?), (.=), (.!=), (.:!))
import qualified Data.Aeson as A
import qualified Network.HTTP.Simple as Http
import qualified Network.URI as Uri
import qualified Network.WebSockets as WS
import Control.Concurrent
import qualified Data.ByteString.Lazy as BS
import qualified Data.Map as Map
import Data.Proxy
import System.Random
import GHC.Generics
import Data.Char
import Data.Default
import CDP.Internal.Utils
-- | Sets breakpoint on particular native event.
-- | Parameters of the 'EventBreakpoints.setInstrumentationBreakpoint' command.
data PEventBreakpointsSetInstrumentationBreakpoint = PEventBreakpointsSetInstrumentationBreakpoint
{
-- | Instrumentation name to stop on.
pEventBreakpointsSetInstrumentationBreakpointEventName :: T.Text
}
deriving (Eq, Show)
pEventBreakpointsSetInstrumentationBreakpoint
{-
-- | Instrumentation name to stop on.
-}
:: T.Text
-> PEventBreakpointsSetInstrumentationBreakpoint
pEventBreakpointsSetInstrumentationBreakpoint
arg_pEventBreakpointsSetInstrumentationBreakpointEventName
= PEventBreakpointsSetInstrumentationBreakpoint
arg_pEventBreakpointsSetInstrumentationBreakpointEventName
instance ToJSON PEventBreakpointsSetInstrumentationBreakpoint where
toJSON p = A.object $ catMaybes [
("eventName" A..=) <$> Just (pEventBreakpointsSetInstrumentationBreakpointEventName p)
]
instance Command PEventBreakpointsSetInstrumentationBreakpoint where
type CommandResponse PEventBreakpointsSetInstrumentationBreakpoint = ()
commandName _ = "EventBreakpoints.setInstrumentationBreakpoint"
fromJSON = const . A.Success . const ()
-- | Removes breakpoint on particular native event.
-- | Parameters of the 'EventBreakpoints.removeInstrumentationBreakpoint' command.
data PEventBreakpointsRemoveInstrumentationBreakpoint = PEventBreakpointsRemoveInstrumentationBreakpoint
{
-- | Instrumentation name to stop on.
pEventBreakpointsRemoveInstrumentationBreakpointEventName :: T.Text
}
deriving (Eq, Show)
pEventBreakpointsRemoveInstrumentationBreakpoint
{-
-- | Instrumentation name to stop on.
-}
:: T.Text
-> PEventBreakpointsRemoveInstrumentationBreakpoint
pEventBreakpointsRemoveInstrumentationBreakpoint
arg_pEventBreakpointsRemoveInstrumentationBreakpointEventName
= PEventBreakpointsRemoveInstrumentationBreakpoint
arg_pEventBreakpointsRemoveInstrumentationBreakpointEventName
instance ToJSON PEventBreakpointsRemoveInstrumentationBreakpoint where
toJSON p = A.object $ catMaybes [
("eventName" A..=) <$> Just (pEventBreakpointsRemoveInstrumentationBreakpointEventName p)
]
instance Command PEventBreakpointsRemoveInstrumentationBreakpoint where
type CommandResponse PEventBreakpointsRemoveInstrumentationBreakpoint = ()
commandName _ = "EventBreakpoints.removeInstrumentationBreakpoint"
fromJSON = const . A.Success . const ()