{-# LANGUAGE OverloadedStrings, RecordWildCards, TupleSections #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies #-}


{- |
= Audits

Audits domain allows investigation of page violations and possible improvements.
-}


module CDP.Domains.Audits (module CDP.Domains.Audits) 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


import CDP.Domains.DOMPageNetworkEmulationSecurity as DOMPageNetworkEmulationSecurity
import CDP.Domains.Runtime as Runtime


-- | Type 'Audits.AffectedCookie'.
--   Information about a cookie that is affected by an inspector issue.
data AuditsAffectedCookie = AuditsAffectedCookie
  {
    -- | The following three properties uniquely identify a cookie
    AuditsAffectedCookie -> Text
auditsAffectedCookieName :: T.Text,
    AuditsAffectedCookie -> Text
auditsAffectedCookiePath :: T.Text,
    AuditsAffectedCookie -> Text
auditsAffectedCookieDomain :: T.Text
  }
  deriving (AuditsAffectedCookie -> AuditsAffectedCookie -> Bool
(AuditsAffectedCookie -> AuditsAffectedCookie -> Bool)
-> (AuditsAffectedCookie -> AuditsAffectedCookie -> Bool)
-> Eq AuditsAffectedCookie
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsAffectedCookie -> AuditsAffectedCookie -> Bool
$c/= :: AuditsAffectedCookie -> AuditsAffectedCookie -> Bool
== :: AuditsAffectedCookie -> AuditsAffectedCookie -> Bool
$c== :: AuditsAffectedCookie -> AuditsAffectedCookie -> Bool
Eq, Int -> AuditsAffectedCookie -> ShowS
[AuditsAffectedCookie] -> ShowS
AuditsAffectedCookie -> String
(Int -> AuditsAffectedCookie -> ShowS)
-> (AuditsAffectedCookie -> String)
-> ([AuditsAffectedCookie] -> ShowS)
-> Show AuditsAffectedCookie
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsAffectedCookie] -> ShowS
$cshowList :: [AuditsAffectedCookie] -> ShowS
show :: AuditsAffectedCookie -> String
$cshow :: AuditsAffectedCookie -> String
showsPrec :: Int -> AuditsAffectedCookie -> ShowS
$cshowsPrec :: Int -> AuditsAffectedCookie -> ShowS
Show)
instance FromJSON AuditsAffectedCookie where
  parseJSON :: Value -> Parser AuditsAffectedCookie
parseJSON = String
-> (Object -> Parser AuditsAffectedCookie)
-> Value
-> Parser AuditsAffectedCookie
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsAffectedCookie" ((Object -> Parser AuditsAffectedCookie)
 -> Value -> Parser AuditsAffectedCookie)
-> (Object -> Parser AuditsAffectedCookie)
-> Value
-> Parser AuditsAffectedCookie
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text -> Text -> Text -> AuditsAffectedCookie
AuditsAffectedCookie
    (Text -> Text -> Text -> AuditsAffectedCookie)
-> Parser Text -> Parser (Text -> Text -> AuditsAffectedCookie)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"name"
    Parser (Text -> Text -> AuditsAffectedCookie)
-> Parser Text -> Parser (Text -> AuditsAffectedCookie)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"path"
    Parser (Text -> AuditsAffectedCookie)
-> Parser Text -> Parser AuditsAffectedCookie
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"domain"
instance ToJSON AuditsAffectedCookie where
  toJSON :: AuditsAffectedCookie -> Value
toJSON AuditsAffectedCookie
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
"name" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsAffectedCookie -> Text
auditsAffectedCookieName AuditsAffectedCookie
p),
    (Text
"path" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsAffectedCookie -> Text
auditsAffectedCookiePath AuditsAffectedCookie
p),
    (Text
"domain" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsAffectedCookie -> Text
auditsAffectedCookieDomain AuditsAffectedCookie
p)
    ]

-- | Type 'Audits.AffectedRequest'.
--   Information about a request that is affected by an inspector issue.
data AuditsAffectedRequest = AuditsAffectedRequest
  {
    -- | The unique request id.
    AuditsAffectedRequest -> Text
auditsAffectedRequestRequestId :: DOMPageNetworkEmulationSecurity.NetworkRequestId,
    AuditsAffectedRequest -> Maybe Text
auditsAffectedRequestUrl :: Maybe T.Text
  }
  deriving (AuditsAffectedRequest -> AuditsAffectedRequest -> Bool
(AuditsAffectedRequest -> AuditsAffectedRequest -> Bool)
-> (AuditsAffectedRequest -> AuditsAffectedRequest -> Bool)
-> Eq AuditsAffectedRequest
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsAffectedRequest -> AuditsAffectedRequest -> Bool
$c/= :: AuditsAffectedRequest -> AuditsAffectedRequest -> Bool
== :: AuditsAffectedRequest -> AuditsAffectedRequest -> Bool
$c== :: AuditsAffectedRequest -> AuditsAffectedRequest -> Bool
Eq, Int -> AuditsAffectedRequest -> ShowS
[AuditsAffectedRequest] -> ShowS
AuditsAffectedRequest -> String
(Int -> AuditsAffectedRequest -> ShowS)
-> (AuditsAffectedRequest -> String)
-> ([AuditsAffectedRequest] -> ShowS)
-> Show AuditsAffectedRequest
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsAffectedRequest] -> ShowS
$cshowList :: [AuditsAffectedRequest] -> ShowS
show :: AuditsAffectedRequest -> String
$cshow :: AuditsAffectedRequest -> String
showsPrec :: Int -> AuditsAffectedRequest -> ShowS
$cshowsPrec :: Int -> AuditsAffectedRequest -> ShowS
Show)
instance FromJSON AuditsAffectedRequest where
  parseJSON :: Value -> Parser AuditsAffectedRequest
parseJSON = String
-> (Object -> Parser AuditsAffectedRequest)
-> Value
-> Parser AuditsAffectedRequest
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsAffectedRequest" ((Object -> Parser AuditsAffectedRequest)
 -> Value -> Parser AuditsAffectedRequest)
-> (Object -> Parser AuditsAffectedRequest)
-> Value
-> Parser AuditsAffectedRequest
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text -> Maybe Text -> AuditsAffectedRequest
AuditsAffectedRequest
    (Text -> Maybe Text -> AuditsAffectedRequest)
-> Parser Text -> Parser (Maybe Text -> AuditsAffectedRequest)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"requestId"
    Parser (Maybe Text -> AuditsAffectedRequest)
-> Parser (Maybe Text) -> Parser AuditsAffectedRequest
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
"url"
instance ToJSON AuditsAffectedRequest where
  toJSON :: AuditsAffectedRequest -> Value
toJSON AuditsAffectedRequest
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
"requestId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsAffectedRequest -> Text
auditsAffectedRequestRequestId AuditsAffectedRequest
p),
    (Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsAffectedRequest -> Maybe Text
auditsAffectedRequestUrl AuditsAffectedRequest
p)
    ]

-- | Type 'Audits.AffectedFrame'.
--   Information about the frame affected by an inspector issue.
data AuditsAffectedFrame = AuditsAffectedFrame
  {
    AuditsAffectedFrame -> Text
auditsAffectedFrameFrameId :: DOMPageNetworkEmulationSecurity.PageFrameId
  }
  deriving (AuditsAffectedFrame -> AuditsAffectedFrame -> Bool
(AuditsAffectedFrame -> AuditsAffectedFrame -> Bool)
-> (AuditsAffectedFrame -> AuditsAffectedFrame -> Bool)
-> Eq AuditsAffectedFrame
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsAffectedFrame -> AuditsAffectedFrame -> Bool
$c/= :: AuditsAffectedFrame -> AuditsAffectedFrame -> Bool
== :: AuditsAffectedFrame -> AuditsAffectedFrame -> Bool
$c== :: AuditsAffectedFrame -> AuditsAffectedFrame -> Bool
Eq, Int -> AuditsAffectedFrame -> ShowS
[AuditsAffectedFrame] -> ShowS
AuditsAffectedFrame -> String
(Int -> AuditsAffectedFrame -> ShowS)
-> (AuditsAffectedFrame -> String)
-> ([AuditsAffectedFrame] -> ShowS)
-> Show AuditsAffectedFrame
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsAffectedFrame] -> ShowS
$cshowList :: [AuditsAffectedFrame] -> ShowS
show :: AuditsAffectedFrame -> String
$cshow :: AuditsAffectedFrame -> String
showsPrec :: Int -> AuditsAffectedFrame -> ShowS
$cshowsPrec :: Int -> AuditsAffectedFrame -> ShowS
Show)
instance FromJSON AuditsAffectedFrame where
  parseJSON :: Value -> Parser AuditsAffectedFrame
parseJSON = String
-> (Object -> Parser AuditsAffectedFrame)
-> Value
-> Parser AuditsAffectedFrame
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsAffectedFrame" ((Object -> Parser AuditsAffectedFrame)
 -> Value -> Parser AuditsAffectedFrame)
-> (Object -> Parser AuditsAffectedFrame)
-> Value
-> Parser AuditsAffectedFrame
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text -> AuditsAffectedFrame
AuditsAffectedFrame
    (Text -> AuditsAffectedFrame)
-> Parser Text -> Parser AuditsAffectedFrame
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"frameId"
instance ToJSON AuditsAffectedFrame where
  toJSON :: AuditsAffectedFrame -> Value
toJSON AuditsAffectedFrame
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
"frameId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsAffectedFrame -> Text
auditsAffectedFrameFrameId AuditsAffectedFrame
p)
    ]

-- | Type 'Audits.CookieExclusionReason'.
data AuditsCookieExclusionReason = AuditsCookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax | AuditsCookieExclusionReasonExcludeSameSiteNoneInsecure | AuditsCookieExclusionReasonExcludeSameSiteLax | AuditsCookieExclusionReasonExcludeSameSiteStrict | AuditsCookieExclusionReasonExcludeInvalidSameParty | AuditsCookieExclusionReasonExcludeSamePartyCrossPartyContext | AuditsCookieExclusionReasonExcludeDomainNonASCII
  deriving (Eq AuditsCookieExclusionReason
Eq AuditsCookieExclusionReason
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> Ordering)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> Bool)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> Bool)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> Bool)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> Bool)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> AuditsCookieExclusionReason)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> AuditsCookieExclusionReason)
-> Ord AuditsCookieExclusionReason
AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> Ordering
AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> AuditsCookieExclusionReason
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 :: AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> AuditsCookieExclusionReason
$cmin :: AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> AuditsCookieExclusionReason
max :: AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> AuditsCookieExclusionReason
$cmax :: AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> AuditsCookieExclusionReason
>= :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
$c>= :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
> :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
$c> :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
<= :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
$c<= :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
< :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
$c< :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
compare :: AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> Ordering
$ccompare :: AuditsCookieExclusionReason
-> AuditsCookieExclusionReason -> Ordering
$cp1Ord :: Eq AuditsCookieExclusionReason
Ord, AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
(AuditsCookieExclusionReason
 -> AuditsCookieExclusionReason -> Bool)
-> (AuditsCookieExclusionReason
    -> AuditsCookieExclusionReason -> Bool)
-> Eq AuditsCookieExclusionReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
$c/= :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
== :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
$c== :: AuditsCookieExclusionReason -> AuditsCookieExclusionReason -> Bool
Eq, Int -> AuditsCookieExclusionReason -> ShowS
[AuditsCookieExclusionReason] -> ShowS
AuditsCookieExclusionReason -> String
(Int -> AuditsCookieExclusionReason -> ShowS)
-> (AuditsCookieExclusionReason -> String)
-> ([AuditsCookieExclusionReason] -> ShowS)
-> Show AuditsCookieExclusionReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsCookieExclusionReason] -> ShowS
$cshowList :: [AuditsCookieExclusionReason] -> ShowS
show :: AuditsCookieExclusionReason -> String
$cshow :: AuditsCookieExclusionReason -> String
showsPrec :: Int -> AuditsCookieExclusionReason -> ShowS
$cshowsPrec :: Int -> AuditsCookieExclusionReason -> ShowS
Show, ReadPrec [AuditsCookieExclusionReason]
ReadPrec AuditsCookieExclusionReason
Int -> ReadS AuditsCookieExclusionReason
ReadS [AuditsCookieExclusionReason]
(Int -> ReadS AuditsCookieExclusionReason)
-> ReadS [AuditsCookieExclusionReason]
-> ReadPrec AuditsCookieExclusionReason
-> ReadPrec [AuditsCookieExclusionReason]
-> Read AuditsCookieExclusionReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsCookieExclusionReason]
$creadListPrec :: ReadPrec [AuditsCookieExclusionReason]
readPrec :: ReadPrec AuditsCookieExclusionReason
$creadPrec :: ReadPrec AuditsCookieExclusionReason
readList :: ReadS [AuditsCookieExclusionReason]
$creadList :: ReadS [AuditsCookieExclusionReason]
readsPrec :: Int -> ReadS AuditsCookieExclusionReason
$creadsPrec :: Int -> ReadS AuditsCookieExclusionReason
Read)
instance FromJSON AuditsCookieExclusionReason where
  parseJSON :: Value -> Parser AuditsCookieExclusionReason
parseJSON = String
-> (Text -> Parser AuditsCookieExclusionReason)
-> Value
-> Parser AuditsCookieExclusionReason
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsCookieExclusionReason" ((Text -> Parser AuditsCookieExclusionReason)
 -> Value -> Parser AuditsCookieExclusionReason)
-> (Text -> Parser AuditsCookieExclusionReason)
-> Value
-> Parser AuditsCookieExclusionReason
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"ExcludeSameSiteUnspecifiedTreatedAsLax" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax
    Text
"ExcludeSameSiteNoneInsecure" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteNoneInsecure
    Text
"ExcludeSameSiteLax" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteLax
    Text
"ExcludeSameSiteStrict" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteStrict
    Text
"ExcludeInvalidSameParty" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeInvalidSameParty
    Text
"ExcludeSamePartyCrossPartyContext" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSamePartyCrossPartyContext
    Text
"ExcludeDomainNonASCII" -> AuditsCookieExclusionReason -> Parser AuditsCookieExclusionReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeDomainNonASCII
    Text
"_" -> String -> Parser AuditsCookieExclusionReason
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsCookieExclusionReason"
instance ToJSON AuditsCookieExclusionReason where
  toJSON :: AuditsCookieExclusionReason -> Value
toJSON AuditsCookieExclusionReason
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsCookieExclusionReason
v of
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax -> Text
"ExcludeSameSiteUnspecifiedTreatedAsLax"
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteNoneInsecure -> Text
"ExcludeSameSiteNoneInsecure"
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteLax -> Text
"ExcludeSameSiteLax"
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSameSiteStrict -> Text
"ExcludeSameSiteStrict"
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeInvalidSameParty -> Text
"ExcludeInvalidSameParty"
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeSamePartyCrossPartyContext -> Text
"ExcludeSamePartyCrossPartyContext"
    AuditsCookieExclusionReason
AuditsCookieExclusionReasonExcludeDomainNonASCII -> Text
"ExcludeDomainNonASCII"

-- | Type 'Audits.CookieWarningReason'.
data AuditsCookieWarningReason = AuditsCookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext | AuditsCookieWarningReasonWarnSameSiteNoneInsecure | AuditsCookieWarningReasonWarnSameSiteUnspecifiedLaxAllowUnsafe | AuditsCookieWarningReasonWarnSameSiteStrictLaxDowngradeStrict | AuditsCookieWarningReasonWarnSameSiteStrictCrossDowngradeStrict | AuditsCookieWarningReasonWarnSameSiteStrictCrossDowngradeLax | AuditsCookieWarningReasonWarnSameSiteLaxCrossDowngradeStrict | AuditsCookieWarningReasonWarnSameSiteLaxCrossDowngradeLax | AuditsCookieWarningReasonWarnAttributeValueExceedsMaxSize | AuditsCookieWarningReasonWarnDomainNonASCII
  deriving (Eq AuditsCookieWarningReason
Eq AuditsCookieWarningReason
-> (AuditsCookieWarningReason
    -> AuditsCookieWarningReason -> Ordering)
-> (AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool)
-> (AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool)
-> (AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool)
-> (AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool)
-> (AuditsCookieWarningReason
    -> AuditsCookieWarningReason -> AuditsCookieWarningReason)
-> (AuditsCookieWarningReason
    -> AuditsCookieWarningReason -> AuditsCookieWarningReason)
-> Ord AuditsCookieWarningReason
AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
AuditsCookieWarningReason -> AuditsCookieWarningReason -> Ordering
AuditsCookieWarningReason
-> AuditsCookieWarningReason -> AuditsCookieWarningReason
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 :: AuditsCookieWarningReason
-> AuditsCookieWarningReason -> AuditsCookieWarningReason
$cmin :: AuditsCookieWarningReason
-> AuditsCookieWarningReason -> AuditsCookieWarningReason
max :: AuditsCookieWarningReason
-> AuditsCookieWarningReason -> AuditsCookieWarningReason
$cmax :: AuditsCookieWarningReason
-> AuditsCookieWarningReason -> AuditsCookieWarningReason
>= :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
$c>= :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
> :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
$c> :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
<= :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
$c<= :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
< :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
$c< :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
compare :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Ordering
$ccompare :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Ordering
$cp1Ord :: Eq AuditsCookieWarningReason
Ord, AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
(AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool)
-> (AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool)
-> Eq AuditsCookieWarningReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
$c/= :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
== :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
$c== :: AuditsCookieWarningReason -> AuditsCookieWarningReason -> Bool
Eq, Int -> AuditsCookieWarningReason -> ShowS
[AuditsCookieWarningReason] -> ShowS
AuditsCookieWarningReason -> String
(Int -> AuditsCookieWarningReason -> ShowS)
-> (AuditsCookieWarningReason -> String)
-> ([AuditsCookieWarningReason] -> ShowS)
-> Show AuditsCookieWarningReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsCookieWarningReason] -> ShowS
$cshowList :: [AuditsCookieWarningReason] -> ShowS
show :: AuditsCookieWarningReason -> String
$cshow :: AuditsCookieWarningReason -> String
showsPrec :: Int -> AuditsCookieWarningReason -> ShowS
$cshowsPrec :: Int -> AuditsCookieWarningReason -> ShowS
Show, ReadPrec [AuditsCookieWarningReason]
ReadPrec AuditsCookieWarningReason
Int -> ReadS AuditsCookieWarningReason
ReadS [AuditsCookieWarningReason]
(Int -> ReadS AuditsCookieWarningReason)
-> ReadS [AuditsCookieWarningReason]
-> ReadPrec AuditsCookieWarningReason
-> ReadPrec [AuditsCookieWarningReason]
-> Read AuditsCookieWarningReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsCookieWarningReason]
$creadListPrec :: ReadPrec [AuditsCookieWarningReason]
readPrec :: ReadPrec AuditsCookieWarningReason
$creadPrec :: ReadPrec AuditsCookieWarningReason
readList :: ReadS [AuditsCookieWarningReason]
$creadList :: ReadS [AuditsCookieWarningReason]
readsPrec :: Int -> ReadS AuditsCookieWarningReason
$creadsPrec :: Int -> ReadS AuditsCookieWarningReason
Read)
instance FromJSON AuditsCookieWarningReason where
  parseJSON :: Value -> Parser AuditsCookieWarningReason
parseJSON = String
-> (Text -> Parser AuditsCookieWarningReason)
-> Value
-> Parser AuditsCookieWarningReason
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsCookieWarningReason" ((Text -> Parser AuditsCookieWarningReason)
 -> Value -> Parser AuditsCookieWarningReason)
-> (Text -> Parser AuditsCookieWarningReason)
-> Value
-> Parser AuditsCookieWarningReason
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"WarnSameSiteUnspecifiedCrossSiteContext" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext
    Text
"WarnSameSiteNoneInsecure" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteNoneInsecure
    Text
"WarnSameSiteUnspecifiedLaxAllowUnsafe" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteUnspecifiedLaxAllowUnsafe
    Text
"WarnSameSiteStrictLaxDowngradeStrict" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteStrictLaxDowngradeStrict
    Text
"WarnSameSiteStrictCrossDowngradeStrict" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteStrictCrossDowngradeStrict
    Text
"WarnSameSiteStrictCrossDowngradeLax" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteStrictCrossDowngradeLax
    Text
"WarnSameSiteLaxCrossDowngradeStrict" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteLaxCrossDowngradeStrict
    Text
"WarnSameSiteLaxCrossDowngradeLax" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteLaxCrossDowngradeLax
    Text
"WarnAttributeValueExceedsMaxSize" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnAttributeValueExceedsMaxSize
    Text
"WarnDomainNonASCII" -> AuditsCookieWarningReason -> Parser AuditsCookieWarningReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieWarningReason
AuditsCookieWarningReasonWarnDomainNonASCII
    Text
"_" -> String -> Parser AuditsCookieWarningReason
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsCookieWarningReason"
instance ToJSON AuditsCookieWarningReason where
  toJSON :: AuditsCookieWarningReason -> Value
toJSON AuditsCookieWarningReason
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsCookieWarningReason
v of
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext -> Text
"WarnSameSiteUnspecifiedCrossSiteContext"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteNoneInsecure -> Text
"WarnSameSiteNoneInsecure"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteUnspecifiedLaxAllowUnsafe -> Text
"WarnSameSiteUnspecifiedLaxAllowUnsafe"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteStrictLaxDowngradeStrict -> Text
"WarnSameSiteStrictLaxDowngradeStrict"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteStrictCrossDowngradeStrict -> Text
"WarnSameSiteStrictCrossDowngradeStrict"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteStrictCrossDowngradeLax -> Text
"WarnSameSiteStrictCrossDowngradeLax"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteLaxCrossDowngradeStrict -> Text
"WarnSameSiteLaxCrossDowngradeStrict"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnSameSiteLaxCrossDowngradeLax -> Text
"WarnSameSiteLaxCrossDowngradeLax"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnAttributeValueExceedsMaxSize -> Text
"WarnAttributeValueExceedsMaxSize"
    AuditsCookieWarningReason
AuditsCookieWarningReasonWarnDomainNonASCII -> Text
"WarnDomainNonASCII"

-- | Type 'Audits.CookieOperation'.
data AuditsCookieOperation = AuditsCookieOperationSetCookie | AuditsCookieOperationReadCookie
  deriving (Eq AuditsCookieOperation
Eq AuditsCookieOperation
-> (AuditsCookieOperation -> AuditsCookieOperation -> Ordering)
-> (AuditsCookieOperation -> AuditsCookieOperation -> Bool)
-> (AuditsCookieOperation -> AuditsCookieOperation -> Bool)
-> (AuditsCookieOperation -> AuditsCookieOperation -> Bool)
-> (AuditsCookieOperation -> AuditsCookieOperation -> Bool)
-> (AuditsCookieOperation
    -> AuditsCookieOperation -> AuditsCookieOperation)
-> (AuditsCookieOperation
    -> AuditsCookieOperation -> AuditsCookieOperation)
-> Ord AuditsCookieOperation
AuditsCookieOperation -> AuditsCookieOperation -> Bool
AuditsCookieOperation -> AuditsCookieOperation -> Ordering
AuditsCookieOperation
-> AuditsCookieOperation -> AuditsCookieOperation
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 :: AuditsCookieOperation
-> AuditsCookieOperation -> AuditsCookieOperation
$cmin :: AuditsCookieOperation
-> AuditsCookieOperation -> AuditsCookieOperation
max :: AuditsCookieOperation
-> AuditsCookieOperation -> AuditsCookieOperation
$cmax :: AuditsCookieOperation
-> AuditsCookieOperation -> AuditsCookieOperation
>= :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
$c>= :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
> :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
$c> :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
<= :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
$c<= :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
< :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
$c< :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
compare :: AuditsCookieOperation -> AuditsCookieOperation -> Ordering
$ccompare :: AuditsCookieOperation -> AuditsCookieOperation -> Ordering
$cp1Ord :: Eq AuditsCookieOperation
Ord, AuditsCookieOperation -> AuditsCookieOperation -> Bool
(AuditsCookieOperation -> AuditsCookieOperation -> Bool)
-> (AuditsCookieOperation -> AuditsCookieOperation -> Bool)
-> Eq AuditsCookieOperation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
$c/= :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
== :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
$c== :: AuditsCookieOperation -> AuditsCookieOperation -> Bool
Eq, Int -> AuditsCookieOperation -> ShowS
[AuditsCookieOperation] -> ShowS
AuditsCookieOperation -> String
(Int -> AuditsCookieOperation -> ShowS)
-> (AuditsCookieOperation -> String)
-> ([AuditsCookieOperation] -> ShowS)
-> Show AuditsCookieOperation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsCookieOperation] -> ShowS
$cshowList :: [AuditsCookieOperation] -> ShowS
show :: AuditsCookieOperation -> String
$cshow :: AuditsCookieOperation -> String
showsPrec :: Int -> AuditsCookieOperation -> ShowS
$cshowsPrec :: Int -> AuditsCookieOperation -> ShowS
Show, ReadPrec [AuditsCookieOperation]
ReadPrec AuditsCookieOperation
Int -> ReadS AuditsCookieOperation
ReadS [AuditsCookieOperation]
(Int -> ReadS AuditsCookieOperation)
-> ReadS [AuditsCookieOperation]
-> ReadPrec AuditsCookieOperation
-> ReadPrec [AuditsCookieOperation]
-> Read AuditsCookieOperation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsCookieOperation]
$creadListPrec :: ReadPrec [AuditsCookieOperation]
readPrec :: ReadPrec AuditsCookieOperation
$creadPrec :: ReadPrec AuditsCookieOperation
readList :: ReadS [AuditsCookieOperation]
$creadList :: ReadS [AuditsCookieOperation]
readsPrec :: Int -> ReadS AuditsCookieOperation
$creadsPrec :: Int -> ReadS AuditsCookieOperation
Read)
instance FromJSON AuditsCookieOperation where
  parseJSON :: Value -> Parser AuditsCookieOperation
parseJSON = String
-> (Text -> Parser AuditsCookieOperation)
-> Value
-> Parser AuditsCookieOperation
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsCookieOperation" ((Text -> Parser AuditsCookieOperation)
 -> Value -> Parser AuditsCookieOperation)
-> (Text -> Parser AuditsCookieOperation)
-> Value
-> Parser AuditsCookieOperation
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"SetCookie" -> AuditsCookieOperation -> Parser AuditsCookieOperation
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieOperation
AuditsCookieOperationSetCookie
    Text
"ReadCookie" -> AuditsCookieOperation -> Parser AuditsCookieOperation
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsCookieOperation
AuditsCookieOperationReadCookie
    Text
"_" -> String -> Parser AuditsCookieOperation
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsCookieOperation"
instance ToJSON AuditsCookieOperation where
  toJSON :: AuditsCookieOperation -> Value
toJSON AuditsCookieOperation
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsCookieOperation
v of
    AuditsCookieOperation
AuditsCookieOperationSetCookie -> Text
"SetCookie"
    AuditsCookieOperation
AuditsCookieOperationReadCookie -> Text
"ReadCookie"

-- | Type 'Audits.CookieIssueDetails'.
--   This information is currently necessary, as the front-end has a difficult
--   time finding a specific cookie. With this, we can convey specific error
--   information without the cookie.
data AuditsCookieIssueDetails = AuditsCookieIssueDetails
  {
    -- | If AffectedCookie is not set then rawCookieLine contains the raw
    --   Set-Cookie header string. This hints at a problem where the
    --   cookie line is syntactically or semantically malformed in a way
    --   that no valid cookie could be created.
    AuditsCookieIssueDetails -> Maybe AuditsAffectedCookie
auditsCookieIssueDetailsCookie :: Maybe AuditsAffectedCookie,
    AuditsCookieIssueDetails -> Maybe Text
auditsCookieIssueDetailsRawCookieLine :: Maybe T.Text,
    AuditsCookieIssueDetails -> [AuditsCookieWarningReason]
auditsCookieIssueDetailsCookieWarningReasons :: [AuditsCookieWarningReason],
    AuditsCookieIssueDetails -> [AuditsCookieExclusionReason]
auditsCookieIssueDetailsCookieExclusionReasons :: [AuditsCookieExclusionReason],
    -- | Optionally identifies the site-for-cookies and the cookie url, which
    --   may be used by the front-end as additional context.
    AuditsCookieIssueDetails -> AuditsCookieOperation
auditsCookieIssueDetailsOperation :: AuditsCookieOperation,
    AuditsCookieIssueDetails -> Maybe Text
auditsCookieIssueDetailsSiteForCookies :: Maybe T.Text,
    AuditsCookieIssueDetails -> Maybe Text
auditsCookieIssueDetailsCookieUrl :: Maybe T.Text,
    AuditsCookieIssueDetails -> Maybe AuditsAffectedRequest
auditsCookieIssueDetailsRequest :: Maybe AuditsAffectedRequest
  }
  deriving (AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool
(AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool)
-> (AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool)
-> Eq AuditsCookieIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool
$c/= :: AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool
== :: AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool
$c== :: AuditsCookieIssueDetails -> AuditsCookieIssueDetails -> Bool
Eq, Int -> AuditsCookieIssueDetails -> ShowS
[AuditsCookieIssueDetails] -> ShowS
AuditsCookieIssueDetails -> String
(Int -> AuditsCookieIssueDetails -> ShowS)
-> (AuditsCookieIssueDetails -> String)
-> ([AuditsCookieIssueDetails] -> ShowS)
-> Show AuditsCookieIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsCookieIssueDetails] -> ShowS
$cshowList :: [AuditsCookieIssueDetails] -> ShowS
show :: AuditsCookieIssueDetails -> String
$cshow :: AuditsCookieIssueDetails -> String
showsPrec :: Int -> AuditsCookieIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsCookieIssueDetails -> ShowS
Show)
instance FromJSON AuditsCookieIssueDetails where
  parseJSON :: Value -> Parser AuditsCookieIssueDetails
parseJSON = String
-> (Object -> Parser AuditsCookieIssueDetails)
-> Value
-> Parser AuditsCookieIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsCookieIssueDetails" ((Object -> Parser AuditsCookieIssueDetails)
 -> Value -> Parser AuditsCookieIssueDetails)
-> (Object -> Parser AuditsCookieIssueDetails)
-> Value
-> Parser AuditsCookieIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe AuditsAffectedCookie
-> Maybe Text
-> [AuditsCookieWarningReason]
-> [AuditsCookieExclusionReason]
-> AuditsCookieOperation
-> Maybe Text
-> Maybe Text
-> Maybe AuditsAffectedRequest
-> AuditsCookieIssueDetails
AuditsCookieIssueDetails
    (Maybe AuditsAffectedCookie
 -> Maybe Text
 -> [AuditsCookieWarningReason]
 -> [AuditsCookieExclusionReason]
 -> AuditsCookieOperation
 -> Maybe Text
 -> Maybe Text
 -> Maybe AuditsAffectedRequest
 -> AuditsCookieIssueDetails)
-> Parser (Maybe AuditsAffectedCookie)
-> Parser
     (Maybe Text
      -> [AuditsCookieWarningReason]
      -> [AuditsCookieExclusionReason]
      -> AuditsCookieOperation
      -> Maybe Text
      -> Maybe Text
      -> Maybe AuditsAffectedRequest
      -> AuditsCookieIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser (Maybe AuditsAffectedCookie)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"cookie"
    Parser
  (Maybe Text
   -> [AuditsCookieWarningReason]
   -> [AuditsCookieExclusionReason]
   -> AuditsCookieOperation
   -> Maybe Text
   -> Maybe Text
   -> Maybe AuditsAffectedRequest
   -> AuditsCookieIssueDetails)
-> Parser (Maybe Text)
-> Parser
     ([AuditsCookieWarningReason]
      -> [AuditsCookieExclusionReason]
      -> AuditsCookieOperation
      -> Maybe Text
      -> Maybe Text
      -> Maybe AuditsAffectedRequest
      -> AuditsCookieIssueDetails)
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
"rawCookieLine"
    Parser
  ([AuditsCookieWarningReason]
   -> [AuditsCookieExclusionReason]
   -> AuditsCookieOperation
   -> Maybe Text
   -> Maybe Text
   -> Maybe AuditsAffectedRequest
   -> AuditsCookieIssueDetails)
-> Parser [AuditsCookieWarningReason]
-> Parser
     ([AuditsCookieExclusionReason]
      -> AuditsCookieOperation
      -> Maybe Text
      -> Maybe Text
      -> Maybe AuditsAffectedRequest
      -> AuditsCookieIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser [AuditsCookieWarningReason]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"cookieWarningReasons"
    Parser
  ([AuditsCookieExclusionReason]
   -> AuditsCookieOperation
   -> Maybe Text
   -> Maybe Text
   -> Maybe AuditsAffectedRequest
   -> AuditsCookieIssueDetails)
-> Parser [AuditsCookieExclusionReason]
-> Parser
     (AuditsCookieOperation
      -> Maybe Text
      -> Maybe Text
      -> Maybe AuditsAffectedRequest
      -> AuditsCookieIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser [AuditsCookieExclusionReason]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"cookieExclusionReasons"
    Parser
  (AuditsCookieOperation
   -> Maybe Text
   -> Maybe Text
   -> Maybe AuditsAffectedRequest
   -> AuditsCookieIssueDetails)
-> Parser AuditsCookieOperation
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe AuditsAffectedRequest
      -> AuditsCookieIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsCookieOperation
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"operation"
    Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe AuditsAffectedRequest
   -> AuditsCookieIssueDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe AuditsAffectedRequest -> AuditsCookieIssueDetails)
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
"siteForCookies"
    Parser
  (Maybe Text
   -> Maybe AuditsAffectedRequest -> AuditsCookieIssueDetails)
-> Parser (Maybe Text)
-> Parser (Maybe AuditsAffectedRequest -> AuditsCookieIssueDetails)
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
"cookieUrl"
    Parser (Maybe AuditsAffectedRequest -> AuditsCookieIssueDetails)
-> Parser (Maybe AuditsAffectedRequest)
-> Parser AuditsCookieIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedRequest)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"request"
instance ToJSON AuditsCookieIssueDetails where
  toJSON :: AuditsCookieIssueDetails -> Value
toJSON AuditsCookieIssueDetails
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
"cookie" Text -> AuditsAffectedCookie -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedCookie -> Pair)
-> Maybe AuditsAffectedCookie -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCookieIssueDetails -> Maybe AuditsAffectedCookie
auditsCookieIssueDetailsCookie AuditsCookieIssueDetails
p),
    (Text
"rawCookieLine" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCookieIssueDetails -> Maybe Text
auditsCookieIssueDetailsRawCookieLine AuditsCookieIssueDetails
p),
    (Text
"cookieWarningReasons" Text -> [AuditsCookieWarningReason] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([AuditsCookieWarningReason] -> Pair)
-> Maybe [AuditsCookieWarningReason] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [AuditsCookieWarningReason] -> Maybe [AuditsCookieWarningReason]
forall a. a -> Maybe a
Just (AuditsCookieIssueDetails -> [AuditsCookieWarningReason]
auditsCookieIssueDetailsCookieWarningReasons AuditsCookieIssueDetails
p),
    (Text
"cookieExclusionReasons" Text -> [AuditsCookieExclusionReason] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([AuditsCookieExclusionReason] -> Pair)
-> Maybe [AuditsCookieExclusionReason] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [AuditsCookieExclusionReason]
-> Maybe [AuditsCookieExclusionReason]
forall a. a -> Maybe a
Just (AuditsCookieIssueDetails -> [AuditsCookieExclusionReason]
auditsCookieIssueDetailsCookieExclusionReasons AuditsCookieIssueDetails
p),
    (Text
"operation" Text -> AuditsCookieOperation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsCookieOperation -> Pair)
-> Maybe AuditsCookieOperation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsCookieOperation -> Maybe AuditsCookieOperation
forall a. a -> Maybe a
Just (AuditsCookieIssueDetails -> AuditsCookieOperation
auditsCookieIssueDetailsOperation AuditsCookieIssueDetails
p),
    (Text
"siteForCookies" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCookieIssueDetails -> Maybe Text
auditsCookieIssueDetailsSiteForCookies AuditsCookieIssueDetails
p),
    (Text
"cookieUrl" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCookieIssueDetails -> Maybe Text
auditsCookieIssueDetailsCookieUrl AuditsCookieIssueDetails
p),
    (Text
"request" Text -> AuditsAffectedRequest -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedRequest -> Pair)
-> Maybe AuditsAffectedRequest -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCookieIssueDetails -> Maybe AuditsAffectedRequest
auditsCookieIssueDetailsRequest AuditsCookieIssueDetails
p)
    ]

-- | Type 'Audits.MixedContentResolutionStatus'.
data AuditsMixedContentResolutionStatus = AuditsMixedContentResolutionStatusMixedContentBlocked | AuditsMixedContentResolutionStatusMixedContentAutomaticallyUpgraded | AuditsMixedContentResolutionStatusMixedContentWarning
  deriving (Eq AuditsMixedContentResolutionStatus
Eq AuditsMixedContentResolutionStatus
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus -> Ordering)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus -> Bool)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus -> Bool)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus -> Bool)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus -> Bool)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus)
-> Ord AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Ordering
AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
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 :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
$cmin :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
max :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
$cmax :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus
>= :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
$c>= :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
> :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
$c> :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
<= :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
$c<= :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
< :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
$c< :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
compare :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Ordering
$ccompare :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Ordering
$cp1Ord :: Eq AuditsMixedContentResolutionStatus
Ord, AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
(AuditsMixedContentResolutionStatus
 -> AuditsMixedContentResolutionStatus -> Bool)
-> (AuditsMixedContentResolutionStatus
    -> AuditsMixedContentResolutionStatus -> Bool)
-> Eq AuditsMixedContentResolutionStatus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
$c/= :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
== :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
$c== :: AuditsMixedContentResolutionStatus
-> AuditsMixedContentResolutionStatus -> Bool
Eq, Int -> AuditsMixedContentResolutionStatus -> ShowS
[AuditsMixedContentResolutionStatus] -> ShowS
AuditsMixedContentResolutionStatus -> String
(Int -> AuditsMixedContentResolutionStatus -> ShowS)
-> (AuditsMixedContentResolutionStatus -> String)
-> ([AuditsMixedContentResolutionStatus] -> ShowS)
-> Show AuditsMixedContentResolutionStatus
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsMixedContentResolutionStatus] -> ShowS
$cshowList :: [AuditsMixedContentResolutionStatus] -> ShowS
show :: AuditsMixedContentResolutionStatus -> String
$cshow :: AuditsMixedContentResolutionStatus -> String
showsPrec :: Int -> AuditsMixedContentResolutionStatus -> ShowS
$cshowsPrec :: Int -> AuditsMixedContentResolutionStatus -> ShowS
Show, ReadPrec [AuditsMixedContentResolutionStatus]
ReadPrec AuditsMixedContentResolutionStatus
Int -> ReadS AuditsMixedContentResolutionStatus
ReadS [AuditsMixedContentResolutionStatus]
(Int -> ReadS AuditsMixedContentResolutionStatus)
-> ReadS [AuditsMixedContentResolutionStatus]
-> ReadPrec AuditsMixedContentResolutionStatus
-> ReadPrec [AuditsMixedContentResolutionStatus]
-> Read AuditsMixedContentResolutionStatus
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsMixedContentResolutionStatus]
$creadListPrec :: ReadPrec [AuditsMixedContentResolutionStatus]
readPrec :: ReadPrec AuditsMixedContentResolutionStatus
$creadPrec :: ReadPrec AuditsMixedContentResolutionStatus
readList :: ReadS [AuditsMixedContentResolutionStatus]
$creadList :: ReadS [AuditsMixedContentResolutionStatus]
readsPrec :: Int -> ReadS AuditsMixedContentResolutionStatus
$creadsPrec :: Int -> ReadS AuditsMixedContentResolutionStatus
Read)
instance FromJSON AuditsMixedContentResolutionStatus where
  parseJSON :: Value -> Parser AuditsMixedContentResolutionStatus
parseJSON = String
-> (Text -> Parser AuditsMixedContentResolutionStatus)
-> Value
-> Parser AuditsMixedContentResolutionStatus
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsMixedContentResolutionStatus" ((Text -> Parser AuditsMixedContentResolutionStatus)
 -> Value -> Parser AuditsMixedContentResolutionStatus)
-> (Text -> Parser AuditsMixedContentResolutionStatus)
-> Value
-> Parser AuditsMixedContentResolutionStatus
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"MixedContentBlocked" -> AuditsMixedContentResolutionStatus
-> Parser AuditsMixedContentResolutionStatus
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatusMixedContentBlocked
    Text
"MixedContentAutomaticallyUpgraded" -> AuditsMixedContentResolutionStatus
-> Parser AuditsMixedContentResolutionStatus
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatusMixedContentAutomaticallyUpgraded
    Text
"MixedContentWarning" -> AuditsMixedContentResolutionStatus
-> Parser AuditsMixedContentResolutionStatus
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatusMixedContentWarning
    Text
"_" -> String -> Parser AuditsMixedContentResolutionStatus
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsMixedContentResolutionStatus"
instance ToJSON AuditsMixedContentResolutionStatus where
  toJSON :: AuditsMixedContentResolutionStatus -> Value
toJSON AuditsMixedContentResolutionStatus
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsMixedContentResolutionStatus
v of
    AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatusMixedContentBlocked -> Text
"MixedContentBlocked"
    AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatusMixedContentAutomaticallyUpgraded -> Text
"MixedContentAutomaticallyUpgraded"
    AuditsMixedContentResolutionStatus
AuditsMixedContentResolutionStatusMixedContentWarning -> Text
"MixedContentWarning"

-- | Type 'Audits.MixedContentResourceType'.
data AuditsMixedContentResourceType = AuditsMixedContentResourceTypeAttributionSrc | AuditsMixedContentResourceTypeAudio | AuditsMixedContentResourceTypeBeacon | AuditsMixedContentResourceTypeCSPReport | AuditsMixedContentResourceTypeDownload | AuditsMixedContentResourceTypeEventSource | AuditsMixedContentResourceTypeFavicon | AuditsMixedContentResourceTypeFont | AuditsMixedContentResourceTypeForm | AuditsMixedContentResourceTypeFrame | AuditsMixedContentResourceTypeImage | AuditsMixedContentResourceTypeImport | AuditsMixedContentResourceTypeManifest | AuditsMixedContentResourceTypePing | AuditsMixedContentResourceTypePluginData | AuditsMixedContentResourceTypePluginResource | AuditsMixedContentResourceTypePrefetch | AuditsMixedContentResourceTypeResource | AuditsMixedContentResourceTypeScript | AuditsMixedContentResourceTypeServiceWorker | AuditsMixedContentResourceTypeSharedWorker | AuditsMixedContentResourceTypeStylesheet | AuditsMixedContentResourceTypeTrack | AuditsMixedContentResourceTypeVideo | AuditsMixedContentResourceTypeWorker | AuditsMixedContentResourceTypeXMLHttpRequest | AuditsMixedContentResourceTypeXSLT
  deriving (Eq AuditsMixedContentResourceType
Eq AuditsMixedContentResourceType
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType -> Ordering)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType -> Bool)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType -> Bool)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType -> Bool)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType -> Bool)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType)
-> Ord AuditsMixedContentResourceType
AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Ordering
AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> AuditsMixedContentResourceType
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 :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> AuditsMixedContentResourceType
$cmin :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> AuditsMixedContentResourceType
max :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> AuditsMixedContentResourceType
$cmax :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> AuditsMixedContentResourceType
>= :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
$c>= :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
> :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
$c> :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
<= :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
$c<= :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
< :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
$c< :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
compare :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Ordering
$ccompare :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Ordering
$cp1Ord :: Eq AuditsMixedContentResourceType
Ord, AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
(AuditsMixedContentResourceType
 -> AuditsMixedContentResourceType -> Bool)
-> (AuditsMixedContentResourceType
    -> AuditsMixedContentResourceType -> Bool)
-> Eq AuditsMixedContentResourceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
$c/= :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
== :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
$c== :: AuditsMixedContentResourceType
-> AuditsMixedContentResourceType -> Bool
Eq, Int -> AuditsMixedContentResourceType -> ShowS
[AuditsMixedContentResourceType] -> ShowS
AuditsMixedContentResourceType -> String
(Int -> AuditsMixedContentResourceType -> ShowS)
-> (AuditsMixedContentResourceType -> String)
-> ([AuditsMixedContentResourceType] -> ShowS)
-> Show AuditsMixedContentResourceType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsMixedContentResourceType] -> ShowS
$cshowList :: [AuditsMixedContentResourceType] -> ShowS
show :: AuditsMixedContentResourceType -> String
$cshow :: AuditsMixedContentResourceType -> String
showsPrec :: Int -> AuditsMixedContentResourceType -> ShowS
$cshowsPrec :: Int -> AuditsMixedContentResourceType -> ShowS
Show, ReadPrec [AuditsMixedContentResourceType]
ReadPrec AuditsMixedContentResourceType
Int -> ReadS AuditsMixedContentResourceType
ReadS [AuditsMixedContentResourceType]
(Int -> ReadS AuditsMixedContentResourceType)
-> ReadS [AuditsMixedContentResourceType]
-> ReadPrec AuditsMixedContentResourceType
-> ReadPrec [AuditsMixedContentResourceType]
-> Read AuditsMixedContentResourceType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsMixedContentResourceType]
$creadListPrec :: ReadPrec [AuditsMixedContentResourceType]
readPrec :: ReadPrec AuditsMixedContentResourceType
$creadPrec :: ReadPrec AuditsMixedContentResourceType
readList :: ReadS [AuditsMixedContentResourceType]
$creadList :: ReadS [AuditsMixedContentResourceType]
readsPrec :: Int -> ReadS AuditsMixedContentResourceType
$creadsPrec :: Int -> ReadS AuditsMixedContentResourceType
Read)
instance FromJSON AuditsMixedContentResourceType where
  parseJSON :: Value -> Parser AuditsMixedContentResourceType
parseJSON = String
-> (Text -> Parser AuditsMixedContentResourceType)
-> Value
-> Parser AuditsMixedContentResourceType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsMixedContentResourceType" ((Text -> Parser AuditsMixedContentResourceType)
 -> Value -> Parser AuditsMixedContentResourceType)
-> (Text -> Parser AuditsMixedContentResourceType)
-> Value
-> Parser AuditsMixedContentResourceType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"AttributionSrc" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeAttributionSrc
    Text
"Audio" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeAudio
    Text
"Beacon" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeBeacon
    Text
"CSPReport" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeCSPReport
    Text
"Download" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeDownload
    Text
"EventSource" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeEventSource
    Text
"Favicon" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeFavicon
    Text
"Font" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeFont
    Text
"Form" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeForm
    Text
"Frame" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeFrame
    Text
"Image" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeImage
    Text
"Import" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeImport
    Text
"Manifest" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeManifest
    Text
"Ping" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypePing
    Text
"PluginData" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypePluginData
    Text
"PluginResource" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypePluginResource
    Text
"Prefetch" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypePrefetch
    Text
"Resource" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeResource
    Text
"Script" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeScript
    Text
"ServiceWorker" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeServiceWorker
    Text
"SharedWorker" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeSharedWorker
    Text
"Stylesheet" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeStylesheet
    Text
"Track" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeTrack
    Text
"Video" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeVideo
    Text
"Worker" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeWorker
    Text
"XMLHttpRequest" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeXMLHttpRequest
    Text
"XSLT" -> AuditsMixedContentResourceType
-> Parser AuditsMixedContentResourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsMixedContentResourceType
AuditsMixedContentResourceTypeXSLT
    Text
"_" -> String -> Parser AuditsMixedContentResourceType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsMixedContentResourceType"
instance ToJSON AuditsMixedContentResourceType where
  toJSON :: AuditsMixedContentResourceType -> Value
toJSON AuditsMixedContentResourceType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsMixedContentResourceType
v of
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeAttributionSrc -> Text
"AttributionSrc"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeAudio -> Text
"Audio"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeBeacon -> Text
"Beacon"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeCSPReport -> Text
"CSPReport"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeDownload -> Text
"Download"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeEventSource -> Text
"EventSource"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeFavicon -> Text
"Favicon"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeFont -> Text
"Font"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeForm -> Text
"Form"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeFrame -> Text
"Frame"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeImage -> Text
"Image"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeImport -> Text
"Import"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeManifest -> Text
"Manifest"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypePing -> Text
"Ping"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypePluginData -> Text
"PluginData"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypePluginResource -> Text
"PluginResource"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypePrefetch -> Text
"Prefetch"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeResource -> Text
"Resource"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeScript -> Text
"Script"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeServiceWorker -> Text
"ServiceWorker"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeSharedWorker -> Text
"SharedWorker"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeStylesheet -> Text
"Stylesheet"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeTrack -> Text
"Track"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeVideo -> Text
"Video"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeWorker -> Text
"Worker"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeXMLHttpRequest -> Text
"XMLHttpRequest"
    AuditsMixedContentResourceType
AuditsMixedContentResourceTypeXSLT -> Text
"XSLT"

-- | Type 'Audits.MixedContentIssueDetails'.
data AuditsMixedContentIssueDetails = AuditsMixedContentIssueDetails
  {
    -- | The type of resource causing the mixed content issue (css, js, iframe,
    --   form,...). Marked as optional because it is mapped to from
    --   blink::mojom::RequestContextType, which will be replaced
    --   by network::mojom::RequestDestination
    AuditsMixedContentIssueDetails
-> Maybe AuditsMixedContentResourceType
auditsMixedContentIssueDetailsResourceType :: Maybe AuditsMixedContentResourceType,
    -- | The way the mixed content issue is being resolved.
    AuditsMixedContentIssueDetails
-> AuditsMixedContentResolutionStatus
auditsMixedContentIssueDetailsResolutionStatus :: AuditsMixedContentResolutionStatus,
    -- | The unsafe http url causing the mixed content issue.
    AuditsMixedContentIssueDetails -> Text
auditsMixedContentIssueDetailsInsecureURL :: T.Text,
    -- | The url responsible for the call to an unsafe url.
    AuditsMixedContentIssueDetails -> Text
auditsMixedContentIssueDetailsMainResourceURL :: T.Text,
    -- | The mixed content request.
    --   Does not always exist (e.g. for unsafe form submission urls).
    AuditsMixedContentIssueDetails -> Maybe AuditsAffectedRequest
auditsMixedContentIssueDetailsRequest :: Maybe AuditsAffectedRequest,
    -- | Optional because not every mixed content issue is necessarily linked to a frame.
    AuditsMixedContentIssueDetails -> Maybe AuditsAffectedFrame
auditsMixedContentIssueDetailsFrame :: Maybe AuditsAffectedFrame
  }
  deriving (AuditsMixedContentIssueDetails
-> AuditsMixedContentIssueDetails -> Bool
(AuditsMixedContentIssueDetails
 -> AuditsMixedContentIssueDetails -> Bool)
-> (AuditsMixedContentIssueDetails
    -> AuditsMixedContentIssueDetails -> Bool)
-> Eq AuditsMixedContentIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsMixedContentIssueDetails
-> AuditsMixedContentIssueDetails -> Bool
$c/= :: AuditsMixedContentIssueDetails
-> AuditsMixedContentIssueDetails -> Bool
== :: AuditsMixedContentIssueDetails
-> AuditsMixedContentIssueDetails -> Bool
$c== :: AuditsMixedContentIssueDetails
-> AuditsMixedContentIssueDetails -> Bool
Eq, Int -> AuditsMixedContentIssueDetails -> ShowS
[AuditsMixedContentIssueDetails] -> ShowS
AuditsMixedContentIssueDetails -> String
(Int -> AuditsMixedContentIssueDetails -> ShowS)
-> (AuditsMixedContentIssueDetails -> String)
-> ([AuditsMixedContentIssueDetails] -> ShowS)
-> Show AuditsMixedContentIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsMixedContentIssueDetails] -> ShowS
$cshowList :: [AuditsMixedContentIssueDetails] -> ShowS
show :: AuditsMixedContentIssueDetails -> String
$cshow :: AuditsMixedContentIssueDetails -> String
showsPrec :: Int -> AuditsMixedContentIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsMixedContentIssueDetails -> ShowS
Show)
instance FromJSON AuditsMixedContentIssueDetails where
  parseJSON :: Value -> Parser AuditsMixedContentIssueDetails
parseJSON = String
-> (Object -> Parser AuditsMixedContentIssueDetails)
-> Value
-> Parser AuditsMixedContentIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsMixedContentIssueDetails" ((Object -> Parser AuditsMixedContentIssueDetails)
 -> Value -> Parser AuditsMixedContentIssueDetails)
-> (Object -> Parser AuditsMixedContentIssueDetails)
-> Value
-> Parser AuditsMixedContentIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe AuditsMixedContentResourceType
-> AuditsMixedContentResolutionStatus
-> Text
-> Text
-> Maybe AuditsAffectedRequest
-> Maybe AuditsAffectedFrame
-> AuditsMixedContentIssueDetails
AuditsMixedContentIssueDetails
    (Maybe AuditsMixedContentResourceType
 -> AuditsMixedContentResolutionStatus
 -> Text
 -> Text
 -> Maybe AuditsAffectedRequest
 -> Maybe AuditsAffectedFrame
 -> AuditsMixedContentIssueDetails)
-> Parser (Maybe AuditsMixedContentResourceType)
-> Parser
     (AuditsMixedContentResolutionStatus
      -> Text
      -> Text
      -> Maybe AuditsAffectedRequest
      -> Maybe AuditsAffectedFrame
      -> AuditsMixedContentIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser (Maybe AuditsMixedContentResourceType)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"resourceType"
    Parser
  (AuditsMixedContentResolutionStatus
   -> Text
   -> Text
   -> Maybe AuditsAffectedRequest
   -> Maybe AuditsAffectedFrame
   -> AuditsMixedContentIssueDetails)
-> Parser AuditsMixedContentResolutionStatus
-> Parser
     (Text
      -> Text
      -> Maybe AuditsAffectedRequest
      -> Maybe AuditsAffectedFrame
      -> AuditsMixedContentIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsMixedContentResolutionStatus
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"resolutionStatus"
    Parser
  (Text
   -> Text
   -> Maybe AuditsAffectedRequest
   -> Maybe AuditsAffectedFrame
   -> AuditsMixedContentIssueDetails)
-> Parser Text
-> Parser
     (Text
      -> Maybe AuditsAffectedRequest
      -> Maybe AuditsAffectedFrame
      -> AuditsMixedContentIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"insecureURL"
    Parser
  (Text
   -> Maybe AuditsAffectedRequest
   -> Maybe AuditsAffectedFrame
   -> AuditsMixedContentIssueDetails)
-> Parser Text
-> Parser
     (Maybe AuditsAffectedRequest
      -> Maybe AuditsAffectedFrame -> AuditsMixedContentIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"mainResourceURL"
    Parser
  (Maybe AuditsAffectedRequest
   -> Maybe AuditsAffectedFrame -> AuditsMixedContentIssueDetails)
-> Parser (Maybe AuditsAffectedRequest)
-> Parser
     (Maybe AuditsAffectedFrame -> AuditsMixedContentIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedRequest)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"request"
    Parser
  (Maybe AuditsAffectedFrame -> AuditsMixedContentIssueDetails)
-> Parser (Maybe AuditsAffectedFrame)
-> Parser AuditsMixedContentIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedFrame)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"frame"
instance ToJSON AuditsMixedContentIssueDetails where
  toJSON :: AuditsMixedContentIssueDetails -> Value
toJSON AuditsMixedContentIssueDetails
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
"resourceType" Text -> AuditsMixedContentResourceType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsMixedContentResourceType -> Pair)
-> Maybe AuditsMixedContentResourceType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsMixedContentIssueDetails
-> Maybe AuditsMixedContentResourceType
auditsMixedContentIssueDetailsResourceType AuditsMixedContentIssueDetails
p),
    (Text
"resolutionStatus" Text -> AuditsMixedContentResolutionStatus -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsMixedContentResolutionStatus -> Pair)
-> Maybe AuditsMixedContentResolutionStatus -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsMixedContentResolutionStatus
-> Maybe AuditsMixedContentResolutionStatus
forall a. a -> Maybe a
Just (AuditsMixedContentIssueDetails
-> AuditsMixedContentResolutionStatus
auditsMixedContentIssueDetailsResolutionStatus AuditsMixedContentIssueDetails
p),
    (Text
"insecureURL" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsMixedContentIssueDetails -> Text
auditsMixedContentIssueDetailsInsecureURL AuditsMixedContentIssueDetails
p),
    (Text
"mainResourceURL" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsMixedContentIssueDetails -> Text
auditsMixedContentIssueDetailsMainResourceURL AuditsMixedContentIssueDetails
p),
    (Text
"request" Text -> AuditsAffectedRequest -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedRequest -> Pair)
-> Maybe AuditsAffectedRequest -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsMixedContentIssueDetails -> Maybe AuditsAffectedRequest
auditsMixedContentIssueDetailsRequest AuditsMixedContentIssueDetails
p),
    (Text
"frame" Text -> AuditsAffectedFrame -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedFrame -> Pair)
-> Maybe AuditsAffectedFrame -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsMixedContentIssueDetails -> Maybe AuditsAffectedFrame
auditsMixedContentIssueDetailsFrame AuditsMixedContentIssueDetails
p)
    ]

-- | Type 'Audits.BlockedByResponseReason'.
--   Enum indicating the reason a response has been blocked. These reasons are
--   refinements of the net error BLOCKED_BY_RESPONSE.
data AuditsBlockedByResponseReason = AuditsBlockedByResponseReasonCoepFrameResourceNeedsCoepHeader | AuditsBlockedByResponseReasonCoopSandboxedIFrameCannotNavigateToCoopPage | AuditsBlockedByResponseReasonCorpNotSameOrigin | AuditsBlockedByResponseReasonCorpNotSameOriginAfterDefaultedToSameOriginByCoep | AuditsBlockedByResponseReasonCorpNotSameSite
  deriving (Eq AuditsBlockedByResponseReason
Eq AuditsBlockedByResponseReason
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> Ordering)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> Bool)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> Bool)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> Bool)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> Bool)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason)
-> Ord AuditsBlockedByResponseReason
AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Ordering
AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason
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 :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason
$cmin :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason
max :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason
$cmax :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> AuditsBlockedByResponseReason
>= :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
$c>= :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
> :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
$c> :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
<= :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
$c<= :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
< :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
$c< :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
compare :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Ordering
$ccompare :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Ordering
$cp1Ord :: Eq AuditsBlockedByResponseReason
Ord, AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
(AuditsBlockedByResponseReason
 -> AuditsBlockedByResponseReason -> Bool)
-> (AuditsBlockedByResponseReason
    -> AuditsBlockedByResponseReason -> Bool)
-> Eq AuditsBlockedByResponseReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
$c/= :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
== :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
$c== :: AuditsBlockedByResponseReason
-> AuditsBlockedByResponseReason -> Bool
Eq, Int -> AuditsBlockedByResponseReason -> ShowS
[AuditsBlockedByResponseReason] -> ShowS
AuditsBlockedByResponseReason -> String
(Int -> AuditsBlockedByResponseReason -> ShowS)
-> (AuditsBlockedByResponseReason -> String)
-> ([AuditsBlockedByResponseReason] -> ShowS)
-> Show AuditsBlockedByResponseReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsBlockedByResponseReason] -> ShowS
$cshowList :: [AuditsBlockedByResponseReason] -> ShowS
show :: AuditsBlockedByResponseReason -> String
$cshow :: AuditsBlockedByResponseReason -> String
showsPrec :: Int -> AuditsBlockedByResponseReason -> ShowS
$cshowsPrec :: Int -> AuditsBlockedByResponseReason -> ShowS
Show, ReadPrec [AuditsBlockedByResponseReason]
ReadPrec AuditsBlockedByResponseReason
Int -> ReadS AuditsBlockedByResponseReason
ReadS [AuditsBlockedByResponseReason]
(Int -> ReadS AuditsBlockedByResponseReason)
-> ReadS [AuditsBlockedByResponseReason]
-> ReadPrec AuditsBlockedByResponseReason
-> ReadPrec [AuditsBlockedByResponseReason]
-> Read AuditsBlockedByResponseReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsBlockedByResponseReason]
$creadListPrec :: ReadPrec [AuditsBlockedByResponseReason]
readPrec :: ReadPrec AuditsBlockedByResponseReason
$creadPrec :: ReadPrec AuditsBlockedByResponseReason
readList :: ReadS [AuditsBlockedByResponseReason]
$creadList :: ReadS [AuditsBlockedByResponseReason]
readsPrec :: Int -> ReadS AuditsBlockedByResponseReason
$creadsPrec :: Int -> ReadS AuditsBlockedByResponseReason
Read)
instance FromJSON AuditsBlockedByResponseReason where
  parseJSON :: Value -> Parser AuditsBlockedByResponseReason
parseJSON = String
-> (Text -> Parser AuditsBlockedByResponseReason)
-> Value
-> Parser AuditsBlockedByResponseReason
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsBlockedByResponseReason" ((Text -> Parser AuditsBlockedByResponseReason)
 -> Value -> Parser AuditsBlockedByResponseReason)
-> (Text -> Parser AuditsBlockedByResponseReason)
-> Value
-> Parser AuditsBlockedByResponseReason
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"CoepFrameResourceNeedsCoepHeader" -> AuditsBlockedByResponseReason
-> Parser AuditsBlockedByResponseReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCoepFrameResourceNeedsCoepHeader
    Text
"CoopSandboxedIFrameCannotNavigateToCoopPage" -> AuditsBlockedByResponseReason
-> Parser AuditsBlockedByResponseReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCoopSandboxedIFrameCannotNavigateToCoopPage
    Text
"CorpNotSameOrigin" -> AuditsBlockedByResponseReason
-> Parser AuditsBlockedByResponseReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCorpNotSameOrigin
    Text
"CorpNotSameOriginAfterDefaultedToSameOriginByCoep" -> AuditsBlockedByResponseReason
-> Parser AuditsBlockedByResponseReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCorpNotSameOriginAfterDefaultedToSameOriginByCoep
    Text
"CorpNotSameSite" -> AuditsBlockedByResponseReason
-> Parser AuditsBlockedByResponseReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCorpNotSameSite
    Text
"_" -> String -> Parser AuditsBlockedByResponseReason
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsBlockedByResponseReason"
instance ToJSON AuditsBlockedByResponseReason where
  toJSON :: AuditsBlockedByResponseReason -> Value
toJSON AuditsBlockedByResponseReason
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsBlockedByResponseReason
v of
    AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCoepFrameResourceNeedsCoepHeader -> Text
"CoepFrameResourceNeedsCoepHeader"
    AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCoopSandboxedIFrameCannotNavigateToCoopPage -> Text
"CoopSandboxedIFrameCannotNavigateToCoopPage"
    AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCorpNotSameOrigin -> Text
"CorpNotSameOrigin"
    AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCorpNotSameOriginAfterDefaultedToSameOriginByCoep -> Text
"CorpNotSameOriginAfterDefaultedToSameOriginByCoep"
    AuditsBlockedByResponseReason
AuditsBlockedByResponseReasonCorpNotSameSite -> Text
"CorpNotSameSite"

-- | Type 'Audits.BlockedByResponseIssueDetails'.
--   Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
--   code. Currently only used for COEP/COOP, but may be extended to include
--   some CSP errors in the future.
data AuditsBlockedByResponseIssueDetails = AuditsBlockedByResponseIssueDetails
  {
    AuditsBlockedByResponseIssueDetails -> AuditsAffectedRequest
auditsBlockedByResponseIssueDetailsRequest :: AuditsAffectedRequest,
    AuditsBlockedByResponseIssueDetails -> Maybe AuditsAffectedFrame
auditsBlockedByResponseIssueDetailsParentFrame :: Maybe AuditsAffectedFrame,
    AuditsBlockedByResponseIssueDetails -> Maybe AuditsAffectedFrame
auditsBlockedByResponseIssueDetailsBlockedFrame :: Maybe AuditsAffectedFrame,
    AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseReason
auditsBlockedByResponseIssueDetailsReason :: AuditsBlockedByResponseReason
  }
  deriving (AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseIssueDetails -> Bool
(AuditsBlockedByResponseIssueDetails
 -> AuditsBlockedByResponseIssueDetails -> Bool)
-> (AuditsBlockedByResponseIssueDetails
    -> AuditsBlockedByResponseIssueDetails -> Bool)
-> Eq AuditsBlockedByResponseIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseIssueDetails -> Bool
$c/= :: AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseIssueDetails -> Bool
== :: AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseIssueDetails -> Bool
$c== :: AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseIssueDetails -> Bool
Eq, Int -> AuditsBlockedByResponseIssueDetails -> ShowS
[AuditsBlockedByResponseIssueDetails] -> ShowS
AuditsBlockedByResponseIssueDetails -> String
(Int -> AuditsBlockedByResponseIssueDetails -> ShowS)
-> (AuditsBlockedByResponseIssueDetails -> String)
-> ([AuditsBlockedByResponseIssueDetails] -> ShowS)
-> Show AuditsBlockedByResponseIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsBlockedByResponseIssueDetails] -> ShowS
$cshowList :: [AuditsBlockedByResponseIssueDetails] -> ShowS
show :: AuditsBlockedByResponseIssueDetails -> String
$cshow :: AuditsBlockedByResponseIssueDetails -> String
showsPrec :: Int -> AuditsBlockedByResponseIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsBlockedByResponseIssueDetails -> ShowS
Show)
instance FromJSON AuditsBlockedByResponseIssueDetails where
  parseJSON :: Value -> Parser AuditsBlockedByResponseIssueDetails
parseJSON = String
-> (Object -> Parser AuditsBlockedByResponseIssueDetails)
-> Value
-> Parser AuditsBlockedByResponseIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsBlockedByResponseIssueDetails" ((Object -> Parser AuditsBlockedByResponseIssueDetails)
 -> Value -> Parser AuditsBlockedByResponseIssueDetails)
-> (Object -> Parser AuditsBlockedByResponseIssueDetails)
-> Value
-> Parser AuditsBlockedByResponseIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsAffectedRequest
-> Maybe AuditsAffectedFrame
-> Maybe AuditsAffectedFrame
-> AuditsBlockedByResponseReason
-> AuditsBlockedByResponseIssueDetails
AuditsBlockedByResponseIssueDetails
    (AuditsAffectedRequest
 -> Maybe AuditsAffectedFrame
 -> Maybe AuditsAffectedFrame
 -> AuditsBlockedByResponseReason
 -> AuditsBlockedByResponseIssueDetails)
-> Parser AuditsAffectedRequest
-> Parser
     (Maybe AuditsAffectedFrame
      -> Maybe AuditsAffectedFrame
      -> AuditsBlockedByResponseReason
      -> AuditsBlockedByResponseIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsAffectedRequest
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"request"
    Parser
  (Maybe AuditsAffectedFrame
   -> Maybe AuditsAffectedFrame
   -> AuditsBlockedByResponseReason
   -> AuditsBlockedByResponseIssueDetails)
-> Parser (Maybe AuditsAffectedFrame)
-> Parser
     (Maybe AuditsAffectedFrame
      -> AuditsBlockedByResponseReason
      -> AuditsBlockedByResponseIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedFrame)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"parentFrame"
    Parser
  (Maybe AuditsAffectedFrame
   -> AuditsBlockedByResponseReason
   -> AuditsBlockedByResponseIssueDetails)
-> Parser (Maybe AuditsAffectedFrame)
-> Parser
     (AuditsBlockedByResponseReason
      -> AuditsBlockedByResponseIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedFrame)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"blockedFrame"
    Parser
  (AuditsBlockedByResponseReason
   -> AuditsBlockedByResponseIssueDetails)
-> Parser AuditsBlockedByResponseReason
-> Parser AuditsBlockedByResponseIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsBlockedByResponseReason
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"reason"
instance ToJSON AuditsBlockedByResponseIssueDetails where
  toJSON :: AuditsBlockedByResponseIssueDetails -> Value
toJSON AuditsBlockedByResponseIssueDetails
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
"request" Text -> AuditsAffectedRequest -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedRequest -> Pair)
-> Maybe AuditsAffectedRequest -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsAffectedRequest -> Maybe AuditsAffectedRequest
forall a. a -> Maybe a
Just (AuditsBlockedByResponseIssueDetails -> AuditsAffectedRequest
auditsBlockedByResponseIssueDetailsRequest AuditsBlockedByResponseIssueDetails
p),
    (Text
"parentFrame" Text -> AuditsAffectedFrame -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedFrame -> Pair)
-> Maybe AuditsAffectedFrame -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsBlockedByResponseIssueDetails -> Maybe AuditsAffectedFrame
auditsBlockedByResponseIssueDetailsParentFrame AuditsBlockedByResponseIssueDetails
p),
    (Text
"blockedFrame" Text -> AuditsAffectedFrame -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedFrame -> Pair)
-> Maybe AuditsAffectedFrame -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsBlockedByResponseIssueDetails -> Maybe AuditsAffectedFrame
auditsBlockedByResponseIssueDetailsBlockedFrame AuditsBlockedByResponseIssueDetails
p),
    (Text
"reason" Text -> AuditsBlockedByResponseReason -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsBlockedByResponseReason -> Pair)
-> Maybe AuditsBlockedByResponseReason -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsBlockedByResponseReason
-> Maybe AuditsBlockedByResponseReason
forall a. a -> Maybe a
Just (AuditsBlockedByResponseIssueDetails
-> AuditsBlockedByResponseReason
auditsBlockedByResponseIssueDetailsReason AuditsBlockedByResponseIssueDetails
p)
    ]

-- | Type 'Audits.HeavyAdResolutionStatus'.
data AuditsHeavyAdResolutionStatus = AuditsHeavyAdResolutionStatusHeavyAdBlocked | AuditsHeavyAdResolutionStatusHeavyAdWarning
  deriving (Eq AuditsHeavyAdResolutionStatus
Eq AuditsHeavyAdResolutionStatus
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> Ordering)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> Bool)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> Bool)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> Bool)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> Bool)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus)
-> Ord AuditsHeavyAdResolutionStatus
AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Ordering
AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus
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 :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus
$cmin :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus
max :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus
$cmax :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> AuditsHeavyAdResolutionStatus
>= :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
$c>= :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
> :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
$c> :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
<= :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
$c<= :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
< :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
$c< :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
compare :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Ordering
$ccompare :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Ordering
$cp1Ord :: Eq AuditsHeavyAdResolutionStatus
Ord, AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
(AuditsHeavyAdResolutionStatus
 -> AuditsHeavyAdResolutionStatus -> Bool)
-> (AuditsHeavyAdResolutionStatus
    -> AuditsHeavyAdResolutionStatus -> Bool)
-> Eq AuditsHeavyAdResolutionStatus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
$c/= :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
== :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
$c== :: AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdResolutionStatus -> Bool
Eq, Int -> AuditsHeavyAdResolutionStatus -> ShowS
[AuditsHeavyAdResolutionStatus] -> ShowS
AuditsHeavyAdResolutionStatus -> String
(Int -> AuditsHeavyAdResolutionStatus -> ShowS)
-> (AuditsHeavyAdResolutionStatus -> String)
-> ([AuditsHeavyAdResolutionStatus] -> ShowS)
-> Show AuditsHeavyAdResolutionStatus
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsHeavyAdResolutionStatus] -> ShowS
$cshowList :: [AuditsHeavyAdResolutionStatus] -> ShowS
show :: AuditsHeavyAdResolutionStatus -> String
$cshow :: AuditsHeavyAdResolutionStatus -> String
showsPrec :: Int -> AuditsHeavyAdResolutionStatus -> ShowS
$cshowsPrec :: Int -> AuditsHeavyAdResolutionStatus -> ShowS
Show, ReadPrec [AuditsHeavyAdResolutionStatus]
ReadPrec AuditsHeavyAdResolutionStatus
Int -> ReadS AuditsHeavyAdResolutionStatus
ReadS [AuditsHeavyAdResolutionStatus]
(Int -> ReadS AuditsHeavyAdResolutionStatus)
-> ReadS [AuditsHeavyAdResolutionStatus]
-> ReadPrec AuditsHeavyAdResolutionStatus
-> ReadPrec [AuditsHeavyAdResolutionStatus]
-> Read AuditsHeavyAdResolutionStatus
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsHeavyAdResolutionStatus]
$creadListPrec :: ReadPrec [AuditsHeavyAdResolutionStatus]
readPrec :: ReadPrec AuditsHeavyAdResolutionStatus
$creadPrec :: ReadPrec AuditsHeavyAdResolutionStatus
readList :: ReadS [AuditsHeavyAdResolutionStatus]
$creadList :: ReadS [AuditsHeavyAdResolutionStatus]
readsPrec :: Int -> ReadS AuditsHeavyAdResolutionStatus
$creadsPrec :: Int -> ReadS AuditsHeavyAdResolutionStatus
Read)
instance FromJSON AuditsHeavyAdResolutionStatus where
  parseJSON :: Value -> Parser AuditsHeavyAdResolutionStatus
parseJSON = String
-> (Text -> Parser AuditsHeavyAdResolutionStatus)
-> Value
-> Parser AuditsHeavyAdResolutionStatus
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsHeavyAdResolutionStatus" ((Text -> Parser AuditsHeavyAdResolutionStatus)
 -> Value -> Parser AuditsHeavyAdResolutionStatus)
-> (Text -> Parser AuditsHeavyAdResolutionStatus)
-> Value
-> Parser AuditsHeavyAdResolutionStatus
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"HeavyAdBlocked" -> AuditsHeavyAdResolutionStatus
-> Parser AuditsHeavyAdResolutionStatus
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsHeavyAdResolutionStatus
AuditsHeavyAdResolutionStatusHeavyAdBlocked
    Text
"HeavyAdWarning" -> AuditsHeavyAdResolutionStatus
-> Parser AuditsHeavyAdResolutionStatus
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsHeavyAdResolutionStatus
AuditsHeavyAdResolutionStatusHeavyAdWarning
    Text
"_" -> String -> Parser AuditsHeavyAdResolutionStatus
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsHeavyAdResolutionStatus"
instance ToJSON AuditsHeavyAdResolutionStatus where
  toJSON :: AuditsHeavyAdResolutionStatus -> Value
toJSON AuditsHeavyAdResolutionStatus
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsHeavyAdResolutionStatus
v of
    AuditsHeavyAdResolutionStatus
AuditsHeavyAdResolutionStatusHeavyAdBlocked -> Text
"HeavyAdBlocked"
    AuditsHeavyAdResolutionStatus
AuditsHeavyAdResolutionStatusHeavyAdWarning -> Text
"HeavyAdWarning"

-- | Type 'Audits.HeavyAdReason'.
data AuditsHeavyAdReason = AuditsHeavyAdReasonNetworkTotalLimit | AuditsHeavyAdReasonCpuTotalLimit | AuditsHeavyAdReasonCpuPeakLimit
  deriving (Eq AuditsHeavyAdReason
Eq AuditsHeavyAdReason
-> (AuditsHeavyAdReason -> AuditsHeavyAdReason -> Ordering)
-> (AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool)
-> (AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool)
-> (AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool)
-> (AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool)
-> (AuditsHeavyAdReason
    -> AuditsHeavyAdReason -> AuditsHeavyAdReason)
-> (AuditsHeavyAdReason
    -> AuditsHeavyAdReason -> AuditsHeavyAdReason)
-> Ord AuditsHeavyAdReason
AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
AuditsHeavyAdReason -> AuditsHeavyAdReason -> Ordering
AuditsHeavyAdReason -> AuditsHeavyAdReason -> AuditsHeavyAdReason
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 :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> AuditsHeavyAdReason
$cmin :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> AuditsHeavyAdReason
max :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> AuditsHeavyAdReason
$cmax :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> AuditsHeavyAdReason
>= :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
$c>= :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
> :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
$c> :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
<= :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
$c<= :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
< :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
$c< :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
compare :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Ordering
$ccompare :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Ordering
$cp1Ord :: Eq AuditsHeavyAdReason
Ord, AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
(AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool)
-> (AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool)
-> Eq AuditsHeavyAdReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
$c/= :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
== :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
$c== :: AuditsHeavyAdReason -> AuditsHeavyAdReason -> Bool
Eq, Int -> AuditsHeavyAdReason -> ShowS
[AuditsHeavyAdReason] -> ShowS
AuditsHeavyAdReason -> String
(Int -> AuditsHeavyAdReason -> ShowS)
-> (AuditsHeavyAdReason -> String)
-> ([AuditsHeavyAdReason] -> ShowS)
-> Show AuditsHeavyAdReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsHeavyAdReason] -> ShowS
$cshowList :: [AuditsHeavyAdReason] -> ShowS
show :: AuditsHeavyAdReason -> String
$cshow :: AuditsHeavyAdReason -> String
showsPrec :: Int -> AuditsHeavyAdReason -> ShowS
$cshowsPrec :: Int -> AuditsHeavyAdReason -> ShowS
Show, ReadPrec [AuditsHeavyAdReason]
ReadPrec AuditsHeavyAdReason
Int -> ReadS AuditsHeavyAdReason
ReadS [AuditsHeavyAdReason]
(Int -> ReadS AuditsHeavyAdReason)
-> ReadS [AuditsHeavyAdReason]
-> ReadPrec AuditsHeavyAdReason
-> ReadPrec [AuditsHeavyAdReason]
-> Read AuditsHeavyAdReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsHeavyAdReason]
$creadListPrec :: ReadPrec [AuditsHeavyAdReason]
readPrec :: ReadPrec AuditsHeavyAdReason
$creadPrec :: ReadPrec AuditsHeavyAdReason
readList :: ReadS [AuditsHeavyAdReason]
$creadList :: ReadS [AuditsHeavyAdReason]
readsPrec :: Int -> ReadS AuditsHeavyAdReason
$creadsPrec :: Int -> ReadS AuditsHeavyAdReason
Read)
instance FromJSON AuditsHeavyAdReason where
  parseJSON :: Value -> Parser AuditsHeavyAdReason
parseJSON = String
-> (Text -> Parser AuditsHeavyAdReason)
-> Value
-> Parser AuditsHeavyAdReason
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsHeavyAdReason" ((Text -> Parser AuditsHeavyAdReason)
 -> Value -> Parser AuditsHeavyAdReason)
-> (Text -> Parser AuditsHeavyAdReason)
-> Value
-> Parser AuditsHeavyAdReason
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"NetworkTotalLimit" -> AuditsHeavyAdReason -> Parser AuditsHeavyAdReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsHeavyAdReason
AuditsHeavyAdReasonNetworkTotalLimit
    Text
"CpuTotalLimit" -> AuditsHeavyAdReason -> Parser AuditsHeavyAdReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsHeavyAdReason
AuditsHeavyAdReasonCpuTotalLimit
    Text
"CpuPeakLimit" -> AuditsHeavyAdReason -> Parser AuditsHeavyAdReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsHeavyAdReason
AuditsHeavyAdReasonCpuPeakLimit
    Text
"_" -> String -> Parser AuditsHeavyAdReason
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsHeavyAdReason"
instance ToJSON AuditsHeavyAdReason where
  toJSON :: AuditsHeavyAdReason -> Value
toJSON AuditsHeavyAdReason
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsHeavyAdReason
v of
    AuditsHeavyAdReason
AuditsHeavyAdReasonNetworkTotalLimit -> Text
"NetworkTotalLimit"
    AuditsHeavyAdReason
AuditsHeavyAdReasonCpuTotalLimit -> Text
"CpuTotalLimit"
    AuditsHeavyAdReason
AuditsHeavyAdReasonCpuPeakLimit -> Text
"CpuPeakLimit"

-- | Type 'Audits.HeavyAdIssueDetails'.
data AuditsHeavyAdIssueDetails = AuditsHeavyAdIssueDetails
  {
    -- | The resolution status, either blocking the content or warning.
    AuditsHeavyAdIssueDetails -> AuditsHeavyAdResolutionStatus
auditsHeavyAdIssueDetailsResolution :: AuditsHeavyAdResolutionStatus,
    -- | The reason the ad was blocked, total network or cpu or peak cpu.
    AuditsHeavyAdIssueDetails -> AuditsHeavyAdReason
auditsHeavyAdIssueDetailsReason :: AuditsHeavyAdReason,
    -- | The frame that was blocked.
    AuditsHeavyAdIssueDetails -> AuditsAffectedFrame
auditsHeavyAdIssueDetailsFrame :: AuditsAffectedFrame
  }
  deriving (AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool
(AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool)
-> (AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool)
-> Eq AuditsHeavyAdIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool
$c/= :: AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool
== :: AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool
$c== :: AuditsHeavyAdIssueDetails -> AuditsHeavyAdIssueDetails -> Bool
Eq, Int -> AuditsHeavyAdIssueDetails -> ShowS
[AuditsHeavyAdIssueDetails] -> ShowS
AuditsHeavyAdIssueDetails -> String
(Int -> AuditsHeavyAdIssueDetails -> ShowS)
-> (AuditsHeavyAdIssueDetails -> String)
-> ([AuditsHeavyAdIssueDetails] -> ShowS)
-> Show AuditsHeavyAdIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsHeavyAdIssueDetails] -> ShowS
$cshowList :: [AuditsHeavyAdIssueDetails] -> ShowS
show :: AuditsHeavyAdIssueDetails -> String
$cshow :: AuditsHeavyAdIssueDetails -> String
showsPrec :: Int -> AuditsHeavyAdIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsHeavyAdIssueDetails -> ShowS
Show)
instance FromJSON AuditsHeavyAdIssueDetails where
  parseJSON :: Value -> Parser AuditsHeavyAdIssueDetails
parseJSON = String
-> (Object -> Parser AuditsHeavyAdIssueDetails)
-> Value
-> Parser AuditsHeavyAdIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsHeavyAdIssueDetails" ((Object -> Parser AuditsHeavyAdIssueDetails)
 -> Value -> Parser AuditsHeavyAdIssueDetails)
-> (Object -> Parser AuditsHeavyAdIssueDetails)
-> Value
-> Parser AuditsHeavyAdIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsHeavyAdResolutionStatus
-> AuditsHeavyAdReason
-> AuditsAffectedFrame
-> AuditsHeavyAdIssueDetails
AuditsHeavyAdIssueDetails
    (AuditsHeavyAdResolutionStatus
 -> AuditsHeavyAdReason
 -> AuditsAffectedFrame
 -> AuditsHeavyAdIssueDetails)
-> Parser AuditsHeavyAdResolutionStatus
-> Parser
     (AuditsHeavyAdReason
      -> AuditsAffectedFrame -> AuditsHeavyAdIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsHeavyAdResolutionStatus
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"resolution"
    Parser
  (AuditsHeavyAdReason
   -> AuditsAffectedFrame -> AuditsHeavyAdIssueDetails)
-> Parser AuditsHeavyAdReason
-> Parser (AuditsAffectedFrame -> AuditsHeavyAdIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsHeavyAdReason
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"reason"
    Parser (AuditsAffectedFrame -> AuditsHeavyAdIssueDetails)
-> Parser AuditsAffectedFrame -> Parser AuditsHeavyAdIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsAffectedFrame
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"frame"
instance ToJSON AuditsHeavyAdIssueDetails where
  toJSON :: AuditsHeavyAdIssueDetails -> Value
toJSON AuditsHeavyAdIssueDetails
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
"resolution" Text -> AuditsHeavyAdResolutionStatus -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsHeavyAdResolutionStatus -> Pair)
-> Maybe AuditsHeavyAdResolutionStatus -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsHeavyAdResolutionStatus
-> Maybe AuditsHeavyAdResolutionStatus
forall a. a -> Maybe a
Just (AuditsHeavyAdIssueDetails -> AuditsHeavyAdResolutionStatus
auditsHeavyAdIssueDetailsResolution AuditsHeavyAdIssueDetails
p),
    (Text
"reason" Text -> AuditsHeavyAdReason -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsHeavyAdReason -> Pair)
-> Maybe AuditsHeavyAdReason -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsHeavyAdReason -> Maybe AuditsHeavyAdReason
forall a. a -> Maybe a
Just (AuditsHeavyAdIssueDetails -> AuditsHeavyAdReason
auditsHeavyAdIssueDetailsReason AuditsHeavyAdIssueDetails
p),
    (Text
"frame" Text -> AuditsAffectedFrame -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedFrame -> Pair)
-> Maybe AuditsAffectedFrame -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsAffectedFrame -> Maybe AuditsAffectedFrame
forall a. a -> Maybe a
Just (AuditsHeavyAdIssueDetails -> AuditsAffectedFrame
auditsHeavyAdIssueDetailsFrame AuditsHeavyAdIssueDetails
p)
    ]

-- | Type 'Audits.ContentSecurityPolicyViolationType'.
data AuditsContentSecurityPolicyViolationType = AuditsContentSecurityPolicyViolationTypeKInlineViolation | AuditsContentSecurityPolicyViolationTypeKEvalViolation | AuditsContentSecurityPolicyViolationTypeKURLViolation | AuditsContentSecurityPolicyViolationTypeKTrustedTypesSinkViolation | AuditsContentSecurityPolicyViolationTypeKTrustedTypesPolicyViolation | AuditsContentSecurityPolicyViolationTypeKWasmEvalViolation
  deriving (Eq AuditsContentSecurityPolicyViolationType
Eq AuditsContentSecurityPolicyViolationType
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType -> Ordering)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType -> Bool)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType -> Bool)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType -> Bool)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType -> Bool)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType)
-> Ord AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Ordering
AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
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 :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
$cmin :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
max :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
$cmax :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType
>= :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
$c>= :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
> :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
$c> :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
<= :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
$c<= :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
< :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
$c< :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
compare :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Ordering
$ccompare :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Ordering
$cp1Ord :: Eq AuditsContentSecurityPolicyViolationType
Ord, AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
(AuditsContentSecurityPolicyViolationType
 -> AuditsContentSecurityPolicyViolationType -> Bool)
-> (AuditsContentSecurityPolicyViolationType
    -> AuditsContentSecurityPolicyViolationType -> Bool)
-> Eq AuditsContentSecurityPolicyViolationType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
$c/= :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
== :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
$c== :: AuditsContentSecurityPolicyViolationType
-> AuditsContentSecurityPolicyViolationType -> Bool
Eq, Int -> AuditsContentSecurityPolicyViolationType -> ShowS
[AuditsContentSecurityPolicyViolationType] -> ShowS
AuditsContentSecurityPolicyViolationType -> String
(Int -> AuditsContentSecurityPolicyViolationType -> ShowS)
-> (AuditsContentSecurityPolicyViolationType -> String)
-> ([AuditsContentSecurityPolicyViolationType] -> ShowS)
-> Show AuditsContentSecurityPolicyViolationType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsContentSecurityPolicyViolationType] -> ShowS
$cshowList :: [AuditsContentSecurityPolicyViolationType] -> ShowS
show :: AuditsContentSecurityPolicyViolationType -> String
$cshow :: AuditsContentSecurityPolicyViolationType -> String
showsPrec :: Int -> AuditsContentSecurityPolicyViolationType -> ShowS
$cshowsPrec :: Int -> AuditsContentSecurityPolicyViolationType -> ShowS
Show, ReadPrec [AuditsContentSecurityPolicyViolationType]
ReadPrec AuditsContentSecurityPolicyViolationType
Int -> ReadS AuditsContentSecurityPolicyViolationType
ReadS [AuditsContentSecurityPolicyViolationType]
(Int -> ReadS AuditsContentSecurityPolicyViolationType)
-> ReadS [AuditsContentSecurityPolicyViolationType]
-> ReadPrec AuditsContentSecurityPolicyViolationType
-> ReadPrec [AuditsContentSecurityPolicyViolationType]
-> Read AuditsContentSecurityPolicyViolationType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsContentSecurityPolicyViolationType]
$creadListPrec :: ReadPrec [AuditsContentSecurityPolicyViolationType]
readPrec :: ReadPrec AuditsContentSecurityPolicyViolationType
$creadPrec :: ReadPrec AuditsContentSecurityPolicyViolationType
readList :: ReadS [AuditsContentSecurityPolicyViolationType]
$creadList :: ReadS [AuditsContentSecurityPolicyViolationType]
readsPrec :: Int -> ReadS AuditsContentSecurityPolicyViolationType
$creadsPrec :: Int -> ReadS AuditsContentSecurityPolicyViolationType
Read)
instance FromJSON AuditsContentSecurityPolicyViolationType where
  parseJSON :: Value -> Parser AuditsContentSecurityPolicyViolationType
parseJSON = String
-> (Text -> Parser AuditsContentSecurityPolicyViolationType)
-> Value
-> Parser AuditsContentSecurityPolicyViolationType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsContentSecurityPolicyViolationType" ((Text -> Parser AuditsContentSecurityPolicyViolationType)
 -> Value -> Parser AuditsContentSecurityPolicyViolationType)
-> (Text -> Parser AuditsContentSecurityPolicyViolationType)
-> Value
-> Parser AuditsContentSecurityPolicyViolationType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"kInlineViolation" -> AuditsContentSecurityPolicyViolationType
-> Parser AuditsContentSecurityPolicyViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKInlineViolation
    Text
"kEvalViolation" -> AuditsContentSecurityPolicyViolationType
-> Parser AuditsContentSecurityPolicyViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKEvalViolation
    Text
"kURLViolation" -> AuditsContentSecurityPolicyViolationType
-> Parser AuditsContentSecurityPolicyViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKURLViolation
    Text
"kTrustedTypesSinkViolation" -> AuditsContentSecurityPolicyViolationType
-> Parser AuditsContentSecurityPolicyViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKTrustedTypesSinkViolation
    Text
"kTrustedTypesPolicyViolation" -> AuditsContentSecurityPolicyViolationType
-> Parser AuditsContentSecurityPolicyViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKTrustedTypesPolicyViolation
    Text
"kWasmEvalViolation" -> AuditsContentSecurityPolicyViolationType
-> Parser AuditsContentSecurityPolicyViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKWasmEvalViolation
    Text
"_" -> String -> Parser AuditsContentSecurityPolicyViolationType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsContentSecurityPolicyViolationType"
instance ToJSON AuditsContentSecurityPolicyViolationType where
  toJSON :: AuditsContentSecurityPolicyViolationType -> Value
toJSON AuditsContentSecurityPolicyViolationType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsContentSecurityPolicyViolationType
v of
    AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKInlineViolation -> Text
"kInlineViolation"
    AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKEvalViolation -> Text
"kEvalViolation"
    AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKURLViolation -> Text
"kURLViolation"
    AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKTrustedTypesSinkViolation -> Text
"kTrustedTypesSinkViolation"
    AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKTrustedTypesPolicyViolation -> Text
"kTrustedTypesPolicyViolation"
    AuditsContentSecurityPolicyViolationType
AuditsContentSecurityPolicyViolationTypeKWasmEvalViolation -> Text
"kWasmEvalViolation"

-- | Type 'Audits.SourceCodeLocation'.
data AuditsSourceCodeLocation = AuditsSourceCodeLocation
  {
    AuditsSourceCodeLocation -> Maybe Text
auditsSourceCodeLocationScriptId :: Maybe Runtime.RuntimeScriptId,
    AuditsSourceCodeLocation -> Text
auditsSourceCodeLocationUrl :: T.Text,
    AuditsSourceCodeLocation -> Int
auditsSourceCodeLocationLineNumber :: Int,
    AuditsSourceCodeLocation -> Int
auditsSourceCodeLocationColumnNumber :: Int
  }
  deriving (AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool
(AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool)
-> (AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool)
-> Eq AuditsSourceCodeLocation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool
$c/= :: AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool
== :: AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool
$c== :: AuditsSourceCodeLocation -> AuditsSourceCodeLocation -> Bool
Eq, Int -> AuditsSourceCodeLocation -> ShowS
[AuditsSourceCodeLocation] -> ShowS
AuditsSourceCodeLocation -> String
(Int -> AuditsSourceCodeLocation -> ShowS)
-> (AuditsSourceCodeLocation -> String)
-> ([AuditsSourceCodeLocation] -> ShowS)
-> Show AuditsSourceCodeLocation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsSourceCodeLocation] -> ShowS
$cshowList :: [AuditsSourceCodeLocation] -> ShowS
show :: AuditsSourceCodeLocation -> String
$cshow :: AuditsSourceCodeLocation -> String
showsPrec :: Int -> AuditsSourceCodeLocation -> ShowS
$cshowsPrec :: Int -> AuditsSourceCodeLocation -> ShowS
Show)
instance FromJSON AuditsSourceCodeLocation where
  parseJSON :: Value -> Parser AuditsSourceCodeLocation
parseJSON = String
-> (Object -> Parser AuditsSourceCodeLocation)
-> Value
-> Parser AuditsSourceCodeLocation
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsSourceCodeLocation" ((Object -> Parser AuditsSourceCodeLocation)
 -> Value -> Parser AuditsSourceCodeLocation)
-> (Object -> Parser AuditsSourceCodeLocation)
-> Value
-> Parser AuditsSourceCodeLocation
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe Text -> Text -> Int -> Int -> AuditsSourceCodeLocation
AuditsSourceCodeLocation
    (Maybe Text -> Text -> Int -> Int -> AuditsSourceCodeLocation)
-> Parser (Maybe Text)
-> Parser (Text -> Int -> Int -> AuditsSourceCodeLocation)
forall (f :: * -> *) a b. Functor 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
"scriptId"
    Parser (Text -> Int -> Int -> AuditsSourceCodeLocation)
-> Parser Text -> Parser (Int -> Int -> AuditsSourceCodeLocation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"url"
    Parser (Int -> Int -> AuditsSourceCodeLocation)
-> Parser Int -> Parser (Int -> AuditsSourceCodeLocation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"lineNumber"
    Parser (Int -> AuditsSourceCodeLocation)
-> Parser Int -> Parser AuditsSourceCodeLocation
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"columnNumber"
instance ToJSON AuditsSourceCodeLocation where
  toJSON :: AuditsSourceCodeLocation -> Value
toJSON AuditsSourceCodeLocation
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
"scriptId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsSourceCodeLocation -> Maybe Text
auditsSourceCodeLocationScriptId AuditsSourceCodeLocation
p),
    (Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsSourceCodeLocation -> Text
auditsSourceCodeLocationUrl AuditsSourceCodeLocation
p),
    (Text
"lineNumber" 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
<$> Int -> Maybe Int
forall a. a -> Maybe a
Just (AuditsSourceCodeLocation -> Int
auditsSourceCodeLocationLineNumber AuditsSourceCodeLocation
p),
    (Text
"columnNumber" 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
<$> Int -> Maybe Int
forall a. a -> Maybe a
Just (AuditsSourceCodeLocation -> Int
auditsSourceCodeLocationColumnNumber AuditsSourceCodeLocation
p)
    ]

-- | Type 'Audits.ContentSecurityPolicyIssueDetails'.
data AuditsContentSecurityPolicyIssueDetails = AuditsContentSecurityPolicyIssueDetails
  {
    -- | The url not included in allowed sources.
    AuditsContentSecurityPolicyIssueDetails -> Maybe Text
auditsContentSecurityPolicyIssueDetailsBlockedURL :: Maybe T.Text,
    -- | Specific directive that is violated, causing the CSP issue.
    AuditsContentSecurityPolicyIssueDetails -> Text
auditsContentSecurityPolicyIssueDetailsViolatedDirective :: T.Text,
    AuditsContentSecurityPolicyIssueDetails -> Bool
auditsContentSecurityPolicyIssueDetailsIsReportOnly :: Bool,
    AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyViolationType
auditsContentSecurityPolicyIssueDetailsContentSecurityPolicyViolationType :: AuditsContentSecurityPolicyViolationType,
    AuditsContentSecurityPolicyIssueDetails
-> Maybe AuditsAffectedFrame
auditsContentSecurityPolicyIssueDetailsFrameAncestor :: Maybe AuditsAffectedFrame,
    AuditsContentSecurityPolicyIssueDetails
-> Maybe AuditsSourceCodeLocation
auditsContentSecurityPolicyIssueDetailsSourceCodeLocation :: Maybe AuditsSourceCodeLocation,
    AuditsContentSecurityPolicyIssueDetails -> Maybe Int
auditsContentSecurityPolicyIssueDetailsViolatingNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId
  }
  deriving (AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyIssueDetails -> Bool
(AuditsContentSecurityPolicyIssueDetails
 -> AuditsContentSecurityPolicyIssueDetails -> Bool)
-> (AuditsContentSecurityPolicyIssueDetails
    -> AuditsContentSecurityPolicyIssueDetails -> Bool)
-> Eq AuditsContentSecurityPolicyIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyIssueDetails -> Bool
$c/= :: AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyIssueDetails -> Bool
== :: AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyIssueDetails -> Bool
$c== :: AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyIssueDetails -> Bool
Eq, Int -> AuditsContentSecurityPolicyIssueDetails -> ShowS
[AuditsContentSecurityPolicyIssueDetails] -> ShowS
AuditsContentSecurityPolicyIssueDetails -> String
(Int -> AuditsContentSecurityPolicyIssueDetails -> ShowS)
-> (AuditsContentSecurityPolicyIssueDetails -> String)
-> ([AuditsContentSecurityPolicyIssueDetails] -> ShowS)
-> Show AuditsContentSecurityPolicyIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsContentSecurityPolicyIssueDetails] -> ShowS
$cshowList :: [AuditsContentSecurityPolicyIssueDetails] -> ShowS
show :: AuditsContentSecurityPolicyIssueDetails -> String
$cshow :: AuditsContentSecurityPolicyIssueDetails -> String
showsPrec :: Int -> AuditsContentSecurityPolicyIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsContentSecurityPolicyIssueDetails -> ShowS
Show)
instance FromJSON AuditsContentSecurityPolicyIssueDetails where
  parseJSON :: Value -> Parser AuditsContentSecurityPolicyIssueDetails
parseJSON = String
-> (Object -> Parser AuditsContentSecurityPolicyIssueDetails)
-> Value
-> Parser AuditsContentSecurityPolicyIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsContentSecurityPolicyIssueDetails" ((Object -> Parser AuditsContentSecurityPolicyIssueDetails)
 -> Value -> Parser AuditsContentSecurityPolicyIssueDetails)
-> (Object -> Parser AuditsContentSecurityPolicyIssueDetails)
-> Value
-> Parser AuditsContentSecurityPolicyIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe Text
-> Text
-> Bool
-> AuditsContentSecurityPolicyViolationType
-> Maybe AuditsAffectedFrame
-> Maybe AuditsSourceCodeLocation
-> Maybe Int
-> AuditsContentSecurityPolicyIssueDetails
AuditsContentSecurityPolicyIssueDetails
    (Maybe Text
 -> Text
 -> Bool
 -> AuditsContentSecurityPolicyViolationType
 -> Maybe AuditsAffectedFrame
 -> Maybe AuditsSourceCodeLocation
 -> Maybe Int
 -> AuditsContentSecurityPolicyIssueDetails)
-> Parser (Maybe Text)
-> Parser
     (Text
      -> Bool
      -> AuditsContentSecurityPolicyViolationType
      -> Maybe AuditsAffectedFrame
      -> Maybe AuditsSourceCodeLocation
      -> Maybe Int
      -> AuditsContentSecurityPolicyIssueDetails)
forall (f :: * -> *) a b. Functor 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
"blockedURL"
    Parser
  (Text
   -> Bool
   -> AuditsContentSecurityPolicyViolationType
   -> Maybe AuditsAffectedFrame
   -> Maybe AuditsSourceCodeLocation
   -> Maybe Int
   -> AuditsContentSecurityPolicyIssueDetails)
-> Parser Text
-> Parser
     (Bool
      -> AuditsContentSecurityPolicyViolationType
      -> Maybe AuditsAffectedFrame
      -> Maybe AuditsSourceCodeLocation
      -> Maybe Int
      -> AuditsContentSecurityPolicyIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"violatedDirective"
    Parser
  (Bool
   -> AuditsContentSecurityPolicyViolationType
   -> Maybe AuditsAffectedFrame
   -> Maybe AuditsSourceCodeLocation
   -> Maybe Int
   -> AuditsContentSecurityPolicyIssueDetails)
-> Parser Bool
-> Parser
     (AuditsContentSecurityPolicyViolationType
      -> Maybe AuditsAffectedFrame
      -> Maybe AuditsSourceCodeLocation
      -> Maybe Int
      -> AuditsContentSecurityPolicyIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"isReportOnly"
    Parser
  (AuditsContentSecurityPolicyViolationType
   -> Maybe AuditsAffectedFrame
   -> Maybe AuditsSourceCodeLocation
   -> Maybe Int
   -> AuditsContentSecurityPolicyIssueDetails)
-> Parser AuditsContentSecurityPolicyViolationType
-> Parser
     (Maybe AuditsAffectedFrame
      -> Maybe AuditsSourceCodeLocation
      -> Maybe Int
      -> AuditsContentSecurityPolicyIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsContentSecurityPolicyViolationType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"contentSecurityPolicyViolationType"
    Parser
  (Maybe AuditsAffectedFrame
   -> Maybe AuditsSourceCodeLocation
   -> Maybe Int
   -> AuditsContentSecurityPolicyIssueDetails)
-> Parser (Maybe AuditsAffectedFrame)
-> Parser
     (Maybe AuditsSourceCodeLocation
      -> Maybe Int -> AuditsContentSecurityPolicyIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedFrame)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"frameAncestor"
    Parser
  (Maybe AuditsSourceCodeLocation
   -> Maybe Int -> AuditsContentSecurityPolicyIssueDetails)
-> Parser (Maybe AuditsSourceCodeLocation)
-> Parser (Maybe Int -> AuditsContentSecurityPolicyIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsSourceCodeLocation)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"sourceCodeLocation"
    Parser (Maybe Int -> AuditsContentSecurityPolicyIssueDetails)
-> Parser (Maybe Int)
-> Parser AuditsContentSecurityPolicyIssueDetails
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
"violatingNodeId"
instance ToJSON AuditsContentSecurityPolicyIssueDetails where
  toJSON :: AuditsContentSecurityPolicyIssueDetails -> Value
toJSON AuditsContentSecurityPolicyIssueDetails
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
"blockedURL" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsContentSecurityPolicyIssueDetails -> Maybe Text
auditsContentSecurityPolicyIssueDetailsBlockedURL AuditsContentSecurityPolicyIssueDetails
p),
    (Text
"violatedDirective" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsContentSecurityPolicyIssueDetails -> Text
auditsContentSecurityPolicyIssueDetailsViolatedDirective AuditsContentSecurityPolicyIssueDetails
p),
    (Text
"isReportOnly" 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
<$> Bool -> Maybe Bool
forall a. a -> Maybe a
Just (AuditsContentSecurityPolicyIssueDetails -> Bool
auditsContentSecurityPolicyIssueDetailsIsReportOnly AuditsContentSecurityPolicyIssueDetails
p),
    (Text
"contentSecurityPolicyViolationType" Text -> AuditsContentSecurityPolicyViolationType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsContentSecurityPolicyViolationType -> Pair)
-> Maybe AuditsContentSecurityPolicyViolationType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsContentSecurityPolicyViolationType
-> Maybe AuditsContentSecurityPolicyViolationType
forall a. a -> Maybe a
Just (AuditsContentSecurityPolicyIssueDetails
-> AuditsContentSecurityPolicyViolationType
auditsContentSecurityPolicyIssueDetailsContentSecurityPolicyViolationType AuditsContentSecurityPolicyIssueDetails
p),
    (Text
"frameAncestor" Text -> AuditsAffectedFrame -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedFrame -> Pair)
-> Maybe AuditsAffectedFrame -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsContentSecurityPolicyIssueDetails
-> Maybe AuditsAffectedFrame
auditsContentSecurityPolicyIssueDetailsFrameAncestor AuditsContentSecurityPolicyIssueDetails
p),
    (Text
"sourceCodeLocation" Text -> AuditsSourceCodeLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSourceCodeLocation -> Pair)
-> Maybe AuditsSourceCodeLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsContentSecurityPolicyIssueDetails
-> Maybe AuditsSourceCodeLocation
auditsContentSecurityPolicyIssueDetailsSourceCodeLocation AuditsContentSecurityPolicyIssueDetails
p),
    (Text
"violatingNodeId" 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
<$> (AuditsContentSecurityPolicyIssueDetails -> Maybe Int
auditsContentSecurityPolicyIssueDetailsViolatingNodeId AuditsContentSecurityPolicyIssueDetails
p)
    ]

-- | Type 'Audits.SharedArrayBufferIssueType'.
data AuditsSharedArrayBufferIssueType = AuditsSharedArrayBufferIssueTypeTransferIssue | AuditsSharedArrayBufferIssueTypeCreationIssue
  deriving (Eq AuditsSharedArrayBufferIssueType
Eq AuditsSharedArrayBufferIssueType
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType -> Ordering)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType -> Bool)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType -> Bool)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType -> Bool)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType -> Bool)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType)
-> Ord AuditsSharedArrayBufferIssueType
AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Ordering
AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
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 :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
$cmin :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
max :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
$cmax :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType
>= :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
$c>= :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
> :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
$c> :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
<= :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
$c<= :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
< :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
$c< :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
compare :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Ordering
$ccompare :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Ordering
$cp1Ord :: Eq AuditsSharedArrayBufferIssueType
Ord, AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
(AuditsSharedArrayBufferIssueType
 -> AuditsSharedArrayBufferIssueType -> Bool)
-> (AuditsSharedArrayBufferIssueType
    -> AuditsSharedArrayBufferIssueType -> Bool)
-> Eq AuditsSharedArrayBufferIssueType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
$c/= :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
== :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
$c== :: AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueType -> Bool
Eq, Int -> AuditsSharedArrayBufferIssueType -> ShowS
[AuditsSharedArrayBufferIssueType] -> ShowS
AuditsSharedArrayBufferIssueType -> String
(Int -> AuditsSharedArrayBufferIssueType -> ShowS)
-> (AuditsSharedArrayBufferIssueType -> String)
-> ([AuditsSharedArrayBufferIssueType] -> ShowS)
-> Show AuditsSharedArrayBufferIssueType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsSharedArrayBufferIssueType] -> ShowS
$cshowList :: [AuditsSharedArrayBufferIssueType] -> ShowS
show :: AuditsSharedArrayBufferIssueType -> String
$cshow :: AuditsSharedArrayBufferIssueType -> String
showsPrec :: Int -> AuditsSharedArrayBufferIssueType -> ShowS
$cshowsPrec :: Int -> AuditsSharedArrayBufferIssueType -> ShowS
Show, ReadPrec [AuditsSharedArrayBufferIssueType]
ReadPrec AuditsSharedArrayBufferIssueType
Int -> ReadS AuditsSharedArrayBufferIssueType
ReadS [AuditsSharedArrayBufferIssueType]
(Int -> ReadS AuditsSharedArrayBufferIssueType)
-> ReadS [AuditsSharedArrayBufferIssueType]
-> ReadPrec AuditsSharedArrayBufferIssueType
-> ReadPrec [AuditsSharedArrayBufferIssueType]
-> Read AuditsSharedArrayBufferIssueType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsSharedArrayBufferIssueType]
$creadListPrec :: ReadPrec [AuditsSharedArrayBufferIssueType]
readPrec :: ReadPrec AuditsSharedArrayBufferIssueType
$creadPrec :: ReadPrec AuditsSharedArrayBufferIssueType
readList :: ReadS [AuditsSharedArrayBufferIssueType]
$creadList :: ReadS [AuditsSharedArrayBufferIssueType]
readsPrec :: Int -> ReadS AuditsSharedArrayBufferIssueType
$creadsPrec :: Int -> ReadS AuditsSharedArrayBufferIssueType
Read)
instance FromJSON AuditsSharedArrayBufferIssueType where
  parseJSON :: Value -> Parser AuditsSharedArrayBufferIssueType
parseJSON = String
-> (Text -> Parser AuditsSharedArrayBufferIssueType)
-> Value
-> Parser AuditsSharedArrayBufferIssueType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsSharedArrayBufferIssueType" ((Text -> Parser AuditsSharedArrayBufferIssueType)
 -> Value -> Parser AuditsSharedArrayBufferIssueType)
-> (Text -> Parser AuditsSharedArrayBufferIssueType)
-> Value
-> Parser AuditsSharedArrayBufferIssueType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"TransferIssue" -> AuditsSharedArrayBufferIssueType
-> Parser AuditsSharedArrayBufferIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsSharedArrayBufferIssueType
AuditsSharedArrayBufferIssueTypeTransferIssue
    Text
"CreationIssue" -> AuditsSharedArrayBufferIssueType
-> Parser AuditsSharedArrayBufferIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsSharedArrayBufferIssueType
AuditsSharedArrayBufferIssueTypeCreationIssue
    Text
"_" -> String -> Parser AuditsSharedArrayBufferIssueType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsSharedArrayBufferIssueType"
instance ToJSON AuditsSharedArrayBufferIssueType where
  toJSON :: AuditsSharedArrayBufferIssueType -> Value
toJSON AuditsSharedArrayBufferIssueType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsSharedArrayBufferIssueType
v of
    AuditsSharedArrayBufferIssueType
AuditsSharedArrayBufferIssueTypeTransferIssue -> Text
"TransferIssue"
    AuditsSharedArrayBufferIssueType
AuditsSharedArrayBufferIssueTypeCreationIssue -> Text
"CreationIssue"

-- | Type 'Audits.SharedArrayBufferIssueDetails'.
--   Details for a issue arising from an SAB being instantiated in, or
--   transferred to a context that is not cross-origin isolated.
data AuditsSharedArrayBufferIssueDetails = AuditsSharedArrayBufferIssueDetails
  {
    AuditsSharedArrayBufferIssueDetails -> AuditsSourceCodeLocation
auditsSharedArrayBufferIssueDetailsSourceCodeLocation :: AuditsSourceCodeLocation,
    AuditsSharedArrayBufferIssueDetails -> Bool
auditsSharedArrayBufferIssueDetailsIsWarning :: Bool,
    AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueType
auditsSharedArrayBufferIssueDetailsType :: AuditsSharedArrayBufferIssueType
  }
  deriving (AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueDetails -> Bool
(AuditsSharedArrayBufferIssueDetails
 -> AuditsSharedArrayBufferIssueDetails -> Bool)
-> (AuditsSharedArrayBufferIssueDetails
    -> AuditsSharedArrayBufferIssueDetails -> Bool)
-> Eq AuditsSharedArrayBufferIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueDetails -> Bool
$c/= :: AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueDetails -> Bool
== :: AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueDetails -> Bool
$c== :: AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueDetails -> Bool
Eq, Int -> AuditsSharedArrayBufferIssueDetails -> ShowS
[AuditsSharedArrayBufferIssueDetails] -> ShowS
AuditsSharedArrayBufferIssueDetails -> String
(Int -> AuditsSharedArrayBufferIssueDetails -> ShowS)
-> (AuditsSharedArrayBufferIssueDetails -> String)
-> ([AuditsSharedArrayBufferIssueDetails] -> ShowS)
-> Show AuditsSharedArrayBufferIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsSharedArrayBufferIssueDetails] -> ShowS
$cshowList :: [AuditsSharedArrayBufferIssueDetails] -> ShowS
show :: AuditsSharedArrayBufferIssueDetails -> String
$cshow :: AuditsSharedArrayBufferIssueDetails -> String
showsPrec :: Int -> AuditsSharedArrayBufferIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsSharedArrayBufferIssueDetails -> ShowS
Show)
instance FromJSON AuditsSharedArrayBufferIssueDetails where
  parseJSON :: Value -> Parser AuditsSharedArrayBufferIssueDetails
parseJSON = String
-> (Object -> Parser AuditsSharedArrayBufferIssueDetails)
-> Value
-> Parser AuditsSharedArrayBufferIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsSharedArrayBufferIssueDetails" ((Object -> Parser AuditsSharedArrayBufferIssueDetails)
 -> Value -> Parser AuditsSharedArrayBufferIssueDetails)
-> (Object -> Parser AuditsSharedArrayBufferIssueDetails)
-> Value
-> Parser AuditsSharedArrayBufferIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsSourceCodeLocation
-> Bool
-> AuditsSharedArrayBufferIssueType
-> AuditsSharedArrayBufferIssueDetails
AuditsSharedArrayBufferIssueDetails
    (AuditsSourceCodeLocation
 -> Bool
 -> AuditsSharedArrayBufferIssueType
 -> AuditsSharedArrayBufferIssueDetails)
-> Parser AuditsSourceCodeLocation
-> Parser
     (Bool
      -> AuditsSharedArrayBufferIssueType
      -> AuditsSharedArrayBufferIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsSourceCodeLocation
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"sourceCodeLocation"
    Parser
  (Bool
   -> AuditsSharedArrayBufferIssueType
   -> AuditsSharedArrayBufferIssueDetails)
-> Parser Bool
-> Parser
     (AuditsSharedArrayBufferIssueType
      -> AuditsSharedArrayBufferIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"isWarning"
    Parser
  (AuditsSharedArrayBufferIssueType
   -> AuditsSharedArrayBufferIssueDetails)
-> Parser AuditsSharedArrayBufferIssueType
-> Parser AuditsSharedArrayBufferIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsSharedArrayBufferIssueType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"type"
instance ToJSON AuditsSharedArrayBufferIssueDetails where
  toJSON :: AuditsSharedArrayBufferIssueDetails -> Value
toJSON AuditsSharedArrayBufferIssueDetails
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
"sourceCodeLocation" Text -> AuditsSourceCodeLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSourceCodeLocation -> Pair)
-> Maybe AuditsSourceCodeLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsSourceCodeLocation -> Maybe AuditsSourceCodeLocation
forall a. a -> Maybe a
Just (AuditsSharedArrayBufferIssueDetails -> AuditsSourceCodeLocation
auditsSharedArrayBufferIssueDetailsSourceCodeLocation AuditsSharedArrayBufferIssueDetails
p),
    (Text
"isWarning" 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
<$> Bool -> Maybe Bool
forall a. a -> Maybe a
Just (AuditsSharedArrayBufferIssueDetails -> Bool
auditsSharedArrayBufferIssueDetailsIsWarning AuditsSharedArrayBufferIssueDetails
p),
    (Text
"type" Text -> AuditsSharedArrayBufferIssueType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSharedArrayBufferIssueType -> Pair)
-> Maybe AuditsSharedArrayBufferIssueType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsSharedArrayBufferIssueType
-> Maybe AuditsSharedArrayBufferIssueType
forall a. a -> Maybe a
Just (AuditsSharedArrayBufferIssueDetails
-> AuditsSharedArrayBufferIssueType
auditsSharedArrayBufferIssueDetailsType AuditsSharedArrayBufferIssueDetails
p)
    ]

-- | Type 'Audits.TwaQualityEnforcementViolationType'.
data AuditsTwaQualityEnforcementViolationType = AuditsTwaQualityEnforcementViolationTypeKHttpError | AuditsTwaQualityEnforcementViolationTypeKUnavailableOffline | AuditsTwaQualityEnforcementViolationTypeKDigitalAssetLinks
  deriving (Eq AuditsTwaQualityEnforcementViolationType
Eq AuditsTwaQualityEnforcementViolationType
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType -> Ordering)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType -> Bool)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType -> Bool)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType -> Bool)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType -> Bool)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType)
-> Ord AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Ordering
AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
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 :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
$cmin :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
max :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
$cmax :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType
>= :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
$c>= :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
> :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
$c> :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
<= :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
$c<= :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
< :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
$c< :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
compare :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Ordering
$ccompare :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Ordering
$cp1Ord :: Eq AuditsTwaQualityEnforcementViolationType
Ord, AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
(AuditsTwaQualityEnforcementViolationType
 -> AuditsTwaQualityEnforcementViolationType -> Bool)
-> (AuditsTwaQualityEnforcementViolationType
    -> AuditsTwaQualityEnforcementViolationType -> Bool)
-> Eq AuditsTwaQualityEnforcementViolationType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
$c/= :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
== :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
$c== :: AuditsTwaQualityEnforcementViolationType
-> AuditsTwaQualityEnforcementViolationType -> Bool
Eq, Int -> AuditsTwaQualityEnforcementViolationType -> ShowS
[AuditsTwaQualityEnforcementViolationType] -> ShowS
AuditsTwaQualityEnforcementViolationType -> String
(Int -> AuditsTwaQualityEnforcementViolationType -> ShowS)
-> (AuditsTwaQualityEnforcementViolationType -> String)
-> ([AuditsTwaQualityEnforcementViolationType] -> ShowS)
-> Show AuditsTwaQualityEnforcementViolationType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsTwaQualityEnforcementViolationType] -> ShowS
$cshowList :: [AuditsTwaQualityEnforcementViolationType] -> ShowS
show :: AuditsTwaQualityEnforcementViolationType -> String
$cshow :: AuditsTwaQualityEnforcementViolationType -> String
showsPrec :: Int -> AuditsTwaQualityEnforcementViolationType -> ShowS
$cshowsPrec :: Int -> AuditsTwaQualityEnforcementViolationType -> ShowS
Show, ReadPrec [AuditsTwaQualityEnforcementViolationType]
ReadPrec AuditsTwaQualityEnforcementViolationType
Int -> ReadS AuditsTwaQualityEnforcementViolationType
ReadS [AuditsTwaQualityEnforcementViolationType]
(Int -> ReadS AuditsTwaQualityEnforcementViolationType)
-> ReadS [AuditsTwaQualityEnforcementViolationType]
-> ReadPrec AuditsTwaQualityEnforcementViolationType
-> ReadPrec [AuditsTwaQualityEnforcementViolationType]
-> Read AuditsTwaQualityEnforcementViolationType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsTwaQualityEnforcementViolationType]
$creadListPrec :: ReadPrec [AuditsTwaQualityEnforcementViolationType]
readPrec :: ReadPrec AuditsTwaQualityEnforcementViolationType
$creadPrec :: ReadPrec AuditsTwaQualityEnforcementViolationType
readList :: ReadS [AuditsTwaQualityEnforcementViolationType]
$creadList :: ReadS [AuditsTwaQualityEnforcementViolationType]
readsPrec :: Int -> ReadS AuditsTwaQualityEnforcementViolationType
$creadsPrec :: Int -> ReadS AuditsTwaQualityEnforcementViolationType
Read)
instance FromJSON AuditsTwaQualityEnforcementViolationType where
  parseJSON :: Value -> Parser AuditsTwaQualityEnforcementViolationType
parseJSON = String
-> (Text -> Parser AuditsTwaQualityEnforcementViolationType)
-> Value
-> Parser AuditsTwaQualityEnforcementViolationType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsTwaQualityEnforcementViolationType" ((Text -> Parser AuditsTwaQualityEnforcementViolationType)
 -> Value -> Parser AuditsTwaQualityEnforcementViolationType)
-> (Text -> Parser AuditsTwaQualityEnforcementViolationType)
-> Value
-> Parser AuditsTwaQualityEnforcementViolationType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"kHttpError" -> AuditsTwaQualityEnforcementViolationType
-> Parser AuditsTwaQualityEnforcementViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationTypeKHttpError
    Text
"kUnavailableOffline" -> AuditsTwaQualityEnforcementViolationType
-> Parser AuditsTwaQualityEnforcementViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationTypeKUnavailableOffline
    Text
"kDigitalAssetLinks" -> AuditsTwaQualityEnforcementViolationType
-> Parser AuditsTwaQualityEnforcementViolationType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationTypeKDigitalAssetLinks
    Text
"_" -> String -> Parser AuditsTwaQualityEnforcementViolationType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsTwaQualityEnforcementViolationType"
instance ToJSON AuditsTwaQualityEnforcementViolationType where
  toJSON :: AuditsTwaQualityEnforcementViolationType -> Value
toJSON AuditsTwaQualityEnforcementViolationType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsTwaQualityEnforcementViolationType
v of
    AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationTypeKHttpError -> Text
"kHttpError"
    AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationTypeKUnavailableOffline -> Text
"kUnavailableOffline"
    AuditsTwaQualityEnforcementViolationType
AuditsTwaQualityEnforcementViolationTypeKDigitalAssetLinks -> Text
"kDigitalAssetLinks"

-- | Type 'Audits.TrustedWebActivityIssueDetails'.
data AuditsTrustedWebActivityIssueDetails = AuditsTrustedWebActivityIssueDetails
  {
    -- | The url that triggers the violation.
    AuditsTrustedWebActivityIssueDetails -> Text
auditsTrustedWebActivityIssueDetailsUrl :: T.Text,
    AuditsTrustedWebActivityIssueDetails
-> AuditsTwaQualityEnforcementViolationType
auditsTrustedWebActivityIssueDetailsViolationType :: AuditsTwaQualityEnforcementViolationType,
    AuditsTrustedWebActivityIssueDetails -> Maybe Int
auditsTrustedWebActivityIssueDetailsHttpStatusCode :: Maybe Int,
    -- | The package name of the Trusted Web Activity client app. This field is
    --   only used when violation type is kDigitalAssetLinks.
    AuditsTrustedWebActivityIssueDetails -> Maybe Text
auditsTrustedWebActivityIssueDetailsPackageName :: Maybe T.Text,
    -- | The signature of the Trusted Web Activity client app. This field is only
    --   used when violation type is kDigitalAssetLinks.
    AuditsTrustedWebActivityIssueDetails -> Maybe Text
auditsTrustedWebActivityIssueDetailsSignature :: Maybe T.Text
  }
  deriving (AuditsTrustedWebActivityIssueDetails
-> AuditsTrustedWebActivityIssueDetails -> Bool
(AuditsTrustedWebActivityIssueDetails
 -> AuditsTrustedWebActivityIssueDetails -> Bool)
-> (AuditsTrustedWebActivityIssueDetails
    -> AuditsTrustedWebActivityIssueDetails -> Bool)
-> Eq AuditsTrustedWebActivityIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsTrustedWebActivityIssueDetails
-> AuditsTrustedWebActivityIssueDetails -> Bool
$c/= :: AuditsTrustedWebActivityIssueDetails
-> AuditsTrustedWebActivityIssueDetails -> Bool
== :: AuditsTrustedWebActivityIssueDetails
-> AuditsTrustedWebActivityIssueDetails -> Bool
$c== :: AuditsTrustedWebActivityIssueDetails
-> AuditsTrustedWebActivityIssueDetails -> Bool
Eq, Int -> AuditsTrustedWebActivityIssueDetails -> ShowS
[AuditsTrustedWebActivityIssueDetails] -> ShowS
AuditsTrustedWebActivityIssueDetails -> String
(Int -> AuditsTrustedWebActivityIssueDetails -> ShowS)
-> (AuditsTrustedWebActivityIssueDetails -> String)
-> ([AuditsTrustedWebActivityIssueDetails] -> ShowS)
-> Show AuditsTrustedWebActivityIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsTrustedWebActivityIssueDetails] -> ShowS
$cshowList :: [AuditsTrustedWebActivityIssueDetails] -> ShowS
show :: AuditsTrustedWebActivityIssueDetails -> String
$cshow :: AuditsTrustedWebActivityIssueDetails -> String
showsPrec :: Int -> AuditsTrustedWebActivityIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsTrustedWebActivityIssueDetails -> ShowS
Show)
instance FromJSON AuditsTrustedWebActivityIssueDetails where
  parseJSON :: Value -> Parser AuditsTrustedWebActivityIssueDetails
parseJSON = String
-> (Object -> Parser AuditsTrustedWebActivityIssueDetails)
-> Value
-> Parser AuditsTrustedWebActivityIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsTrustedWebActivityIssueDetails" ((Object -> Parser AuditsTrustedWebActivityIssueDetails)
 -> Value -> Parser AuditsTrustedWebActivityIssueDetails)
-> (Object -> Parser AuditsTrustedWebActivityIssueDetails)
-> Value
-> Parser AuditsTrustedWebActivityIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text
-> AuditsTwaQualityEnforcementViolationType
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> AuditsTrustedWebActivityIssueDetails
AuditsTrustedWebActivityIssueDetails
    (Text
 -> AuditsTwaQualityEnforcementViolationType
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> AuditsTrustedWebActivityIssueDetails)
-> Parser Text
-> Parser
     (AuditsTwaQualityEnforcementViolationType
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> AuditsTrustedWebActivityIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"url"
    Parser
  (AuditsTwaQualityEnforcementViolationType
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> AuditsTrustedWebActivityIssueDetails)
-> Parser AuditsTwaQualityEnforcementViolationType
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> AuditsTrustedWebActivityIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsTwaQualityEnforcementViolationType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"violationType"
    Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> AuditsTrustedWebActivityIssueDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text -> Maybe Text -> AuditsTrustedWebActivityIssueDetails)
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
"httpStatusCode"
    Parser
  (Maybe Text -> Maybe Text -> AuditsTrustedWebActivityIssueDetails)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> AuditsTrustedWebActivityIssueDetails)
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
"packageName"
    Parser (Maybe Text -> AuditsTrustedWebActivityIssueDetails)
-> Parser (Maybe Text)
-> Parser AuditsTrustedWebActivityIssueDetails
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
"signature"
instance ToJSON AuditsTrustedWebActivityIssueDetails where
  toJSON :: AuditsTrustedWebActivityIssueDetails -> Value
toJSON AuditsTrustedWebActivityIssueDetails
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
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsTrustedWebActivityIssueDetails -> Text
auditsTrustedWebActivityIssueDetailsUrl AuditsTrustedWebActivityIssueDetails
p),
    (Text
"violationType" Text -> AuditsTwaQualityEnforcementViolationType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsTwaQualityEnforcementViolationType -> Pair)
-> Maybe AuditsTwaQualityEnforcementViolationType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsTwaQualityEnforcementViolationType
-> Maybe AuditsTwaQualityEnforcementViolationType
forall a. a -> Maybe a
Just (AuditsTrustedWebActivityIssueDetails
-> AuditsTwaQualityEnforcementViolationType
auditsTrustedWebActivityIssueDetailsViolationType AuditsTrustedWebActivityIssueDetails
p),
    (Text
"httpStatusCode" 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
<$> (AuditsTrustedWebActivityIssueDetails -> Maybe Int
auditsTrustedWebActivityIssueDetailsHttpStatusCode AuditsTrustedWebActivityIssueDetails
p),
    (Text
"packageName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsTrustedWebActivityIssueDetails -> Maybe Text
auditsTrustedWebActivityIssueDetailsPackageName AuditsTrustedWebActivityIssueDetails
p),
    (Text
"signature" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsTrustedWebActivityIssueDetails -> Maybe Text
auditsTrustedWebActivityIssueDetailsSignature AuditsTrustedWebActivityIssueDetails
p)
    ]

-- | Type 'Audits.LowTextContrastIssueDetails'.
data AuditsLowTextContrastIssueDetails = AuditsLowTextContrastIssueDetails
  {
    AuditsLowTextContrastIssueDetails -> Int
auditsLowTextContrastIssueDetailsViolatingNodeId :: DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    AuditsLowTextContrastIssueDetails -> Text
auditsLowTextContrastIssueDetailsViolatingNodeSelector :: T.Text,
    AuditsLowTextContrastIssueDetails -> Double
auditsLowTextContrastIssueDetailsContrastRatio :: Double,
    AuditsLowTextContrastIssueDetails -> Double
auditsLowTextContrastIssueDetailsThresholdAA :: Double,
    AuditsLowTextContrastIssueDetails -> Double
auditsLowTextContrastIssueDetailsThresholdAAA :: Double,
    AuditsLowTextContrastIssueDetails -> Text
auditsLowTextContrastIssueDetailsFontSize :: T.Text,
    AuditsLowTextContrastIssueDetails -> Text
auditsLowTextContrastIssueDetailsFontWeight :: T.Text
  }
  deriving (AuditsLowTextContrastIssueDetails
-> AuditsLowTextContrastIssueDetails -> Bool
(AuditsLowTextContrastIssueDetails
 -> AuditsLowTextContrastIssueDetails -> Bool)
-> (AuditsLowTextContrastIssueDetails
    -> AuditsLowTextContrastIssueDetails -> Bool)
-> Eq AuditsLowTextContrastIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsLowTextContrastIssueDetails
-> AuditsLowTextContrastIssueDetails -> Bool
$c/= :: AuditsLowTextContrastIssueDetails
-> AuditsLowTextContrastIssueDetails -> Bool
== :: AuditsLowTextContrastIssueDetails
-> AuditsLowTextContrastIssueDetails -> Bool
$c== :: AuditsLowTextContrastIssueDetails
-> AuditsLowTextContrastIssueDetails -> Bool
Eq, Int -> AuditsLowTextContrastIssueDetails -> ShowS
[AuditsLowTextContrastIssueDetails] -> ShowS
AuditsLowTextContrastIssueDetails -> String
(Int -> AuditsLowTextContrastIssueDetails -> ShowS)
-> (AuditsLowTextContrastIssueDetails -> String)
-> ([AuditsLowTextContrastIssueDetails] -> ShowS)
-> Show AuditsLowTextContrastIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsLowTextContrastIssueDetails] -> ShowS
$cshowList :: [AuditsLowTextContrastIssueDetails] -> ShowS
show :: AuditsLowTextContrastIssueDetails -> String
$cshow :: AuditsLowTextContrastIssueDetails -> String
showsPrec :: Int -> AuditsLowTextContrastIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsLowTextContrastIssueDetails -> ShowS
Show)
instance FromJSON AuditsLowTextContrastIssueDetails where
  parseJSON :: Value -> Parser AuditsLowTextContrastIssueDetails
parseJSON = String
-> (Object -> Parser AuditsLowTextContrastIssueDetails)
-> Value
-> Parser AuditsLowTextContrastIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsLowTextContrastIssueDetails" ((Object -> Parser AuditsLowTextContrastIssueDetails)
 -> Value -> Parser AuditsLowTextContrastIssueDetails)
-> (Object -> Parser AuditsLowTextContrastIssueDetails)
-> Value
-> Parser AuditsLowTextContrastIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Int
-> Text
-> Double
-> Double
-> Double
-> Text
-> Text
-> AuditsLowTextContrastIssueDetails
AuditsLowTextContrastIssueDetails
    (Int
 -> Text
 -> Double
 -> Double
 -> Double
 -> Text
 -> Text
 -> AuditsLowTextContrastIssueDetails)
-> Parser Int
-> Parser
     (Text
      -> Double
      -> Double
      -> Double
      -> Text
      -> Text
      -> AuditsLowTextContrastIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"violatingNodeId"
    Parser
  (Text
   -> Double
   -> Double
   -> Double
   -> Text
   -> Text
   -> AuditsLowTextContrastIssueDetails)
-> Parser Text
-> Parser
     (Double
      -> Double
      -> Double
      -> Text
      -> Text
      -> AuditsLowTextContrastIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"violatingNodeSelector"
    Parser
  (Double
   -> Double
   -> Double
   -> Text
   -> Text
   -> AuditsLowTextContrastIssueDetails)
-> Parser Double
-> Parser
     (Double
      -> Double -> Text -> Text -> AuditsLowTextContrastIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Double
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"contrastRatio"
    Parser
  (Double
   -> Double -> Text -> Text -> AuditsLowTextContrastIssueDetails)
-> Parser Double
-> Parser
     (Double -> Text -> Text -> AuditsLowTextContrastIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Double
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"thresholdAA"
    Parser
  (Double -> Text -> Text -> AuditsLowTextContrastIssueDetails)
-> Parser Double
-> Parser (Text -> Text -> AuditsLowTextContrastIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Double
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"thresholdAAA"
    Parser (Text -> Text -> AuditsLowTextContrastIssueDetails)
-> Parser Text
-> Parser (Text -> AuditsLowTextContrastIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"fontSize"
    Parser (Text -> AuditsLowTextContrastIssueDetails)
-> Parser Text -> Parser AuditsLowTextContrastIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"fontWeight"
instance ToJSON AuditsLowTextContrastIssueDetails where
  toJSON :: AuditsLowTextContrastIssueDetails -> Value
toJSON AuditsLowTextContrastIssueDetails
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
"violatingNodeId" 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
<$> Int -> Maybe Int
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Int
auditsLowTextContrastIssueDetailsViolatingNodeId AuditsLowTextContrastIssueDetails
p),
    (Text
"violatingNodeSelector" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Text
auditsLowTextContrastIssueDetailsViolatingNodeSelector AuditsLowTextContrastIssueDetails
p),
    (Text
"contrastRatio" 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
<$> Double -> Maybe Double
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Double
auditsLowTextContrastIssueDetailsContrastRatio AuditsLowTextContrastIssueDetails
p),
    (Text
"thresholdAA" 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
<$> Double -> Maybe Double
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Double
auditsLowTextContrastIssueDetailsThresholdAA AuditsLowTextContrastIssueDetails
p),
    (Text
"thresholdAAA" 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
<$> Double -> Maybe Double
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Double
auditsLowTextContrastIssueDetailsThresholdAAA AuditsLowTextContrastIssueDetails
p),
    (Text
"fontSize" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Text
auditsLowTextContrastIssueDetailsFontSize AuditsLowTextContrastIssueDetails
p),
    (Text
"fontWeight" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsLowTextContrastIssueDetails -> Text
auditsLowTextContrastIssueDetailsFontWeight AuditsLowTextContrastIssueDetails
p)
    ]

-- | Type 'Audits.CorsIssueDetails'.
--   Details for a CORS related issue, e.g. a warning or error related to
--   CORS RFC1918 enforcement.
data AuditsCorsIssueDetails = AuditsCorsIssueDetails
  {
    AuditsCorsIssueDetails -> NetworkCorsErrorStatus
auditsCorsIssueDetailsCorsErrorStatus :: DOMPageNetworkEmulationSecurity.NetworkCorsErrorStatus,
    AuditsCorsIssueDetails -> Bool
auditsCorsIssueDetailsIsWarning :: Bool,
    AuditsCorsIssueDetails -> AuditsAffectedRequest
auditsCorsIssueDetailsRequest :: AuditsAffectedRequest,
    AuditsCorsIssueDetails -> Maybe AuditsSourceCodeLocation
auditsCorsIssueDetailsLocation :: Maybe AuditsSourceCodeLocation,
    AuditsCorsIssueDetails -> Maybe Text
auditsCorsIssueDetailsInitiatorOrigin :: Maybe T.Text,
    AuditsCorsIssueDetails -> Maybe NetworkIPAddressSpace
auditsCorsIssueDetailsResourceIPAddressSpace :: Maybe DOMPageNetworkEmulationSecurity.NetworkIPAddressSpace,
    AuditsCorsIssueDetails -> Maybe NetworkClientSecurityState
auditsCorsIssueDetailsClientSecurityState :: Maybe DOMPageNetworkEmulationSecurity.NetworkClientSecurityState
  }
  deriving (AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool
(AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool)
-> (AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool)
-> Eq AuditsCorsIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool
$c/= :: AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool
== :: AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool
$c== :: AuditsCorsIssueDetails -> AuditsCorsIssueDetails -> Bool
Eq, Int -> AuditsCorsIssueDetails -> ShowS
[AuditsCorsIssueDetails] -> ShowS
AuditsCorsIssueDetails -> String
(Int -> AuditsCorsIssueDetails -> ShowS)
-> (AuditsCorsIssueDetails -> String)
-> ([AuditsCorsIssueDetails] -> ShowS)
-> Show AuditsCorsIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsCorsIssueDetails] -> ShowS
$cshowList :: [AuditsCorsIssueDetails] -> ShowS
show :: AuditsCorsIssueDetails -> String
$cshow :: AuditsCorsIssueDetails -> String
showsPrec :: Int -> AuditsCorsIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsCorsIssueDetails -> ShowS
Show)
instance FromJSON AuditsCorsIssueDetails where
  parseJSON :: Value -> Parser AuditsCorsIssueDetails
parseJSON = String
-> (Object -> Parser AuditsCorsIssueDetails)
-> Value
-> Parser AuditsCorsIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsCorsIssueDetails" ((Object -> Parser AuditsCorsIssueDetails)
 -> Value -> Parser AuditsCorsIssueDetails)
-> (Object -> Parser AuditsCorsIssueDetails)
-> Value
-> Parser AuditsCorsIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> NetworkCorsErrorStatus
-> Bool
-> AuditsAffectedRequest
-> Maybe AuditsSourceCodeLocation
-> Maybe Text
-> Maybe NetworkIPAddressSpace
-> Maybe NetworkClientSecurityState
-> AuditsCorsIssueDetails
AuditsCorsIssueDetails
    (NetworkCorsErrorStatus
 -> Bool
 -> AuditsAffectedRequest
 -> Maybe AuditsSourceCodeLocation
 -> Maybe Text
 -> Maybe NetworkIPAddressSpace
 -> Maybe NetworkClientSecurityState
 -> AuditsCorsIssueDetails)
-> Parser NetworkCorsErrorStatus
-> Parser
     (Bool
      -> AuditsAffectedRequest
      -> Maybe AuditsSourceCodeLocation
      -> Maybe Text
      -> Maybe NetworkIPAddressSpace
      -> Maybe NetworkClientSecurityState
      -> AuditsCorsIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser NetworkCorsErrorStatus
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"corsErrorStatus"
    Parser
  (Bool
   -> AuditsAffectedRequest
   -> Maybe AuditsSourceCodeLocation
   -> Maybe Text
   -> Maybe NetworkIPAddressSpace
   -> Maybe NetworkClientSecurityState
   -> AuditsCorsIssueDetails)
-> Parser Bool
-> Parser
     (AuditsAffectedRequest
      -> Maybe AuditsSourceCodeLocation
      -> Maybe Text
      -> Maybe NetworkIPAddressSpace
      -> Maybe NetworkClientSecurityState
      -> AuditsCorsIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"isWarning"
    Parser
  (AuditsAffectedRequest
   -> Maybe AuditsSourceCodeLocation
   -> Maybe Text
   -> Maybe NetworkIPAddressSpace
   -> Maybe NetworkClientSecurityState
   -> AuditsCorsIssueDetails)
-> Parser AuditsAffectedRequest
-> Parser
     (Maybe AuditsSourceCodeLocation
      -> Maybe Text
      -> Maybe NetworkIPAddressSpace
      -> Maybe NetworkClientSecurityState
      -> AuditsCorsIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsAffectedRequest
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"request"
    Parser
  (Maybe AuditsSourceCodeLocation
   -> Maybe Text
   -> Maybe NetworkIPAddressSpace
   -> Maybe NetworkClientSecurityState
   -> AuditsCorsIssueDetails)
-> Parser (Maybe AuditsSourceCodeLocation)
-> Parser
     (Maybe Text
      -> Maybe NetworkIPAddressSpace
      -> Maybe NetworkClientSecurityState
      -> AuditsCorsIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsSourceCodeLocation)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"location"
    Parser
  (Maybe Text
   -> Maybe NetworkIPAddressSpace
   -> Maybe NetworkClientSecurityState
   -> AuditsCorsIssueDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe NetworkIPAddressSpace
      -> Maybe NetworkClientSecurityState -> AuditsCorsIssueDetails)
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
"initiatorOrigin"
    Parser
  (Maybe NetworkIPAddressSpace
   -> Maybe NetworkClientSecurityState -> AuditsCorsIssueDetails)
-> Parser (Maybe NetworkIPAddressSpace)
-> Parser
     (Maybe NetworkClientSecurityState -> AuditsCorsIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe NetworkIPAddressSpace)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"resourceIPAddressSpace"
    Parser (Maybe NetworkClientSecurityState -> AuditsCorsIssueDetails)
-> Parser (Maybe NetworkClientSecurityState)
-> Parser AuditsCorsIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe NetworkClientSecurityState)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"clientSecurityState"
instance ToJSON AuditsCorsIssueDetails where
  toJSON :: AuditsCorsIssueDetails -> Value
toJSON AuditsCorsIssueDetails
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
"corsErrorStatus" Text -> NetworkCorsErrorStatus -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (NetworkCorsErrorStatus -> Pair)
-> Maybe NetworkCorsErrorStatus -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> NetworkCorsErrorStatus -> Maybe NetworkCorsErrorStatus
forall a. a -> Maybe a
Just (AuditsCorsIssueDetails -> NetworkCorsErrorStatus
auditsCorsIssueDetailsCorsErrorStatus AuditsCorsIssueDetails
p),
    (Text
"isWarning" 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
<$> Bool -> Maybe Bool
forall a. a -> Maybe a
Just (AuditsCorsIssueDetails -> Bool
auditsCorsIssueDetailsIsWarning AuditsCorsIssueDetails
p),
    (Text
"request" Text -> AuditsAffectedRequest -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedRequest -> Pair)
-> Maybe AuditsAffectedRequest -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsAffectedRequest -> Maybe AuditsAffectedRequest
forall a. a -> Maybe a
Just (AuditsCorsIssueDetails -> AuditsAffectedRequest
auditsCorsIssueDetailsRequest AuditsCorsIssueDetails
p),
    (Text
"location" Text -> AuditsSourceCodeLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSourceCodeLocation -> Pair)
-> Maybe AuditsSourceCodeLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCorsIssueDetails -> Maybe AuditsSourceCodeLocation
auditsCorsIssueDetailsLocation AuditsCorsIssueDetails
p),
    (Text
"initiatorOrigin" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCorsIssueDetails -> Maybe Text
auditsCorsIssueDetailsInitiatorOrigin AuditsCorsIssueDetails
p),
    (Text
"resourceIPAddressSpace" Text -> NetworkIPAddressSpace -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (NetworkIPAddressSpace -> Pair)
-> Maybe NetworkIPAddressSpace -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCorsIssueDetails -> Maybe NetworkIPAddressSpace
auditsCorsIssueDetailsResourceIPAddressSpace AuditsCorsIssueDetails
p),
    (Text
"clientSecurityState" Text -> NetworkClientSecurityState -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (NetworkClientSecurityState -> Pair)
-> Maybe NetworkClientSecurityState -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsCorsIssueDetails -> Maybe NetworkClientSecurityState
auditsCorsIssueDetailsClientSecurityState AuditsCorsIssueDetails
p)
    ]

-- | Type 'Audits.AttributionReportingIssueType'.
data AuditsAttributionReportingIssueType = AuditsAttributionReportingIssueTypePermissionPolicyDisabled | AuditsAttributionReportingIssueTypePermissionPolicyNotDelegated | AuditsAttributionReportingIssueTypeUntrustworthyReportingOrigin | AuditsAttributionReportingIssueTypeInsecureContext | AuditsAttributionReportingIssueTypeInvalidHeader | AuditsAttributionReportingIssueTypeInvalidRegisterTriggerHeader | AuditsAttributionReportingIssueTypeInvalidEligibleHeader | AuditsAttributionReportingIssueTypeTooManyConcurrentRequests | AuditsAttributionReportingIssueTypeSourceAndTriggerHeaders | AuditsAttributionReportingIssueTypeSourceIgnored | AuditsAttributionReportingIssueTypeTriggerIgnored
  deriving (Eq AuditsAttributionReportingIssueType
Eq AuditsAttributionReportingIssueType
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType -> Ordering)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType -> Bool)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType -> Bool)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType -> Bool)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType -> Bool)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType)
-> Ord AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Ordering
AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
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 :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
$cmin :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
max :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
$cmax :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType
>= :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
$c>= :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
> :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
$c> :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
<= :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
$c<= :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
< :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
$c< :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
compare :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Ordering
$ccompare :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Ordering
$cp1Ord :: Eq AuditsAttributionReportingIssueType
Ord, AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
(AuditsAttributionReportingIssueType
 -> AuditsAttributionReportingIssueType -> Bool)
-> (AuditsAttributionReportingIssueType
    -> AuditsAttributionReportingIssueType -> Bool)
-> Eq AuditsAttributionReportingIssueType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
$c/= :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
== :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
$c== :: AuditsAttributionReportingIssueType
-> AuditsAttributionReportingIssueType -> Bool
Eq, Int -> AuditsAttributionReportingIssueType -> ShowS
[AuditsAttributionReportingIssueType] -> ShowS
AuditsAttributionReportingIssueType -> String
(Int -> AuditsAttributionReportingIssueType -> ShowS)
-> (AuditsAttributionReportingIssueType -> String)
-> ([AuditsAttributionReportingIssueType] -> ShowS)
-> Show AuditsAttributionReportingIssueType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsAttributionReportingIssueType] -> ShowS
$cshowList :: [AuditsAttributionReportingIssueType] -> ShowS
show :: AuditsAttributionReportingIssueType -> String
$cshow :: AuditsAttributionReportingIssueType -> String
showsPrec :: Int -> AuditsAttributionReportingIssueType -> ShowS
$cshowsPrec :: Int -> AuditsAttributionReportingIssueType -> ShowS
Show, ReadPrec [AuditsAttributionReportingIssueType]
ReadPrec AuditsAttributionReportingIssueType
Int -> ReadS AuditsAttributionReportingIssueType
ReadS [AuditsAttributionReportingIssueType]
(Int -> ReadS AuditsAttributionReportingIssueType)
-> ReadS [AuditsAttributionReportingIssueType]
-> ReadPrec AuditsAttributionReportingIssueType
-> ReadPrec [AuditsAttributionReportingIssueType]
-> Read AuditsAttributionReportingIssueType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsAttributionReportingIssueType]
$creadListPrec :: ReadPrec [AuditsAttributionReportingIssueType]
readPrec :: ReadPrec AuditsAttributionReportingIssueType
$creadPrec :: ReadPrec AuditsAttributionReportingIssueType
readList :: ReadS [AuditsAttributionReportingIssueType]
$creadList :: ReadS [AuditsAttributionReportingIssueType]
readsPrec :: Int -> ReadS AuditsAttributionReportingIssueType
$creadsPrec :: Int -> ReadS AuditsAttributionReportingIssueType
Read)
instance FromJSON AuditsAttributionReportingIssueType where
  parseJSON :: Value -> Parser AuditsAttributionReportingIssueType
parseJSON = String
-> (Text -> Parser AuditsAttributionReportingIssueType)
-> Value
-> Parser AuditsAttributionReportingIssueType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsAttributionReportingIssueType" ((Text -> Parser AuditsAttributionReportingIssueType)
 -> Value -> Parser AuditsAttributionReportingIssueType)
-> (Text -> Parser AuditsAttributionReportingIssueType)
-> Value
-> Parser AuditsAttributionReportingIssueType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"PermissionPolicyDisabled" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypePermissionPolicyDisabled
    Text
"PermissionPolicyNotDelegated" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypePermissionPolicyNotDelegated
    Text
"UntrustworthyReportingOrigin" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeUntrustworthyReportingOrigin
    Text
"InsecureContext" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInsecureContext
    Text
"InvalidHeader" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInvalidHeader
    Text
"InvalidRegisterTriggerHeader" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInvalidRegisterTriggerHeader
    Text
"InvalidEligibleHeader" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInvalidEligibleHeader
    Text
"TooManyConcurrentRequests" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeTooManyConcurrentRequests
    Text
"SourceAndTriggerHeaders" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeSourceAndTriggerHeaders
    Text
"SourceIgnored" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeSourceIgnored
    Text
"TriggerIgnored" -> AuditsAttributionReportingIssueType
-> Parser AuditsAttributionReportingIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeTriggerIgnored
    Text
"_" -> String -> Parser AuditsAttributionReportingIssueType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsAttributionReportingIssueType"
instance ToJSON AuditsAttributionReportingIssueType where
  toJSON :: AuditsAttributionReportingIssueType -> Value
toJSON AuditsAttributionReportingIssueType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsAttributionReportingIssueType
v of
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypePermissionPolicyDisabled -> Text
"PermissionPolicyDisabled"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypePermissionPolicyNotDelegated -> Text
"PermissionPolicyNotDelegated"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeUntrustworthyReportingOrigin -> Text
"UntrustworthyReportingOrigin"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInsecureContext -> Text
"InsecureContext"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInvalidHeader -> Text
"InvalidHeader"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInvalidRegisterTriggerHeader -> Text
"InvalidRegisterTriggerHeader"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeInvalidEligibleHeader -> Text
"InvalidEligibleHeader"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeTooManyConcurrentRequests -> Text
"TooManyConcurrentRequests"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeSourceAndTriggerHeaders -> Text
"SourceAndTriggerHeaders"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeSourceIgnored -> Text
"SourceIgnored"
    AuditsAttributionReportingIssueType
AuditsAttributionReportingIssueTypeTriggerIgnored -> Text
"TriggerIgnored"

-- | Type 'Audits.AttributionReportingIssueDetails'.
--   Details for issues around "Attribution Reporting API" usage.
--   Explainer: https://github.com/WICG/attribution-reporting-api
data AuditsAttributionReportingIssueDetails = AuditsAttributionReportingIssueDetails
  {
    AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueType
auditsAttributionReportingIssueDetailsViolationType :: AuditsAttributionReportingIssueType,
    AuditsAttributionReportingIssueDetails
-> Maybe AuditsAffectedRequest
auditsAttributionReportingIssueDetailsRequest :: Maybe AuditsAffectedRequest,
    AuditsAttributionReportingIssueDetails -> Maybe Int
auditsAttributionReportingIssueDetailsViolatingNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    AuditsAttributionReportingIssueDetails -> Maybe Text
auditsAttributionReportingIssueDetailsInvalidParameter :: Maybe T.Text
  }
  deriving (AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueDetails -> Bool
(AuditsAttributionReportingIssueDetails
 -> AuditsAttributionReportingIssueDetails -> Bool)
-> (AuditsAttributionReportingIssueDetails
    -> AuditsAttributionReportingIssueDetails -> Bool)
-> Eq AuditsAttributionReportingIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueDetails -> Bool
$c/= :: AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueDetails -> Bool
== :: AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueDetails -> Bool
$c== :: AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueDetails -> Bool
Eq, Int -> AuditsAttributionReportingIssueDetails -> ShowS
[AuditsAttributionReportingIssueDetails] -> ShowS
AuditsAttributionReportingIssueDetails -> String
(Int -> AuditsAttributionReportingIssueDetails -> ShowS)
-> (AuditsAttributionReportingIssueDetails -> String)
-> ([AuditsAttributionReportingIssueDetails] -> ShowS)
-> Show AuditsAttributionReportingIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsAttributionReportingIssueDetails] -> ShowS
$cshowList :: [AuditsAttributionReportingIssueDetails] -> ShowS
show :: AuditsAttributionReportingIssueDetails -> String
$cshow :: AuditsAttributionReportingIssueDetails -> String
showsPrec :: Int -> AuditsAttributionReportingIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsAttributionReportingIssueDetails -> ShowS
Show)
instance FromJSON AuditsAttributionReportingIssueDetails where
  parseJSON :: Value -> Parser AuditsAttributionReportingIssueDetails
parseJSON = String
-> (Object -> Parser AuditsAttributionReportingIssueDetails)
-> Value
-> Parser AuditsAttributionReportingIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsAttributionReportingIssueDetails" ((Object -> Parser AuditsAttributionReportingIssueDetails)
 -> Value -> Parser AuditsAttributionReportingIssueDetails)
-> (Object -> Parser AuditsAttributionReportingIssueDetails)
-> Value
-> Parser AuditsAttributionReportingIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsAttributionReportingIssueType
-> Maybe AuditsAffectedRequest
-> Maybe Int
-> Maybe Text
-> AuditsAttributionReportingIssueDetails
AuditsAttributionReportingIssueDetails
    (AuditsAttributionReportingIssueType
 -> Maybe AuditsAffectedRequest
 -> Maybe Int
 -> Maybe Text
 -> AuditsAttributionReportingIssueDetails)
-> Parser AuditsAttributionReportingIssueType
-> Parser
     (Maybe AuditsAffectedRequest
      -> Maybe Int
      -> Maybe Text
      -> AuditsAttributionReportingIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsAttributionReportingIssueType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"violationType"
    Parser
  (Maybe AuditsAffectedRequest
   -> Maybe Int
   -> Maybe Text
   -> AuditsAttributionReportingIssueDetails)
-> Parser (Maybe AuditsAffectedRequest)
-> Parser
     (Maybe Int -> Maybe Text -> AuditsAttributionReportingIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsAffectedRequest)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"request"
    Parser
  (Maybe Int -> Maybe Text -> AuditsAttributionReportingIssueDetails)
-> Parser (Maybe Int)
-> Parser (Maybe Text -> AuditsAttributionReportingIssueDetails)
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
"violatingNodeId"
    Parser (Maybe Text -> AuditsAttributionReportingIssueDetails)
-> Parser (Maybe Text)
-> Parser AuditsAttributionReportingIssueDetails
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
"invalidParameter"
instance ToJSON AuditsAttributionReportingIssueDetails where
  toJSON :: AuditsAttributionReportingIssueDetails -> Value
toJSON AuditsAttributionReportingIssueDetails
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
"violationType" Text -> AuditsAttributionReportingIssueType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAttributionReportingIssueType -> Pair)
-> Maybe AuditsAttributionReportingIssueType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsAttributionReportingIssueType
-> Maybe AuditsAttributionReportingIssueType
forall a. a -> Maybe a
Just (AuditsAttributionReportingIssueDetails
-> AuditsAttributionReportingIssueType
auditsAttributionReportingIssueDetailsViolationType AuditsAttributionReportingIssueDetails
p),
    (Text
"request" Text -> AuditsAffectedRequest -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedRequest -> Pair)
-> Maybe AuditsAffectedRequest -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsAttributionReportingIssueDetails
-> Maybe AuditsAffectedRequest
auditsAttributionReportingIssueDetailsRequest AuditsAttributionReportingIssueDetails
p),
    (Text
"violatingNodeId" 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
<$> (AuditsAttributionReportingIssueDetails -> Maybe Int
auditsAttributionReportingIssueDetailsViolatingNodeId AuditsAttributionReportingIssueDetails
p),
    (Text
"invalidParameter" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsAttributionReportingIssueDetails -> Maybe Text
auditsAttributionReportingIssueDetailsInvalidParameter AuditsAttributionReportingIssueDetails
p)
    ]

-- | Type 'Audits.QuirksModeIssueDetails'.
--   Details for issues about documents in Quirks Mode
--   or Limited Quirks Mode that affects page layouting.
data AuditsQuirksModeIssueDetails = AuditsQuirksModeIssueDetails
  {
    -- | If false, it means the document's mode is "quirks"
    --   instead of "limited-quirks".
    AuditsQuirksModeIssueDetails -> Bool
auditsQuirksModeIssueDetailsIsLimitedQuirksMode :: Bool,
    AuditsQuirksModeIssueDetails -> Int
auditsQuirksModeIssueDetailsDocumentNodeId :: DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    AuditsQuirksModeIssueDetails -> Text
auditsQuirksModeIssueDetailsUrl :: T.Text,
    AuditsQuirksModeIssueDetails -> Text
auditsQuirksModeIssueDetailsFrameId :: DOMPageNetworkEmulationSecurity.PageFrameId,
    AuditsQuirksModeIssueDetails -> Text
auditsQuirksModeIssueDetailsLoaderId :: DOMPageNetworkEmulationSecurity.NetworkLoaderId
  }
  deriving (AuditsQuirksModeIssueDetails
-> AuditsQuirksModeIssueDetails -> Bool
(AuditsQuirksModeIssueDetails
 -> AuditsQuirksModeIssueDetails -> Bool)
-> (AuditsQuirksModeIssueDetails
    -> AuditsQuirksModeIssueDetails -> Bool)
-> Eq AuditsQuirksModeIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsQuirksModeIssueDetails
-> AuditsQuirksModeIssueDetails -> Bool
$c/= :: AuditsQuirksModeIssueDetails
-> AuditsQuirksModeIssueDetails -> Bool
== :: AuditsQuirksModeIssueDetails
-> AuditsQuirksModeIssueDetails -> Bool
$c== :: AuditsQuirksModeIssueDetails
-> AuditsQuirksModeIssueDetails -> Bool
Eq, Int -> AuditsQuirksModeIssueDetails -> ShowS
[AuditsQuirksModeIssueDetails] -> ShowS
AuditsQuirksModeIssueDetails -> String
(Int -> AuditsQuirksModeIssueDetails -> ShowS)
-> (AuditsQuirksModeIssueDetails -> String)
-> ([AuditsQuirksModeIssueDetails] -> ShowS)
-> Show AuditsQuirksModeIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsQuirksModeIssueDetails] -> ShowS
$cshowList :: [AuditsQuirksModeIssueDetails] -> ShowS
show :: AuditsQuirksModeIssueDetails -> String
$cshow :: AuditsQuirksModeIssueDetails -> String
showsPrec :: Int -> AuditsQuirksModeIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsQuirksModeIssueDetails -> ShowS
Show)
instance FromJSON AuditsQuirksModeIssueDetails where
  parseJSON :: Value -> Parser AuditsQuirksModeIssueDetails
parseJSON = String
-> (Object -> Parser AuditsQuirksModeIssueDetails)
-> Value
-> Parser AuditsQuirksModeIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsQuirksModeIssueDetails" ((Object -> Parser AuditsQuirksModeIssueDetails)
 -> Value -> Parser AuditsQuirksModeIssueDetails)
-> (Object -> Parser AuditsQuirksModeIssueDetails)
-> Value
-> Parser AuditsQuirksModeIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Bool -> Int -> Text -> Text -> Text -> AuditsQuirksModeIssueDetails
AuditsQuirksModeIssueDetails
    (Bool
 -> Int -> Text -> Text -> Text -> AuditsQuirksModeIssueDetails)
-> Parser Bool
-> Parser
     (Int -> Text -> Text -> Text -> AuditsQuirksModeIssueDetails)
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
"isLimitedQuirksMode"
    Parser
  (Int -> Text -> Text -> Text -> AuditsQuirksModeIssueDetails)
-> Parser Int
-> Parser (Text -> Text -> Text -> AuditsQuirksModeIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"documentNodeId"
    Parser (Text -> Text -> Text -> AuditsQuirksModeIssueDetails)
-> Parser Text
-> Parser (Text -> Text -> AuditsQuirksModeIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"url"
    Parser (Text -> Text -> AuditsQuirksModeIssueDetails)
-> Parser Text -> Parser (Text -> AuditsQuirksModeIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"frameId"
    Parser (Text -> AuditsQuirksModeIssueDetails)
-> Parser Text -> Parser AuditsQuirksModeIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"loaderId"
instance ToJSON AuditsQuirksModeIssueDetails where
  toJSON :: AuditsQuirksModeIssueDetails -> Value
toJSON AuditsQuirksModeIssueDetails
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
"isLimitedQuirksMode" 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
<$> Bool -> Maybe Bool
forall a. a -> Maybe a
Just (AuditsQuirksModeIssueDetails -> Bool
auditsQuirksModeIssueDetailsIsLimitedQuirksMode AuditsQuirksModeIssueDetails
p),
    (Text
"documentNodeId" 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
<$> Int -> Maybe Int
forall a. a -> Maybe a
Just (AuditsQuirksModeIssueDetails -> Int
auditsQuirksModeIssueDetailsDocumentNodeId AuditsQuirksModeIssueDetails
p),
    (Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsQuirksModeIssueDetails -> Text
auditsQuirksModeIssueDetailsUrl AuditsQuirksModeIssueDetails
p),
    (Text
"frameId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsQuirksModeIssueDetails -> Text
auditsQuirksModeIssueDetailsFrameId AuditsQuirksModeIssueDetails
p),
    (Text
"loaderId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsQuirksModeIssueDetails -> Text
auditsQuirksModeIssueDetailsLoaderId AuditsQuirksModeIssueDetails
p)
    ]

-- | Type 'Audits.NavigatorUserAgentIssueDetails'.
data AuditsNavigatorUserAgentIssueDetails = AuditsNavigatorUserAgentIssueDetails
  {
    AuditsNavigatorUserAgentIssueDetails -> Text
auditsNavigatorUserAgentIssueDetailsUrl :: T.Text,
    AuditsNavigatorUserAgentIssueDetails
-> Maybe AuditsSourceCodeLocation
auditsNavigatorUserAgentIssueDetailsLocation :: Maybe AuditsSourceCodeLocation
  }
  deriving (AuditsNavigatorUserAgentIssueDetails
-> AuditsNavigatorUserAgentIssueDetails -> Bool
(AuditsNavigatorUserAgentIssueDetails
 -> AuditsNavigatorUserAgentIssueDetails -> Bool)
-> (AuditsNavigatorUserAgentIssueDetails
    -> AuditsNavigatorUserAgentIssueDetails -> Bool)
-> Eq AuditsNavigatorUserAgentIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsNavigatorUserAgentIssueDetails
-> AuditsNavigatorUserAgentIssueDetails -> Bool
$c/= :: AuditsNavigatorUserAgentIssueDetails
-> AuditsNavigatorUserAgentIssueDetails -> Bool
== :: AuditsNavigatorUserAgentIssueDetails
-> AuditsNavigatorUserAgentIssueDetails -> Bool
$c== :: AuditsNavigatorUserAgentIssueDetails
-> AuditsNavigatorUserAgentIssueDetails -> Bool
Eq, Int -> AuditsNavigatorUserAgentIssueDetails -> ShowS
[AuditsNavigatorUserAgentIssueDetails] -> ShowS
AuditsNavigatorUserAgentIssueDetails -> String
(Int -> AuditsNavigatorUserAgentIssueDetails -> ShowS)
-> (AuditsNavigatorUserAgentIssueDetails -> String)
-> ([AuditsNavigatorUserAgentIssueDetails] -> ShowS)
-> Show AuditsNavigatorUserAgentIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsNavigatorUserAgentIssueDetails] -> ShowS
$cshowList :: [AuditsNavigatorUserAgentIssueDetails] -> ShowS
show :: AuditsNavigatorUserAgentIssueDetails -> String
$cshow :: AuditsNavigatorUserAgentIssueDetails -> String
showsPrec :: Int -> AuditsNavigatorUserAgentIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsNavigatorUserAgentIssueDetails -> ShowS
Show)
instance FromJSON AuditsNavigatorUserAgentIssueDetails where
  parseJSON :: Value -> Parser AuditsNavigatorUserAgentIssueDetails
parseJSON = String
-> (Object -> Parser AuditsNavigatorUserAgentIssueDetails)
-> Value
-> Parser AuditsNavigatorUserAgentIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsNavigatorUserAgentIssueDetails" ((Object -> Parser AuditsNavigatorUserAgentIssueDetails)
 -> Value -> Parser AuditsNavigatorUserAgentIssueDetails)
-> (Object -> Parser AuditsNavigatorUserAgentIssueDetails)
-> Value
-> Parser AuditsNavigatorUserAgentIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text
-> Maybe AuditsSourceCodeLocation
-> AuditsNavigatorUserAgentIssueDetails
AuditsNavigatorUserAgentIssueDetails
    (Text
 -> Maybe AuditsSourceCodeLocation
 -> AuditsNavigatorUserAgentIssueDetails)
-> Parser Text
-> Parser
     (Maybe AuditsSourceCodeLocation
      -> AuditsNavigatorUserAgentIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"url"
    Parser
  (Maybe AuditsSourceCodeLocation
   -> AuditsNavigatorUserAgentIssueDetails)
-> Parser (Maybe AuditsSourceCodeLocation)
-> Parser AuditsNavigatorUserAgentIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsSourceCodeLocation)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"location"
instance ToJSON AuditsNavigatorUserAgentIssueDetails where
  toJSON :: AuditsNavigatorUserAgentIssueDetails -> Value
toJSON AuditsNavigatorUserAgentIssueDetails
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
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (AuditsNavigatorUserAgentIssueDetails -> Text
auditsNavigatorUserAgentIssueDetailsUrl AuditsNavigatorUserAgentIssueDetails
p),
    (Text
"location" Text -> AuditsSourceCodeLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSourceCodeLocation -> Pair)
-> Maybe AuditsSourceCodeLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsNavigatorUserAgentIssueDetails
-> Maybe AuditsSourceCodeLocation
auditsNavigatorUserAgentIssueDetailsLocation AuditsNavigatorUserAgentIssueDetails
p)
    ]

-- | Type 'Audits.GenericIssueErrorType'.
data AuditsGenericIssueErrorType = AuditsGenericIssueErrorTypeCrossOriginPortalPostMessageError
  deriving (Eq AuditsGenericIssueErrorType
Eq AuditsGenericIssueErrorType
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> Ordering)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> Bool)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> Bool)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> Bool)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> Bool)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType)
-> Ord AuditsGenericIssueErrorType
AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> Ordering
AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType
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 :: AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType
$cmin :: AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType
max :: AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType
$cmax :: AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType
>= :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
$c>= :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
> :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
$c> :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
<= :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
$c<= :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
< :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
$c< :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
compare :: AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> Ordering
$ccompare :: AuditsGenericIssueErrorType
-> AuditsGenericIssueErrorType -> Ordering
$cp1Ord :: Eq AuditsGenericIssueErrorType
Ord, AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
(AuditsGenericIssueErrorType
 -> AuditsGenericIssueErrorType -> Bool)
-> (AuditsGenericIssueErrorType
    -> AuditsGenericIssueErrorType -> Bool)
-> Eq AuditsGenericIssueErrorType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
$c/= :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
== :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
$c== :: AuditsGenericIssueErrorType -> AuditsGenericIssueErrorType -> Bool
Eq, Int -> AuditsGenericIssueErrorType -> ShowS
[AuditsGenericIssueErrorType] -> ShowS
AuditsGenericIssueErrorType -> String
(Int -> AuditsGenericIssueErrorType -> ShowS)
-> (AuditsGenericIssueErrorType -> String)
-> ([AuditsGenericIssueErrorType] -> ShowS)
-> Show AuditsGenericIssueErrorType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsGenericIssueErrorType] -> ShowS
$cshowList :: [AuditsGenericIssueErrorType] -> ShowS
show :: AuditsGenericIssueErrorType -> String
$cshow :: AuditsGenericIssueErrorType -> String
showsPrec :: Int -> AuditsGenericIssueErrorType -> ShowS
$cshowsPrec :: Int -> AuditsGenericIssueErrorType -> ShowS
Show, ReadPrec [AuditsGenericIssueErrorType]
ReadPrec AuditsGenericIssueErrorType
Int -> ReadS AuditsGenericIssueErrorType
ReadS [AuditsGenericIssueErrorType]
(Int -> ReadS AuditsGenericIssueErrorType)
-> ReadS [AuditsGenericIssueErrorType]
-> ReadPrec AuditsGenericIssueErrorType
-> ReadPrec [AuditsGenericIssueErrorType]
-> Read AuditsGenericIssueErrorType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsGenericIssueErrorType]
$creadListPrec :: ReadPrec [AuditsGenericIssueErrorType]
readPrec :: ReadPrec AuditsGenericIssueErrorType
$creadPrec :: ReadPrec AuditsGenericIssueErrorType
readList :: ReadS [AuditsGenericIssueErrorType]
$creadList :: ReadS [AuditsGenericIssueErrorType]
readsPrec :: Int -> ReadS AuditsGenericIssueErrorType
$creadsPrec :: Int -> ReadS AuditsGenericIssueErrorType
Read)
instance FromJSON AuditsGenericIssueErrorType where
  parseJSON :: Value -> Parser AuditsGenericIssueErrorType
parseJSON = String
-> (Text -> Parser AuditsGenericIssueErrorType)
-> Value
-> Parser AuditsGenericIssueErrorType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsGenericIssueErrorType" ((Text -> Parser AuditsGenericIssueErrorType)
 -> Value -> Parser AuditsGenericIssueErrorType)
-> (Text -> Parser AuditsGenericIssueErrorType)
-> Value
-> Parser AuditsGenericIssueErrorType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"CrossOriginPortalPostMessageError" -> AuditsGenericIssueErrorType -> Parser AuditsGenericIssueErrorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsGenericIssueErrorType
AuditsGenericIssueErrorTypeCrossOriginPortalPostMessageError
    Text
"_" -> String -> Parser AuditsGenericIssueErrorType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsGenericIssueErrorType"
instance ToJSON AuditsGenericIssueErrorType where
  toJSON :: AuditsGenericIssueErrorType -> Value
toJSON AuditsGenericIssueErrorType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsGenericIssueErrorType
v of
    AuditsGenericIssueErrorType
AuditsGenericIssueErrorTypeCrossOriginPortalPostMessageError -> Text
"CrossOriginPortalPostMessageError"

-- | Type 'Audits.GenericIssueDetails'.
--   Depending on the concrete errorType, different properties are set.
data AuditsGenericIssueDetails = AuditsGenericIssueDetails
  {
    -- | Issues with the same errorType are aggregated in the frontend.
    AuditsGenericIssueDetails -> AuditsGenericIssueErrorType
auditsGenericIssueDetailsErrorType :: AuditsGenericIssueErrorType,
    AuditsGenericIssueDetails -> Maybe Text
auditsGenericIssueDetailsFrameId :: Maybe DOMPageNetworkEmulationSecurity.PageFrameId
  }
  deriving (AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool
(AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool)
-> (AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool)
-> Eq AuditsGenericIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool
$c/= :: AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool
== :: AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool
$c== :: AuditsGenericIssueDetails -> AuditsGenericIssueDetails -> Bool
Eq, Int -> AuditsGenericIssueDetails -> ShowS
[AuditsGenericIssueDetails] -> ShowS
AuditsGenericIssueDetails -> String
(Int -> AuditsGenericIssueDetails -> ShowS)
-> (AuditsGenericIssueDetails -> String)
-> ([AuditsGenericIssueDetails] -> ShowS)
-> Show AuditsGenericIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsGenericIssueDetails] -> ShowS
$cshowList :: [AuditsGenericIssueDetails] -> ShowS
show :: AuditsGenericIssueDetails -> String
$cshow :: AuditsGenericIssueDetails -> String
showsPrec :: Int -> AuditsGenericIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsGenericIssueDetails -> ShowS
Show)
instance FromJSON AuditsGenericIssueDetails where
  parseJSON :: Value -> Parser AuditsGenericIssueDetails
parseJSON = String
-> (Object -> Parser AuditsGenericIssueDetails)
-> Value
-> Parser AuditsGenericIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsGenericIssueDetails" ((Object -> Parser AuditsGenericIssueDetails)
 -> Value -> Parser AuditsGenericIssueDetails)
-> (Object -> Parser AuditsGenericIssueDetails)
-> Value
-> Parser AuditsGenericIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsGenericIssueErrorType
-> Maybe Text -> AuditsGenericIssueDetails
AuditsGenericIssueDetails
    (AuditsGenericIssueErrorType
 -> Maybe Text -> AuditsGenericIssueDetails)
-> Parser AuditsGenericIssueErrorType
-> Parser (Maybe Text -> AuditsGenericIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsGenericIssueErrorType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"errorType"
    Parser (Maybe Text -> AuditsGenericIssueDetails)
-> Parser (Maybe Text) -> Parser AuditsGenericIssueDetails
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
"frameId"
instance ToJSON AuditsGenericIssueDetails where
  toJSON :: AuditsGenericIssueDetails -> Value
toJSON AuditsGenericIssueDetails
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
"errorType" Text -> AuditsGenericIssueErrorType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsGenericIssueErrorType -> Pair)
-> Maybe AuditsGenericIssueErrorType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsGenericIssueErrorType -> Maybe AuditsGenericIssueErrorType
forall a. a -> Maybe a
Just (AuditsGenericIssueDetails -> AuditsGenericIssueErrorType
auditsGenericIssueDetailsErrorType AuditsGenericIssueDetails
p),
    (Text
"frameId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsGenericIssueDetails -> Maybe Text
auditsGenericIssueDetailsFrameId AuditsGenericIssueDetails
p)
    ]

-- | Type 'Audits.DeprecationIssueType'.
data AuditsDeprecationIssueType = AuditsDeprecationIssueTypeAuthorizationCoveredByWildcard | AuditsDeprecationIssueTypeCanRequestURLHTTPContainingNewline | AuditsDeprecationIssueTypeChromeLoadTimesConnectionInfo | AuditsDeprecationIssueTypeChromeLoadTimesFirstPaintAfterLoadTime | AuditsDeprecationIssueTypeChromeLoadTimesWasAlternateProtocolAvailable | AuditsDeprecationIssueTypeCookieWithTruncatingChar | AuditsDeprecationIssueTypeCrossOriginAccessBasedOnDocumentDomain | AuditsDeprecationIssueTypeCrossOriginWindowAlert | AuditsDeprecationIssueTypeCrossOriginWindowConfirm | AuditsDeprecationIssueTypeCSSSelectorInternalMediaControlsOverlayCastButton | AuditsDeprecationIssueTypeDeprecationExample | AuditsDeprecationIssueTypeDocumentDomainSettingWithoutOriginAgentClusterHeader | AuditsDeprecationIssueTypeEventPath | AuditsDeprecationIssueTypeExpectCTHeader | AuditsDeprecationIssueTypeGeolocationInsecureOrigin | AuditsDeprecationIssueTypeGeolocationInsecureOriginDeprecatedNotRemoved | AuditsDeprecationIssueTypeGetUserMediaInsecureOrigin | AuditsDeprecationIssueTypeHostCandidateAttributeGetter | AuditsDeprecationIssueTypeIdentityInCanMakePaymentEvent | AuditsDeprecationIssueTypeInsecurePrivateNetworkSubresourceRequest | AuditsDeprecationIssueTypeLocalCSSFileExtensionRejected | AuditsDeprecationIssueTypeMediaSourceAbortRemove | AuditsDeprecationIssueTypeMediaSourceDurationTruncatingBuffered | AuditsDeprecationIssueTypeNoSysexWebMIDIWithoutPermission | AuditsDeprecationIssueTypeNotificationInsecureOrigin | AuditsDeprecationIssueTypeNotificationPermissionRequestedIframe | AuditsDeprecationIssueTypeObsoleteWebRtcCipherSuite | AuditsDeprecationIssueTypeOpenWebDatabaseInsecureContext | AuditsDeprecationIssueTypeOverflowVisibleOnReplacedElement | AuditsDeprecationIssueTypePaymentInstruments | AuditsDeprecationIssueTypePaymentRequestCSPViolation | AuditsDeprecationIssueTypePersistentQuotaType | AuditsDeprecationIssueTypePictureSourceSrc | AuditsDeprecationIssueTypePrefixedCancelAnimationFrame | AuditsDeprecationIssueTypePrefixedRequestAnimationFrame | AuditsDeprecationIssueTypePrefixedStorageInfo | AuditsDeprecationIssueTypePrefixedVideoDisplayingFullscreen | AuditsDeprecationIssueTypePrefixedVideoEnterFullscreen | AuditsDeprecationIssueTypePrefixedVideoEnterFullScreen | AuditsDeprecationIssueTypePrefixedVideoExitFullscreen | AuditsDeprecationIssueTypePrefixedVideoExitFullScreen | AuditsDeprecationIssueTypePrefixedVideoSupportsFullscreen | AuditsDeprecationIssueTypeRangeExpand | AuditsDeprecationIssueTypeRequestedSubresourceWithEmbeddedCredentials | AuditsDeprecationIssueTypeRTCConstraintEnableDtlsSrtpFalse | AuditsDeprecationIssueTypeRTCConstraintEnableDtlsSrtpTrue | AuditsDeprecationIssueTypeRTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics | AuditsDeprecationIssueTypeRTCPeerConnectionSdpSemanticsPlanB | AuditsDeprecationIssueTypeRtcpMuxPolicyNegotiate | AuditsDeprecationIssueTypeSharedArrayBufferConstructedWithoutIsolation | AuditsDeprecationIssueTypeTextToSpeech_DisallowedByAutoplay | AuditsDeprecationIssueTypeV8SharedArrayBufferConstructedInExtensionWithoutIsolation | AuditsDeprecationIssueTypeXHRJSONEncodingDetection | AuditsDeprecationIssueTypeXMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload | AuditsDeprecationIssueTypeXRSupportsSession
  deriving (Eq AuditsDeprecationIssueType
Eq AuditsDeprecationIssueType
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> Ordering)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> Bool)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> Bool)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> Bool)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> Bool)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> AuditsDeprecationIssueType)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> AuditsDeprecationIssueType)
-> Ord AuditsDeprecationIssueType
AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> Ordering
AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> AuditsDeprecationIssueType
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 :: AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> AuditsDeprecationIssueType
$cmin :: AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> AuditsDeprecationIssueType
max :: AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> AuditsDeprecationIssueType
$cmax :: AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> AuditsDeprecationIssueType
>= :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
$c>= :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
> :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
$c> :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
<= :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
$c<= :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
< :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
$c< :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
compare :: AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> Ordering
$ccompare :: AuditsDeprecationIssueType
-> AuditsDeprecationIssueType -> Ordering
$cp1Ord :: Eq AuditsDeprecationIssueType
Ord, AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
(AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool)
-> (AuditsDeprecationIssueType
    -> AuditsDeprecationIssueType -> Bool)
-> Eq AuditsDeprecationIssueType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
$c/= :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
== :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
$c== :: AuditsDeprecationIssueType -> AuditsDeprecationIssueType -> Bool
Eq, Int -> AuditsDeprecationIssueType -> ShowS
[AuditsDeprecationIssueType] -> ShowS
AuditsDeprecationIssueType -> String
(Int -> AuditsDeprecationIssueType -> ShowS)
-> (AuditsDeprecationIssueType -> String)
-> ([AuditsDeprecationIssueType] -> ShowS)
-> Show AuditsDeprecationIssueType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsDeprecationIssueType] -> ShowS
$cshowList :: [AuditsDeprecationIssueType] -> ShowS
show :: AuditsDeprecationIssueType -> String
$cshow :: AuditsDeprecationIssueType -> String
showsPrec :: Int -> AuditsDeprecationIssueType -> ShowS
$cshowsPrec :: Int -> AuditsDeprecationIssueType -> ShowS
Show, ReadPrec [AuditsDeprecationIssueType]
ReadPrec AuditsDeprecationIssueType
Int -> ReadS AuditsDeprecationIssueType
ReadS [AuditsDeprecationIssueType]
(Int -> ReadS AuditsDeprecationIssueType)
-> ReadS [AuditsDeprecationIssueType]
-> ReadPrec AuditsDeprecationIssueType
-> ReadPrec [AuditsDeprecationIssueType]
-> Read AuditsDeprecationIssueType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsDeprecationIssueType]
$creadListPrec :: ReadPrec [AuditsDeprecationIssueType]
readPrec :: ReadPrec AuditsDeprecationIssueType
$creadPrec :: ReadPrec AuditsDeprecationIssueType
readList :: ReadS [AuditsDeprecationIssueType]
$creadList :: ReadS [AuditsDeprecationIssueType]
readsPrec :: Int -> ReadS AuditsDeprecationIssueType
$creadsPrec :: Int -> ReadS AuditsDeprecationIssueType
Read)
instance FromJSON AuditsDeprecationIssueType where
  parseJSON :: Value -> Parser AuditsDeprecationIssueType
parseJSON = String
-> (Text -> Parser AuditsDeprecationIssueType)
-> Value
-> Parser AuditsDeprecationIssueType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsDeprecationIssueType" ((Text -> Parser AuditsDeprecationIssueType)
 -> Value -> Parser AuditsDeprecationIssueType)
-> (Text -> Parser AuditsDeprecationIssueType)
-> Value
-> Parser AuditsDeprecationIssueType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"AuthorizationCoveredByWildcard" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeAuthorizationCoveredByWildcard
    Text
"CanRequestURLHTTPContainingNewline" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCanRequestURLHTTPContainingNewline
    Text
"ChromeLoadTimesConnectionInfo" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeChromeLoadTimesConnectionInfo
    Text
"ChromeLoadTimesFirstPaintAfterLoadTime" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeChromeLoadTimesFirstPaintAfterLoadTime
    Text
"ChromeLoadTimesWasAlternateProtocolAvailable" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeChromeLoadTimesWasAlternateProtocolAvailable
    Text
"CookieWithTruncatingChar" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCookieWithTruncatingChar
    Text
"CrossOriginAccessBasedOnDocumentDomain" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCrossOriginAccessBasedOnDocumentDomain
    Text
"CrossOriginWindowAlert" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCrossOriginWindowAlert
    Text
"CrossOriginWindowConfirm" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCrossOriginWindowConfirm
    Text
"CSSSelectorInternalMediaControlsOverlayCastButton" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCSSSelectorInternalMediaControlsOverlayCastButton
    Text
"DeprecationExample" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeDeprecationExample
    Text
"DocumentDomainSettingWithoutOriginAgentClusterHeader" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeDocumentDomainSettingWithoutOriginAgentClusterHeader
    Text
"EventPath" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeEventPath
    Text
"ExpectCTHeader" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeExpectCTHeader
    Text
"GeolocationInsecureOrigin" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeGeolocationInsecureOrigin
    Text
"GeolocationInsecureOriginDeprecatedNotRemoved" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeGeolocationInsecureOriginDeprecatedNotRemoved
    Text
"GetUserMediaInsecureOrigin" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeGetUserMediaInsecureOrigin
    Text
"HostCandidateAttributeGetter" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeHostCandidateAttributeGetter
    Text
"IdentityInCanMakePaymentEvent" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeIdentityInCanMakePaymentEvent
    Text
"InsecurePrivateNetworkSubresourceRequest" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeInsecurePrivateNetworkSubresourceRequest
    Text
"LocalCSSFileExtensionRejected" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeLocalCSSFileExtensionRejected
    Text
"MediaSourceAbortRemove" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeMediaSourceAbortRemove
    Text
"MediaSourceDurationTruncatingBuffered" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeMediaSourceDurationTruncatingBuffered
    Text
"NoSysexWebMIDIWithoutPermission" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeNoSysexWebMIDIWithoutPermission
    Text
"NotificationInsecureOrigin" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeNotificationInsecureOrigin
    Text
"NotificationPermissionRequestedIframe" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeNotificationPermissionRequestedIframe
    Text
"ObsoleteWebRtcCipherSuite" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeObsoleteWebRtcCipherSuite
    Text
"OpenWebDatabaseInsecureContext" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeOpenWebDatabaseInsecureContext
    Text
"OverflowVisibleOnReplacedElement" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeOverflowVisibleOnReplacedElement
    Text
"PaymentInstruments" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePaymentInstruments
    Text
"PaymentRequestCSPViolation" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePaymentRequestCSPViolation
    Text
"PersistentQuotaType" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePersistentQuotaType
    Text
"PictureSourceSrc" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePictureSourceSrc
    Text
"PrefixedCancelAnimationFrame" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedCancelAnimationFrame
    Text
"PrefixedRequestAnimationFrame" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedRequestAnimationFrame
    Text
"PrefixedStorageInfo" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedStorageInfo
    Text
"PrefixedVideoDisplayingFullscreen" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoDisplayingFullscreen
    Text
"PrefixedVideoEnterFullscreen" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoEnterFullscreen
    Text
"PrefixedVideoEnterFullScreen" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoEnterFullScreen
    Text
"PrefixedVideoExitFullscreen" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoExitFullscreen
    Text
"PrefixedVideoExitFullScreen" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoExitFullScreen
    Text
"PrefixedVideoSupportsFullscreen" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoSupportsFullscreen
    Text
"RangeExpand" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRangeExpand
    Text
"RequestedSubresourceWithEmbeddedCredentials" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRequestedSubresourceWithEmbeddedCredentials
    Text
"RTCConstraintEnableDtlsSrtpFalse" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCConstraintEnableDtlsSrtpFalse
    Text
"RTCConstraintEnableDtlsSrtpTrue" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCConstraintEnableDtlsSrtpTrue
    Text
"RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics
    Text
"RTCPeerConnectionSdpSemanticsPlanB" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCPeerConnectionSdpSemanticsPlanB
    Text
"RtcpMuxPolicyNegotiate" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRtcpMuxPolicyNegotiate
    Text
"SharedArrayBufferConstructedWithoutIsolation" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeSharedArrayBufferConstructedWithoutIsolation
    Text
"TextToSpeech_DisallowedByAutoplay" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeTextToSpeech_DisallowedByAutoplay
    Text
"V8SharedArrayBufferConstructedInExtensionWithoutIsolation" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeV8SharedArrayBufferConstructedInExtensionWithoutIsolation
    Text
"XHRJSONEncodingDetection" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeXHRJSONEncodingDetection
    Text
"XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeXMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload
    Text
"XRSupportsSession" -> AuditsDeprecationIssueType -> Parser AuditsDeprecationIssueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsDeprecationIssueType
AuditsDeprecationIssueTypeXRSupportsSession
    Text
"_" -> String -> Parser AuditsDeprecationIssueType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsDeprecationIssueType"
instance ToJSON AuditsDeprecationIssueType where
  toJSON :: AuditsDeprecationIssueType -> Value
toJSON AuditsDeprecationIssueType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsDeprecationIssueType
v of
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeAuthorizationCoveredByWildcard -> Text
"AuthorizationCoveredByWildcard"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCanRequestURLHTTPContainingNewline -> Text
"CanRequestURLHTTPContainingNewline"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeChromeLoadTimesConnectionInfo -> Text
"ChromeLoadTimesConnectionInfo"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeChromeLoadTimesFirstPaintAfterLoadTime -> Text
"ChromeLoadTimesFirstPaintAfterLoadTime"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeChromeLoadTimesWasAlternateProtocolAvailable -> Text
"ChromeLoadTimesWasAlternateProtocolAvailable"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCookieWithTruncatingChar -> Text
"CookieWithTruncatingChar"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCrossOriginAccessBasedOnDocumentDomain -> Text
"CrossOriginAccessBasedOnDocumentDomain"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCrossOriginWindowAlert -> Text
"CrossOriginWindowAlert"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCrossOriginWindowConfirm -> Text
"CrossOriginWindowConfirm"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeCSSSelectorInternalMediaControlsOverlayCastButton -> Text
"CSSSelectorInternalMediaControlsOverlayCastButton"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeDeprecationExample -> Text
"DeprecationExample"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeDocumentDomainSettingWithoutOriginAgentClusterHeader -> Text
"DocumentDomainSettingWithoutOriginAgentClusterHeader"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeEventPath -> Text
"EventPath"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeExpectCTHeader -> Text
"ExpectCTHeader"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeGeolocationInsecureOrigin -> Text
"GeolocationInsecureOrigin"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeGeolocationInsecureOriginDeprecatedNotRemoved -> Text
"GeolocationInsecureOriginDeprecatedNotRemoved"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeGetUserMediaInsecureOrigin -> Text
"GetUserMediaInsecureOrigin"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeHostCandidateAttributeGetter -> Text
"HostCandidateAttributeGetter"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeIdentityInCanMakePaymentEvent -> Text
"IdentityInCanMakePaymentEvent"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeInsecurePrivateNetworkSubresourceRequest -> Text
"InsecurePrivateNetworkSubresourceRequest"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeLocalCSSFileExtensionRejected -> Text
"LocalCSSFileExtensionRejected"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeMediaSourceAbortRemove -> Text
"MediaSourceAbortRemove"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeMediaSourceDurationTruncatingBuffered -> Text
"MediaSourceDurationTruncatingBuffered"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeNoSysexWebMIDIWithoutPermission -> Text
"NoSysexWebMIDIWithoutPermission"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeNotificationInsecureOrigin -> Text
"NotificationInsecureOrigin"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeNotificationPermissionRequestedIframe -> Text
"NotificationPermissionRequestedIframe"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeObsoleteWebRtcCipherSuite -> Text
"ObsoleteWebRtcCipherSuite"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeOpenWebDatabaseInsecureContext -> Text
"OpenWebDatabaseInsecureContext"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeOverflowVisibleOnReplacedElement -> Text
"OverflowVisibleOnReplacedElement"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePaymentInstruments -> Text
"PaymentInstruments"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePaymentRequestCSPViolation -> Text
"PaymentRequestCSPViolation"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePersistentQuotaType -> Text
"PersistentQuotaType"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePictureSourceSrc -> Text
"PictureSourceSrc"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedCancelAnimationFrame -> Text
"PrefixedCancelAnimationFrame"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedRequestAnimationFrame -> Text
"PrefixedRequestAnimationFrame"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedStorageInfo -> Text
"PrefixedStorageInfo"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoDisplayingFullscreen -> Text
"PrefixedVideoDisplayingFullscreen"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoEnterFullscreen -> Text
"PrefixedVideoEnterFullscreen"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoEnterFullScreen -> Text
"PrefixedVideoEnterFullScreen"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoExitFullscreen -> Text
"PrefixedVideoExitFullscreen"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoExitFullScreen -> Text
"PrefixedVideoExitFullScreen"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypePrefixedVideoSupportsFullscreen -> Text
"PrefixedVideoSupportsFullscreen"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRangeExpand -> Text
"RangeExpand"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRequestedSubresourceWithEmbeddedCredentials -> Text
"RequestedSubresourceWithEmbeddedCredentials"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCConstraintEnableDtlsSrtpFalse -> Text
"RTCConstraintEnableDtlsSrtpFalse"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCConstraintEnableDtlsSrtpTrue -> Text
"RTCConstraintEnableDtlsSrtpTrue"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics -> Text
"RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRTCPeerConnectionSdpSemanticsPlanB -> Text
"RTCPeerConnectionSdpSemanticsPlanB"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeRtcpMuxPolicyNegotiate -> Text
"RtcpMuxPolicyNegotiate"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeSharedArrayBufferConstructedWithoutIsolation -> Text
"SharedArrayBufferConstructedWithoutIsolation"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeTextToSpeech_DisallowedByAutoplay -> Text
"TextToSpeech_DisallowedByAutoplay"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeV8SharedArrayBufferConstructedInExtensionWithoutIsolation -> Text
"V8SharedArrayBufferConstructedInExtensionWithoutIsolation"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeXHRJSONEncodingDetection -> Text
"XHRJSONEncodingDetection"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeXMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload -> Text
"XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload"
    AuditsDeprecationIssueType
AuditsDeprecationIssueTypeXRSupportsSession -> Text
"XRSupportsSession"

-- | Type 'Audits.DeprecationIssueDetails'.
--   This issue tracks information needed to print a deprecation message.
--   https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md
data AuditsDeprecationIssueDetails = AuditsDeprecationIssueDetails
  {
    AuditsDeprecationIssueDetails -> Maybe AuditsAffectedFrame
auditsDeprecationIssueDetailsAffectedFrame :: Maybe AuditsAffectedFrame,
    AuditsDeprecationIssueDetails -> AuditsSourceCodeLocation
auditsDeprecationIssueDetailsSourceCodeLocation :: AuditsSourceCodeLocation,
    AuditsDeprecationIssueDetails -> AuditsDeprecationIssueType
auditsDeprecationIssueDetailsType :: AuditsDeprecationIssueType
  }
  deriving (AuditsDeprecationIssueDetails
-> AuditsDeprecationIssueDetails -> Bool
(AuditsDeprecationIssueDetails
 -> AuditsDeprecationIssueDetails -> Bool)
-> (AuditsDeprecationIssueDetails
    -> AuditsDeprecationIssueDetails -> Bool)
-> Eq AuditsDeprecationIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsDeprecationIssueDetails
-> AuditsDeprecationIssueDetails -> Bool
$c/= :: AuditsDeprecationIssueDetails
-> AuditsDeprecationIssueDetails -> Bool
== :: AuditsDeprecationIssueDetails
-> AuditsDeprecationIssueDetails -> Bool
$c== :: AuditsDeprecationIssueDetails
-> AuditsDeprecationIssueDetails -> Bool
Eq, Int -> AuditsDeprecationIssueDetails -> ShowS
[AuditsDeprecationIssueDetails] -> ShowS
AuditsDeprecationIssueDetails -> String
(Int -> AuditsDeprecationIssueDetails -> ShowS)
-> (AuditsDeprecationIssueDetails -> String)
-> ([AuditsDeprecationIssueDetails] -> ShowS)
-> Show AuditsDeprecationIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsDeprecationIssueDetails] -> ShowS
$cshowList :: [AuditsDeprecationIssueDetails] -> ShowS
show :: AuditsDeprecationIssueDetails -> String
$cshow :: AuditsDeprecationIssueDetails -> String
showsPrec :: Int -> AuditsDeprecationIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsDeprecationIssueDetails -> ShowS
Show)
instance FromJSON AuditsDeprecationIssueDetails where
  parseJSON :: Value -> Parser AuditsDeprecationIssueDetails
parseJSON = String
-> (Object -> Parser AuditsDeprecationIssueDetails)
-> Value
-> Parser AuditsDeprecationIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsDeprecationIssueDetails" ((Object -> Parser AuditsDeprecationIssueDetails)
 -> Value -> Parser AuditsDeprecationIssueDetails)
-> (Object -> Parser AuditsDeprecationIssueDetails)
-> Value
-> Parser AuditsDeprecationIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe AuditsAffectedFrame
-> AuditsSourceCodeLocation
-> AuditsDeprecationIssueType
-> AuditsDeprecationIssueDetails
AuditsDeprecationIssueDetails
    (Maybe AuditsAffectedFrame
 -> AuditsSourceCodeLocation
 -> AuditsDeprecationIssueType
 -> AuditsDeprecationIssueDetails)
-> Parser (Maybe AuditsAffectedFrame)
-> Parser
     (AuditsSourceCodeLocation
      -> AuditsDeprecationIssueType -> AuditsDeprecationIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser (Maybe AuditsAffectedFrame)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"affectedFrame"
    Parser
  (AuditsSourceCodeLocation
   -> AuditsDeprecationIssueType -> AuditsDeprecationIssueDetails)
-> Parser AuditsSourceCodeLocation
-> Parser
     (AuditsDeprecationIssueType -> AuditsDeprecationIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsSourceCodeLocation
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"sourceCodeLocation"
    Parser
  (AuditsDeprecationIssueType -> AuditsDeprecationIssueDetails)
-> Parser AuditsDeprecationIssueType
-> Parser AuditsDeprecationIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsDeprecationIssueType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"type"
instance ToJSON AuditsDeprecationIssueDetails where
  toJSON :: AuditsDeprecationIssueDetails -> Value
toJSON AuditsDeprecationIssueDetails
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
"affectedFrame" Text -> AuditsAffectedFrame -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAffectedFrame -> Pair)
-> Maybe AuditsAffectedFrame -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsDeprecationIssueDetails -> Maybe AuditsAffectedFrame
auditsDeprecationIssueDetailsAffectedFrame AuditsDeprecationIssueDetails
p),
    (Text
"sourceCodeLocation" Text -> AuditsSourceCodeLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSourceCodeLocation -> Pair)
-> Maybe AuditsSourceCodeLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsSourceCodeLocation -> Maybe AuditsSourceCodeLocation
forall a. a -> Maybe a
Just (AuditsDeprecationIssueDetails -> AuditsSourceCodeLocation
auditsDeprecationIssueDetailsSourceCodeLocation AuditsDeprecationIssueDetails
p),
    (Text
"type" Text -> AuditsDeprecationIssueType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsDeprecationIssueType -> Pair)
-> Maybe AuditsDeprecationIssueType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsDeprecationIssueType -> Maybe AuditsDeprecationIssueType
forall a. a -> Maybe a
Just (AuditsDeprecationIssueDetails -> AuditsDeprecationIssueType
auditsDeprecationIssueDetailsType AuditsDeprecationIssueDetails
p)
    ]

-- | Type 'Audits.ClientHintIssueReason'.
data AuditsClientHintIssueReason = AuditsClientHintIssueReasonMetaTagAllowListInvalidOrigin | AuditsClientHintIssueReasonMetaTagModifiedHTML
  deriving (Eq AuditsClientHintIssueReason
Eq AuditsClientHintIssueReason
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> Ordering)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> Bool)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> Bool)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> Bool)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> Bool)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> AuditsClientHintIssueReason)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> AuditsClientHintIssueReason)
-> Ord AuditsClientHintIssueReason
AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> Ordering
AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> AuditsClientHintIssueReason
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 :: AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> AuditsClientHintIssueReason
$cmin :: AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> AuditsClientHintIssueReason
max :: AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> AuditsClientHintIssueReason
$cmax :: AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> AuditsClientHintIssueReason
>= :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
$c>= :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
> :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
$c> :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
<= :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
$c<= :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
< :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
$c< :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
compare :: AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> Ordering
$ccompare :: AuditsClientHintIssueReason
-> AuditsClientHintIssueReason -> Ordering
$cp1Ord :: Eq AuditsClientHintIssueReason
Ord, AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
(AuditsClientHintIssueReason
 -> AuditsClientHintIssueReason -> Bool)
-> (AuditsClientHintIssueReason
    -> AuditsClientHintIssueReason -> Bool)
-> Eq AuditsClientHintIssueReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
$c/= :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
== :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
$c== :: AuditsClientHintIssueReason -> AuditsClientHintIssueReason -> Bool
Eq, Int -> AuditsClientHintIssueReason -> ShowS
[AuditsClientHintIssueReason] -> ShowS
AuditsClientHintIssueReason -> String
(Int -> AuditsClientHintIssueReason -> ShowS)
-> (AuditsClientHintIssueReason -> String)
-> ([AuditsClientHintIssueReason] -> ShowS)
-> Show AuditsClientHintIssueReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsClientHintIssueReason] -> ShowS
$cshowList :: [AuditsClientHintIssueReason] -> ShowS
show :: AuditsClientHintIssueReason -> String
$cshow :: AuditsClientHintIssueReason -> String
showsPrec :: Int -> AuditsClientHintIssueReason -> ShowS
$cshowsPrec :: Int -> AuditsClientHintIssueReason -> ShowS
Show, ReadPrec [AuditsClientHintIssueReason]
ReadPrec AuditsClientHintIssueReason
Int -> ReadS AuditsClientHintIssueReason
ReadS [AuditsClientHintIssueReason]
(Int -> ReadS AuditsClientHintIssueReason)
-> ReadS [AuditsClientHintIssueReason]
-> ReadPrec AuditsClientHintIssueReason
-> ReadPrec [AuditsClientHintIssueReason]
-> Read AuditsClientHintIssueReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsClientHintIssueReason]
$creadListPrec :: ReadPrec [AuditsClientHintIssueReason]
readPrec :: ReadPrec AuditsClientHintIssueReason
$creadPrec :: ReadPrec AuditsClientHintIssueReason
readList :: ReadS [AuditsClientHintIssueReason]
$creadList :: ReadS [AuditsClientHintIssueReason]
readsPrec :: Int -> ReadS AuditsClientHintIssueReason
$creadsPrec :: Int -> ReadS AuditsClientHintIssueReason
Read)
instance FromJSON AuditsClientHintIssueReason where
  parseJSON :: Value -> Parser AuditsClientHintIssueReason
parseJSON = String
-> (Text -> Parser AuditsClientHintIssueReason)
-> Value
-> Parser AuditsClientHintIssueReason
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsClientHintIssueReason" ((Text -> Parser AuditsClientHintIssueReason)
 -> Value -> Parser AuditsClientHintIssueReason)
-> (Text -> Parser AuditsClientHintIssueReason)
-> Value
-> Parser AuditsClientHintIssueReason
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"MetaTagAllowListInvalidOrigin" -> AuditsClientHintIssueReason -> Parser AuditsClientHintIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsClientHintIssueReason
AuditsClientHintIssueReasonMetaTagAllowListInvalidOrigin
    Text
"MetaTagModifiedHTML" -> AuditsClientHintIssueReason -> Parser AuditsClientHintIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsClientHintIssueReason
AuditsClientHintIssueReasonMetaTagModifiedHTML
    Text
"_" -> String -> Parser AuditsClientHintIssueReason
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsClientHintIssueReason"
instance ToJSON AuditsClientHintIssueReason where
  toJSON :: AuditsClientHintIssueReason -> Value
toJSON AuditsClientHintIssueReason
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsClientHintIssueReason
v of
    AuditsClientHintIssueReason
AuditsClientHintIssueReasonMetaTagAllowListInvalidOrigin -> Text
"MetaTagAllowListInvalidOrigin"
    AuditsClientHintIssueReason
AuditsClientHintIssueReasonMetaTagModifiedHTML -> Text
"MetaTagModifiedHTML"

-- | Type 'Audits.FederatedAuthRequestIssueDetails'.
data AuditsFederatedAuthRequestIssueDetails = AuditsFederatedAuthRequestIssueDetails
  {
    AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueReason
auditsFederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason :: AuditsFederatedAuthRequestIssueReason
  }
  deriving (AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueDetails -> Bool
(AuditsFederatedAuthRequestIssueDetails
 -> AuditsFederatedAuthRequestIssueDetails -> Bool)
-> (AuditsFederatedAuthRequestIssueDetails
    -> AuditsFederatedAuthRequestIssueDetails -> Bool)
-> Eq AuditsFederatedAuthRequestIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueDetails -> Bool
$c/= :: AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueDetails -> Bool
== :: AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueDetails -> Bool
$c== :: AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueDetails -> Bool
Eq, Int -> AuditsFederatedAuthRequestIssueDetails -> ShowS
[AuditsFederatedAuthRequestIssueDetails] -> ShowS
AuditsFederatedAuthRequestIssueDetails -> String
(Int -> AuditsFederatedAuthRequestIssueDetails -> ShowS)
-> (AuditsFederatedAuthRequestIssueDetails -> String)
-> ([AuditsFederatedAuthRequestIssueDetails] -> ShowS)
-> Show AuditsFederatedAuthRequestIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsFederatedAuthRequestIssueDetails] -> ShowS
$cshowList :: [AuditsFederatedAuthRequestIssueDetails] -> ShowS
show :: AuditsFederatedAuthRequestIssueDetails -> String
$cshow :: AuditsFederatedAuthRequestIssueDetails -> String
showsPrec :: Int -> AuditsFederatedAuthRequestIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsFederatedAuthRequestIssueDetails -> ShowS
Show)
instance FromJSON AuditsFederatedAuthRequestIssueDetails where
  parseJSON :: Value -> Parser AuditsFederatedAuthRequestIssueDetails
parseJSON = String
-> (Object -> Parser AuditsFederatedAuthRequestIssueDetails)
-> Value
-> Parser AuditsFederatedAuthRequestIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsFederatedAuthRequestIssueDetails" ((Object -> Parser AuditsFederatedAuthRequestIssueDetails)
 -> Value -> Parser AuditsFederatedAuthRequestIssueDetails)
-> (Object -> Parser AuditsFederatedAuthRequestIssueDetails)
-> Value
-> Parser AuditsFederatedAuthRequestIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueDetails
AuditsFederatedAuthRequestIssueDetails
    (AuditsFederatedAuthRequestIssueReason
 -> AuditsFederatedAuthRequestIssueDetails)
-> Parser AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueDetails
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsFederatedAuthRequestIssueReason
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"federatedAuthRequestIssueReason"
instance ToJSON AuditsFederatedAuthRequestIssueDetails where
  toJSON :: AuditsFederatedAuthRequestIssueDetails -> Value
toJSON AuditsFederatedAuthRequestIssueDetails
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
"federatedAuthRequestIssueReason" Text -> AuditsFederatedAuthRequestIssueReason -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsFederatedAuthRequestIssueReason -> Pair)
-> Maybe AuditsFederatedAuthRequestIssueReason -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsFederatedAuthRequestIssueReason
-> Maybe AuditsFederatedAuthRequestIssueReason
forall a. a -> Maybe a
Just (AuditsFederatedAuthRequestIssueDetails
-> AuditsFederatedAuthRequestIssueReason
auditsFederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason AuditsFederatedAuthRequestIssueDetails
p)
    ]

-- | Type 'Audits.FederatedAuthRequestIssueReason'.
--   Represents the failure reason when a federated authentication reason fails.
--   Should be updated alongside RequestIdTokenStatus in
--   third_party/blink/public/mojom/devtools/inspector_issue.mojom to include
--   all cases except for success.
data AuditsFederatedAuthRequestIssueReason = AuditsFederatedAuthRequestIssueReasonShouldEmbargo | AuditsFederatedAuthRequestIssueReasonTooManyRequests | AuditsFederatedAuthRequestIssueReasonManifestListHttpNotFound | AuditsFederatedAuthRequestIssueReasonManifestListNoResponse | AuditsFederatedAuthRequestIssueReasonManifestListInvalidResponse | AuditsFederatedAuthRequestIssueReasonManifestNotInManifestList | AuditsFederatedAuthRequestIssueReasonManifestListTooBig | AuditsFederatedAuthRequestIssueReasonManifestHttpNotFound | AuditsFederatedAuthRequestIssueReasonManifestNoResponse | AuditsFederatedAuthRequestIssueReasonManifestInvalidResponse | AuditsFederatedAuthRequestIssueReasonClientMetadataHttpNotFound | AuditsFederatedAuthRequestIssueReasonClientMetadataNoResponse | AuditsFederatedAuthRequestIssueReasonClientMetadataInvalidResponse | AuditsFederatedAuthRequestIssueReasonDisabledInSettings | AuditsFederatedAuthRequestIssueReasonErrorFetchingSignin | AuditsFederatedAuthRequestIssueReasonInvalidSigninResponse | AuditsFederatedAuthRequestIssueReasonAccountsHttpNotFound | AuditsFederatedAuthRequestIssueReasonAccountsNoResponse | AuditsFederatedAuthRequestIssueReasonAccountsInvalidResponse | AuditsFederatedAuthRequestIssueReasonIdTokenHttpNotFound | AuditsFederatedAuthRequestIssueReasonIdTokenNoResponse | AuditsFederatedAuthRequestIssueReasonIdTokenInvalidResponse | AuditsFederatedAuthRequestIssueReasonIdTokenInvalidRequest | AuditsFederatedAuthRequestIssueReasonErrorIdToken | AuditsFederatedAuthRequestIssueReasonCanceled | AuditsFederatedAuthRequestIssueReasonRpPageNotVisible
  deriving (Eq AuditsFederatedAuthRequestIssueReason
Eq AuditsFederatedAuthRequestIssueReason
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason -> Ordering)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason -> Bool)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason -> Bool)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason -> Bool)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason -> Bool)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason)
-> Ord AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Ordering
AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
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 :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
$cmin :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
max :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
$cmax :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason
>= :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
$c>= :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
> :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
$c> :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
<= :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
$c<= :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
< :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
$c< :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
compare :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Ordering
$ccompare :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Ordering
$cp1Ord :: Eq AuditsFederatedAuthRequestIssueReason
Ord, AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
(AuditsFederatedAuthRequestIssueReason
 -> AuditsFederatedAuthRequestIssueReason -> Bool)
-> (AuditsFederatedAuthRequestIssueReason
    -> AuditsFederatedAuthRequestIssueReason -> Bool)
-> Eq AuditsFederatedAuthRequestIssueReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
$c/= :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
== :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
$c== :: AuditsFederatedAuthRequestIssueReason
-> AuditsFederatedAuthRequestIssueReason -> Bool
Eq, Int -> AuditsFederatedAuthRequestIssueReason -> ShowS
[AuditsFederatedAuthRequestIssueReason] -> ShowS
AuditsFederatedAuthRequestIssueReason -> String
(Int -> AuditsFederatedAuthRequestIssueReason -> ShowS)
-> (AuditsFederatedAuthRequestIssueReason -> String)
-> ([AuditsFederatedAuthRequestIssueReason] -> ShowS)
-> Show AuditsFederatedAuthRequestIssueReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsFederatedAuthRequestIssueReason] -> ShowS
$cshowList :: [AuditsFederatedAuthRequestIssueReason] -> ShowS
show :: AuditsFederatedAuthRequestIssueReason -> String
$cshow :: AuditsFederatedAuthRequestIssueReason -> String
showsPrec :: Int -> AuditsFederatedAuthRequestIssueReason -> ShowS
$cshowsPrec :: Int -> AuditsFederatedAuthRequestIssueReason -> ShowS
Show, ReadPrec [AuditsFederatedAuthRequestIssueReason]
ReadPrec AuditsFederatedAuthRequestIssueReason
Int -> ReadS AuditsFederatedAuthRequestIssueReason
ReadS [AuditsFederatedAuthRequestIssueReason]
(Int -> ReadS AuditsFederatedAuthRequestIssueReason)
-> ReadS [AuditsFederatedAuthRequestIssueReason]
-> ReadPrec AuditsFederatedAuthRequestIssueReason
-> ReadPrec [AuditsFederatedAuthRequestIssueReason]
-> Read AuditsFederatedAuthRequestIssueReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsFederatedAuthRequestIssueReason]
$creadListPrec :: ReadPrec [AuditsFederatedAuthRequestIssueReason]
readPrec :: ReadPrec AuditsFederatedAuthRequestIssueReason
$creadPrec :: ReadPrec AuditsFederatedAuthRequestIssueReason
readList :: ReadS [AuditsFederatedAuthRequestIssueReason]
$creadList :: ReadS [AuditsFederatedAuthRequestIssueReason]
readsPrec :: Int -> ReadS AuditsFederatedAuthRequestIssueReason
$creadsPrec :: Int -> ReadS AuditsFederatedAuthRequestIssueReason
Read)
instance FromJSON AuditsFederatedAuthRequestIssueReason where
  parseJSON :: Value -> Parser AuditsFederatedAuthRequestIssueReason
parseJSON = String
-> (Text -> Parser AuditsFederatedAuthRequestIssueReason)
-> Value
-> Parser AuditsFederatedAuthRequestIssueReason
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsFederatedAuthRequestIssueReason" ((Text -> Parser AuditsFederatedAuthRequestIssueReason)
 -> Value -> Parser AuditsFederatedAuthRequestIssueReason)
-> (Text -> Parser AuditsFederatedAuthRequestIssueReason)
-> Value
-> Parser AuditsFederatedAuthRequestIssueReason
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"ShouldEmbargo" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonShouldEmbargo
    Text
"TooManyRequests" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonTooManyRequests
    Text
"ManifestListHttpNotFound" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListHttpNotFound
    Text
"ManifestListNoResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListNoResponse
    Text
"ManifestListInvalidResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListInvalidResponse
    Text
"ManifestNotInManifestList" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestNotInManifestList
    Text
"ManifestListTooBig" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListTooBig
    Text
"ManifestHttpNotFound" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestHttpNotFound
    Text
"ManifestNoResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestNoResponse
    Text
"ManifestInvalidResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestInvalidResponse
    Text
"ClientMetadataHttpNotFound" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonClientMetadataHttpNotFound
    Text
"ClientMetadataNoResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonClientMetadataNoResponse
    Text
"ClientMetadataInvalidResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonClientMetadataInvalidResponse
    Text
"DisabledInSettings" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonDisabledInSettings
    Text
"ErrorFetchingSignin" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonErrorFetchingSignin
    Text
"InvalidSigninResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonInvalidSigninResponse
    Text
"AccountsHttpNotFound" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonAccountsHttpNotFound
    Text
"AccountsNoResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonAccountsNoResponse
    Text
"AccountsInvalidResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonAccountsInvalidResponse
    Text
"IdTokenHttpNotFound" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenHttpNotFound
    Text
"IdTokenNoResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenNoResponse
    Text
"IdTokenInvalidResponse" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenInvalidResponse
    Text
"IdTokenInvalidRequest" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenInvalidRequest
    Text
"ErrorIdToken" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonErrorIdToken
    Text
"Canceled" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonCanceled
    Text
"RpPageNotVisible" -> AuditsFederatedAuthRequestIssueReason
-> Parser AuditsFederatedAuthRequestIssueReason
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonRpPageNotVisible
    Text
"_" -> String -> Parser AuditsFederatedAuthRequestIssueReason
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsFederatedAuthRequestIssueReason"
instance ToJSON AuditsFederatedAuthRequestIssueReason where
  toJSON :: AuditsFederatedAuthRequestIssueReason -> Value
toJSON AuditsFederatedAuthRequestIssueReason
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsFederatedAuthRequestIssueReason
v of
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonShouldEmbargo -> Text
"ShouldEmbargo"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonTooManyRequests -> Text
"TooManyRequests"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListHttpNotFound -> Text
"ManifestListHttpNotFound"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListNoResponse -> Text
"ManifestListNoResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListInvalidResponse -> Text
"ManifestListInvalidResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestNotInManifestList -> Text
"ManifestNotInManifestList"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestListTooBig -> Text
"ManifestListTooBig"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestHttpNotFound -> Text
"ManifestHttpNotFound"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestNoResponse -> Text
"ManifestNoResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonManifestInvalidResponse -> Text
"ManifestInvalidResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonClientMetadataHttpNotFound -> Text
"ClientMetadataHttpNotFound"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonClientMetadataNoResponse -> Text
"ClientMetadataNoResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonClientMetadataInvalidResponse -> Text
"ClientMetadataInvalidResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonDisabledInSettings -> Text
"DisabledInSettings"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonErrorFetchingSignin -> Text
"ErrorFetchingSignin"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonInvalidSigninResponse -> Text
"InvalidSigninResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonAccountsHttpNotFound -> Text
"AccountsHttpNotFound"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonAccountsNoResponse -> Text
"AccountsNoResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonAccountsInvalidResponse -> Text
"AccountsInvalidResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenHttpNotFound -> Text
"IdTokenHttpNotFound"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenNoResponse -> Text
"IdTokenNoResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenInvalidResponse -> Text
"IdTokenInvalidResponse"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonIdTokenInvalidRequest -> Text
"IdTokenInvalidRequest"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonErrorIdToken -> Text
"ErrorIdToken"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonCanceled -> Text
"Canceled"
    AuditsFederatedAuthRequestIssueReason
AuditsFederatedAuthRequestIssueReasonRpPageNotVisible -> Text
"RpPageNotVisible"

-- | Type 'Audits.ClientHintIssueDetails'.
--   This issue tracks client hints related issues. It's used to deprecate old
--   features, encourage the use of new ones, and provide general guidance.
data AuditsClientHintIssueDetails = AuditsClientHintIssueDetails
  {
    AuditsClientHintIssueDetails -> AuditsSourceCodeLocation
auditsClientHintIssueDetailsSourceCodeLocation :: AuditsSourceCodeLocation,
    AuditsClientHintIssueDetails -> AuditsClientHintIssueReason
auditsClientHintIssueDetailsClientHintIssueReason :: AuditsClientHintIssueReason
  }
  deriving (AuditsClientHintIssueDetails
-> AuditsClientHintIssueDetails -> Bool
(AuditsClientHintIssueDetails
 -> AuditsClientHintIssueDetails -> Bool)
-> (AuditsClientHintIssueDetails
    -> AuditsClientHintIssueDetails -> Bool)
-> Eq AuditsClientHintIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsClientHintIssueDetails
-> AuditsClientHintIssueDetails -> Bool
$c/= :: AuditsClientHintIssueDetails
-> AuditsClientHintIssueDetails -> Bool
== :: AuditsClientHintIssueDetails
-> AuditsClientHintIssueDetails -> Bool
$c== :: AuditsClientHintIssueDetails
-> AuditsClientHintIssueDetails -> Bool
Eq, Int -> AuditsClientHintIssueDetails -> ShowS
[AuditsClientHintIssueDetails] -> ShowS
AuditsClientHintIssueDetails -> String
(Int -> AuditsClientHintIssueDetails -> ShowS)
-> (AuditsClientHintIssueDetails -> String)
-> ([AuditsClientHintIssueDetails] -> ShowS)
-> Show AuditsClientHintIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsClientHintIssueDetails] -> ShowS
$cshowList :: [AuditsClientHintIssueDetails] -> ShowS
show :: AuditsClientHintIssueDetails -> String
$cshow :: AuditsClientHintIssueDetails -> String
showsPrec :: Int -> AuditsClientHintIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsClientHintIssueDetails -> ShowS
Show)
instance FromJSON AuditsClientHintIssueDetails where
  parseJSON :: Value -> Parser AuditsClientHintIssueDetails
parseJSON = String
-> (Object -> Parser AuditsClientHintIssueDetails)
-> Value
-> Parser AuditsClientHintIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsClientHintIssueDetails" ((Object -> Parser AuditsClientHintIssueDetails)
 -> Value -> Parser AuditsClientHintIssueDetails)
-> (Object -> Parser AuditsClientHintIssueDetails)
-> Value
-> Parser AuditsClientHintIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsSourceCodeLocation
-> AuditsClientHintIssueReason -> AuditsClientHintIssueDetails
AuditsClientHintIssueDetails
    (AuditsSourceCodeLocation
 -> AuditsClientHintIssueReason -> AuditsClientHintIssueDetails)
-> Parser AuditsSourceCodeLocation
-> Parser
     (AuditsClientHintIssueReason -> AuditsClientHintIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsSourceCodeLocation
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"sourceCodeLocation"
    Parser
  (AuditsClientHintIssueReason -> AuditsClientHintIssueDetails)
-> Parser AuditsClientHintIssueReason
-> Parser AuditsClientHintIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsClientHintIssueReason
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"clientHintIssueReason"
instance ToJSON AuditsClientHintIssueDetails where
  toJSON :: AuditsClientHintIssueDetails -> Value
toJSON AuditsClientHintIssueDetails
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
"sourceCodeLocation" Text -> AuditsSourceCodeLocation -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSourceCodeLocation -> Pair)
-> Maybe AuditsSourceCodeLocation -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsSourceCodeLocation -> Maybe AuditsSourceCodeLocation
forall a. a -> Maybe a
Just (AuditsClientHintIssueDetails -> AuditsSourceCodeLocation
auditsClientHintIssueDetailsSourceCodeLocation AuditsClientHintIssueDetails
p),
    (Text
"clientHintIssueReason" Text -> AuditsClientHintIssueReason -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsClientHintIssueReason -> Pair)
-> Maybe AuditsClientHintIssueReason -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsClientHintIssueReason -> Maybe AuditsClientHintIssueReason
forall a. a -> Maybe a
Just (AuditsClientHintIssueDetails -> AuditsClientHintIssueReason
auditsClientHintIssueDetailsClientHintIssueReason AuditsClientHintIssueDetails
p)
    ]

-- | Type 'Audits.InspectorIssueCode'.
--   A unique identifier for the type of issue. Each type may use one of the
--   optional fields in InspectorIssueDetails to convey more specific
--   information about the kind of issue.
data AuditsInspectorIssueCode = AuditsInspectorIssueCodeCookieIssue | AuditsInspectorIssueCodeMixedContentIssue | AuditsInspectorIssueCodeBlockedByResponseIssue | AuditsInspectorIssueCodeHeavyAdIssue | AuditsInspectorIssueCodeContentSecurityPolicyIssue | AuditsInspectorIssueCodeSharedArrayBufferIssue | AuditsInspectorIssueCodeTrustedWebActivityIssue | AuditsInspectorIssueCodeLowTextContrastIssue | AuditsInspectorIssueCodeCorsIssue | AuditsInspectorIssueCodeAttributionReportingIssue | AuditsInspectorIssueCodeQuirksModeIssue | AuditsInspectorIssueCodeNavigatorUserAgentIssue | AuditsInspectorIssueCodeGenericIssue | AuditsInspectorIssueCodeDeprecationIssue | AuditsInspectorIssueCodeClientHintIssue | AuditsInspectorIssueCodeFederatedAuthRequestIssue
  deriving (Eq AuditsInspectorIssueCode
Eq AuditsInspectorIssueCode
-> (AuditsInspectorIssueCode
    -> AuditsInspectorIssueCode -> Ordering)
-> (AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool)
-> (AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool)
-> (AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool)
-> (AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool)
-> (AuditsInspectorIssueCode
    -> AuditsInspectorIssueCode -> AuditsInspectorIssueCode)
-> (AuditsInspectorIssueCode
    -> AuditsInspectorIssueCode -> AuditsInspectorIssueCode)
-> Ord AuditsInspectorIssueCode
AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Ordering
AuditsInspectorIssueCode
-> AuditsInspectorIssueCode -> AuditsInspectorIssueCode
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 :: AuditsInspectorIssueCode
-> AuditsInspectorIssueCode -> AuditsInspectorIssueCode
$cmin :: AuditsInspectorIssueCode
-> AuditsInspectorIssueCode -> AuditsInspectorIssueCode
max :: AuditsInspectorIssueCode
-> AuditsInspectorIssueCode -> AuditsInspectorIssueCode
$cmax :: AuditsInspectorIssueCode
-> AuditsInspectorIssueCode -> AuditsInspectorIssueCode
>= :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
$c>= :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
> :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
$c> :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
<= :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
$c<= :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
< :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
$c< :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
compare :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Ordering
$ccompare :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Ordering
$cp1Ord :: Eq AuditsInspectorIssueCode
Ord, AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
(AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool)
-> (AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool)
-> Eq AuditsInspectorIssueCode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
$c/= :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
== :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
$c== :: AuditsInspectorIssueCode -> AuditsInspectorIssueCode -> Bool
Eq, Int -> AuditsInspectorIssueCode -> ShowS
[AuditsInspectorIssueCode] -> ShowS
AuditsInspectorIssueCode -> String
(Int -> AuditsInspectorIssueCode -> ShowS)
-> (AuditsInspectorIssueCode -> String)
-> ([AuditsInspectorIssueCode] -> ShowS)
-> Show AuditsInspectorIssueCode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsInspectorIssueCode] -> ShowS
$cshowList :: [AuditsInspectorIssueCode] -> ShowS
show :: AuditsInspectorIssueCode -> String
$cshow :: AuditsInspectorIssueCode -> String
showsPrec :: Int -> AuditsInspectorIssueCode -> ShowS
$cshowsPrec :: Int -> AuditsInspectorIssueCode -> ShowS
Show, ReadPrec [AuditsInspectorIssueCode]
ReadPrec AuditsInspectorIssueCode
Int -> ReadS AuditsInspectorIssueCode
ReadS [AuditsInspectorIssueCode]
(Int -> ReadS AuditsInspectorIssueCode)
-> ReadS [AuditsInspectorIssueCode]
-> ReadPrec AuditsInspectorIssueCode
-> ReadPrec [AuditsInspectorIssueCode]
-> Read AuditsInspectorIssueCode
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AuditsInspectorIssueCode]
$creadListPrec :: ReadPrec [AuditsInspectorIssueCode]
readPrec :: ReadPrec AuditsInspectorIssueCode
$creadPrec :: ReadPrec AuditsInspectorIssueCode
readList :: ReadS [AuditsInspectorIssueCode]
$creadList :: ReadS [AuditsInspectorIssueCode]
readsPrec :: Int -> ReadS AuditsInspectorIssueCode
$creadsPrec :: Int -> ReadS AuditsInspectorIssueCode
Read)
instance FromJSON AuditsInspectorIssueCode where
  parseJSON :: Value -> Parser AuditsInspectorIssueCode
parseJSON = String
-> (Text -> Parser AuditsInspectorIssueCode)
-> Value
-> Parser AuditsInspectorIssueCode
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AuditsInspectorIssueCode" ((Text -> Parser AuditsInspectorIssueCode)
 -> Value -> Parser AuditsInspectorIssueCode)
-> (Text -> Parser AuditsInspectorIssueCode)
-> Value
-> Parser AuditsInspectorIssueCode
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"CookieIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeCookieIssue
    Text
"MixedContentIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeMixedContentIssue
    Text
"BlockedByResponseIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeBlockedByResponseIssue
    Text
"HeavyAdIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeHeavyAdIssue
    Text
"ContentSecurityPolicyIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeContentSecurityPolicyIssue
    Text
"SharedArrayBufferIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeSharedArrayBufferIssue
    Text
"TrustedWebActivityIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeTrustedWebActivityIssue
    Text
"LowTextContrastIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeLowTextContrastIssue
    Text
"CorsIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeCorsIssue
    Text
"AttributionReportingIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeAttributionReportingIssue
    Text
"QuirksModeIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeQuirksModeIssue
    Text
"NavigatorUserAgentIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeNavigatorUserAgentIssue
    Text
"GenericIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeGenericIssue
    Text
"DeprecationIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeDeprecationIssue
    Text
"ClientHintIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeClientHintIssue
    Text
"FederatedAuthRequestIssue" -> AuditsInspectorIssueCode -> Parser AuditsInspectorIssueCode
forall (f :: * -> *) a. Applicative f => a -> f a
pure AuditsInspectorIssueCode
AuditsInspectorIssueCodeFederatedAuthRequestIssue
    Text
"_" -> String -> Parser AuditsInspectorIssueCode
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AuditsInspectorIssueCode"
instance ToJSON AuditsInspectorIssueCode where
  toJSON :: AuditsInspectorIssueCode -> Value
toJSON AuditsInspectorIssueCode
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AuditsInspectorIssueCode
v of
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeCookieIssue -> Text
"CookieIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeMixedContentIssue -> Text
"MixedContentIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeBlockedByResponseIssue -> Text
"BlockedByResponseIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeHeavyAdIssue -> Text
"HeavyAdIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeContentSecurityPolicyIssue -> Text
"ContentSecurityPolicyIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeSharedArrayBufferIssue -> Text
"SharedArrayBufferIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeTrustedWebActivityIssue -> Text
"TrustedWebActivityIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeLowTextContrastIssue -> Text
"LowTextContrastIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeCorsIssue -> Text
"CorsIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeAttributionReportingIssue -> Text
"AttributionReportingIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeQuirksModeIssue -> Text
"QuirksModeIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeNavigatorUserAgentIssue -> Text
"NavigatorUserAgentIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeGenericIssue -> Text
"GenericIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeDeprecationIssue -> Text
"DeprecationIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeClientHintIssue -> Text
"ClientHintIssue"
    AuditsInspectorIssueCode
AuditsInspectorIssueCodeFederatedAuthRequestIssue -> Text
"FederatedAuthRequestIssue"

-- | Type 'Audits.InspectorIssueDetails'.
--   This struct holds a list of optional fields with additional information
--   specific to the kind of issue. When adding a new issue code, please also
--   add a new optional field to this type.
data AuditsInspectorIssueDetails = AuditsInspectorIssueDetails
  {
    AuditsInspectorIssueDetails -> Maybe AuditsCookieIssueDetails
auditsInspectorIssueDetailsCookieIssueDetails :: Maybe AuditsCookieIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsMixedContentIssueDetails
auditsInspectorIssueDetailsMixedContentIssueDetails :: Maybe AuditsMixedContentIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsBlockedByResponseIssueDetails
auditsInspectorIssueDetailsBlockedByResponseIssueDetails :: Maybe AuditsBlockedByResponseIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsHeavyAdIssueDetails
auditsInspectorIssueDetailsHeavyAdIssueDetails :: Maybe AuditsHeavyAdIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsContentSecurityPolicyIssueDetails
auditsInspectorIssueDetailsContentSecurityPolicyIssueDetails :: Maybe AuditsContentSecurityPolicyIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsSharedArrayBufferIssueDetails
auditsInspectorIssueDetailsSharedArrayBufferIssueDetails :: Maybe AuditsSharedArrayBufferIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsTrustedWebActivityIssueDetails
auditsInspectorIssueDetailsTwaQualityEnforcementDetails :: Maybe AuditsTrustedWebActivityIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsLowTextContrastIssueDetails
auditsInspectorIssueDetailsLowTextContrastIssueDetails :: Maybe AuditsLowTextContrastIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsCorsIssueDetails
auditsInspectorIssueDetailsCorsIssueDetails :: Maybe AuditsCorsIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsAttributionReportingIssueDetails
auditsInspectorIssueDetailsAttributionReportingIssueDetails :: Maybe AuditsAttributionReportingIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsQuirksModeIssueDetails
auditsInspectorIssueDetailsQuirksModeIssueDetails :: Maybe AuditsQuirksModeIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsNavigatorUserAgentIssueDetails
auditsInspectorIssueDetailsNavigatorUserAgentIssueDetails :: Maybe AuditsNavigatorUserAgentIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsGenericIssueDetails
auditsInspectorIssueDetailsGenericIssueDetails :: Maybe AuditsGenericIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsDeprecationIssueDetails
auditsInspectorIssueDetailsDeprecationIssueDetails :: Maybe AuditsDeprecationIssueDetails,
    AuditsInspectorIssueDetails -> Maybe AuditsClientHintIssueDetails
auditsInspectorIssueDetailsClientHintIssueDetails :: Maybe AuditsClientHintIssueDetails,
    AuditsInspectorIssueDetails
-> Maybe AuditsFederatedAuthRequestIssueDetails
auditsInspectorIssueDetailsFederatedAuthRequestIssueDetails :: Maybe AuditsFederatedAuthRequestIssueDetails
  }
  deriving (AuditsInspectorIssueDetails -> AuditsInspectorIssueDetails -> Bool
(AuditsInspectorIssueDetails
 -> AuditsInspectorIssueDetails -> Bool)
-> (AuditsInspectorIssueDetails
    -> AuditsInspectorIssueDetails -> Bool)
-> Eq AuditsInspectorIssueDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsInspectorIssueDetails -> AuditsInspectorIssueDetails -> Bool
$c/= :: AuditsInspectorIssueDetails -> AuditsInspectorIssueDetails -> Bool
== :: AuditsInspectorIssueDetails -> AuditsInspectorIssueDetails -> Bool
$c== :: AuditsInspectorIssueDetails -> AuditsInspectorIssueDetails -> Bool
Eq, Int -> AuditsInspectorIssueDetails -> ShowS
[AuditsInspectorIssueDetails] -> ShowS
AuditsInspectorIssueDetails -> String
(Int -> AuditsInspectorIssueDetails -> ShowS)
-> (AuditsInspectorIssueDetails -> String)
-> ([AuditsInspectorIssueDetails] -> ShowS)
-> Show AuditsInspectorIssueDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsInspectorIssueDetails] -> ShowS
$cshowList :: [AuditsInspectorIssueDetails] -> ShowS
show :: AuditsInspectorIssueDetails -> String
$cshow :: AuditsInspectorIssueDetails -> String
showsPrec :: Int -> AuditsInspectorIssueDetails -> ShowS
$cshowsPrec :: Int -> AuditsInspectorIssueDetails -> ShowS
Show)
instance FromJSON AuditsInspectorIssueDetails where
  parseJSON :: Value -> Parser AuditsInspectorIssueDetails
parseJSON = String
-> (Object -> Parser AuditsInspectorIssueDetails)
-> Value
-> Parser AuditsInspectorIssueDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsInspectorIssueDetails" ((Object -> Parser AuditsInspectorIssueDetails)
 -> Value -> Parser AuditsInspectorIssueDetails)
-> (Object -> Parser AuditsInspectorIssueDetails)
-> Value
-> Parser AuditsInspectorIssueDetails
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe AuditsCookieIssueDetails
-> Maybe AuditsMixedContentIssueDetails
-> Maybe AuditsBlockedByResponseIssueDetails
-> Maybe AuditsHeavyAdIssueDetails
-> Maybe AuditsContentSecurityPolicyIssueDetails
-> Maybe AuditsSharedArrayBufferIssueDetails
-> Maybe AuditsTrustedWebActivityIssueDetails
-> Maybe AuditsLowTextContrastIssueDetails
-> Maybe AuditsCorsIssueDetails
-> Maybe AuditsAttributionReportingIssueDetails
-> Maybe AuditsQuirksModeIssueDetails
-> Maybe AuditsNavigatorUserAgentIssueDetails
-> Maybe AuditsGenericIssueDetails
-> Maybe AuditsDeprecationIssueDetails
-> Maybe AuditsClientHintIssueDetails
-> Maybe AuditsFederatedAuthRequestIssueDetails
-> AuditsInspectorIssueDetails
AuditsInspectorIssueDetails
    (Maybe AuditsCookieIssueDetails
 -> Maybe AuditsMixedContentIssueDetails
 -> Maybe AuditsBlockedByResponseIssueDetails
 -> Maybe AuditsHeavyAdIssueDetails
 -> Maybe AuditsContentSecurityPolicyIssueDetails
 -> Maybe AuditsSharedArrayBufferIssueDetails
 -> Maybe AuditsTrustedWebActivityIssueDetails
 -> Maybe AuditsLowTextContrastIssueDetails
 -> Maybe AuditsCorsIssueDetails
 -> Maybe AuditsAttributionReportingIssueDetails
 -> Maybe AuditsQuirksModeIssueDetails
 -> Maybe AuditsNavigatorUserAgentIssueDetails
 -> Maybe AuditsGenericIssueDetails
 -> Maybe AuditsDeprecationIssueDetails
 -> Maybe AuditsClientHintIssueDetails
 -> Maybe AuditsFederatedAuthRequestIssueDetails
 -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsCookieIssueDetails)
-> Parser
     (Maybe AuditsMixedContentIssueDetails
      -> Maybe AuditsBlockedByResponseIssueDetails
      -> Maybe AuditsHeavyAdIssueDetails
      -> Maybe AuditsContentSecurityPolicyIssueDetails
      -> Maybe AuditsSharedArrayBufferIssueDetails
      -> Maybe AuditsTrustedWebActivityIssueDetails
      -> Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser (Maybe AuditsCookieIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"cookieIssueDetails"
    Parser
  (Maybe AuditsMixedContentIssueDetails
   -> Maybe AuditsBlockedByResponseIssueDetails
   -> Maybe AuditsHeavyAdIssueDetails
   -> Maybe AuditsContentSecurityPolicyIssueDetails
   -> Maybe AuditsSharedArrayBufferIssueDetails
   -> Maybe AuditsTrustedWebActivityIssueDetails
   -> Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsMixedContentIssueDetails)
-> Parser
     (Maybe AuditsBlockedByResponseIssueDetails
      -> Maybe AuditsHeavyAdIssueDetails
      -> Maybe AuditsContentSecurityPolicyIssueDetails
      -> Maybe AuditsSharedArrayBufferIssueDetails
      -> Maybe AuditsTrustedWebActivityIssueDetails
      -> Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsMixedContentIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"mixedContentIssueDetails"
    Parser
  (Maybe AuditsBlockedByResponseIssueDetails
   -> Maybe AuditsHeavyAdIssueDetails
   -> Maybe AuditsContentSecurityPolicyIssueDetails
   -> Maybe AuditsSharedArrayBufferIssueDetails
   -> Maybe AuditsTrustedWebActivityIssueDetails
   -> Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsBlockedByResponseIssueDetails)
-> Parser
     (Maybe AuditsHeavyAdIssueDetails
      -> Maybe AuditsContentSecurityPolicyIssueDetails
      -> Maybe AuditsSharedArrayBufferIssueDetails
      -> Maybe AuditsTrustedWebActivityIssueDetails
      -> Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsBlockedByResponseIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"blockedByResponseIssueDetails"
    Parser
  (Maybe AuditsHeavyAdIssueDetails
   -> Maybe AuditsContentSecurityPolicyIssueDetails
   -> Maybe AuditsSharedArrayBufferIssueDetails
   -> Maybe AuditsTrustedWebActivityIssueDetails
   -> Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsHeavyAdIssueDetails)
-> Parser
     (Maybe AuditsContentSecurityPolicyIssueDetails
      -> Maybe AuditsSharedArrayBufferIssueDetails
      -> Maybe AuditsTrustedWebActivityIssueDetails
      -> Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsHeavyAdIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"heavyAdIssueDetails"
    Parser
  (Maybe AuditsContentSecurityPolicyIssueDetails
   -> Maybe AuditsSharedArrayBufferIssueDetails
   -> Maybe AuditsTrustedWebActivityIssueDetails
   -> Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsContentSecurityPolicyIssueDetails)
-> Parser
     (Maybe AuditsSharedArrayBufferIssueDetails
      -> Maybe AuditsTrustedWebActivityIssueDetails
      -> Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsContentSecurityPolicyIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"contentSecurityPolicyIssueDetails"
    Parser
  (Maybe AuditsSharedArrayBufferIssueDetails
   -> Maybe AuditsTrustedWebActivityIssueDetails
   -> Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsSharedArrayBufferIssueDetails)
-> Parser
     (Maybe AuditsTrustedWebActivityIssueDetails
      -> Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsSharedArrayBufferIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"sharedArrayBufferIssueDetails"
    Parser
  (Maybe AuditsTrustedWebActivityIssueDetails
   -> Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsTrustedWebActivityIssueDetails)
-> Parser
     (Maybe AuditsLowTextContrastIssueDetails
      -> Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsTrustedWebActivityIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"twaQualityEnforcementDetails"
    Parser
  (Maybe AuditsLowTextContrastIssueDetails
   -> Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsLowTextContrastIssueDetails)
-> Parser
     (Maybe AuditsCorsIssueDetails
      -> Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsLowTextContrastIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"lowTextContrastIssueDetails"
    Parser
  (Maybe AuditsCorsIssueDetails
   -> Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsCorsIssueDetails)
-> Parser
     (Maybe AuditsAttributionReportingIssueDetails
      -> Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsCorsIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"corsIssueDetails"
    Parser
  (Maybe AuditsAttributionReportingIssueDetails
   -> Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsAttributionReportingIssueDetails)
-> Parser
     (Maybe AuditsQuirksModeIssueDetails
      -> Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsAttributionReportingIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"attributionReportingIssueDetails"
    Parser
  (Maybe AuditsQuirksModeIssueDetails
   -> Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsQuirksModeIssueDetails)
-> Parser
     (Maybe AuditsNavigatorUserAgentIssueDetails
      -> Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsQuirksModeIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"quirksModeIssueDetails"
    Parser
  (Maybe AuditsNavigatorUserAgentIssueDetails
   -> Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsNavigatorUserAgentIssueDetails)
-> Parser
     (Maybe AuditsGenericIssueDetails
      -> Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsNavigatorUserAgentIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"navigatorUserAgentIssueDetails"
    Parser
  (Maybe AuditsGenericIssueDetails
   -> Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsGenericIssueDetails)
-> Parser
     (Maybe AuditsDeprecationIssueDetails
      -> Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsGenericIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"genericIssueDetails"
    Parser
  (Maybe AuditsDeprecationIssueDetails
   -> Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsDeprecationIssueDetails)
-> Parser
     (Maybe AuditsClientHintIssueDetails
      -> Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsDeprecationIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"deprecationIssueDetails"
    Parser
  (Maybe AuditsClientHintIssueDetails
   -> Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsClientHintIssueDetails)
-> Parser
     (Maybe AuditsFederatedAuthRequestIssueDetails
      -> AuditsInspectorIssueDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AuditsClientHintIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"clientHintIssueDetails"
    Parser
  (Maybe AuditsFederatedAuthRequestIssueDetails
   -> AuditsInspectorIssueDetails)
-> Parser (Maybe AuditsFederatedAuthRequestIssueDetails)
-> Parser AuditsInspectorIssueDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AuditsFederatedAuthRequestIssueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"federatedAuthRequestIssueDetails"
instance ToJSON AuditsInspectorIssueDetails where
  toJSON :: AuditsInspectorIssueDetails -> Value
toJSON AuditsInspectorIssueDetails
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
"cookieIssueDetails" Text -> AuditsCookieIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsCookieIssueDetails -> Pair)
-> Maybe AuditsCookieIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsCookieIssueDetails
auditsInspectorIssueDetailsCookieIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"mixedContentIssueDetails" Text -> AuditsMixedContentIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsMixedContentIssueDetails -> Pair)
-> Maybe AuditsMixedContentIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsMixedContentIssueDetails
auditsInspectorIssueDetailsMixedContentIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"blockedByResponseIssueDetails" Text -> AuditsBlockedByResponseIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsBlockedByResponseIssueDetails -> Pair)
-> Maybe AuditsBlockedByResponseIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsBlockedByResponseIssueDetails
auditsInspectorIssueDetailsBlockedByResponseIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"heavyAdIssueDetails" Text -> AuditsHeavyAdIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsHeavyAdIssueDetails -> Pair)
-> Maybe AuditsHeavyAdIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsHeavyAdIssueDetails
auditsInspectorIssueDetailsHeavyAdIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"contentSecurityPolicyIssueDetails" Text -> AuditsContentSecurityPolicyIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsContentSecurityPolicyIssueDetails -> Pair)
-> Maybe AuditsContentSecurityPolicyIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsContentSecurityPolicyIssueDetails
auditsInspectorIssueDetailsContentSecurityPolicyIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"sharedArrayBufferIssueDetails" Text -> AuditsSharedArrayBufferIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsSharedArrayBufferIssueDetails -> Pair)
-> Maybe AuditsSharedArrayBufferIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsSharedArrayBufferIssueDetails
auditsInspectorIssueDetailsSharedArrayBufferIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"twaQualityEnforcementDetails" Text -> AuditsTrustedWebActivityIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsTrustedWebActivityIssueDetails -> Pair)
-> Maybe AuditsTrustedWebActivityIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsTrustedWebActivityIssueDetails
auditsInspectorIssueDetailsTwaQualityEnforcementDetails AuditsInspectorIssueDetails
p),
    (Text
"lowTextContrastIssueDetails" Text -> AuditsLowTextContrastIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsLowTextContrastIssueDetails -> Pair)
-> Maybe AuditsLowTextContrastIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsLowTextContrastIssueDetails
auditsInspectorIssueDetailsLowTextContrastIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"corsIssueDetails" Text -> AuditsCorsIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsCorsIssueDetails -> Pair)
-> Maybe AuditsCorsIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsCorsIssueDetails
auditsInspectorIssueDetailsCorsIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"attributionReportingIssueDetails" Text -> AuditsAttributionReportingIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsAttributionReportingIssueDetails -> Pair)
-> Maybe AuditsAttributionReportingIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsAttributionReportingIssueDetails
auditsInspectorIssueDetailsAttributionReportingIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"quirksModeIssueDetails" Text -> AuditsQuirksModeIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsQuirksModeIssueDetails -> Pair)
-> Maybe AuditsQuirksModeIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsQuirksModeIssueDetails
auditsInspectorIssueDetailsQuirksModeIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"navigatorUserAgentIssueDetails" Text -> AuditsNavigatorUserAgentIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsNavigatorUserAgentIssueDetails -> Pair)
-> Maybe AuditsNavigatorUserAgentIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsNavigatorUserAgentIssueDetails
auditsInspectorIssueDetailsNavigatorUserAgentIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"genericIssueDetails" Text -> AuditsGenericIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsGenericIssueDetails -> Pair)
-> Maybe AuditsGenericIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsGenericIssueDetails
auditsInspectorIssueDetailsGenericIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"deprecationIssueDetails" Text -> AuditsDeprecationIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsDeprecationIssueDetails -> Pair)
-> Maybe AuditsDeprecationIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsDeprecationIssueDetails
auditsInspectorIssueDetailsDeprecationIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"clientHintIssueDetails" Text -> AuditsClientHintIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsClientHintIssueDetails -> Pair)
-> Maybe AuditsClientHintIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails -> Maybe AuditsClientHintIssueDetails
auditsInspectorIssueDetailsClientHintIssueDetails AuditsInspectorIssueDetails
p),
    (Text
"federatedAuthRequestIssueDetails" Text -> AuditsFederatedAuthRequestIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsFederatedAuthRequestIssueDetails -> Pair)
-> Maybe AuditsFederatedAuthRequestIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssueDetails
-> Maybe AuditsFederatedAuthRequestIssueDetails
auditsInspectorIssueDetailsFederatedAuthRequestIssueDetails AuditsInspectorIssueDetails
p)
    ]

-- | Type 'Audits.IssueId'.
--   A unique id for a DevTools inspector issue. Allows other entities (e.g.
--   exceptions, CDP message, console messages, etc.) to reference an issue.
type AuditsIssueId = T.Text

-- | Type 'Audits.InspectorIssue'.
--   An inspector issue reported from the back-end.
data AuditsInspectorIssue = AuditsInspectorIssue
  {
    AuditsInspectorIssue -> AuditsInspectorIssueCode
auditsInspectorIssueCode :: AuditsInspectorIssueCode,
    AuditsInspectorIssue -> AuditsInspectorIssueDetails
auditsInspectorIssueDetails :: AuditsInspectorIssueDetails,
    -- | A unique id for this issue. May be omitted if no other entity (e.g.
    --   exception, CDP message, etc.) is referencing this issue.
    AuditsInspectorIssue -> Maybe Text
auditsInspectorIssueIssueId :: Maybe AuditsIssueId
  }
  deriving (AuditsInspectorIssue -> AuditsInspectorIssue -> Bool
(AuditsInspectorIssue -> AuditsInspectorIssue -> Bool)
-> (AuditsInspectorIssue -> AuditsInspectorIssue -> Bool)
-> Eq AuditsInspectorIssue
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsInspectorIssue -> AuditsInspectorIssue -> Bool
$c/= :: AuditsInspectorIssue -> AuditsInspectorIssue -> Bool
== :: AuditsInspectorIssue -> AuditsInspectorIssue -> Bool
$c== :: AuditsInspectorIssue -> AuditsInspectorIssue -> Bool
Eq, Int -> AuditsInspectorIssue -> ShowS
[AuditsInspectorIssue] -> ShowS
AuditsInspectorIssue -> String
(Int -> AuditsInspectorIssue -> ShowS)
-> (AuditsInspectorIssue -> String)
-> ([AuditsInspectorIssue] -> ShowS)
-> Show AuditsInspectorIssue
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsInspectorIssue] -> ShowS
$cshowList :: [AuditsInspectorIssue] -> ShowS
show :: AuditsInspectorIssue -> String
$cshow :: AuditsInspectorIssue -> String
showsPrec :: Int -> AuditsInspectorIssue -> ShowS
$cshowsPrec :: Int -> AuditsInspectorIssue -> ShowS
Show)
instance FromJSON AuditsInspectorIssue where
  parseJSON :: Value -> Parser AuditsInspectorIssue
parseJSON = String
-> (Object -> Parser AuditsInspectorIssue)
-> Value
-> Parser AuditsInspectorIssue
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsInspectorIssue" ((Object -> Parser AuditsInspectorIssue)
 -> Value -> Parser AuditsInspectorIssue)
-> (Object -> Parser AuditsInspectorIssue)
-> Value
-> Parser AuditsInspectorIssue
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsInspectorIssueCode
-> AuditsInspectorIssueDetails
-> Maybe Text
-> AuditsInspectorIssue
AuditsInspectorIssue
    (AuditsInspectorIssueCode
 -> AuditsInspectorIssueDetails
 -> Maybe Text
 -> AuditsInspectorIssue)
-> Parser AuditsInspectorIssueCode
-> Parser
     (AuditsInspectorIssueDetails -> Maybe Text -> AuditsInspectorIssue)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsInspectorIssueCode
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"code"
    Parser
  (AuditsInspectorIssueDetails -> Maybe Text -> AuditsInspectorIssue)
-> Parser AuditsInspectorIssueDetails
-> Parser (Maybe Text -> AuditsInspectorIssue)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AuditsInspectorIssueDetails
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"details"
    Parser (Maybe Text -> AuditsInspectorIssue)
-> Parser (Maybe Text) -> Parser AuditsInspectorIssue
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
"issueId"
instance ToJSON AuditsInspectorIssue where
  toJSON :: AuditsInspectorIssue -> Value
toJSON AuditsInspectorIssue
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
"code" Text -> AuditsInspectorIssueCode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsInspectorIssueCode -> Pair)
-> Maybe AuditsInspectorIssueCode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsInspectorIssueCode -> Maybe AuditsInspectorIssueCode
forall a. a -> Maybe a
Just (AuditsInspectorIssue -> AuditsInspectorIssueCode
auditsInspectorIssueCode AuditsInspectorIssue
p),
    (Text
"details" Text -> AuditsInspectorIssueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AuditsInspectorIssueDetails -> Pair)
-> Maybe AuditsInspectorIssueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AuditsInspectorIssueDetails -> Maybe AuditsInspectorIssueDetails
forall a. a -> Maybe a
Just (AuditsInspectorIssue -> AuditsInspectorIssueDetails
auditsInspectorIssueDetails AuditsInspectorIssue
p),
    (Text
"issueId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AuditsInspectorIssue -> Maybe Text
auditsInspectorIssueIssueId AuditsInspectorIssue
p)
    ]

-- | Type of the 'Audits.issueAdded' event.
data AuditsIssueAdded = AuditsIssueAdded
  {
    AuditsIssueAdded -> AuditsInspectorIssue
auditsIssueAddedIssue :: AuditsInspectorIssue
  }
  deriving (AuditsIssueAdded -> AuditsIssueAdded -> Bool
(AuditsIssueAdded -> AuditsIssueAdded -> Bool)
-> (AuditsIssueAdded -> AuditsIssueAdded -> Bool)
-> Eq AuditsIssueAdded
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsIssueAdded -> AuditsIssueAdded -> Bool
$c/= :: AuditsIssueAdded -> AuditsIssueAdded -> Bool
== :: AuditsIssueAdded -> AuditsIssueAdded -> Bool
$c== :: AuditsIssueAdded -> AuditsIssueAdded -> Bool
Eq, Int -> AuditsIssueAdded -> ShowS
[AuditsIssueAdded] -> ShowS
AuditsIssueAdded -> String
(Int -> AuditsIssueAdded -> ShowS)
-> (AuditsIssueAdded -> String)
-> ([AuditsIssueAdded] -> ShowS)
-> Show AuditsIssueAdded
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsIssueAdded] -> ShowS
$cshowList :: [AuditsIssueAdded] -> ShowS
show :: AuditsIssueAdded -> String
$cshow :: AuditsIssueAdded -> String
showsPrec :: Int -> AuditsIssueAdded -> ShowS
$cshowsPrec :: Int -> AuditsIssueAdded -> ShowS
Show)
instance FromJSON AuditsIssueAdded where
  parseJSON :: Value -> Parser AuditsIssueAdded
parseJSON = String
-> (Object -> Parser AuditsIssueAdded)
-> Value
-> Parser AuditsIssueAdded
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsIssueAdded" ((Object -> Parser AuditsIssueAdded)
 -> Value -> Parser AuditsIssueAdded)
-> (Object -> Parser AuditsIssueAdded)
-> Value
-> Parser AuditsIssueAdded
forall a b. (a -> b) -> a -> b
$ \Object
o -> AuditsInspectorIssue -> AuditsIssueAdded
AuditsIssueAdded
    (AuditsInspectorIssue -> AuditsIssueAdded)
-> Parser AuditsInspectorIssue -> Parser AuditsIssueAdded
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AuditsInspectorIssue
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"issue"
instance Event AuditsIssueAdded where
  eventName :: Proxy AuditsIssueAdded -> String
eventName Proxy AuditsIssueAdded
_ = String
"Audits.issueAdded"

-- | Returns the response body and size if it were re-encoded with the specified settings. Only
--   applies to images.

-- | Parameters of the 'Audits.getEncodedResponse' command.
data PAuditsGetEncodedResponseEncoding = PAuditsGetEncodedResponseEncodingWebp | PAuditsGetEncodedResponseEncodingJpeg | PAuditsGetEncodedResponseEncodingPng
  deriving (Eq PAuditsGetEncodedResponseEncoding
Eq PAuditsGetEncodedResponseEncoding
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding -> Ordering)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding -> Bool)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding -> Bool)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding -> Bool)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding -> Bool)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding)
-> Ord PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Ordering
PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
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 :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
$cmin :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
max :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
$cmax :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding
>= :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
$c>= :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
> :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
$c> :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
<= :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
$c<= :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
< :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
$c< :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
compare :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Ordering
$ccompare :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Ordering
$cp1Ord :: Eq PAuditsGetEncodedResponseEncoding
Ord, PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
(PAuditsGetEncodedResponseEncoding
 -> PAuditsGetEncodedResponseEncoding -> Bool)
-> (PAuditsGetEncodedResponseEncoding
    -> PAuditsGetEncodedResponseEncoding -> Bool)
-> Eq PAuditsGetEncodedResponseEncoding
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
$c/= :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
== :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
$c== :: PAuditsGetEncodedResponseEncoding
-> PAuditsGetEncodedResponseEncoding -> Bool
Eq, Int -> PAuditsGetEncodedResponseEncoding -> ShowS
[PAuditsGetEncodedResponseEncoding] -> ShowS
PAuditsGetEncodedResponseEncoding -> String
(Int -> PAuditsGetEncodedResponseEncoding -> ShowS)
-> (PAuditsGetEncodedResponseEncoding -> String)
-> ([PAuditsGetEncodedResponseEncoding] -> ShowS)
-> Show PAuditsGetEncodedResponseEncoding
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAuditsGetEncodedResponseEncoding] -> ShowS
$cshowList :: [PAuditsGetEncodedResponseEncoding] -> ShowS
show :: PAuditsGetEncodedResponseEncoding -> String
$cshow :: PAuditsGetEncodedResponseEncoding -> String
showsPrec :: Int -> PAuditsGetEncodedResponseEncoding -> ShowS
$cshowsPrec :: Int -> PAuditsGetEncodedResponseEncoding -> ShowS
Show, ReadPrec [PAuditsGetEncodedResponseEncoding]
ReadPrec PAuditsGetEncodedResponseEncoding
Int -> ReadS PAuditsGetEncodedResponseEncoding
ReadS [PAuditsGetEncodedResponseEncoding]
(Int -> ReadS PAuditsGetEncodedResponseEncoding)
-> ReadS [PAuditsGetEncodedResponseEncoding]
-> ReadPrec PAuditsGetEncodedResponseEncoding
-> ReadPrec [PAuditsGetEncodedResponseEncoding]
-> Read PAuditsGetEncodedResponseEncoding
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PAuditsGetEncodedResponseEncoding]
$creadListPrec :: ReadPrec [PAuditsGetEncodedResponseEncoding]
readPrec :: ReadPrec PAuditsGetEncodedResponseEncoding
$creadPrec :: ReadPrec PAuditsGetEncodedResponseEncoding
readList :: ReadS [PAuditsGetEncodedResponseEncoding]
$creadList :: ReadS [PAuditsGetEncodedResponseEncoding]
readsPrec :: Int -> ReadS PAuditsGetEncodedResponseEncoding
$creadsPrec :: Int -> ReadS PAuditsGetEncodedResponseEncoding
Read)
instance FromJSON PAuditsGetEncodedResponseEncoding where
  parseJSON :: Value -> Parser PAuditsGetEncodedResponseEncoding
parseJSON = String
-> (Text -> Parser PAuditsGetEncodedResponseEncoding)
-> Value
-> Parser PAuditsGetEncodedResponseEncoding
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"PAuditsGetEncodedResponseEncoding" ((Text -> Parser PAuditsGetEncodedResponseEncoding)
 -> Value -> Parser PAuditsGetEncodedResponseEncoding)
-> (Text -> Parser PAuditsGetEncodedResponseEncoding)
-> Value
-> Parser PAuditsGetEncodedResponseEncoding
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"webp" -> PAuditsGetEncodedResponseEncoding
-> Parser PAuditsGetEncodedResponseEncoding
forall (f :: * -> *) a. Applicative f => a -> f a
pure PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncodingWebp
    Text
"jpeg" -> PAuditsGetEncodedResponseEncoding
-> Parser PAuditsGetEncodedResponseEncoding
forall (f :: * -> *) a. Applicative f => a -> f a
pure PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncodingJpeg
    Text
"png" -> PAuditsGetEncodedResponseEncoding
-> Parser PAuditsGetEncodedResponseEncoding
forall (f :: * -> *) a. Applicative f => a -> f a
pure PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncodingPng
    Text
"_" -> String -> Parser PAuditsGetEncodedResponseEncoding
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse PAuditsGetEncodedResponseEncoding"
instance ToJSON PAuditsGetEncodedResponseEncoding where
  toJSON :: PAuditsGetEncodedResponseEncoding -> Value
toJSON PAuditsGetEncodedResponseEncoding
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case PAuditsGetEncodedResponseEncoding
v of
    PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncodingWebp -> Text
"webp"
    PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncodingJpeg -> Text
"jpeg"
    PAuditsGetEncodedResponseEncoding
PAuditsGetEncodedResponseEncodingPng -> Text
"png"
data PAuditsGetEncodedResponse = PAuditsGetEncodedResponse
  {
    -- | Identifier of the network request to get content for.
    PAuditsGetEncodedResponse -> Text
pAuditsGetEncodedResponseRequestId :: DOMPageNetworkEmulationSecurity.NetworkRequestId,
    -- | The encoding to use.
    PAuditsGetEncodedResponse -> PAuditsGetEncodedResponseEncoding
pAuditsGetEncodedResponseEncoding :: PAuditsGetEncodedResponseEncoding,
    -- | The quality of the encoding (0-1). (defaults to 1)
    PAuditsGetEncodedResponse -> Maybe Double
pAuditsGetEncodedResponseQuality :: Maybe Double,
    -- | Whether to only return the size information (defaults to false).
    PAuditsGetEncodedResponse -> Maybe Bool
pAuditsGetEncodedResponseSizeOnly :: Maybe Bool
  }
  deriving (PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool
(PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool)
-> (PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool)
-> Eq PAuditsGetEncodedResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool
$c/= :: PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool
== :: PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool
$c== :: PAuditsGetEncodedResponse -> PAuditsGetEncodedResponse -> Bool
Eq, Int -> PAuditsGetEncodedResponse -> ShowS
[PAuditsGetEncodedResponse] -> ShowS
PAuditsGetEncodedResponse -> String
(Int -> PAuditsGetEncodedResponse -> ShowS)
-> (PAuditsGetEncodedResponse -> String)
-> ([PAuditsGetEncodedResponse] -> ShowS)
-> Show PAuditsGetEncodedResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAuditsGetEncodedResponse] -> ShowS
$cshowList :: [PAuditsGetEncodedResponse] -> ShowS
show :: PAuditsGetEncodedResponse -> String
$cshow :: PAuditsGetEncodedResponse -> String
showsPrec :: Int -> PAuditsGetEncodedResponse -> ShowS
$cshowsPrec :: Int -> PAuditsGetEncodedResponse -> ShowS
Show)
pAuditsGetEncodedResponse
  {-
  -- | Identifier of the network request to get content for.
  -}
  :: DOMPageNetworkEmulationSecurity.NetworkRequestId
  {-
  -- | The encoding to use.
  -}
  -> PAuditsGetEncodedResponseEncoding
  -> PAuditsGetEncodedResponse
pAuditsGetEncodedResponse :: Text
-> PAuditsGetEncodedResponseEncoding -> PAuditsGetEncodedResponse
pAuditsGetEncodedResponse
  Text
arg_pAuditsGetEncodedResponseRequestId
  PAuditsGetEncodedResponseEncoding
arg_pAuditsGetEncodedResponseEncoding
  = Text
-> PAuditsGetEncodedResponseEncoding
-> Maybe Double
-> Maybe Bool
-> PAuditsGetEncodedResponse
PAuditsGetEncodedResponse
    Text
arg_pAuditsGetEncodedResponseRequestId
    PAuditsGetEncodedResponseEncoding
arg_pAuditsGetEncodedResponseEncoding
    Maybe Double
forall a. Maybe a
Nothing
    Maybe Bool
forall a. Maybe a
Nothing
instance ToJSON PAuditsGetEncodedResponse where
  toJSON :: PAuditsGetEncodedResponse -> Value
toJSON PAuditsGetEncodedResponse
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
"requestId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Text -> Maybe Text
forall a. a -> Maybe a
Just (PAuditsGetEncodedResponse -> Text
pAuditsGetEncodedResponseRequestId PAuditsGetEncodedResponse
p),
    (Text
"encoding" Text -> PAuditsGetEncodedResponseEncoding -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (PAuditsGetEncodedResponseEncoding -> Pair)
-> Maybe PAuditsGetEncodedResponseEncoding -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> PAuditsGetEncodedResponseEncoding
-> Maybe PAuditsGetEncodedResponseEncoding
forall a. a -> Maybe a
Just (PAuditsGetEncodedResponse -> PAuditsGetEncodedResponseEncoding
pAuditsGetEncodedResponseEncoding PAuditsGetEncodedResponse
p),
    (Text
"quality" 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
<$> (PAuditsGetEncodedResponse -> Maybe Double
pAuditsGetEncodedResponseQuality PAuditsGetEncodedResponse
p),
    (Text
"sizeOnly" 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
<$> (PAuditsGetEncodedResponse -> Maybe Bool
pAuditsGetEncodedResponseSizeOnly PAuditsGetEncodedResponse
p)
    ]
data AuditsGetEncodedResponse = AuditsGetEncodedResponse
  {
    -- | The encoded body as a base64 string. Omitted if sizeOnly is true. (Encoded as a base64 string when passed over JSON)
    AuditsGetEncodedResponse -> Maybe Text
auditsGetEncodedResponseBody :: Maybe T.Text,
    -- | Size before re-encoding.
    AuditsGetEncodedResponse -> Int
auditsGetEncodedResponseOriginalSize :: Int,
    -- | Size after re-encoding.
    AuditsGetEncodedResponse -> Int
auditsGetEncodedResponseEncodedSize :: Int
  }
  deriving (AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool
(AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool)
-> (AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool)
-> Eq AuditsGetEncodedResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool
$c/= :: AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool
== :: AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool
$c== :: AuditsGetEncodedResponse -> AuditsGetEncodedResponse -> Bool
Eq, Int -> AuditsGetEncodedResponse -> ShowS
[AuditsGetEncodedResponse] -> ShowS
AuditsGetEncodedResponse -> String
(Int -> AuditsGetEncodedResponse -> ShowS)
-> (AuditsGetEncodedResponse -> String)
-> ([AuditsGetEncodedResponse] -> ShowS)
-> Show AuditsGetEncodedResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AuditsGetEncodedResponse] -> ShowS
$cshowList :: [AuditsGetEncodedResponse] -> ShowS
show :: AuditsGetEncodedResponse -> String
$cshow :: AuditsGetEncodedResponse -> String
showsPrec :: Int -> AuditsGetEncodedResponse -> ShowS
$cshowsPrec :: Int -> AuditsGetEncodedResponse -> ShowS
Show)
instance FromJSON AuditsGetEncodedResponse where
  parseJSON :: Value -> Parser AuditsGetEncodedResponse
parseJSON = String
-> (Object -> Parser AuditsGetEncodedResponse)
-> Value
-> Parser AuditsGetEncodedResponse
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AuditsGetEncodedResponse" ((Object -> Parser AuditsGetEncodedResponse)
 -> Value -> Parser AuditsGetEncodedResponse)
-> (Object -> Parser AuditsGetEncodedResponse)
-> Value
-> Parser AuditsGetEncodedResponse
forall a b. (a -> b) -> a -> b
$ \Object
o -> Maybe Text -> Int -> Int -> AuditsGetEncodedResponse
AuditsGetEncodedResponse
    (Maybe Text -> Int -> Int -> AuditsGetEncodedResponse)
-> Parser (Maybe Text)
-> Parser (Int -> Int -> AuditsGetEncodedResponse)
forall (f :: * -> *) a b. Functor 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
"body"
    Parser (Int -> Int -> AuditsGetEncodedResponse)
-> Parser Int -> Parser (Int -> AuditsGetEncodedResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"originalSize"
    Parser (Int -> AuditsGetEncodedResponse)
-> Parser Int -> Parser AuditsGetEncodedResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"encodedSize"
instance Command PAuditsGetEncodedResponse where
  type CommandResponse PAuditsGetEncodedResponse = AuditsGetEncodedResponse
  commandName :: Proxy PAuditsGetEncodedResponse -> String
commandName Proxy PAuditsGetEncodedResponse
_ = String
"Audits.getEncodedResponse"

-- | Disables issues domain, prevents further issues from being reported to the client.

-- | Parameters of the 'Audits.disable' command.
data PAuditsDisable = PAuditsDisable
  deriving (PAuditsDisable -> PAuditsDisable -> Bool
(PAuditsDisable -> PAuditsDisable -> Bool)
-> (PAuditsDisable -> PAuditsDisable -> Bool) -> Eq PAuditsDisable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAuditsDisable -> PAuditsDisable -> Bool
$c/= :: PAuditsDisable -> PAuditsDisable -> Bool
== :: PAuditsDisable -> PAuditsDisable -> Bool
$c== :: PAuditsDisable -> PAuditsDisable -> Bool
Eq, Int -> PAuditsDisable -> ShowS
[PAuditsDisable] -> ShowS
PAuditsDisable -> String
(Int -> PAuditsDisable -> ShowS)
-> (PAuditsDisable -> String)
-> ([PAuditsDisable] -> ShowS)
-> Show PAuditsDisable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAuditsDisable] -> ShowS
$cshowList :: [PAuditsDisable] -> ShowS
show :: PAuditsDisable -> String
$cshow :: PAuditsDisable -> String
showsPrec :: Int -> PAuditsDisable -> ShowS
$cshowsPrec :: Int -> PAuditsDisable -> ShowS
Show)
pAuditsDisable
  :: PAuditsDisable
pAuditsDisable :: PAuditsDisable
pAuditsDisable
  = PAuditsDisable
PAuditsDisable
instance ToJSON PAuditsDisable where
  toJSON :: PAuditsDisable -> Value
toJSON PAuditsDisable
_ = Value
A.Null
instance Command PAuditsDisable where
  type CommandResponse PAuditsDisable = ()
  commandName :: Proxy PAuditsDisable -> String
commandName Proxy PAuditsDisable
_ = String
"Audits.disable"
  fromJSON :: Proxy PAuditsDisable
-> Value -> Result (CommandResponse PAuditsDisable)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PAuditsDisable -> Result ())
-> Proxy PAuditsDisable
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PAuditsDisable -> ())
-> Proxy PAuditsDisable
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PAuditsDisable -> ()
forall a b. a -> b -> a
const ()

-- | Enables issues domain, sends the issues collected so far to the client by means of the
--   `issueAdded` event.

-- | Parameters of the 'Audits.enable' command.
data PAuditsEnable = PAuditsEnable
  deriving (PAuditsEnable -> PAuditsEnable -> Bool
(PAuditsEnable -> PAuditsEnable -> Bool)
-> (PAuditsEnable -> PAuditsEnable -> Bool) -> Eq PAuditsEnable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAuditsEnable -> PAuditsEnable -> Bool
$c/= :: PAuditsEnable -> PAuditsEnable -> Bool
== :: PAuditsEnable -> PAuditsEnable -> Bool
$c== :: PAuditsEnable -> PAuditsEnable -> Bool
Eq, Int -> PAuditsEnable -> ShowS
[PAuditsEnable] -> ShowS
PAuditsEnable -> String
(Int -> PAuditsEnable -> ShowS)
-> (PAuditsEnable -> String)
-> ([PAuditsEnable] -> ShowS)
-> Show PAuditsEnable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAuditsEnable] -> ShowS
$cshowList :: [PAuditsEnable] -> ShowS
show :: PAuditsEnable -> String
$cshow :: PAuditsEnable -> String
showsPrec :: Int -> PAuditsEnable -> ShowS
$cshowsPrec :: Int -> PAuditsEnable -> ShowS
Show)
pAuditsEnable
  :: PAuditsEnable
pAuditsEnable :: PAuditsEnable
pAuditsEnable
  = PAuditsEnable
PAuditsEnable
instance ToJSON PAuditsEnable where
  toJSON :: PAuditsEnable -> Value
toJSON PAuditsEnable
_ = Value
A.Null
instance Command PAuditsEnable where
  type CommandResponse PAuditsEnable = ()
  commandName :: Proxy PAuditsEnable -> String
commandName Proxy PAuditsEnable
_ = String
"Audits.enable"
  fromJSON :: Proxy PAuditsEnable
-> Value -> Result (CommandResponse PAuditsEnable)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PAuditsEnable -> Result ())
-> Proxy PAuditsEnable
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PAuditsEnable -> ()) -> Proxy PAuditsEnable -> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PAuditsEnable -> ()
forall a b. a -> b -> a
const ()

-- | Runs the contrast check for the target page. Found issues are reported
--   using Audits.issueAdded event.

-- | Parameters of the 'Audits.checkContrast' command.
data PAuditsCheckContrast = PAuditsCheckContrast
  {
    -- | Whether to report WCAG AAA level issues. Default is false.
    PAuditsCheckContrast -> Maybe Bool
pAuditsCheckContrastReportAAA :: Maybe Bool
  }
  deriving (PAuditsCheckContrast -> PAuditsCheckContrast -> Bool
(PAuditsCheckContrast -> PAuditsCheckContrast -> Bool)
-> (PAuditsCheckContrast -> PAuditsCheckContrast -> Bool)
-> Eq PAuditsCheckContrast
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAuditsCheckContrast -> PAuditsCheckContrast -> Bool
$c/= :: PAuditsCheckContrast -> PAuditsCheckContrast -> Bool
== :: PAuditsCheckContrast -> PAuditsCheckContrast -> Bool
$c== :: PAuditsCheckContrast -> PAuditsCheckContrast -> Bool
Eq, Int -> PAuditsCheckContrast -> ShowS
[PAuditsCheckContrast] -> ShowS
PAuditsCheckContrast -> String
(Int -> PAuditsCheckContrast -> ShowS)
-> (PAuditsCheckContrast -> String)
-> ([PAuditsCheckContrast] -> ShowS)
-> Show PAuditsCheckContrast
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAuditsCheckContrast] -> ShowS
$cshowList :: [PAuditsCheckContrast] -> ShowS
show :: PAuditsCheckContrast -> String
$cshow :: PAuditsCheckContrast -> String
showsPrec :: Int -> PAuditsCheckContrast -> ShowS
$cshowsPrec :: Int -> PAuditsCheckContrast -> ShowS
Show)
pAuditsCheckContrast
  :: PAuditsCheckContrast
pAuditsCheckContrast :: PAuditsCheckContrast
pAuditsCheckContrast
  = Maybe Bool -> PAuditsCheckContrast
PAuditsCheckContrast
    Maybe Bool
forall a. Maybe a
Nothing
instance ToJSON PAuditsCheckContrast where
  toJSON :: PAuditsCheckContrast -> Value
toJSON PAuditsCheckContrast
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
"reportAAA" 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
<$> (PAuditsCheckContrast -> Maybe Bool
pAuditsCheckContrastReportAAA PAuditsCheckContrast
p)
    ]
instance Command PAuditsCheckContrast where
  type CommandResponse PAuditsCheckContrast = ()
  commandName :: Proxy PAuditsCheckContrast -> String
commandName Proxy PAuditsCheckContrast
_ = String
"Audits.checkContrast"
  fromJSON :: Proxy PAuditsCheckContrast
-> Value -> Result (CommandResponse PAuditsCheckContrast)
fromJSON = Result () -> Value -> Result ()
forall a b. a -> b -> a
const (Result () -> Value -> Result ())
-> (Proxy PAuditsCheckContrast -> Result ())
-> Proxy PAuditsCheckContrast
-> Value
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Result ()
forall a. a -> Result a
A.Success (() -> Result ())
-> (Proxy PAuditsCheckContrast -> ())
-> Proxy PAuditsCheckContrast
-> Result ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. () -> Proxy PAuditsCheckContrast -> ()
forall a b. a -> b -> a
const ()