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


{- |
= Accessibility

-}


module CDP.Domains.Accessibility (module CDP.Domains.Accessibility) 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 'Accessibility.AXNodeId'.
--   Unique accessibility node identifier.
type AccessibilityAXNodeId = T.Text

-- | Type 'Accessibility.AXValueType'.
--   Enum of possible property types.
data AccessibilityAXValueType = AccessibilityAXValueTypeBoolean | AccessibilityAXValueTypeTristate | AccessibilityAXValueTypeBooleanOrUndefined | AccessibilityAXValueTypeIdref | AccessibilityAXValueTypeIdrefList | AccessibilityAXValueTypeInteger | AccessibilityAXValueTypeNode | AccessibilityAXValueTypeNodeList | AccessibilityAXValueTypeNumber | AccessibilityAXValueTypeString | AccessibilityAXValueTypeComputedString | AccessibilityAXValueTypeToken | AccessibilityAXValueTypeTokenList | AccessibilityAXValueTypeDomRelation | AccessibilityAXValueTypeRole | AccessibilityAXValueTypeInternalRole | AccessibilityAXValueTypeValueUndefined
  deriving (Eq AccessibilityAXValueType
Eq AccessibilityAXValueType
-> (AccessibilityAXValueType
    -> AccessibilityAXValueType -> Ordering)
-> (AccessibilityAXValueType -> AccessibilityAXValueType -> Bool)
-> (AccessibilityAXValueType -> AccessibilityAXValueType -> Bool)
-> (AccessibilityAXValueType -> AccessibilityAXValueType -> Bool)
-> (AccessibilityAXValueType -> AccessibilityAXValueType -> Bool)
-> (AccessibilityAXValueType
    -> AccessibilityAXValueType -> AccessibilityAXValueType)
-> (AccessibilityAXValueType
    -> AccessibilityAXValueType -> AccessibilityAXValueType)
-> Ord AccessibilityAXValueType
AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
AccessibilityAXValueType -> AccessibilityAXValueType -> Ordering
AccessibilityAXValueType
-> AccessibilityAXValueType -> AccessibilityAXValueType
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 :: AccessibilityAXValueType
-> AccessibilityAXValueType -> AccessibilityAXValueType
$cmin :: AccessibilityAXValueType
-> AccessibilityAXValueType -> AccessibilityAXValueType
max :: AccessibilityAXValueType
-> AccessibilityAXValueType -> AccessibilityAXValueType
$cmax :: AccessibilityAXValueType
-> AccessibilityAXValueType -> AccessibilityAXValueType
>= :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
$c>= :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
> :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
$c> :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
<= :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
$c<= :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
< :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
$c< :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
compare :: AccessibilityAXValueType -> AccessibilityAXValueType -> Ordering
$ccompare :: AccessibilityAXValueType -> AccessibilityAXValueType -> Ordering
$cp1Ord :: Eq AccessibilityAXValueType
Ord, AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
(AccessibilityAXValueType -> AccessibilityAXValueType -> Bool)
-> (AccessibilityAXValueType -> AccessibilityAXValueType -> Bool)
-> Eq AccessibilityAXValueType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
$c/= :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
== :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
$c== :: AccessibilityAXValueType -> AccessibilityAXValueType -> Bool
Eq, Int -> AccessibilityAXValueType -> ShowS
[AccessibilityAXValueType] -> ShowS
AccessibilityAXValueType -> String
(Int -> AccessibilityAXValueType -> ShowS)
-> (AccessibilityAXValueType -> String)
-> ([AccessibilityAXValueType] -> ShowS)
-> Show AccessibilityAXValueType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXValueType] -> ShowS
$cshowList :: [AccessibilityAXValueType] -> ShowS
show :: AccessibilityAXValueType -> String
$cshow :: AccessibilityAXValueType -> String
showsPrec :: Int -> AccessibilityAXValueType -> ShowS
$cshowsPrec :: Int -> AccessibilityAXValueType -> ShowS
Show, ReadPrec [AccessibilityAXValueType]
ReadPrec AccessibilityAXValueType
Int -> ReadS AccessibilityAXValueType
ReadS [AccessibilityAXValueType]
(Int -> ReadS AccessibilityAXValueType)
-> ReadS [AccessibilityAXValueType]
-> ReadPrec AccessibilityAXValueType
-> ReadPrec [AccessibilityAXValueType]
-> Read AccessibilityAXValueType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AccessibilityAXValueType]
$creadListPrec :: ReadPrec [AccessibilityAXValueType]
readPrec :: ReadPrec AccessibilityAXValueType
$creadPrec :: ReadPrec AccessibilityAXValueType
readList :: ReadS [AccessibilityAXValueType]
$creadList :: ReadS [AccessibilityAXValueType]
readsPrec :: Int -> ReadS AccessibilityAXValueType
$creadsPrec :: Int -> ReadS AccessibilityAXValueType
Read)
instance FromJSON AccessibilityAXValueType where
  parseJSON :: Value -> Parser AccessibilityAXValueType
parseJSON = String
-> (Text -> Parser AccessibilityAXValueType)
-> Value
-> Parser AccessibilityAXValueType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AccessibilityAXValueType" ((Text -> Parser AccessibilityAXValueType)
 -> Value -> Parser AccessibilityAXValueType)
-> (Text -> Parser AccessibilityAXValueType)
-> Value
-> Parser AccessibilityAXValueType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"boolean" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeBoolean
    Text
"tristate" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeTristate
    Text
"booleanOrUndefined" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeBooleanOrUndefined
    Text
"idref" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeIdref
    Text
"idrefList" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeIdrefList
    Text
"integer" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeInteger
    Text
"node" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeNode
    Text
"nodeList" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeNodeList
    Text
"number" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeNumber
    Text
"string" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeString
    Text
"computedString" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeComputedString
    Text
"token" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeToken
    Text
"tokenList" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeTokenList
    Text
"domRelation" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeDomRelation
    Text
"role" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeRole
    Text
"internalRole" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeInternalRole
    Text
"valueUndefined" -> AccessibilityAXValueType -> Parser AccessibilityAXValueType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueType
AccessibilityAXValueTypeValueUndefined
    Text
"_" -> String -> Parser AccessibilityAXValueType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AccessibilityAXValueType"
instance ToJSON AccessibilityAXValueType where
  toJSON :: AccessibilityAXValueType -> Value
toJSON AccessibilityAXValueType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AccessibilityAXValueType
v of
    AccessibilityAXValueType
AccessibilityAXValueTypeBoolean -> Text
"boolean"
    AccessibilityAXValueType
AccessibilityAXValueTypeTristate -> Text
"tristate"
    AccessibilityAXValueType
AccessibilityAXValueTypeBooleanOrUndefined -> Text
"booleanOrUndefined"
    AccessibilityAXValueType
AccessibilityAXValueTypeIdref -> Text
"idref"
    AccessibilityAXValueType
AccessibilityAXValueTypeIdrefList -> Text
"idrefList"
    AccessibilityAXValueType
AccessibilityAXValueTypeInteger -> Text
"integer"
    AccessibilityAXValueType
AccessibilityAXValueTypeNode -> Text
"node"
    AccessibilityAXValueType
AccessibilityAXValueTypeNodeList -> Text
"nodeList"
    AccessibilityAXValueType
AccessibilityAXValueTypeNumber -> Text
"number"
    AccessibilityAXValueType
AccessibilityAXValueTypeString -> Text
"string"
    AccessibilityAXValueType
AccessibilityAXValueTypeComputedString -> Text
"computedString"
    AccessibilityAXValueType
AccessibilityAXValueTypeToken -> Text
"token"
    AccessibilityAXValueType
AccessibilityAXValueTypeTokenList -> Text
"tokenList"
    AccessibilityAXValueType
AccessibilityAXValueTypeDomRelation -> Text
"domRelation"
    AccessibilityAXValueType
AccessibilityAXValueTypeRole -> Text
"role"
    AccessibilityAXValueType
AccessibilityAXValueTypeInternalRole -> Text
"internalRole"
    AccessibilityAXValueType
AccessibilityAXValueTypeValueUndefined -> Text
"valueUndefined"

-- | Type 'Accessibility.AXValueSourceType'.
--   Enum of possible property sources.
data AccessibilityAXValueSourceType = AccessibilityAXValueSourceTypeAttribute | AccessibilityAXValueSourceTypeImplicit | AccessibilityAXValueSourceTypeStyle | AccessibilityAXValueSourceTypeContents | AccessibilityAXValueSourceTypePlaceholder | AccessibilityAXValueSourceTypeRelatedElement
  deriving (Eq AccessibilityAXValueSourceType
Eq AccessibilityAXValueSourceType
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType -> Ordering)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType -> Bool)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType -> Bool)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType -> Bool)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType -> Bool)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType)
-> Ord AccessibilityAXValueSourceType
AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Ordering
AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> AccessibilityAXValueSourceType
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 :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> AccessibilityAXValueSourceType
$cmin :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> AccessibilityAXValueSourceType
max :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> AccessibilityAXValueSourceType
$cmax :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> AccessibilityAXValueSourceType
>= :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
$c>= :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
> :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
$c> :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
<= :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
$c<= :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
< :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
$c< :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
compare :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Ordering
$ccompare :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Ordering
$cp1Ord :: Eq AccessibilityAXValueSourceType
Ord, AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
(AccessibilityAXValueSourceType
 -> AccessibilityAXValueSourceType -> Bool)
-> (AccessibilityAXValueSourceType
    -> AccessibilityAXValueSourceType -> Bool)
-> Eq AccessibilityAXValueSourceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
$c/= :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
== :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
$c== :: AccessibilityAXValueSourceType
-> AccessibilityAXValueSourceType -> Bool
Eq, Int -> AccessibilityAXValueSourceType -> ShowS
[AccessibilityAXValueSourceType] -> ShowS
AccessibilityAXValueSourceType -> String
(Int -> AccessibilityAXValueSourceType -> ShowS)
-> (AccessibilityAXValueSourceType -> String)
-> ([AccessibilityAXValueSourceType] -> ShowS)
-> Show AccessibilityAXValueSourceType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXValueSourceType] -> ShowS
$cshowList :: [AccessibilityAXValueSourceType] -> ShowS
show :: AccessibilityAXValueSourceType -> String
$cshow :: AccessibilityAXValueSourceType -> String
showsPrec :: Int -> AccessibilityAXValueSourceType -> ShowS
$cshowsPrec :: Int -> AccessibilityAXValueSourceType -> ShowS
Show, ReadPrec [AccessibilityAXValueSourceType]
ReadPrec AccessibilityAXValueSourceType
Int -> ReadS AccessibilityAXValueSourceType
ReadS [AccessibilityAXValueSourceType]
(Int -> ReadS AccessibilityAXValueSourceType)
-> ReadS [AccessibilityAXValueSourceType]
-> ReadPrec AccessibilityAXValueSourceType
-> ReadPrec [AccessibilityAXValueSourceType]
-> Read AccessibilityAXValueSourceType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AccessibilityAXValueSourceType]
$creadListPrec :: ReadPrec [AccessibilityAXValueSourceType]
readPrec :: ReadPrec AccessibilityAXValueSourceType
$creadPrec :: ReadPrec AccessibilityAXValueSourceType
readList :: ReadS [AccessibilityAXValueSourceType]
$creadList :: ReadS [AccessibilityAXValueSourceType]
readsPrec :: Int -> ReadS AccessibilityAXValueSourceType
$creadsPrec :: Int -> ReadS AccessibilityAXValueSourceType
Read)
instance FromJSON AccessibilityAXValueSourceType where
  parseJSON :: Value -> Parser AccessibilityAXValueSourceType
parseJSON = String
-> (Text -> Parser AccessibilityAXValueSourceType)
-> Value
-> Parser AccessibilityAXValueSourceType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AccessibilityAXValueSourceType" ((Text -> Parser AccessibilityAXValueSourceType)
 -> Value -> Parser AccessibilityAXValueSourceType)
-> (Text -> Parser AccessibilityAXValueSourceType)
-> Value
-> Parser AccessibilityAXValueSourceType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"attribute" -> AccessibilityAXValueSourceType
-> Parser AccessibilityAXValueSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeAttribute
    Text
"implicit" -> AccessibilityAXValueSourceType
-> Parser AccessibilityAXValueSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeImplicit
    Text
"style" -> AccessibilityAXValueSourceType
-> Parser AccessibilityAXValueSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeStyle
    Text
"contents" -> AccessibilityAXValueSourceType
-> Parser AccessibilityAXValueSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeContents
    Text
"placeholder" -> AccessibilityAXValueSourceType
-> Parser AccessibilityAXValueSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypePlaceholder
    Text
"relatedElement" -> AccessibilityAXValueSourceType
-> Parser AccessibilityAXValueSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeRelatedElement
    Text
"_" -> String -> Parser AccessibilityAXValueSourceType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AccessibilityAXValueSourceType"
instance ToJSON AccessibilityAXValueSourceType where
  toJSON :: AccessibilityAXValueSourceType -> Value
toJSON AccessibilityAXValueSourceType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AccessibilityAXValueSourceType
v of
    AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeAttribute -> Text
"attribute"
    AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeImplicit -> Text
"implicit"
    AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeStyle -> Text
"style"
    AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeContents -> Text
"contents"
    AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypePlaceholder -> Text
"placeholder"
    AccessibilityAXValueSourceType
AccessibilityAXValueSourceTypeRelatedElement -> Text
"relatedElement"

-- | Type 'Accessibility.AXValueNativeSourceType'.
--   Enum of possible native property sources (as a subtype of a particular AXValueSourceType).
data AccessibilityAXValueNativeSourceType = AccessibilityAXValueNativeSourceTypeDescription | AccessibilityAXValueNativeSourceTypeFigcaption | AccessibilityAXValueNativeSourceTypeLabel | AccessibilityAXValueNativeSourceTypeLabelfor | AccessibilityAXValueNativeSourceTypeLabelwrapped | AccessibilityAXValueNativeSourceTypeLegend | AccessibilityAXValueNativeSourceTypeRubyannotation | AccessibilityAXValueNativeSourceTypeTablecaption | AccessibilityAXValueNativeSourceTypeTitle | AccessibilityAXValueNativeSourceTypeOther
  deriving (Eq AccessibilityAXValueNativeSourceType
Eq AccessibilityAXValueNativeSourceType
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType -> Ordering)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType -> Bool)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType -> Bool)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType -> Bool)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType -> Bool)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType)
-> Ord AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Ordering
AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
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 :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
$cmin :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
max :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
$cmax :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType
>= :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
$c>= :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
> :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
$c> :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
<= :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
$c<= :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
< :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
$c< :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
compare :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Ordering
$ccompare :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Ordering
$cp1Ord :: Eq AccessibilityAXValueNativeSourceType
Ord, AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
(AccessibilityAXValueNativeSourceType
 -> AccessibilityAXValueNativeSourceType -> Bool)
-> (AccessibilityAXValueNativeSourceType
    -> AccessibilityAXValueNativeSourceType -> Bool)
-> Eq AccessibilityAXValueNativeSourceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
$c/= :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
== :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
$c== :: AccessibilityAXValueNativeSourceType
-> AccessibilityAXValueNativeSourceType -> Bool
Eq, Int -> AccessibilityAXValueNativeSourceType -> ShowS
[AccessibilityAXValueNativeSourceType] -> ShowS
AccessibilityAXValueNativeSourceType -> String
(Int -> AccessibilityAXValueNativeSourceType -> ShowS)
-> (AccessibilityAXValueNativeSourceType -> String)
-> ([AccessibilityAXValueNativeSourceType] -> ShowS)
-> Show AccessibilityAXValueNativeSourceType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXValueNativeSourceType] -> ShowS
$cshowList :: [AccessibilityAXValueNativeSourceType] -> ShowS
show :: AccessibilityAXValueNativeSourceType -> String
$cshow :: AccessibilityAXValueNativeSourceType -> String
showsPrec :: Int -> AccessibilityAXValueNativeSourceType -> ShowS
$cshowsPrec :: Int -> AccessibilityAXValueNativeSourceType -> ShowS
Show, ReadPrec [AccessibilityAXValueNativeSourceType]
ReadPrec AccessibilityAXValueNativeSourceType
Int -> ReadS AccessibilityAXValueNativeSourceType
ReadS [AccessibilityAXValueNativeSourceType]
(Int -> ReadS AccessibilityAXValueNativeSourceType)
-> ReadS [AccessibilityAXValueNativeSourceType]
-> ReadPrec AccessibilityAXValueNativeSourceType
-> ReadPrec [AccessibilityAXValueNativeSourceType]
-> Read AccessibilityAXValueNativeSourceType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AccessibilityAXValueNativeSourceType]
$creadListPrec :: ReadPrec [AccessibilityAXValueNativeSourceType]
readPrec :: ReadPrec AccessibilityAXValueNativeSourceType
$creadPrec :: ReadPrec AccessibilityAXValueNativeSourceType
readList :: ReadS [AccessibilityAXValueNativeSourceType]
$creadList :: ReadS [AccessibilityAXValueNativeSourceType]
readsPrec :: Int -> ReadS AccessibilityAXValueNativeSourceType
$creadsPrec :: Int -> ReadS AccessibilityAXValueNativeSourceType
Read)
instance FromJSON AccessibilityAXValueNativeSourceType where
  parseJSON :: Value -> Parser AccessibilityAXValueNativeSourceType
parseJSON = String
-> (Text -> Parser AccessibilityAXValueNativeSourceType)
-> Value
-> Parser AccessibilityAXValueNativeSourceType
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AccessibilityAXValueNativeSourceType" ((Text -> Parser AccessibilityAXValueNativeSourceType)
 -> Value -> Parser AccessibilityAXValueNativeSourceType)
-> (Text -> Parser AccessibilityAXValueNativeSourceType)
-> Value
-> Parser AccessibilityAXValueNativeSourceType
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"description" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeDescription
    Text
"figcaption" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeFigcaption
    Text
"label" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLabel
    Text
"labelfor" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLabelfor
    Text
"labelwrapped" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLabelwrapped
    Text
"legend" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLegend
    Text
"rubyannotation" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeRubyannotation
    Text
"tablecaption" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeTablecaption
    Text
"title" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeTitle
    Text
"other" -> AccessibilityAXValueNativeSourceType
-> Parser AccessibilityAXValueNativeSourceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeOther
    Text
"_" -> String -> Parser AccessibilityAXValueNativeSourceType
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AccessibilityAXValueNativeSourceType"
instance ToJSON AccessibilityAXValueNativeSourceType where
  toJSON :: AccessibilityAXValueNativeSourceType -> Value
toJSON AccessibilityAXValueNativeSourceType
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AccessibilityAXValueNativeSourceType
v of
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeDescription -> Text
"description"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeFigcaption -> Text
"figcaption"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLabel -> Text
"label"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLabelfor -> Text
"labelfor"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLabelwrapped -> Text
"labelwrapped"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeLegend -> Text
"legend"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeRubyannotation -> Text
"rubyannotation"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeTablecaption -> Text
"tablecaption"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeTitle -> Text
"title"
    AccessibilityAXValueNativeSourceType
AccessibilityAXValueNativeSourceTypeOther -> Text
"other"

-- | Type 'Accessibility.AXValueSource'.
--   A single source for a computed AX property.
data AccessibilityAXValueSource = AccessibilityAXValueSource
  {
    -- | What type of source this is.
    AccessibilityAXValueSource -> AccessibilityAXValueSourceType
accessibilityAXValueSourceType :: AccessibilityAXValueSourceType,
    -- | The value of this property source.
    AccessibilityAXValueSource -> Maybe AccessibilityAXValue
accessibilityAXValueSourceValue :: Maybe AccessibilityAXValue,
    -- | The name of the relevant attribute, if any.
    AccessibilityAXValueSource -> Maybe Text
accessibilityAXValueSourceAttribute :: Maybe T.Text,
    -- | The value of the relevant attribute, if any.
    AccessibilityAXValueSource -> Maybe AccessibilityAXValue
accessibilityAXValueSourceAttributeValue :: Maybe AccessibilityAXValue,
    -- | Whether this source is superseded by a higher priority source.
    AccessibilityAXValueSource -> Maybe Bool
accessibilityAXValueSourceSuperseded :: Maybe Bool,
    -- | The native markup source for this value, e.g. a <label> element.
    AccessibilityAXValueSource
-> Maybe AccessibilityAXValueNativeSourceType
accessibilityAXValueSourceNativeSource :: Maybe AccessibilityAXValueNativeSourceType,
    -- | The value, such as a node or node list, of the native source.
    AccessibilityAXValueSource -> Maybe AccessibilityAXValue
accessibilityAXValueSourceNativeSourceValue :: Maybe AccessibilityAXValue,
    -- | Whether the value for this property is invalid.
    AccessibilityAXValueSource -> Maybe Bool
accessibilityAXValueSourceInvalid :: Maybe Bool,
    -- | Reason for the value being invalid, if it is.
    AccessibilityAXValueSource -> Maybe Text
accessibilityAXValueSourceInvalidReason :: Maybe T.Text
  }
  deriving (AccessibilityAXValueSource -> AccessibilityAXValueSource -> Bool
(AccessibilityAXValueSource -> AccessibilityAXValueSource -> Bool)
-> (AccessibilityAXValueSource
    -> AccessibilityAXValueSource -> Bool)
-> Eq AccessibilityAXValueSource
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXValueSource -> AccessibilityAXValueSource -> Bool
$c/= :: AccessibilityAXValueSource -> AccessibilityAXValueSource -> Bool
== :: AccessibilityAXValueSource -> AccessibilityAXValueSource -> Bool
$c== :: AccessibilityAXValueSource -> AccessibilityAXValueSource -> Bool
Eq, Int -> AccessibilityAXValueSource -> ShowS
[AccessibilityAXValueSource] -> ShowS
AccessibilityAXValueSource -> String
(Int -> AccessibilityAXValueSource -> ShowS)
-> (AccessibilityAXValueSource -> String)
-> ([AccessibilityAXValueSource] -> ShowS)
-> Show AccessibilityAXValueSource
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXValueSource] -> ShowS
$cshowList :: [AccessibilityAXValueSource] -> ShowS
show :: AccessibilityAXValueSource -> String
$cshow :: AccessibilityAXValueSource -> String
showsPrec :: Int -> AccessibilityAXValueSource -> ShowS
$cshowsPrec :: Int -> AccessibilityAXValueSource -> ShowS
Show)
instance FromJSON AccessibilityAXValueSource where
  parseJSON :: Value -> Parser AccessibilityAXValueSource
parseJSON = String
-> (Object -> Parser AccessibilityAXValueSource)
-> Value
-> Parser AccessibilityAXValueSource
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityAXValueSource" ((Object -> Parser AccessibilityAXValueSource)
 -> Value -> Parser AccessibilityAXValueSource)
-> (Object -> Parser AccessibilityAXValueSource)
-> Value
-> Parser AccessibilityAXValueSource
forall a b. (a -> b) -> a -> b
$ \Object
o -> AccessibilityAXValueSourceType
-> Maybe AccessibilityAXValue
-> Maybe Text
-> Maybe AccessibilityAXValue
-> Maybe Bool
-> Maybe AccessibilityAXValueNativeSourceType
-> Maybe AccessibilityAXValue
-> Maybe Bool
-> Maybe Text
-> AccessibilityAXValueSource
AccessibilityAXValueSource
    (AccessibilityAXValueSourceType
 -> Maybe AccessibilityAXValue
 -> Maybe Text
 -> Maybe AccessibilityAXValue
 -> Maybe Bool
 -> Maybe AccessibilityAXValueNativeSourceType
 -> Maybe AccessibilityAXValue
 -> Maybe Bool
 -> Maybe Text
 -> AccessibilityAXValueSource)
-> Parser AccessibilityAXValueSourceType
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe Text
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe AccessibilityAXValueNativeSourceType
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe Text
      -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AccessibilityAXValueSourceType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"type"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe Text
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe AccessibilityAXValueNativeSourceType
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe Text
   -> AccessibilityAXValueSource)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe Text
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe AccessibilityAXValueNativeSourceType
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe Text
      -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"value"
    Parser
  (Maybe Text
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe AccessibilityAXValueNativeSourceType
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe Text
   -> AccessibilityAXValueSource)
-> Parser (Maybe Text)
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe AccessibilityAXValueNativeSourceType
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe Text
      -> AccessibilityAXValueSource)
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
"attribute"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe AccessibilityAXValueNativeSourceType
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe Text
   -> AccessibilityAXValueSource)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe Bool
      -> Maybe AccessibilityAXValueNativeSourceType
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe Text
      -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"attributeValue"
    Parser
  (Maybe Bool
   -> Maybe AccessibilityAXValueNativeSourceType
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe Text
   -> AccessibilityAXValueSource)
-> Parser (Maybe Bool)
-> Parser
     (Maybe AccessibilityAXValueNativeSourceType
      -> Maybe AccessibilityAXValue
      -> Maybe Bool
      -> Maybe Text
      -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"superseded"
    Parser
  (Maybe AccessibilityAXValueNativeSourceType
   -> Maybe AccessibilityAXValue
   -> Maybe Bool
   -> Maybe Text
   -> AccessibilityAXValueSource)
-> Parser (Maybe AccessibilityAXValueNativeSourceType)
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe Bool -> Maybe Text -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object
-> Text -> Parser (Maybe AccessibilityAXValueNativeSourceType)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"nativeSource"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe Bool -> Maybe Text -> AccessibilityAXValueSource)
-> Parser (Maybe AccessibilityAXValue)
-> Parser (Maybe Bool -> Maybe Text -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"nativeSourceValue"
    Parser (Maybe Bool -> Maybe Text -> AccessibilityAXValueSource)
-> Parser (Maybe Bool)
-> Parser (Maybe Text -> AccessibilityAXValueSource)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"invalid"
    Parser (Maybe Text -> AccessibilityAXValueSource)
-> Parser (Maybe Text) -> Parser AccessibilityAXValueSource
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
"invalidReason"
instance ToJSON AccessibilityAXValueSource where
  toJSON :: AccessibilityAXValueSource -> Value
toJSON AccessibilityAXValueSource
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
"type" Text -> AccessibilityAXValueSourceType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValueSourceType -> Pair)
-> Maybe AccessibilityAXValueSourceType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AccessibilityAXValueSourceType
-> Maybe AccessibilityAXValueSourceType
forall a. a -> Maybe a
Just (AccessibilityAXValueSource -> AccessibilityAXValueSourceType
accessibilityAXValueSourceType AccessibilityAXValueSource
p),
    (Text
"value" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValueSource -> Maybe AccessibilityAXValue
accessibilityAXValueSourceValue AccessibilityAXValueSource
p),
    (Text
"attribute" 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
<$> (AccessibilityAXValueSource -> Maybe Text
accessibilityAXValueSourceAttribute AccessibilityAXValueSource
p),
    (Text
"attributeValue" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValueSource -> Maybe AccessibilityAXValue
accessibilityAXValueSourceAttributeValue AccessibilityAXValueSource
p),
    (Text
"superseded" 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
<$> (AccessibilityAXValueSource -> Maybe Bool
accessibilityAXValueSourceSuperseded AccessibilityAXValueSource
p),
    (Text
"nativeSource" Text -> AccessibilityAXValueNativeSourceType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValueNativeSourceType -> Pair)
-> Maybe AccessibilityAXValueNativeSourceType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValueSource
-> Maybe AccessibilityAXValueNativeSourceType
accessibilityAXValueSourceNativeSource AccessibilityAXValueSource
p),
    (Text
"nativeSourceValue" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValueSource -> Maybe AccessibilityAXValue
accessibilityAXValueSourceNativeSourceValue AccessibilityAXValueSource
p),
    (Text
"invalid" 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
<$> (AccessibilityAXValueSource -> Maybe Bool
accessibilityAXValueSourceInvalid AccessibilityAXValueSource
p),
    (Text
"invalidReason" 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
<$> (AccessibilityAXValueSource -> Maybe Text
accessibilityAXValueSourceInvalidReason AccessibilityAXValueSource
p)
    ]

-- | Type 'Accessibility.AXRelatedNode'.
data AccessibilityAXRelatedNode = AccessibilityAXRelatedNode
  {
    -- | The BackendNodeId of the related DOM node.
    AccessibilityAXRelatedNode -> Int
accessibilityAXRelatedNodeBackendDOMNodeId :: DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    -- | The IDRef value provided, if any.
    AccessibilityAXRelatedNode -> Maybe Text
accessibilityAXRelatedNodeIdref :: Maybe T.Text,
    -- | The text alternative of this node in the current context.
    AccessibilityAXRelatedNode -> Maybe Text
accessibilityAXRelatedNodeText :: Maybe T.Text
  }
  deriving (AccessibilityAXRelatedNode -> AccessibilityAXRelatedNode -> Bool
(AccessibilityAXRelatedNode -> AccessibilityAXRelatedNode -> Bool)
-> (AccessibilityAXRelatedNode
    -> AccessibilityAXRelatedNode -> Bool)
-> Eq AccessibilityAXRelatedNode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXRelatedNode -> AccessibilityAXRelatedNode -> Bool
$c/= :: AccessibilityAXRelatedNode -> AccessibilityAXRelatedNode -> Bool
== :: AccessibilityAXRelatedNode -> AccessibilityAXRelatedNode -> Bool
$c== :: AccessibilityAXRelatedNode -> AccessibilityAXRelatedNode -> Bool
Eq, Int -> AccessibilityAXRelatedNode -> ShowS
[AccessibilityAXRelatedNode] -> ShowS
AccessibilityAXRelatedNode -> String
(Int -> AccessibilityAXRelatedNode -> ShowS)
-> (AccessibilityAXRelatedNode -> String)
-> ([AccessibilityAXRelatedNode] -> ShowS)
-> Show AccessibilityAXRelatedNode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXRelatedNode] -> ShowS
$cshowList :: [AccessibilityAXRelatedNode] -> ShowS
show :: AccessibilityAXRelatedNode -> String
$cshow :: AccessibilityAXRelatedNode -> String
showsPrec :: Int -> AccessibilityAXRelatedNode -> ShowS
$cshowsPrec :: Int -> AccessibilityAXRelatedNode -> ShowS
Show)
instance FromJSON AccessibilityAXRelatedNode where
  parseJSON :: Value -> Parser AccessibilityAXRelatedNode
parseJSON = String
-> (Object -> Parser AccessibilityAXRelatedNode)
-> Value
-> Parser AccessibilityAXRelatedNode
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityAXRelatedNode" ((Object -> Parser AccessibilityAXRelatedNode)
 -> Value -> Parser AccessibilityAXRelatedNode)
-> (Object -> Parser AccessibilityAXRelatedNode)
-> Value
-> Parser AccessibilityAXRelatedNode
forall a b. (a -> b) -> a -> b
$ \Object
o -> Int -> Maybe Text -> Maybe Text -> AccessibilityAXRelatedNode
AccessibilityAXRelatedNode
    (Int -> Maybe Text -> Maybe Text -> AccessibilityAXRelatedNode)
-> Parser Int
-> Parser (Maybe Text -> Maybe Text -> AccessibilityAXRelatedNode)
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
"backendDOMNodeId"
    Parser (Maybe Text -> Maybe Text -> AccessibilityAXRelatedNode)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> AccessibilityAXRelatedNode)
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
"idref"
    Parser (Maybe Text -> AccessibilityAXRelatedNode)
-> Parser (Maybe Text) -> Parser AccessibilityAXRelatedNode
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
"text"
instance ToJSON AccessibilityAXRelatedNode where
  toJSON :: AccessibilityAXRelatedNode -> Value
toJSON AccessibilityAXRelatedNode
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
"backendDOMNodeId" 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 (AccessibilityAXRelatedNode -> Int
accessibilityAXRelatedNodeBackendDOMNodeId AccessibilityAXRelatedNode
p),
    (Text
"idref" 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
<$> (AccessibilityAXRelatedNode -> Maybe Text
accessibilityAXRelatedNodeIdref AccessibilityAXRelatedNode
p),
    (Text
"text" 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
<$> (AccessibilityAXRelatedNode -> Maybe Text
accessibilityAXRelatedNodeText AccessibilityAXRelatedNode
p)
    ]

-- | Type 'Accessibility.AXProperty'.
data AccessibilityAXProperty = AccessibilityAXProperty
  {
    -- | The name of this property.
    AccessibilityAXProperty -> AccessibilityAXPropertyName
accessibilityAXPropertyName :: AccessibilityAXPropertyName,
    -- | The value of this property.
    AccessibilityAXProperty -> AccessibilityAXValue
accessibilityAXPropertyValue :: AccessibilityAXValue
  }
  deriving (AccessibilityAXProperty -> AccessibilityAXProperty -> Bool
(AccessibilityAXProperty -> AccessibilityAXProperty -> Bool)
-> (AccessibilityAXProperty -> AccessibilityAXProperty -> Bool)
-> Eq AccessibilityAXProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXProperty -> AccessibilityAXProperty -> Bool
$c/= :: AccessibilityAXProperty -> AccessibilityAXProperty -> Bool
== :: AccessibilityAXProperty -> AccessibilityAXProperty -> Bool
$c== :: AccessibilityAXProperty -> AccessibilityAXProperty -> Bool
Eq, Int -> AccessibilityAXProperty -> ShowS
[AccessibilityAXProperty] -> ShowS
AccessibilityAXProperty -> String
(Int -> AccessibilityAXProperty -> ShowS)
-> (AccessibilityAXProperty -> String)
-> ([AccessibilityAXProperty] -> ShowS)
-> Show AccessibilityAXProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXProperty] -> ShowS
$cshowList :: [AccessibilityAXProperty] -> ShowS
show :: AccessibilityAXProperty -> String
$cshow :: AccessibilityAXProperty -> String
showsPrec :: Int -> AccessibilityAXProperty -> ShowS
$cshowsPrec :: Int -> AccessibilityAXProperty -> ShowS
Show)
instance FromJSON AccessibilityAXProperty where
  parseJSON :: Value -> Parser AccessibilityAXProperty
parseJSON = String
-> (Object -> Parser AccessibilityAXProperty)
-> Value
-> Parser AccessibilityAXProperty
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityAXProperty" ((Object -> Parser AccessibilityAXProperty)
 -> Value -> Parser AccessibilityAXProperty)
-> (Object -> Parser AccessibilityAXProperty)
-> Value
-> Parser AccessibilityAXProperty
forall a b. (a -> b) -> a -> b
$ \Object
o -> AccessibilityAXPropertyName
-> AccessibilityAXValue -> AccessibilityAXProperty
AccessibilityAXProperty
    (AccessibilityAXPropertyName
 -> AccessibilityAXValue -> AccessibilityAXProperty)
-> Parser AccessibilityAXPropertyName
-> Parser (AccessibilityAXValue -> AccessibilityAXProperty)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AccessibilityAXPropertyName
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"name"
    Parser (AccessibilityAXValue -> AccessibilityAXProperty)
-> Parser AccessibilityAXValue -> Parser AccessibilityAXProperty
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser AccessibilityAXValue
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"value"
instance ToJSON AccessibilityAXProperty where
  toJSON :: AccessibilityAXProperty -> Value
toJSON AccessibilityAXProperty
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 -> AccessibilityAXPropertyName -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXPropertyName -> Pair)
-> Maybe AccessibilityAXPropertyName -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AccessibilityAXPropertyName -> Maybe AccessibilityAXPropertyName
forall a. a -> Maybe a
Just (AccessibilityAXProperty -> AccessibilityAXPropertyName
accessibilityAXPropertyName AccessibilityAXProperty
p),
    (Text
"value" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AccessibilityAXValue -> Maybe AccessibilityAXValue
forall a. a -> Maybe a
Just (AccessibilityAXProperty -> AccessibilityAXValue
accessibilityAXPropertyValue AccessibilityAXProperty
p)
    ]

-- | Type 'Accessibility.AXValue'.
--   A single computed AX property.
data AccessibilityAXValue = AccessibilityAXValue
  {
    -- | The type of this value.
    AccessibilityAXValue -> AccessibilityAXValueType
accessibilityAXValueType :: AccessibilityAXValueType,
    -- | The computed value of this property.
    AccessibilityAXValue -> Maybe Value
accessibilityAXValueValue :: Maybe A.Value,
    -- | One or more related nodes, if applicable.
    AccessibilityAXValue -> Maybe [AccessibilityAXRelatedNode]
accessibilityAXValueRelatedNodes :: Maybe [AccessibilityAXRelatedNode],
    -- | The sources which contributed to the computation of this property.
    AccessibilityAXValue -> Maybe [AccessibilityAXValueSource]
accessibilityAXValueSources :: Maybe [AccessibilityAXValueSource]
  }
  deriving (AccessibilityAXValue -> AccessibilityAXValue -> Bool
(AccessibilityAXValue -> AccessibilityAXValue -> Bool)
-> (AccessibilityAXValue -> AccessibilityAXValue -> Bool)
-> Eq AccessibilityAXValue
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXValue -> AccessibilityAXValue -> Bool
$c/= :: AccessibilityAXValue -> AccessibilityAXValue -> Bool
== :: AccessibilityAXValue -> AccessibilityAXValue -> Bool
$c== :: AccessibilityAXValue -> AccessibilityAXValue -> Bool
Eq, Int -> AccessibilityAXValue -> ShowS
[AccessibilityAXValue] -> ShowS
AccessibilityAXValue -> String
(Int -> AccessibilityAXValue -> ShowS)
-> (AccessibilityAXValue -> String)
-> ([AccessibilityAXValue] -> ShowS)
-> Show AccessibilityAXValue
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXValue] -> ShowS
$cshowList :: [AccessibilityAXValue] -> ShowS
show :: AccessibilityAXValue -> String
$cshow :: AccessibilityAXValue -> String
showsPrec :: Int -> AccessibilityAXValue -> ShowS
$cshowsPrec :: Int -> AccessibilityAXValue -> ShowS
Show)
instance FromJSON AccessibilityAXValue where
  parseJSON :: Value -> Parser AccessibilityAXValue
parseJSON = String
-> (Object -> Parser AccessibilityAXValue)
-> Value
-> Parser AccessibilityAXValue
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityAXValue" ((Object -> Parser AccessibilityAXValue)
 -> Value -> Parser AccessibilityAXValue)
-> (Object -> Parser AccessibilityAXValue)
-> Value
-> Parser AccessibilityAXValue
forall a b. (a -> b) -> a -> b
$ \Object
o -> AccessibilityAXValueType
-> Maybe Value
-> Maybe [AccessibilityAXRelatedNode]
-> Maybe [AccessibilityAXValueSource]
-> AccessibilityAXValue
AccessibilityAXValue
    (AccessibilityAXValueType
 -> Maybe Value
 -> Maybe [AccessibilityAXRelatedNode]
 -> Maybe [AccessibilityAXValueSource]
 -> AccessibilityAXValue)
-> Parser AccessibilityAXValueType
-> Parser
     (Maybe Value
      -> Maybe [AccessibilityAXRelatedNode]
      -> Maybe [AccessibilityAXValueSource]
      -> AccessibilityAXValue)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AccessibilityAXValueType
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"type"
    Parser
  (Maybe Value
   -> Maybe [AccessibilityAXRelatedNode]
   -> Maybe [AccessibilityAXValueSource]
   -> AccessibilityAXValue)
-> Parser (Maybe Value)
-> Parser
     (Maybe [AccessibilityAXRelatedNode]
      -> Maybe [AccessibilityAXValueSource] -> AccessibilityAXValue)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe Value)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"value"
    Parser
  (Maybe [AccessibilityAXRelatedNode]
   -> Maybe [AccessibilityAXValueSource] -> AccessibilityAXValue)
-> Parser (Maybe [AccessibilityAXRelatedNode])
-> Parser
     (Maybe [AccessibilityAXValueSource] -> AccessibilityAXValue)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [AccessibilityAXRelatedNode])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"relatedNodes"
    Parser (Maybe [AccessibilityAXValueSource] -> AccessibilityAXValue)
-> Parser (Maybe [AccessibilityAXValueSource])
-> Parser AccessibilityAXValue
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [AccessibilityAXValueSource])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"sources"
instance ToJSON AccessibilityAXValue where
  toJSON :: AccessibilityAXValue -> Value
toJSON AccessibilityAXValue
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
"type" Text -> AccessibilityAXValueType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValueType -> Pair)
-> Maybe AccessibilityAXValueType -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AccessibilityAXValueType -> Maybe AccessibilityAXValueType
forall a. a -> Maybe a
Just (AccessibilityAXValue -> AccessibilityAXValueType
accessibilityAXValueType AccessibilityAXValue
p),
    (Text
"value" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (Value -> Pair) -> Maybe Value -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValue -> Maybe Value
accessibilityAXValueValue AccessibilityAXValue
p),
    (Text
"relatedNodes" Text -> [AccessibilityAXRelatedNode] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([AccessibilityAXRelatedNode] -> Pair)
-> Maybe [AccessibilityAXRelatedNode] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValue -> Maybe [AccessibilityAXRelatedNode]
accessibilityAXValueRelatedNodes AccessibilityAXValue
p),
    (Text
"sources" Text -> [AccessibilityAXValueSource] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([AccessibilityAXValueSource] -> Pair)
-> Maybe [AccessibilityAXValueSource] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXValue -> Maybe [AccessibilityAXValueSource]
accessibilityAXValueSources AccessibilityAXValue
p)
    ]

-- | Type 'Accessibility.AXPropertyName'.
--   Values of AXProperty name:
--   - from 'busy' to 'roledescription': states which apply to every AX node
--   - from 'live' to 'root': attributes which apply to nodes in live regions
--   - from 'autocomplete' to 'valuetext': attributes which apply to widgets
--   - from 'checked' to 'selected': states which apply to widgets
--   - from 'activedescendant' to 'owns' - relationships between elements other than parent/child/sibling.
data AccessibilityAXPropertyName = AccessibilityAXPropertyNameBusy | AccessibilityAXPropertyNameDisabled | AccessibilityAXPropertyNameEditable | AccessibilityAXPropertyNameFocusable | AccessibilityAXPropertyNameFocused | AccessibilityAXPropertyNameHidden | AccessibilityAXPropertyNameHiddenRoot | AccessibilityAXPropertyNameInvalid | AccessibilityAXPropertyNameKeyshortcuts | AccessibilityAXPropertyNameSettable | AccessibilityAXPropertyNameRoledescription | AccessibilityAXPropertyNameLive | AccessibilityAXPropertyNameAtomic | AccessibilityAXPropertyNameRelevant | AccessibilityAXPropertyNameRoot | AccessibilityAXPropertyNameAutocomplete | AccessibilityAXPropertyNameHasPopup | AccessibilityAXPropertyNameLevel | AccessibilityAXPropertyNameMultiselectable | AccessibilityAXPropertyNameOrientation | AccessibilityAXPropertyNameMultiline | AccessibilityAXPropertyNameReadonly | AccessibilityAXPropertyNameRequired | AccessibilityAXPropertyNameValuemin | AccessibilityAXPropertyNameValuemax | AccessibilityAXPropertyNameValuetext | AccessibilityAXPropertyNameChecked | AccessibilityAXPropertyNameExpanded | AccessibilityAXPropertyNameModal | AccessibilityAXPropertyNamePressed | AccessibilityAXPropertyNameSelected | AccessibilityAXPropertyNameActivedescendant | AccessibilityAXPropertyNameControls | AccessibilityAXPropertyNameDescribedby | AccessibilityAXPropertyNameDetails | AccessibilityAXPropertyNameErrormessage | AccessibilityAXPropertyNameFlowto | AccessibilityAXPropertyNameLabelledby | AccessibilityAXPropertyNameOwns
  deriving (Eq AccessibilityAXPropertyName
Eq AccessibilityAXPropertyName
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> Ordering)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> Bool)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> Bool)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> Bool)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> Bool)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> AccessibilityAXPropertyName)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> AccessibilityAXPropertyName)
-> Ord AccessibilityAXPropertyName
AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> Ordering
AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> AccessibilityAXPropertyName
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 :: AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> AccessibilityAXPropertyName
$cmin :: AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> AccessibilityAXPropertyName
max :: AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> AccessibilityAXPropertyName
$cmax :: AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> AccessibilityAXPropertyName
>= :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
$c>= :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
> :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
$c> :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
<= :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
$c<= :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
< :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
$c< :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
compare :: AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> Ordering
$ccompare :: AccessibilityAXPropertyName
-> AccessibilityAXPropertyName -> Ordering
$cp1Ord :: Eq AccessibilityAXPropertyName
Ord, AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
(AccessibilityAXPropertyName
 -> AccessibilityAXPropertyName -> Bool)
-> (AccessibilityAXPropertyName
    -> AccessibilityAXPropertyName -> Bool)
-> Eq AccessibilityAXPropertyName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
$c/= :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
== :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
$c== :: AccessibilityAXPropertyName -> AccessibilityAXPropertyName -> Bool
Eq, Int -> AccessibilityAXPropertyName -> ShowS
[AccessibilityAXPropertyName] -> ShowS
AccessibilityAXPropertyName -> String
(Int -> AccessibilityAXPropertyName -> ShowS)
-> (AccessibilityAXPropertyName -> String)
-> ([AccessibilityAXPropertyName] -> ShowS)
-> Show AccessibilityAXPropertyName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXPropertyName] -> ShowS
$cshowList :: [AccessibilityAXPropertyName] -> ShowS
show :: AccessibilityAXPropertyName -> String
$cshow :: AccessibilityAXPropertyName -> String
showsPrec :: Int -> AccessibilityAXPropertyName -> ShowS
$cshowsPrec :: Int -> AccessibilityAXPropertyName -> ShowS
Show, ReadPrec [AccessibilityAXPropertyName]
ReadPrec AccessibilityAXPropertyName
Int -> ReadS AccessibilityAXPropertyName
ReadS [AccessibilityAXPropertyName]
(Int -> ReadS AccessibilityAXPropertyName)
-> ReadS [AccessibilityAXPropertyName]
-> ReadPrec AccessibilityAXPropertyName
-> ReadPrec [AccessibilityAXPropertyName]
-> Read AccessibilityAXPropertyName
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AccessibilityAXPropertyName]
$creadListPrec :: ReadPrec [AccessibilityAXPropertyName]
readPrec :: ReadPrec AccessibilityAXPropertyName
$creadPrec :: ReadPrec AccessibilityAXPropertyName
readList :: ReadS [AccessibilityAXPropertyName]
$creadList :: ReadS [AccessibilityAXPropertyName]
readsPrec :: Int -> ReadS AccessibilityAXPropertyName
$creadsPrec :: Int -> ReadS AccessibilityAXPropertyName
Read)
instance FromJSON AccessibilityAXPropertyName where
  parseJSON :: Value -> Parser AccessibilityAXPropertyName
parseJSON = String
-> (Text -> Parser AccessibilityAXPropertyName)
-> Value
-> Parser AccessibilityAXPropertyName
forall a. String -> (Text -> Parser a) -> Value -> Parser a
A.withText String
"AccessibilityAXPropertyName" ((Text -> Parser AccessibilityAXPropertyName)
 -> Value -> Parser AccessibilityAXPropertyName)
-> (Text -> Parser AccessibilityAXPropertyName)
-> Value
-> Parser AccessibilityAXPropertyName
forall a b. (a -> b) -> a -> b
$ \Text
v -> case Text
v of
    Text
"busy" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameBusy
    Text
"disabled" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameDisabled
    Text
"editable" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameEditable
    Text
"focusable" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameFocusable
    Text
"focused" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameFocused
    Text
"hidden" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameHidden
    Text
"hiddenRoot" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameHiddenRoot
    Text
"invalid" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameInvalid
    Text
"keyshortcuts" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameKeyshortcuts
    Text
"settable" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameSettable
    Text
"roledescription" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameRoledescription
    Text
"live" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameLive
    Text
"atomic" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameAtomic
    Text
"relevant" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameRelevant
    Text
"root" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameRoot
    Text
"autocomplete" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameAutocomplete
    Text
"hasPopup" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameHasPopup
    Text
"level" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameLevel
    Text
"multiselectable" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameMultiselectable
    Text
"orientation" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameOrientation
    Text
"multiline" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameMultiline
    Text
"readonly" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameReadonly
    Text
"required" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameRequired
    Text
"valuemin" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameValuemin
    Text
"valuemax" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameValuemax
    Text
"valuetext" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameValuetext
    Text
"checked" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameChecked
    Text
"expanded" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameExpanded
    Text
"modal" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameModal
    Text
"pressed" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNamePressed
    Text
"selected" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameSelected
    Text
"activedescendant" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameActivedescendant
    Text
"controls" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameControls
    Text
"describedby" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameDescribedby
    Text
"details" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameDetails
    Text
"errormessage" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameErrormessage
    Text
"flowto" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameFlowto
    Text
"labelledby" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameLabelledby
    Text
"owns" -> AccessibilityAXPropertyName -> Parser AccessibilityAXPropertyName
forall (f :: * -> *) a. Applicative f => a -> f a
pure AccessibilityAXPropertyName
AccessibilityAXPropertyNameOwns
    Text
"_" -> String -> Parser AccessibilityAXPropertyName
forall (m :: * -> *) a. MonadFail m => String -> m a
fail String
"failed to parse AccessibilityAXPropertyName"
instance ToJSON AccessibilityAXPropertyName where
  toJSON :: AccessibilityAXPropertyName -> Value
toJSON AccessibilityAXPropertyName
v = Text -> Value
A.String (Text -> Value) -> Text -> Value
forall a b. (a -> b) -> a -> b
$ case AccessibilityAXPropertyName
v of
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameBusy -> Text
"busy"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameDisabled -> Text
"disabled"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameEditable -> Text
"editable"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameFocusable -> Text
"focusable"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameFocused -> Text
"focused"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameHidden -> Text
"hidden"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameHiddenRoot -> Text
"hiddenRoot"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameInvalid -> Text
"invalid"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameKeyshortcuts -> Text
"keyshortcuts"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameSettable -> Text
"settable"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameRoledescription -> Text
"roledescription"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameLive -> Text
"live"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameAtomic -> Text
"atomic"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameRelevant -> Text
"relevant"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameRoot -> Text
"root"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameAutocomplete -> Text
"autocomplete"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameHasPopup -> Text
"hasPopup"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameLevel -> Text
"level"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameMultiselectable -> Text
"multiselectable"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameOrientation -> Text
"orientation"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameMultiline -> Text
"multiline"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameReadonly -> Text
"readonly"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameRequired -> Text
"required"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameValuemin -> Text
"valuemin"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameValuemax -> Text
"valuemax"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameValuetext -> Text
"valuetext"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameChecked -> Text
"checked"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameExpanded -> Text
"expanded"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameModal -> Text
"modal"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNamePressed -> Text
"pressed"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameSelected -> Text
"selected"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameActivedescendant -> Text
"activedescendant"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameControls -> Text
"controls"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameDescribedby -> Text
"describedby"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameDetails -> Text
"details"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameErrormessage -> Text
"errormessage"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameFlowto -> Text
"flowto"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameLabelledby -> Text
"labelledby"
    AccessibilityAXPropertyName
AccessibilityAXPropertyNameOwns -> Text
"owns"

-- | Type 'Accessibility.AXNode'.
--   A node in the accessibility tree.
data AccessibilityAXNode = AccessibilityAXNode
  {
    -- | Unique identifier for this node.
    AccessibilityAXNode -> Text
accessibilityAXNodeNodeId :: AccessibilityAXNodeId,
    -- | Whether this node is ignored for accessibility
    AccessibilityAXNode -> Bool
accessibilityAXNodeIgnored :: Bool,
    -- | Collection of reasons why this node is hidden.
    AccessibilityAXNode -> Maybe [AccessibilityAXProperty]
accessibilityAXNodeIgnoredReasons :: Maybe [AccessibilityAXProperty],
    -- | This `Node`'s role, whether explicit or implicit.
    AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeRole :: Maybe AccessibilityAXValue,
    -- | This `Node`'s Chrome raw role.
    AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeChromeRole :: Maybe AccessibilityAXValue,
    -- | The accessible name for this `Node`.
    AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeName :: Maybe AccessibilityAXValue,
    -- | The accessible description for this `Node`.
    AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeDescription :: Maybe AccessibilityAXValue,
    -- | The value for this `Node`.
    AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeValue :: Maybe AccessibilityAXValue,
    -- | All other properties
    AccessibilityAXNode -> Maybe [AccessibilityAXProperty]
accessibilityAXNodeProperties :: Maybe [AccessibilityAXProperty],
    -- | ID for this node's parent.
    AccessibilityAXNode -> Maybe Text
accessibilityAXNodeParentId :: Maybe AccessibilityAXNodeId,
    -- | IDs for each of this node's child nodes.
    AccessibilityAXNode -> Maybe [Text]
accessibilityAXNodeChildIds :: Maybe [AccessibilityAXNodeId],
    -- | The backend ID for the associated DOM node, if any.
    AccessibilityAXNode -> Maybe Int
accessibilityAXNodeBackendDOMNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    -- | The frame ID for the frame associated with this nodes document.
    AccessibilityAXNode -> Maybe Text
accessibilityAXNodeFrameId :: Maybe DOMPageNetworkEmulationSecurity.PageFrameId
  }
  deriving (AccessibilityAXNode -> AccessibilityAXNode -> Bool
(AccessibilityAXNode -> AccessibilityAXNode -> Bool)
-> (AccessibilityAXNode -> AccessibilityAXNode -> Bool)
-> Eq AccessibilityAXNode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityAXNode -> AccessibilityAXNode -> Bool
$c/= :: AccessibilityAXNode -> AccessibilityAXNode -> Bool
== :: AccessibilityAXNode -> AccessibilityAXNode -> Bool
$c== :: AccessibilityAXNode -> AccessibilityAXNode -> Bool
Eq, Int -> AccessibilityAXNode -> ShowS
[AccessibilityAXNode] -> ShowS
AccessibilityAXNode -> String
(Int -> AccessibilityAXNode -> ShowS)
-> (AccessibilityAXNode -> String)
-> ([AccessibilityAXNode] -> ShowS)
-> Show AccessibilityAXNode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityAXNode] -> ShowS
$cshowList :: [AccessibilityAXNode] -> ShowS
show :: AccessibilityAXNode -> String
$cshow :: AccessibilityAXNode -> String
showsPrec :: Int -> AccessibilityAXNode -> ShowS
$cshowsPrec :: Int -> AccessibilityAXNode -> ShowS
Show)
instance FromJSON AccessibilityAXNode where
  parseJSON :: Value -> Parser AccessibilityAXNode
parseJSON = String
-> (Object -> Parser AccessibilityAXNode)
-> Value
-> Parser AccessibilityAXNode
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityAXNode" ((Object -> Parser AccessibilityAXNode)
 -> Value -> Parser AccessibilityAXNode)
-> (Object -> Parser AccessibilityAXNode)
-> Value
-> Parser AccessibilityAXNode
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text
-> Bool
-> Maybe [AccessibilityAXProperty]
-> Maybe AccessibilityAXValue
-> Maybe AccessibilityAXValue
-> Maybe AccessibilityAXValue
-> Maybe AccessibilityAXValue
-> Maybe AccessibilityAXValue
-> Maybe [AccessibilityAXProperty]
-> Maybe Text
-> Maybe [Text]
-> Maybe Int
-> Maybe Text
-> AccessibilityAXNode
AccessibilityAXNode
    (Text
 -> Bool
 -> Maybe [AccessibilityAXProperty]
 -> Maybe AccessibilityAXValue
 -> Maybe AccessibilityAXValue
 -> Maybe AccessibilityAXValue
 -> Maybe AccessibilityAXValue
 -> Maybe AccessibilityAXValue
 -> Maybe [AccessibilityAXProperty]
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Int
 -> Maybe Text
 -> AccessibilityAXNode)
-> Parser Text
-> Parser
     (Bool
      -> Maybe [AccessibilityAXProperty]
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
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
"nodeId"
    Parser
  (Bool
   -> Maybe [AccessibilityAXProperty]
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser Bool
-> Parser
     (Maybe [AccessibilityAXProperty]
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
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
"ignored"
    Parser
  (Maybe [AccessibilityAXProperty]
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe [AccessibilityAXProperty])
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [AccessibilityAXProperty])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"ignoredReasons"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"role"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"chromeRole"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"name"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe AccessibilityAXValue
      -> Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"description"
    Parser
  (Maybe AccessibilityAXValue
   -> Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe AccessibilityAXValue)
-> Parser
     (Maybe [AccessibilityAXProperty]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Int
      -> Maybe Text
      -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe AccessibilityAXValue)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"value"
    Parser
  (Maybe [AccessibilityAXProperty]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Int
   -> Maybe Text
   -> AccessibilityAXNode)
-> Parser (Maybe [AccessibilityAXProperty])
-> Parser
     (Maybe Text
      -> Maybe [Text] -> Maybe Int -> Maybe Text -> AccessibilityAXNode)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Text -> Parser (Maybe [AccessibilityAXProperty])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
A..:? Text
"properties"
    Parser
  (Maybe Text
   -> Maybe [Text] -> Maybe Int -> Maybe Text -> AccessibilityAXNode)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text] -> Maybe Int -> Maybe Text -> AccessibilityAXNode)
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
"parentId"
    Parser
  (Maybe [Text] -> Maybe Int -> Maybe Text -> AccessibilityAXNode)
-> Parser (Maybe [Text])
-> Parser (Maybe Int -> Maybe Text -> AccessibilityAXNode)
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
"childIds"
    Parser (Maybe Int -> Maybe Text -> AccessibilityAXNode)
-> Parser (Maybe Int) -> Parser (Maybe Text -> AccessibilityAXNode)
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
"backendDOMNodeId"
    Parser (Maybe Text -> AccessibilityAXNode)
-> Parser (Maybe Text) -> Parser AccessibilityAXNode
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 AccessibilityAXNode where
  toJSON :: AccessibilityAXNode -> Value
toJSON AccessibilityAXNode
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
"nodeId" 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 (AccessibilityAXNode -> Text
accessibilityAXNodeNodeId AccessibilityAXNode
p),
    (Text
"ignored" 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 (AccessibilityAXNode -> Bool
accessibilityAXNodeIgnored AccessibilityAXNode
p),
    (Text
"ignoredReasons" Text -> [AccessibilityAXProperty] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([AccessibilityAXProperty] -> Pair)
-> Maybe [AccessibilityAXProperty] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe [AccessibilityAXProperty]
accessibilityAXNodeIgnoredReasons AccessibilityAXNode
p),
    (Text
"role" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeRole AccessibilityAXNode
p),
    (Text
"chromeRole" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeChromeRole AccessibilityAXNode
p),
    (Text
"name" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeName AccessibilityAXNode
p),
    (Text
"description" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeDescription AccessibilityAXNode
p),
    (Text
"value" Text -> AccessibilityAXValue -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) (AccessibilityAXValue -> Pair)
-> Maybe AccessibilityAXValue -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe AccessibilityAXValue
accessibilityAXNodeValue AccessibilityAXNode
p),
    (Text
"properties" Text -> [AccessibilityAXProperty] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
A..=) ([AccessibilityAXProperty] -> Pair)
-> Maybe [AccessibilityAXProperty] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (AccessibilityAXNode -> Maybe [AccessibilityAXProperty]
accessibilityAXNodeProperties AccessibilityAXNode
p),
    (Text
"parentId" 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
<$> (AccessibilityAXNode -> Maybe Text
accessibilityAXNodeParentId AccessibilityAXNode
p),
    (Text
"childIds" 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
<$> (AccessibilityAXNode -> Maybe [Text]
accessibilityAXNodeChildIds AccessibilityAXNode
p),
    (Text
"backendDOMNodeId" 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
<$> (AccessibilityAXNode -> Maybe Int
accessibilityAXNodeBackendDOMNodeId AccessibilityAXNode
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
<$> (AccessibilityAXNode -> Maybe Text
accessibilityAXNodeFrameId AccessibilityAXNode
p)
    ]

-- | Type of the 'Accessibility.loadComplete' event.
data AccessibilityLoadComplete = AccessibilityLoadComplete
  {
    -- | New document root node.
    AccessibilityLoadComplete -> AccessibilityAXNode
accessibilityLoadCompleteRoot :: AccessibilityAXNode
  }
  deriving (AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool
(AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool)
-> (AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool)
-> Eq AccessibilityLoadComplete
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool
$c/= :: AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool
== :: AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool
$c== :: AccessibilityLoadComplete -> AccessibilityLoadComplete -> Bool
Eq, Int -> AccessibilityLoadComplete -> ShowS
[AccessibilityLoadComplete] -> ShowS
AccessibilityLoadComplete -> String
(Int -> AccessibilityLoadComplete -> ShowS)
-> (AccessibilityLoadComplete -> String)
-> ([AccessibilityLoadComplete] -> ShowS)
-> Show AccessibilityLoadComplete
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityLoadComplete] -> ShowS
$cshowList :: [AccessibilityLoadComplete] -> ShowS
show :: AccessibilityLoadComplete -> String
$cshow :: AccessibilityLoadComplete -> String
showsPrec :: Int -> AccessibilityLoadComplete -> ShowS
$cshowsPrec :: Int -> AccessibilityLoadComplete -> ShowS
Show)
instance FromJSON AccessibilityLoadComplete where
  parseJSON :: Value -> Parser AccessibilityLoadComplete
parseJSON = String
-> (Object -> Parser AccessibilityLoadComplete)
-> Value
-> Parser AccessibilityLoadComplete
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityLoadComplete" ((Object -> Parser AccessibilityLoadComplete)
 -> Value -> Parser AccessibilityLoadComplete)
-> (Object -> Parser AccessibilityLoadComplete)
-> Value
-> Parser AccessibilityLoadComplete
forall a b. (a -> b) -> a -> b
$ \Object
o -> AccessibilityAXNode -> AccessibilityLoadComplete
AccessibilityLoadComplete
    (AccessibilityAXNode -> AccessibilityLoadComplete)
-> Parser AccessibilityAXNode -> Parser AccessibilityLoadComplete
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AccessibilityAXNode
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"root"
instance Event AccessibilityLoadComplete where
  eventName :: Proxy AccessibilityLoadComplete -> String
eventName Proxy AccessibilityLoadComplete
_ = String
"Accessibility.loadComplete"

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

-- | Disables the accessibility domain.

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

-- | Enables the accessibility domain which causes `AXNodeId`s to remain consistent between method calls.
--   This turns on accessibility for the page, which can impact performance until accessibility is disabled.

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

-- | Fetches the accessibility node and partial accessibility tree for this DOM node, if it exists.

-- | Parameters of the 'Accessibility.getPartialAXTree' command.
data PAccessibilityGetPartialAXTree = PAccessibilityGetPartialAXTree
  {
    -- | Identifier of the node to get the partial accessibility tree for.
    PAccessibilityGetPartialAXTree -> Maybe Int
pAccessibilityGetPartialAXTreeNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMNodeId,
    -- | Identifier of the backend node to get the partial accessibility tree for.
    PAccessibilityGetPartialAXTree -> Maybe Int
pAccessibilityGetPartialAXTreeBackendNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    -- | JavaScript object id of the node wrapper to get the partial accessibility tree for.
    PAccessibilityGetPartialAXTree -> Maybe Text
pAccessibilityGetPartialAXTreeObjectId :: Maybe Runtime.RuntimeRemoteObjectId,
    -- | Whether to fetch this nodes ancestors, siblings and children. Defaults to true.
    PAccessibilityGetPartialAXTree -> Maybe Bool
pAccessibilityGetPartialAXTreeFetchRelatives :: Maybe Bool
  }
  deriving (PAccessibilityGetPartialAXTree
-> PAccessibilityGetPartialAXTree -> Bool
(PAccessibilityGetPartialAXTree
 -> PAccessibilityGetPartialAXTree -> Bool)
-> (PAccessibilityGetPartialAXTree
    -> PAccessibilityGetPartialAXTree -> Bool)
-> Eq PAccessibilityGetPartialAXTree
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAccessibilityGetPartialAXTree
-> PAccessibilityGetPartialAXTree -> Bool
$c/= :: PAccessibilityGetPartialAXTree
-> PAccessibilityGetPartialAXTree -> Bool
== :: PAccessibilityGetPartialAXTree
-> PAccessibilityGetPartialAXTree -> Bool
$c== :: PAccessibilityGetPartialAXTree
-> PAccessibilityGetPartialAXTree -> Bool
Eq, Int -> PAccessibilityGetPartialAXTree -> ShowS
[PAccessibilityGetPartialAXTree] -> ShowS
PAccessibilityGetPartialAXTree -> String
(Int -> PAccessibilityGetPartialAXTree -> ShowS)
-> (PAccessibilityGetPartialAXTree -> String)
-> ([PAccessibilityGetPartialAXTree] -> ShowS)
-> Show PAccessibilityGetPartialAXTree
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAccessibilityGetPartialAXTree] -> ShowS
$cshowList :: [PAccessibilityGetPartialAXTree] -> ShowS
show :: PAccessibilityGetPartialAXTree -> String
$cshow :: PAccessibilityGetPartialAXTree -> String
showsPrec :: Int -> PAccessibilityGetPartialAXTree -> ShowS
$cshowsPrec :: Int -> PAccessibilityGetPartialAXTree -> ShowS
Show)
pAccessibilityGetPartialAXTree
  :: PAccessibilityGetPartialAXTree
pAccessibilityGetPartialAXTree :: PAccessibilityGetPartialAXTree
pAccessibilityGetPartialAXTree
  = Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Bool
-> PAccessibilityGetPartialAXTree
PAccessibilityGetPartialAXTree
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Text
forall a. Maybe a
Nothing
    Maybe Bool
forall a. Maybe a
Nothing
instance ToJSON PAccessibilityGetPartialAXTree where
  toJSON :: PAccessibilityGetPartialAXTree -> Value
toJSON PAccessibilityGetPartialAXTree
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
"nodeId" 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
<$> (PAccessibilityGetPartialAXTree -> Maybe Int
pAccessibilityGetPartialAXTreeNodeId PAccessibilityGetPartialAXTree
p),
    (Text
"backendNodeId" 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
<$> (PAccessibilityGetPartialAXTree -> Maybe Int
pAccessibilityGetPartialAXTreeBackendNodeId PAccessibilityGetPartialAXTree
p),
    (Text
"objectId" 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
<$> (PAccessibilityGetPartialAXTree -> Maybe Text
pAccessibilityGetPartialAXTreeObjectId PAccessibilityGetPartialAXTree
p),
    (Text
"fetchRelatives" 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
<$> (PAccessibilityGetPartialAXTree -> Maybe Bool
pAccessibilityGetPartialAXTreeFetchRelatives PAccessibilityGetPartialAXTree
p)
    ]
data AccessibilityGetPartialAXTree = AccessibilityGetPartialAXTree
  {
    -- | The `Accessibility.AXNode` for this DOM node, if it exists, plus its ancestors, siblings and
    --   children, if requested.
    AccessibilityGetPartialAXTree -> [AccessibilityAXNode]
accessibilityGetPartialAXTreeNodes :: [AccessibilityAXNode]
  }
  deriving (AccessibilityGetPartialAXTree
-> AccessibilityGetPartialAXTree -> Bool
(AccessibilityGetPartialAXTree
 -> AccessibilityGetPartialAXTree -> Bool)
-> (AccessibilityGetPartialAXTree
    -> AccessibilityGetPartialAXTree -> Bool)
-> Eq AccessibilityGetPartialAXTree
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityGetPartialAXTree
-> AccessibilityGetPartialAXTree -> Bool
$c/= :: AccessibilityGetPartialAXTree
-> AccessibilityGetPartialAXTree -> Bool
== :: AccessibilityGetPartialAXTree
-> AccessibilityGetPartialAXTree -> Bool
$c== :: AccessibilityGetPartialAXTree
-> AccessibilityGetPartialAXTree -> Bool
Eq, Int -> AccessibilityGetPartialAXTree -> ShowS
[AccessibilityGetPartialAXTree] -> ShowS
AccessibilityGetPartialAXTree -> String
(Int -> AccessibilityGetPartialAXTree -> ShowS)
-> (AccessibilityGetPartialAXTree -> String)
-> ([AccessibilityGetPartialAXTree] -> ShowS)
-> Show AccessibilityGetPartialAXTree
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityGetPartialAXTree] -> ShowS
$cshowList :: [AccessibilityGetPartialAXTree] -> ShowS
show :: AccessibilityGetPartialAXTree -> String
$cshow :: AccessibilityGetPartialAXTree -> String
showsPrec :: Int -> AccessibilityGetPartialAXTree -> ShowS
$cshowsPrec :: Int -> AccessibilityGetPartialAXTree -> ShowS
Show)
instance FromJSON AccessibilityGetPartialAXTree where
  parseJSON :: Value -> Parser AccessibilityGetPartialAXTree
parseJSON = String
-> (Object -> Parser AccessibilityGetPartialAXTree)
-> Value
-> Parser AccessibilityGetPartialAXTree
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityGetPartialAXTree" ((Object -> Parser AccessibilityGetPartialAXTree)
 -> Value -> Parser AccessibilityGetPartialAXTree)
-> (Object -> Parser AccessibilityGetPartialAXTree)
-> Value
-> Parser AccessibilityGetPartialAXTree
forall a b. (a -> b) -> a -> b
$ \Object
o -> [AccessibilityAXNode] -> AccessibilityGetPartialAXTree
AccessibilityGetPartialAXTree
    ([AccessibilityAXNode] -> AccessibilityGetPartialAXTree)
-> Parser [AccessibilityAXNode]
-> Parser AccessibilityGetPartialAXTree
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [AccessibilityAXNode]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"nodes"
instance Command PAccessibilityGetPartialAXTree where
  type CommandResponse PAccessibilityGetPartialAXTree = AccessibilityGetPartialAXTree
  commandName :: Proxy PAccessibilityGetPartialAXTree -> String
commandName Proxy PAccessibilityGetPartialAXTree
_ = String
"Accessibility.getPartialAXTree"

-- | Fetches the entire accessibility tree for the root Document

-- | Parameters of the 'Accessibility.getFullAXTree' command.
data PAccessibilityGetFullAXTree = PAccessibilityGetFullAXTree
  {
    -- | The maximum depth at which descendants of the root node should be retrieved.
    --   If omitted, the full tree is returned.
    PAccessibilityGetFullAXTree -> Maybe Int
pAccessibilityGetFullAXTreeDepth :: Maybe Int,
    -- | The frame for whose document the AX tree should be retrieved.
    --   If omited, the root frame is used.
    PAccessibilityGetFullAXTree -> Maybe Text
pAccessibilityGetFullAXTreeFrameId :: Maybe DOMPageNetworkEmulationSecurity.PageFrameId
  }
  deriving (PAccessibilityGetFullAXTree -> PAccessibilityGetFullAXTree -> Bool
(PAccessibilityGetFullAXTree
 -> PAccessibilityGetFullAXTree -> Bool)
-> (PAccessibilityGetFullAXTree
    -> PAccessibilityGetFullAXTree -> Bool)
-> Eq PAccessibilityGetFullAXTree
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAccessibilityGetFullAXTree -> PAccessibilityGetFullAXTree -> Bool
$c/= :: PAccessibilityGetFullAXTree -> PAccessibilityGetFullAXTree -> Bool
== :: PAccessibilityGetFullAXTree -> PAccessibilityGetFullAXTree -> Bool
$c== :: PAccessibilityGetFullAXTree -> PAccessibilityGetFullAXTree -> Bool
Eq, Int -> PAccessibilityGetFullAXTree -> ShowS
[PAccessibilityGetFullAXTree] -> ShowS
PAccessibilityGetFullAXTree -> String
(Int -> PAccessibilityGetFullAXTree -> ShowS)
-> (PAccessibilityGetFullAXTree -> String)
-> ([PAccessibilityGetFullAXTree] -> ShowS)
-> Show PAccessibilityGetFullAXTree
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAccessibilityGetFullAXTree] -> ShowS
$cshowList :: [PAccessibilityGetFullAXTree] -> ShowS
show :: PAccessibilityGetFullAXTree -> String
$cshow :: PAccessibilityGetFullAXTree -> String
showsPrec :: Int -> PAccessibilityGetFullAXTree -> ShowS
$cshowsPrec :: Int -> PAccessibilityGetFullAXTree -> ShowS
Show)
pAccessibilityGetFullAXTree
  :: PAccessibilityGetFullAXTree
pAccessibilityGetFullAXTree :: PAccessibilityGetFullAXTree
pAccessibilityGetFullAXTree
  = Maybe Int -> Maybe Text -> PAccessibilityGetFullAXTree
PAccessibilityGetFullAXTree
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Text
forall a. Maybe a
Nothing
instance ToJSON PAccessibilityGetFullAXTree where
  toJSON :: PAccessibilityGetFullAXTree -> Value
toJSON PAccessibilityGetFullAXTree
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
"depth" 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
<$> (PAccessibilityGetFullAXTree -> Maybe Int
pAccessibilityGetFullAXTreeDepth PAccessibilityGetFullAXTree
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
<$> (PAccessibilityGetFullAXTree -> Maybe Text
pAccessibilityGetFullAXTreeFrameId PAccessibilityGetFullAXTree
p)
    ]
data AccessibilityGetFullAXTree = AccessibilityGetFullAXTree
  {
    AccessibilityGetFullAXTree -> [AccessibilityAXNode]
accessibilityGetFullAXTreeNodes :: [AccessibilityAXNode]
  }
  deriving (AccessibilityGetFullAXTree -> AccessibilityGetFullAXTree -> Bool
(AccessibilityGetFullAXTree -> AccessibilityGetFullAXTree -> Bool)
-> (AccessibilityGetFullAXTree
    -> AccessibilityGetFullAXTree -> Bool)
-> Eq AccessibilityGetFullAXTree
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityGetFullAXTree -> AccessibilityGetFullAXTree -> Bool
$c/= :: AccessibilityGetFullAXTree -> AccessibilityGetFullAXTree -> Bool
== :: AccessibilityGetFullAXTree -> AccessibilityGetFullAXTree -> Bool
$c== :: AccessibilityGetFullAXTree -> AccessibilityGetFullAXTree -> Bool
Eq, Int -> AccessibilityGetFullAXTree -> ShowS
[AccessibilityGetFullAXTree] -> ShowS
AccessibilityGetFullAXTree -> String
(Int -> AccessibilityGetFullAXTree -> ShowS)
-> (AccessibilityGetFullAXTree -> String)
-> ([AccessibilityGetFullAXTree] -> ShowS)
-> Show AccessibilityGetFullAXTree
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityGetFullAXTree] -> ShowS
$cshowList :: [AccessibilityGetFullAXTree] -> ShowS
show :: AccessibilityGetFullAXTree -> String
$cshow :: AccessibilityGetFullAXTree -> String
showsPrec :: Int -> AccessibilityGetFullAXTree -> ShowS
$cshowsPrec :: Int -> AccessibilityGetFullAXTree -> ShowS
Show)
instance FromJSON AccessibilityGetFullAXTree where
  parseJSON :: Value -> Parser AccessibilityGetFullAXTree
parseJSON = String
-> (Object -> Parser AccessibilityGetFullAXTree)
-> Value
-> Parser AccessibilityGetFullAXTree
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityGetFullAXTree" ((Object -> Parser AccessibilityGetFullAXTree)
 -> Value -> Parser AccessibilityGetFullAXTree)
-> (Object -> Parser AccessibilityGetFullAXTree)
-> Value
-> Parser AccessibilityGetFullAXTree
forall a b. (a -> b) -> a -> b
$ \Object
o -> [AccessibilityAXNode] -> AccessibilityGetFullAXTree
AccessibilityGetFullAXTree
    ([AccessibilityAXNode] -> AccessibilityGetFullAXTree)
-> Parser [AccessibilityAXNode]
-> Parser AccessibilityGetFullAXTree
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [AccessibilityAXNode]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"nodes"
instance Command PAccessibilityGetFullAXTree where
  type CommandResponse PAccessibilityGetFullAXTree = AccessibilityGetFullAXTree
  commandName :: Proxy PAccessibilityGetFullAXTree -> String
commandName Proxy PAccessibilityGetFullAXTree
_ = String
"Accessibility.getFullAXTree"

-- | Fetches the root node.
--   Requires `enable()` to have been called previously.

-- | Parameters of the 'Accessibility.getRootAXNode' command.
data PAccessibilityGetRootAXNode = PAccessibilityGetRootAXNode
  {
    -- | The frame in whose document the node resides.
    --   If omitted, the root frame is used.
    PAccessibilityGetRootAXNode -> Maybe Text
pAccessibilityGetRootAXNodeFrameId :: Maybe DOMPageNetworkEmulationSecurity.PageFrameId
  }
  deriving (PAccessibilityGetRootAXNode -> PAccessibilityGetRootAXNode -> Bool
(PAccessibilityGetRootAXNode
 -> PAccessibilityGetRootAXNode -> Bool)
-> (PAccessibilityGetRootAXNode
    -> PAccessibilityGetRootAXNode -> Bool)
-> Eq PAccessibilityGetRootAXNode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAccessibilityGetRootAXNode -> PAccessibilityGetRootAXNode -> Bool
$c/= :: PAccessibilityGetRootAXNode -> PAccessibilityGetRootAXNode -> Bool
== :: PAccessibilityGetRootAXNode -> PAccessibilityGetRootAXNode -> Bool
$c== :: PAccessibilityGetRootAXNode -> PAccessibilityGetRootAXNode -> Bool
Eq, Int -> PAccessibilityGetRootAXNode -> ShowS
[PAccessibilityGetRootAXNode] -> ShowS
PAccessibilityGetRootAXNode -> String
(Int -> PAccessibilityGetRootAXNode -> ShowS)
-> (PAccessibilityGetRootAXNode -> String)
-> ([PAccessibilityGetRootAXNode] -> ShowS)
-> Show PAccessibilityGetRootAXNode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAccessibilityGetRootAXNode] -> ShowS
$cshowList :: [PAccessibilityGetRootAXNode] -> ShowS
show :: PAccessibilityGetRootAXNode -> String
$cshow :: PAccessibilityGetRootAXNode -> String
showsPrec :: Int -> PAccessibilityGetRootAXNode -> ShowS
$cshowsPrec :: Int -> PAccessibilityGetRootAXNode -> ShowS
Show)
pAccessibilityGetRootAXNode
  :: PAccessibilityGetRootAXNode
pAccessibilityGetRootAXNode :: PAccessibilityGetRootAXNode
pAccessibilityGetRootAXNode
  = Maybe Text -> PAccessibilityGetRootAXNode
PAccessibilityGetRootAXNode
    Maybe Text
forall a. Maybe a
Nothing
instance ToJSON PAccessibilityGetRootAXNode where
  toJSON :: PAccessibilityGetRootAXNode -> Value
toJSON PAccessibilityGetRootAXNode
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
<$> (PAccessibilityGetRootAXNode -> Maybe Text
pAccessibilityGetRootAXNodeFrameId PAccessibilityGetRootAXNode
p)
    ]
data AccessibilityGetRootAXNode = AccessibilityGetRootAXNode
  {
    AccessibilityGetRootAXNode -> AccessibilityAXNode
accessibilityGetRootAXNodeNode :: AccessibilityAXNode
  }
  deriving (AccessibilityGetRootAXNode -> AccessibilityGetRootAXNode -> Bool
(AccessibilityGetRootAXNode -> AccessibilityGetRootAXNode -> Bool)
-> (AccessibilityGetRootAXNode
    -> AccessibilityGetRootAXNode -> Bool)
-> Eq AccessibilityGetRootAXNode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityGetRootAXNode -> AccessibilityGetRootAXNode -> Bool
$c/= :: AccessibilityGetRootAXNode -> AccessibilityGetRootAXNode -> Bool
== :: AccessibilityGetRootAXNode -> AccessibilityGetRootAXNode -> Bool
$c== :: AccessibilityGetRootAXNode -> AccessibilityGetRootAXNode -> Bool
Eq, Int -> AccessibilityGetRootAXNode -> ShowS
[AccessibilityGetRootAXNode] -> ShowS
AccessibilityGetRootAXNode -> String
(Int -> AccessibilityGetRootAXNode -> ShowS)
-> (AccessibilityGetRootAXNode -> String)
-> ([AccessibilityGetRootAXNode] -> ShowS)
-> Show AccessibilityGetRootAXNode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityGetRootAXNode] -> ShowS
$cshowList :: [AccessibilityGetRootAXNode] -> ShowS
show :: AccessibilityGetRootAXNode -> String
$cshow :: AccessibilityGetRootAXNode -> String
showsPrec :: Int -> AccessibilityGetRootAXNode -> ShowS
$cshowsPrec :: Int -> AccessibilityGetRootAXNode -> ShowS
Show)
instance FromJSON AccessibilityGetRootAXNode where
  parseJSON :: Value -> Parser AccessibilityGetRootAXNode
parseJSON = String
-> (Object -> Parser AccessibilityGetRootAXNode)
-> Value
-> Parser AccessibilityGetRootAXNode
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityGetRootAXNode" ((Object -> Parser AccessibilityGetRootAXNode)
 -> Value -> Parser AccessibilityGetRootAXNode)
-> (Object -> Parser AccessibilityGetRootAXNode)
-> Value
-> Parser AccessibilityGetRootAXNode
forall a b. (a -> b) -> a -> b
$ \Object
o -> AccessibilityAXNode -> AccessibilityGetRootAXNode
AccessibilityGetRootAXNode
    (AccessibilityAXNode -> AccessibilityGetRootAXNode)
-> Parser AccessibilityAXNode -> Parser AccessibilityGetRootAXNode
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser AccessibilityAXNode
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"node"
instance Command PAccessibilityGetRootAXNode where
  type CommandResponse PAccessibilityGetRootAXNode = AccessibilityGetRootAXNode
  commandName :: Proxy PAccessibilityGetRootAXNode -> String
commandName Proxy PAccessibilityGetRootAXNode
_ = String
"Accessibility.getRootAXNode"

-- | Fetches a node and all ancestors up to and including the root.
--   Requires `enable()` to have been called previously.

-- | Parameters of the 'Accessibility.getAXNodeAndAncestors' command.
data PAccessibilityGetAXNodeAndAncestors = PAccessibilityGetAXNodeAndAncestors
  {
    -- | Identifier of the node to get.
    PAccessibilityGetAXNodeAndAncestors -> Maybe Int
pAccessibilityGetAXNodeAndAncestorsNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMNodeId,
    -- | Identifier of the backend node to get.
    PAccessibilityGetAXNodeAndAncestors -> Maybe Int
pAccessibilityGetAXNodeAndAncestorsBackendNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    -- | JavaScript object id of the node wrapper to get.
    PAccessibilityGetAXNodeAndAncestors -> Maybe Text
pAccessibilityGetAXNodeAndAncestorsObjectId :: Maybe Runtime.RuntimeRemoteObjectId
  }
  deriving (PAccessibilityGetAXNodeAndAncestors
-> PAccessibilityGetAXNodeAndAncestors -> Bool
(PAccessibilityGetAXNodeAndAncestors
 -> PAccessibilityGetAXNodeAndAncestors -> Bool)
-> (PAccessibilityGetAXNodeAndAncestors
    -> PAccessibilityGetAXNodeAndAncestors -> Bool)
-> Eq PAccessibilityGetAXNodeAndAncestors
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAccessibilityGetAXNodeAndAncestors
-> PAccessibilityGetAXNodeAndAncestors -> Bool
$c/= :: PAccessibilityGetAXNodeAndAncestors
-> PAccessibilityGetAXNodeAndAncestors -> Bool
== :: PAccessibilityGetAXNodeAndAncestors
-> PAccessibilityGetAXNodeAndAncestors -> Bool
$c== :: PAccessibilityGetAXNodeAndAncestors
-> PAccessibilityGetAXNodeAndAncestors -> Bool
Eq, Int -> PAccessibilityGetAXNodeAndAncestors -> ShowS
[PAccessibilityGetAXNodeAndAncestors] -> ShowS
PAccessibilityGetAXNodeAndAncestors -> String
(Int -> PAccessibilityGetAXNodeAndAncestors -> ShowS)
-> (PAccessibilityGetAXNodeAndAncestors -> String)
-> ([PAccessibilityGetAXNodeAndAncestors] -> ShowS)
-> Show PAccessibilityGetAXNodeAndAncestors
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAccessibilityGetAXNodeAndAncestors] -> ShowS
$cshowList :: [PAccessibilityGetAXNodeAndAncestors] -> ShowS
show :: PAccessibilityGetAXNodeAndAncestors -> String
$cshow :: PAccessibilityGetAXNodeAndAncestors -> String
showsPrec :: Int -> PAccessibilityGetAXNodeAndAncestors -> ShowS
$cshowsPrec :: Int -> PAccessibilityGetAXNodeAndAncestors -> ShowS
Show)
pAccessibilityGetAXNodeAndAncestors
  :: PAccessibilityGetAXNodeAndAncestors
pAccessibilityGetAXNodeAndAncestors :: PAccessibilityGetAXNodeAndAncestors
pAccessibilityGetAXNodeAndAncestors
  = Maybe Int
-> Maybe Int -> Maybe Text -> PAccessibilityGetAXNodeAndAncestors
PAccessibilityGetAXNodeAndAncestors
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Text
forall a. Maybe a
Nothing
instance ToJSON PAccessibilityGetAXNodeAndAncestors where
  toJSON :: PAccessibilityGetAXNodeAndAncestors -> Value
toJSON PAccessibilityGetAXNodeAndAncestors
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
"nodeId" 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
<$> (PAccessibilityGetAXNodeAndAncestors -> Maybe Int
pAccessibilityGetAXNodeAndAncestorsNodeId PAccessibilityGetAXNodeAndAncestors
p),
    (Text
"backendNodeId" 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
<$> (PAccessibilityGetAXNodeAndAncestors -> Maybe Int
pAccessibilityGetAXNodeAndAncestorsBackendNodeId PAccessibilityGetAXNodeAndAncestors
p),
    (Text
"objectId" 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
<$> (PAccessibilityGetAXNodeAndAncestors -> Maybe Text
pAccessibilityGetAXNodeAndAncestorsObjectId PAccessibilityGetAXNodeAndAncestors
p)
    ]
data AccessibilityGetAXNodeAndAncestors = AccessibilityGetAXNodeAndAncestors
  {
    AccessibilityGetAXNodeAndAncestors -> [AccessibilityAXNode]
accessibilityGetAXNodeAndAncestorsNodes :: [AccessibilityAXNode]
  }
  deriving (AccessibilityGetAXNodeAndAncestors
-> AccessibilityGetAXNodeAndAncestors -> Bool
(AccessibilityGetAXNodeAndAncestors
 -> AccessibilityGetAXNodeAndAncestors -> Bool)
-> (AccessibilityGetAXNodeAndAncestors
    -> AccessibilityGetAXNodeAndAncestors -> Bool)
-> Eq AccessibilityGetAXNodeAndAncestors
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityGetAXNodeAndAncestors
-> AccessibilityGetAXNodeAndAncestors -> Bool
$c/= :: AccessibilityGetAXNodeAndAncestors
-> AccessibilityGetAXNodeAndAncestors -> Bool
== :: AccessibilityGetAXNodeAndAncestors
-> AccessibilityGetAXNodeAndAncestors -> Bool
$c== :: AccessibilityGetAXNodeAndAncestors
-> AccessibilityGetAXNodeAndAncestors -> Bool
Eq, Int -> AccessibilityGetAXNodeAndAncestors -> ShowS
[AccessibilityGetAXNodeAndAncestors] -> ShowS
AccessibilityGetAXNodeAndAncestors -> String
(Int -> AccessibilityGetAXNodeAndAncestors -> ShowS)
-> (AccessibilityGetAXNodeAndAncestors -> String)
-> ([AccessibilityGetAXNodeAndAncestors] -> ShowS)
-> Show AccessibilityGetAXNodeAndAncestors
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityGetAXNodeAndAncestors] -> ShowS
$cshowList :: [AccessibilityGetAXNodeAndAncestors] -> ShowS
show :: AccessibilityGetAXNodeAndAncestors -> String
$cshow :: AccessibilityGetAXNodeAndAncestors -> String
showsPrec :: Int -> AccessibilityGetAXNodeAndAncestors -> ShowS
$cshowsPrec :: Int -> AccessibilityGetAXNodeAndAncestors -> ShowS
Show)
instance FromJSON AccessibilityGetAXNodeAndAncestors where
  parseJSON :: Value -> Parser AccessibilityGetAXNodeAndAncestors
parseJSON = String
-> (Object -> Parser AccessibilityGetAXNodeAndAncestors)
-> Value
-> Parser AccessibilityGetAXNodeAndAncestors
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityGetAXNodeAndAncestors" ((Object -> Parser AccessibilityGetAXNodeAndAncestors)
 -> Value -> Parser AccessibilityGetAXNodeAndAncestors)
-> (Object -> Parser AccessibilityGetAXNodeAndAncestors)
-> Value
-> Parser AccessibilityGetAXNodeAndAncestors
forall a b. (a -> b) -> a -> b
$ \Object
o -> [AccessibilityAXNode] -> AccessibilityGetAXNodeAndAncestors
AccessibilityGetAXNodeAndAncestors
    ([AccessibilityAXNode] -> AccessibilityGetAXNodeAndAncestors)
-> Parser [AccessibilityAXNode]
-> Parser AccessibilityGetAXNodeAndAncestors
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [AccessibilityAXNode]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"nodes"
instance Command PAccessibilityGetAXNodeAndAncestors where
  type CommandResponse PAccessibilityGetAXNodeAndAncestors = AccessibilityGetAXNodeAndAncestors
  commandName :: Proxy PAccessibilityGetAXNodeAndAncestors -> String
commandName Proxy PAccessibilityGetAXNodeAndAncestors
_ = String
"Accessibility.getAXNodeAndAncestors"

-- | Fetches a particular accessibility node by AXNodeId.
--   Requires `enable()` to have been called previously.

-- | Parameters of the 'Accessibility.getChildAXNodes' command.
data PAccessibilityGetChildAXNodes = PAccessibilityGetChildAXNodes
  {
    PAccessibilityGetChildAXNodes -> Text
pAccessibilityGetChildAXNodesId :: AccessibilityAXNodeId,
    -- | The frame in whose document the node resides.
    --   If omitted, the root frame is used.
    PAccessibilityGetChildAXNodes -> Maybe Text
pAccessibilityGetChildAXNodesFrameId :: Maybe DOMPageNetworkEmulationSecurity.PageFrameId
  }
  deriving (PAccessibilityGetChildAXNodes
-> PAccessibilityGetChildAXNodes -> Bool
(PAccessibilityGetChildAXNodes
 -> PAccessibilityGetChildAXNodes -> Bool)
-> (PAccessibilityGetChildAXNodes
    -> PAccessibilityGetChildAXNodes -> Bool)
-> Eq PAccessibilityGetChildAXNodes
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAccessibilityGetChildAXNodes
-> PAccessibilityGetChildAXNodes -> Bool
$c/= :: PAccessibilityGetChildAXNodes
-> PAccessibilityGetChildAXNodes -> Bool
== :: PAccessibilityGetChildAXNodes
-> PAccessibilityGetChildAXNodes -> Bool
$c== :: PAccessibilityGetChildAXNodes
-> PAccessibilityGetChildAXNodes -> Bool
Eq, Int -> PAccessibilityGetChildAXNodes -> ShowS
[PAccessibilityGetChildAXNodes] -> ShowS
PAccessibilityGetChildAXNodes -> String
(Int -> PAccessibilityGetChildAXNodes -> ShowS)
-> (PAccessibilityGetChildAXNodes -> String)
-> ([PAccessibilityGetChildAXNodes] -> ShowS)
-> Show PAccessibilityGetChildAXNodes
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAccessibilityGetChildAXNodes] -> ShowS
$cshowList :: [PAccessibilityGetChildAXNodes] -> ShowS
show :: PAccessibilityGetChildAXNodes -> String
$cshow :: PAccessibilityGetChildAXNodes -> String
showsPrec :: Int -> PAccessibilityGetChildAXNodes -> ShowS
$cshowsPrec :: Int -> PAccessibilityGetChildAXNodes -> ShowS
Show)
pAccessibilityGetChildAXNodes
  :: AccessibilityAXNodeId
  -> PAccessibilityGetChildAXNodes
pAccessibilityGetChildAXNodes :: Text -> PAccessibilityGetChildAXNodes
pAccessibilityGetChildAXNodes
  Text
arg_pAccessibilityGetChildAXNodesId
  = Text -> Maybe Text -> PAccessibilityGetChildAXNodes
PAccessibilityGetChildAXNodes
    Text
arg_pAccessibilityGetChildAXNodesId
    Maybe Text
forall a. Maybe a
Nothing
instance ToJSON PAccessibilityGetChildAXNodes where
  toJSON :: PAccessibilityGetChildAXNodes -> Value
toJSON PAccessibilityGetChildAXNodes
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
"id" 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 (PAccessibilityGetChildAXNodes -> Text
pAccessibilityGetChildAXNodesId PAccessibilityGetChildAXNodes
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
<$> (PAccessibilityGetChildAXNodes -> Maybe Text
pAccessibilityGetChildAXNodesFrameId PAccessibilityGetChildAXNodes
p)
    ]
data AccessibilityGetChildAXNodes = AccessibilityGetChildAXNodes
  {
    AccessibilityGetChildAXNodes -> [AccessibilityAXNode]
accessibilityGetChildAXNodesNodes :: [AccessibilityAXNode]
  }
  deriving (AccessibilityGetChildAXNodes
-> AccessibilityGetChildAXNodes -> Bool
(AccessibilityGetChildAXNodes
 -> AccessibilityGetChildAXNodes -> Bool)
-> (AccessibilityGetChildAXNodes
    -> AccessibilityGetChildAXNodes -> Bool)
-> Eq AccessibilityGetChildAXNodes
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityGetChildAXNodes
-> AccessibilityGetChildAXNodes -> Bool
$c/= :: AccessibilityGetChildAXNodes
-> AccessibilityGetChildAXNodes -> Bool
== :: AccessibilityGetChildAXNodes
-> AccessibilityGetChildAXNodes -> Bool
$c== :: AccessibilityGetChildAXNodes
-> AccessibilityGetChildAXNodes -> Bool
Eq, Int -> AccessibilityGetChildAXNodes -> ShowS
[AccessibilityGetChildAXNodes] -> ShowS
AccessibilityGetChildAXNodes -> String
(Int -> AccessibilityGetChildAXNodes -> ShowS)
-> (AccessibilityGetChildAXNodes -> String)
-> ([AccessibilityGetChildAXNodes] -> ShowS)
-> Show AccessibilityGetChildAXNodes
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityGetChildAXNodes] -> ShowS
$cshowList :: [AccessibilityGetChildAXNodes] -> ShowS
show :: AccessibilityGetChildAXNodes -> String
$cshow :: AccessibilityGetChildAXNodes -> String
showsPrec :: Int -> AccessibilityGetChildAXNodes -> ShowS
$cshowsPrec :: Int -> AccessibilityGetChildAXNodes -> ShowS
Show)
instance FromJSON AccessibilityGetChildAXNodes where
  parseJSON :: Value -> Parser AccessibilityGetChildAXNodes
parseJSON = String
-> (Object -> Parser AccessibilityGetChildAXNodes)
-> Value
-> Parser AccessibilityGetChildAXNodes
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityGetChildAXNodes" ((Object -> Parser AccessibilityGetChildAXNodes)
 -> Value -> Parser AccessibilityGetChildAXNodes)
-> (Object -> Parser AccessibilityGetChildAXNodes)
-> Value
-> Parser AccessibilityGetChildAXNodes
forall a b. (a -> b) -> a -> b
$ \Object
o -> [AccessibilityAXNode] -> AccessibilityGetChildAXNodes
AccessibilityGetChildAXNodes
    ([AccessibilityAXNode] -> AccessibilityGetChildAXNodes)
-> Parser [AccessibilityAXNode]
-> Parser AccessibilityGetChildAXNodes
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [AccessibilityAXNode]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"nodes"
instance Command PAccessibilityGetChildAXNodes where
  type CommandResponse PAccessibilityGetChildAXNodes = AccessibilityGetChildAXNodes
  commandName :: Proxy PAccessibilityGetChildAXNodes -> String
commandName Proxy PAccessibilityGetChildAXNodes
_ = String
"Accessibility.getChildAXNodes"

-- | Query a DOM node's accessibility subtree for accessible name and role.
--   This command computes the name and role for all nodes in the subtree, including those that are
--   ignored for accessibility, and returns those that mactch the specified name and role. If no DOM
--   node is specified, or the DOM node does not exist, the command returns an error. If neither
--   `accessibleName` or `role` is specified, it returns all the accessibility nodes in the subtree.

-- | Parameters of the 'Accessibility.queryAXTree' command.
data PAccessibilityQueryAXTree = PAccessibilityQueryAXTree
  {
    -- | Identifier of the node for the root to query.
    PAccessibilityQueryAXTree -> Maybe Int
pAccessibilityQueryAXTreeNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMNodeId,
    -- | Identifier of the backend node for the root to query.
    PAccessibilityQueryAXTree -> Maybe Int
pAccessibilityQueryAXTreeBackendNodeId :: Maybe DOMPageNetworkEmulationSecurity.DOMBackendNodeId,
    -- | JavaScript object id of the node wrapper for the root to query.
    PAccessibilityQueryAXTree -> Maybe Text
pAccessibilityQueryAXTreeObjectId :: Maybe Runtime.RuntimeRemoteObjectId,
    -- | Find nodes with this computed name.
    PAccessibilityQueryAXTree -> Maybe Text
pAccessibilityQueryAXTreeAccessibleName :: Maybe T.Text,
    -- | Find nodes with this computed role.
    PAccessibilityQueryAXTree -> Maybe Text
pAccessibilityQueryAXTreeRole :: Maybe T.Text
  }
  deriving (PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool
(PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool)
-> (PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool)
-> Eq PAccessibilityQueryAXTree
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool
$c/= :: PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool
== :: PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool
$c== :: PAccessibilityQueryAXTree -> PAccessibilityQueryAXTree -> Bool
Eq, Int -> PAccessibilityQueryAXTree -> ShowS
[PAccessibilityQueryAXTree] -> ShowS
PAccessibilityQueryAXTree -> String
(Int -> PAccessibilityQueryAXTree -> ShowS)
-> (PAccessibilityQueryAXTree -> String)
-> ([PAccessibilityQueryAXTree] -> ShowS)
-> Show PAccessibilityQueryAXTree
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PAccessibilityQueryAXTree] -> ShowS
$cshowList :: [PAccessibilityQueryAXTree] -> ShowS
show :: PAccessibilityQueryAXTree -> String
$cshow :: PAccessibilityQueryAXTree -> String
showsPrec :: Int -> PAccessibilityQueryAXTree -> ShowS
$cshowsPrec :: Int -> PAccessibilityQueryAXTree -> ShowS
Show)
pAccessibilityQueryAXTree
  :: PAccessibilityQueryAXTree
pAccessibilityQueryAXTree :: PAccessibilityQueryAXTree
pAccessibilityQueryAXTree
  = Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PAccessibilityQueryAXTree
PAccessibilityQueryAXTree
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Int
forall a. Maybe a
Nothing
    Maybe Text
forall a. Maybe a
Nothing
    Maybe Text
forall a. Maybe a
Nothing
    Maybe Text
forall a. Maybe a
Nothing
instance ToJSON PAccessibilityQueryAXTree where
  toJSON :: PAccessibilityQueryAXTree -> Value
toJSON PAccessibilityQueryAXTree
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
"nodeId" 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
<$> (PAccessibilityQueryAXTree -> Maybe Int
pAccessibilityQueryAXTreeNodeId PAccessibilityQueryAXTree
p),
    (Text
"backendNodeId" 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
<$> (PAccessibilityQueryAXTree -> Maybe Int
pAccessibilityQueryAXTreeBackendNodeId PAccessibilityQueryAXTree
p),
    (Text
"objectId" 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
<$> (PAccessibilityQueryAXTree -> Maybe Text
pAccessibilityQueryAXTreeObjectId PAccessibilityQueryAXTree
p),
    (Text
"accessibleName" 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
<$> (PAccessibilityQueryAXTree -> Maybe Text
pAccessibilityQueryAXTreeAccessibleName PAccessibilityQueryAXTree
p),
    (Text
"role" 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
<$> (PAccessibilityQueryAXTree -> Maybe Text
pAccessibilityQueryAXTreeRole PAccessibilityQueryAXTree
p)
    ]
data AccessibilityQueryAXTree = AccessibilityQueryAXTree
  {
    -- | A list of `Accessibility.AXNode` matching the specified attributes,
    --   including nodes that are ignored for accessibility.
    AccessibilityQueryAXTree -> [AccessibilityAXNode]
accessibilityQueryAXTreeNodes :: [AccessibilityAXNode]
  }
  deriving (AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool
(AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool)
-> (AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool)
-> Eq AccessibilityQueryAXTree
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool
$c/= :: AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool
== :: AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool
$c== :: AccessibilityQueryAXTree -> AccessibilityQueryAXTree -> Bool
Eq, Int -> AccessibilityQueryAXTree -> ShowS
[AccessibilityQueryAXTree] -> ShowS
AccessibilityQueryAXTree -> String
(Int -> AccessibilityQueryAXTree -> ShowS)
-> (AccessibilityQueryAXTree -> String)
-> ([AccessibilityQueryAXTree] -> ShowS)
-> Show AccessibilityQueryAXTree
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccessibilityQueryAXTree] -> ShowS
$cshowList :: [AccessibilityQueryAXTree] -> ShowS
show :: AccessibilityQueryAXTree -> String
$cshow :: AccessibilityQueryAXTree -> String
showsPrec :: Int -> AccessibilityQueryAXTree -> ShowS
$cshowsPrec :: Int -> AccessibilityQueryAXTree -> ShowS
Show)
instance FromJSON AccessibilityQueryAXTree where
  parseJSON :: Value -> Parser AccessibilityQueryAXTree
parseJSON = String
-> (Object -> Parser AccessibilityQueryAXTree)
-> Value
-> Parser AccessibilityQueryAXTree
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AccessibilityQueryAXTree" ((Object -> Parser AccessibilityQueryAXTree)
 -> Value -> Parser AccessibilityQueryAXTree)
-> (Object -> Parser AccessibilityQueryAXTree)
-> Value
-> Parser AccessibilityQueryAXTree
forall a b. (a -> b) -> a -> b
$ \Object
o -> [AccessibilityAXNode] -> AccessibilityQueryAXTree
AccessibilityQueryAXTree
    ([AccessibilityAXNode] -> AccessibilityQueryAXTree)
-> Parser [AccessibilityAXNode] -> Parser AccessibilityQueryAXTree
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Text -> Parser [AccessibilityAXNode]
forall a. FromJSON a => Object -> Text -> Parser a
A..: Text
"nodes"
instance Command PAccessibilityQueryAXTree where
  type CommandResponse PAccessibilityQueryAXTree = AccessibilityQueryAXTree
  commandName :: Proxy PAccessibilityQueryAXTree -> String
commandName Proxy PAccessibilityQueryAXTree
_ = String
"Accessibility.queryAXTree"