{-# LANGUAGE OverloadedStrings, RecordWildCards, TupleSections #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies #-}
module CDP.Domains.HeadlessExperimental (module CDP.Domains.HeadlessExperimental) 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
data HeadlessExperimentalScreenshotParamsFormat = HeadlessExperimentalScreenshotParamsFormatJpeg | HeadlessExperimentalScreenshotParamsFormatPng
deriving (Eq HeadlessExperimentalScreenshotParamsFormat
Eq HeadlessExperimentalScreenshotParamsFormat
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Ordering)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat)
-> Ord HeadlessExperimentalScreenshotParamsFormat
HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Ordering
HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
$cmin :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
max :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
$cmax :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat
>= :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
$c>= :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
> :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
$c> :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
<= :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
$c<= :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
< :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
$c< :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
compare :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Ordering
$ccompare :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Ordering
$cp1Ord :: Eq HeadlessExperimentalScreenshotParamsFormat
Ord, HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
(HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool)
-> (HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool)
-> Eq HeadlessExperimentalScreenshotParamsFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
$c/= :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
== :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
$c== :: HeadlessExperimentalScreenshotParamsFormat
-> HeadlessExperimentalScreenshotParamsFormat -> Bool
Eq, Int -> HeadlessExperimentalScreenshotParamsFormat -> ShowS
[HeadlessExperimentalScreenshotParamsFormat] -> ShowS
HeadlessExperimentalScreenshotParamsFormat -> String
(Int -> HeadlessExperimentalScreenshotParamsFormat -> ShowS)
-> (HeadlessExperimentalScreenshotParamsFormat -> String)
-> ([HeadlessExperimentalScreenshotParamsFormat] -> ShowS)
-> Show HeadlessExperimentalScreenshotParamsFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HeadlessExperimentalScreenshotParamsFormat] -> ShowS
$cshowList :: [HeadlessExperimentalScreenshotParamsFormat] -> ShowS
show :: HeadlessExperimentalScreenshotParamsFormat -> String
$cshow :: HeadlessExperimentalScreenshotParamsFormat -> String
showsPrec :: Int -> HeadlessExperimentalScreenshotParamsFormat -> ShowS
$cshowsPrec :: Int -> HeadlessExperimentalScreenshotParamsFormat -> ShowS
Show, ReadPrec [HeadlessExperimentalScreenshotParamsFormat]
ReadPrec HeadlessExperimentalScreenshotParamsFormat
Int -> ReadS HeadlessExperimentalScreenshotParamsFormat
ReadS [HeadlessExperimentalScreenshotParamsFormat]
(Int -> ReadS HeadlessExperimentalScreenshotParamsFormat)
-> ReadS [HeadlessExperimentalScreenshotParamsFormat]
-> ReadPrec HeadlessExperimentalScreenshotParamsFormat
-> ReadPrec [HeadlessExperimentalScreenshotParamsFormat]
-> Read HeadlessExperimentalScreenshotParamsFormat
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [HeadlessExperimentalScreenshotParamsFormat]
$creadListPrec :: ReadPrec [HeadlessExperimentalScreenshotParamsFormat]
readPrec :: ReadPrec HeadlessExperimentalScreenshotParamsFormat
$creadPrec :: ReadPrec HeadlessExperimentalScreenshotParamsFormat
readList :: ReadS [HeadlessExperimentalScreenshotParamsFormat]
$creadList :: ReadS [HeadlessExperimentalScreenshotParamsFormat]
readsPrec :: Int -> ReadS HeadlessExperimentalScreenshotParamsFormat
$creadsPrec :: Int -> ReadS HeadlessExperimentalScreenshotParamsFormat
Read)
instance FromJSON HeadlessExperimentalScreenshotParamsFormat where
parseJSON :: Value -> Parser HeadlessExperimentalScreenshotParamsFormat
parseJSON = String
-> (Text -> Parser HeadlessExperimentalScreenshotParamsFormat)
-> Value
-> Parser HeadlessExperimentalScreenshotParamsFormat
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"HeadlessExperimentalScreenshotParamsFormat" ((Text -> Parser HeadlessExperimentalScreenshotParamsFormat)
-> Value -> Parser HeadlessExperimentalScreenshotParamsFormat)
-> (Text -> Parser HeadlessExperimentalScreenshotParamsFormat)
-> Value
-> Parser HeadlessExperimentalScreenshotParamsFormat
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
Text
"jpeg" -> HeadlessExperimentalScreenshotParamsFormat
-> Parser HeadlessExperimentalScreenshotParamsFormat
forall (f :: * -> *) a. Applicative f => a -> f a
pure HeadlessExperimentalScreenshotParamsFormat
HeadlessExperimentalScreenshotParamsFormatJpeg
Text
"png" -> HeadlessExperimentalScreenshotParamsFormat
-> Parser HeadlessExperimentalScreenshotParamsFormat
forall (f :: * -> *) a. Applicative f => a -> f a
pure HeadlessExperimentalScreenshotParamsFormat
HeadlessExperimentalScreenshotParamsFormatPng
Text
"_" -> String -> Parser HeadlessExperimentalScreenshotParamsFormat
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse HeadlessExperimentalScreenshotParamsFormat"
instance ToJSON HeadlessExperimentalScreenshotParamsFormat where
toJSON :: HeadlessExperimentalScreenshotParamsFormat -> Value
toJSON HeadlessExperimentalScreenshotParamsFormat
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case HeadlessExperimentalScreenshotParamsFormat
v of
HeadlessExperimentalScreenshotParamsFormat
HeadlessExperimentalScreenshotParamsFormatJpeg -> Text
"jpeg"
HeadlessExperimentalScreenshotParamsFormat
HeadlessExperimentalScreenshotParamsFormatPng -> Text
"png"
data HeadlessExperimentalScreenshotParams = HeadlessExperimentalScreenshotParams
{
HeadlessExperimentalScreenshotParams
-> Maybe HeadlessExperimentalScreenshotParamsFormat
headlessExperimentalScreenshotParamsFormat :: Maybe HeadlessExperimentalScreenshotParamsFormat,
HeadlessExperimentalScreenshotParams -> Maybe Int
headlessExperimentalScreenshotParamsQuality :: Maybe Int
}
deriving (HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool
(HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool)
-> (HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool)
-> Eq HeadlessExperimentalScreenshotParams
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool
$c/= :: HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool
== :: HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool
$c== :: HeadlessExperimentalScreenshotParams
-> HeadlessExperimentalScreenshotParams -> Bool
Eq, Int -> HeadlessExperimentalScreenshotParams -> ShowS
[HeadlessExperimentalScreenshotParams] -> ShowS
HeadlessExperimentalScreenshotParams -> String
(Int -> HeadlessExperimentalScreenshotParams -> ShowS)
-> (HeadlessExperimentalScreenshotParams -> String)
-> ([HeadlessExperimentalScreenshotParams] -> ShowS)
-> Show HeadlessExperimentalScreenshotParams
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HeadlessExperimentalScreenshotParams] -> ShowS
$cshowList :: [HeadlessExperimentalScreenshotParams] -> ShowS
show :: HeadlessExperimentalScreenshotParams -> String
$cshow :: HeadlessExperimentalScreenshotParams -> String
showsPrec :: Int -> HeadlessExperimentalScreenshotParams -> ShowS
$cshowsPrec :: Int -> HeadlessExperimentalScreenshotParams -> ShowS
Show)
instance FromJSON HeadlessExperimentalScreenshotParams where
parseJSON :: Value -> Parser HeadlessExperimentalScreenshotParams
parseJSON = String
-> (Object -> Parser HeadlessExperimentalScreenshotParams)
-> Value
-> Parser HeadlessExperimentalScreenshotParams
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"HeadlessExperimentalScreenshotParams" ((Object -> Parser HeadlessExperimentalScreenshotParams)
-> Value -> Parser HeadlessExperimentalScreenshotParams)
-> (Object -> Parser HeadlessExperimentalScreenshotParams)
-> Value
-> Parser HeadlessExperimentalScreenshotParams
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe HeadlessExperimentalScreenshotParamsFormat
-> Maybe Int -> HeadlessExperimentalScreenshotParams
HeadlessExperimentalScreenshotParams
(Maybe HeadlessExperimentalScreenshotParamsFormat
-> Maybe Int -> HeadlessExperimentalScreenshotParams)
-> Parser (Maybe HeadlessExperimentalScreenshotParamsFormat)
-> Parser (Maybe Int -> HeadlessExperimentalScreenshotParams)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object
-> Text
-> Parser (Maybe HeadlessExperimentalScreenshotParamsFormat)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"format"
Parser (Maybe Int -> HeadlessExperimentalScreenshotParams)
-> Parser (Maybe Int)
-> Parser HeadlessExperimentalScreenshotParams
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"quality"
instance ToJSON HeadlessExperimentalScreenshotParams where
toJSON :: HeadlessExperimentalScreenshotParams -> Value
toJSON HeadlessExperimentalScreenshotParams
p = [Pair] -> Value
A.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
catMaybes [
(Text
"format" Text -> HeadlessExperimentalScreenshotParamsFormat -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (HeadlessExperimentalScreenshotParamsFormat -> Pair)
-> Maybe HeadlessExperimentalScreenshotParamsFormat -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (HeadlessExperimentalScreenshotParams
-> Maybe HeadlessExperimentalScreenshotParamsFormat
headlessExperimentalScreenshotParamsFormat HeadlessExperimentalScreenshotParams
p),
(Text
"quality" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (HeadlessExperimentalScreenshotParams -> Maybe Int
headlessExperimentalScreenshotParamsQuality HeadlessExperimentalScreenshotParams
p)
]
data PHeadlessExperimentalBeginFrame = PHeadlessExperimentalBeginFrame
{
PHeadlessExperimentalBeginFrame -> Maybe Double
pHeadlessExperimentalBeginFrameFrameTimeTicks :: Maybe Double,
PHeadlessExperimentalBeginFrame -> Maybe Double
pHeadlessExperimentalBeginFrameInterval :: Maybe Double,
PHeadlessExperimentalBeginFrame -> Maybe Bool
pHeadlessExperimentalBeginFrameNoDisplayUpdates :: Maybe Bool,
PHeadlessExperimentalBeginFrame
-> Maybe HeadlessExperimentalScreenshotParams
pHeadlessExperimentalBeginFrameScreenshot :: Maybe HeadlessExperimentalScreenshotParams
}
deriving (PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool
(PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool)
-> (PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool)
-> Eq PHeadlessExperimentalBeginFrame
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool
$c/= :: PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool
== :: PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool
$c== :: PHeadlessExperimentalBeginFrame
-> PHeadlessExperimentalBeginFrame -> Bool
Eq, Int -> PHeadlessExperimentalBeginFrame -> ShowS
[PHeadlessExperimentalBeginFrame] -> ShowS
PHeadlessExperimentalBeginFrame -> String
(Int -> PHeadlessExperimentalBeginFrame -> ShowS)
-> (PHeadlessExperimentalBeginFrame -> String)
-> ([PHeadlessExperimentalBeginFrame] -> ShowS)
-> Show PHeadlessExperimentalBeginFrame
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PHeadlessExperimentalBeginFrame] -> ShowS
$cshowList :: [PHeadlessExperimentalBeginFrame] -> ShowS
show :: PHeadlessExperimentalBeginFrame -> String
$cshow :: PHeadlessExperimentalBeginFrame -> String
showsPrec :: Int -> PHeadlessExperimentalBeginFrame -> ShowS
$cshowsPrec :: Int -> PHeadlessExperimentalBeginFrame -> ShowS
Show)
pHeadlessExperimentalBeginFrame
:: PHeadlessExperimentalBeginFrame
pHeadlessExperimentalBeginFrame :: PHeadlessExperimentalBeginFrame
pHeadlessExperimentalBeginFrame
= Maybe Double
-> Maybe Double
-> Maybe Bool
-> Maybe HeadlessExperimentalScreenshotParams
-> PHeadlessExperimentalBeginFrame
PHeadlessExperimentalBeginFrame
Maybe Double
forall a. Maybe a
Nothing
Maybe Double
forall a. Maybe a
Nothing
Maybe Bool
forall a. Maybe a
Nothing
Maybe HeadlessExperimentalScreenshotParams
forall a. Maybe a
Nothing
instance ToJSON PHeadlessExperimentalBeginFrame where
toJSON :: PHeadlessExperimentalBeginFrame -> Value
toJSON PHeadlessExperimentalBeginFrame
p = [Pair] -> Value
A.object ([Pair] -> Value) -> [Pair] -> Value
forall a b. (a -> b) -> a -> b
$ [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
catMaybes [
(Text
"frameTimeTicks" Text -> Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Double -> Pair) -> Maybe Double -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PHeadlessExperimentalBeginFrame -> Maybe Double
pHeadlessExperimentalBeginFrameFrameTimeTicks PHeadlessExperimentalBeginFrame
p),
(Text
"interval" Text -> Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Double -> Pair) -> Maybe Double -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PHeadlessExperimentalBeginFrame -> Maybe Double
pHeadlessExperimentalBeginFrameInterval PHeadlessExperimentalBeginFrame
p),
(Text
"noDisplayUpdates" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PHeadlessExperimentalBeginFrame -> Maybe Bool
pHeadlessExperimentalBeginFrameNoDisplayUpdates PHeadlessExperimentalBeginFrame
p),
(Text
"screenshot" Text -> HeadlessExperimentalScreenshotParams -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (HeadlessExperimentalScreenshotParams -> Pair)
-> Maybe HeadlessExperimentalScreenshotParams -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (PHeadlessExperimentalBeginFrame
-> Maybe HeadlessExperimentalScreenshotParams
pHeadlessExperimentalBeginFrameScreenshot PHeadlessExperimentalBeginFrame
p)
]
data HeadlessExperimentalBeginFrame = HeadlessExperimentalBeginFrame
{
HeadlessExperimentalBeginFrame -> Bool
headlessExperimentalBeginFrameHasDamage :: Bool,
HeadlessExperimentalBeginFrame -> Maybe Text
headlessExperimentalBeginFrameScreenshotData :: Maybe T.Text
}
deriving (HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool
(HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool)
-> (HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool)
-> Eq HeadlessExperimentalBeginFrame
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool
$c/= :: HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool
== :: HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool
$c== :: HeadlessExperimentalBeginFrame
-> HeadlessExperimentalBeginFrame -> Bool
Eq, Int -> HeadlessExperimentalBeginFrame -> ShowS
[HeadlessExperimentalBeginFrame] -> ShowS
HeadlessExperimentalBeginFrame -> String
(Int -> HeadlessExperimentalBeginFrame -> ShowS)
-> (HeadlessExperimentalBeginFrame -> String)
-> ([HeadlessExperimentalBeginFrame] -> ShowS)
-> Show HeadlessExperimentalBeginFrame
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HeadlessExperimentalBeginFrame] -> ShowS
$cshowList :: [HeadlessExperimentalBeginFrame] -> ShowS
show :: HeadlessExperimentalBeginFrame -> String
$cshow :: HeadlessExperimentalBeginFrame -> String
showsPrec :: Int -> HeadlessExperimentalBeginFrame -> ShowS
$cshowsPrec :: Int -> HeadlessExperimentalBeginFrame -> ShowS
Show)
instance FromJSON HeadlessExperimentalBeginFrame where
parseJSON :: Value -> Parser HeadlessExperimentalBeginFrame
parseJSON = String
-> (Object -> Parser HeadlessExperimentalBeginFrame)
-> Value
-> Parser HeadlessExperimentalBeginFrame
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"HeadlessExperimentalBeginFrame" ((Object -> Parser HeadlessExperimentalBeginFrame)
-> Value -> Parser HeadlessExperimentalBeginFrame)
-> (Object -> Parser HeadlessExperimentalBeginFrame)
-> Value
-> Parser HeadlessExperimentalBeginFrame
forall a b. (a -> b) -> a -> b
$ \Object
o -> Bool -> Maybe Text -> HeadlessExperimentalBeginFrame
HeadlessExperimentalBeginFrame
(Bool -> Maybe Text -> HeadlessExperimentalBeginFrame)
-> Parser Bool
-> Parser (Maybe Text -> HeadlessExperimentalBeginFrame)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"hasDamage"
Parser (Maybe Text -> HeadlessExperimentalBeginFrame)
-> Parser (Maybe Text) -> Parser HeadlessExperimentalBeginFrame
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"screenshotData"
instance Command PHeadlessExperimentalBeginFrame where
type CommandResponse PHeadlessExperimentalBeginFrame = HeadlessExperimentalBeginFrame
commandName :: Proxy PHeadlessExperimentalBeginFrame -> String
commandName Proxy PHeadlessExperimentalBeginFrame
_ = String
"HeadlessExperimental.beginFrame"
data PHeadlessExperimentalDisable = PHeadlessExperimentalDisable
deriving (PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool
(PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool)
-> (PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool)
-> Eq PHeadlessExperimentalDisable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool
$c/= :: PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool
== :: PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool
$c== :: PHeadlessExperimentalDisable
-> PHeadlessExperimentalDisable -> Bool
Eq, Int -> PHeadlessExperimentalDisable -> ShowS
[PHeadlessExperimentalDisable] -> ShowS
PHeadlessExperimentalDisable -> String
(Int -> PHeadlessExperimentalDisable -> ShowS)
-> (PHeadlessExperimentalDisable -> String)
-> ([PHeadlessExperimentalDisable] -> ShowS)
-> Show PHeadlessExperimentalDisable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PHeadlessExperimentalDisable] -> ShowS
$cshowList :: [PHeadlessExperimentalDisable] -> ShowS
show :: PHeadlessExperimentalDisable -> String
$cshow :: PHeadlessExperimentalDisable -> String
showsPrec :: Int -> PHeadlessExperimentalDisable -> ShowS
$cshowsPrec :: Int -> PHeadlessExperimentalDisable -> ShowS
Show)
pHeadlessExperimentalDisable
:: PHeadlessExperimentalDisable
pHeadlessExperimentalDisable :: PHeadlessExperimentalDisable
pHeadlessExperimentalDisable
= PHeadlessExperimentalDisable
PHeadlessExperimentalDisable
instance ToJSON PHeadlessExperimentalDisable where
toJSON :: PHeadlessExperimentalDisable -> Value
toJSON PHeadlessExperimentalDisable
_ = Value
A.Null
instance Command PHeadlessExperimentalDisable where
type CommandResponse PHeadlessExperimentalDisable = ()
commandName :: Proxy PHeadlessExperimentalDisable -> String
commandName Proxy PHeadlessExperimentalDisable
_ = String
"HeadlessExperimental.disable"
fromJSON :: Proxy PHeadlessExperimentalDisable
-> Value -> Result (CommandResponse PHeadlessExperimentalDisable)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PHeadlessExperimentalDisable -> Result ())
-> Proxy PHeadlessExperimentalDisable
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PHeadlessExperimentalDisable -> ())
-> Proxy PHeadlessExperimentalDisable
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PHeadlessExperimentalDisable -> ()
forall a b. a -> b -> a
const ()
data PHeadlessExperimentalEnable = PHeadlessExperimentalEnable
deriving (PHeadlessExperimentalEnable -> PHeadlessExperimentalEnable -> Bool
(PHeadlessExperimentalEnable
-> PHeadlessExperimentalEnable -> Bool)
-> (PHeadlessExperimentalEnable
-> PHeadlessExperimentalEnable -> Bool)
-> Eq PHeadlessExperimentalEnable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PHeadlessExperimentalEnable -> PHeadlessExperimentalEnable -> Bool
$c/= :: PHeadlessExperimentalEnable -> PHeadlessExperimentalEnable -> Bool
== :: PHeadlessExperimentalEnable -> PHeadlessExperimentalEnable -> Bool
$c== :: PHeadlessExperimentalEnable -> PHeadlessExperimentalEnable -> Bool
Eq, Int -> PHeadlessExperimentalEnable -> ShowS
[PHeadlessExperimentalEnable] -> ShowS
PHeadlessExperimentalEnable -> String
(Int -> PHeadlessExperimentalEnable -> ShowS)
-> (PHeadlessExperimentalEnable -> String)
-> ([PHeadlessExperimentalEnable] -> ShowS)
-> Show PHeadlessExperimentalEnable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PHeadlessExperimentalEnable] -> ShowS
$cshowList :: [PHeadlessExperimentalEnable] -> ShowS
show :: PHeadlessExperimentalEnable -> String
$cshow :: PHeadlessExperimentalEnable -> String
showsPrec :: Int -> PHeadlessExperimentalEnable -> ShowS
$cshowsPrec :: Int -> PHeadlessExperimentalEnable -> ShowS
Show)
pHeadlessExperimentalEnable
:: PHeadlessExperimentalEnable
pHeadlessExperimentalEnable :: PHeadlessExperimentalEnable
pHeadlessExperimentalEnable
= PHeadlessExperimentalEnable
PHeadlessExperimentalEnable
instance ToJSON PHeadlessExperimentalEnable where
toJSON :: PHeadlessExperimentalEnable -> Value
toJSON PHeadlessExperimentalEnable
_ = Value
A.Null
instance Command PHeadlessExperimentalEnable where
type CommandResponse PHeadlessExperimentalEnable = ()
commandName :: Proxy PHeadlessExperimentalEnable -> String
commandName Proxy PHeadlessExperimentalEnable
_ = String
"HeadlessExperimental.enable"
fromJSON :: Proxy PHeadlessExperimentalEnable
-> Value -> Result (CommandResponse PHeadlessExperimentalEnable)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PHeadlessExperimentalEnable -> Result ())
-> Proxy PHeadlessExperimentalEnable
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PHeadlessExperimentalEnable -> ())
-> Proxy PHeadlessExperimentalEnable
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PHeadlessExperimentalEnable -> ()
forall a b. a -> b -> a
const ()