module Test.Marionette.Timeouts where

import Data.Aeson.Types
import GHC.Generics (Generic)
import Prelude

data Timeouts = Timeouts
    { Timeouts -> Maybe Int
script :: Maybe Int
    , Timeouts -> Maybe Int
pageLoad :: Maybe Int
    , Timeouts -> Maybe Int
implicit :: Maybe Int
    }
    deriving stock (Int -> Timeouts -> ShowS
[Timeouts] -> ShowS
Timeouts -> String
(Int -> Timeouts -> ShowS)
-> (Timeouts -> String) -> ([Timeouts] -> ShowS) -> Show Timeouts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Timeouts -> ShowS
showsPrec :: Int -> Timeouts -> ShowS
$cshow :: Timeouts -> String
show :: Timeouts -> String
$cshowList :: [Timeouts] -> ShowS
showList :: [Timeouts] -> ShowS
Show, Timeouts -> Timeouts -> Bool
(Timeouts -> Timeouts -> Bool)
-> (Timeouts -> Timeouts -> Bool) -> Eq Timeouts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Timeouts -> Timeouts -> Bool
== :: Timeouts -> Timeouts -> Bool
$c/= :: Timeouts -> Timeouts -> Bool
/= :: Timeouts -> Timeouts -> Bool
Eq, (forall x. Timeouts -> Rep Timeouts x)
-> (forall x. Rep Timeouts x -> Timeouts) -> Generic Timeouts
forall x. Rep Timeouts x -> Timeouts
forall x. Timeouts -> Rep Timeouts x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Timeouts -> Rep Timeouts x
from :: forall x. Timeouts -> Rep Timeouts x
$cto :: forall x. Rep Timeouts x -> Timeouts
to :: forall x. Rep Timeouts x -> Timeouts
Generic)
    deriving anyclass (Maybe Timeouts
Value -> Parser [Timeouts]
Value -> Parser Timeouts
(Value -> Parser Timeouts)
-> (Value -> Parser [Timeouts])
-> Maybe Timeouts
-> FromJSON Timeouts
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser Timeouts
parseJSON :: Value -> Parser Timeouts
$cparseJSONList :: Value -> Parser [Timeouts]
parseJSONList :: Value -> Parser [Timeouts]
$comittedField :: Maybe Timeouts
omittedField :: Maybe Timeouts
FromJSON)

instance ToJSON Timeouts where
    toJSON :: Timeouts -> Value
toJSON = Options -> Timeouts -> Value
forall a.
(Generic a, GToJSON' Value Zero (Rep a)) =>
Options -> a -> Value
genericToJSON Options
defaultOptions{omitNothingFields = True}