{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.XPathResult
(iterateNext, iterateNext_, snapshotItem, snapshotItem_,
pattern ANY_TYPE, pattern NUMBER_TYPE, pattern STRING_TYPE,
pattern BOOLEAN_TYPE, pattern UNORDERED_NODE_ITERATOR_TYPE,
pattern ORDERED_NODE_ITERATOR_TYPE,
pattern UNORDERED_NODE_SNAPSHOT_TYPE,
pattern ORDERED_NODE_SNAPSHOT_TYPE,
pattern ANY_UNORDERED_NODE_TYPE, pattern FIRST_ORDERED_NODE_TYPE,
getResultType, getNumberValue, getStringValue, getBooleanValue,
getSingleNodeValue, getInvalidIteratorState, getSnapshotLength,
XPathResult(..), gTypeXPathResult)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
iterateNext :: (MonadDOM m) => XPathResult -> m Node
iterateNext :: XPathResult -> m Node
iterateNext XPathResult
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"iterateNext" ()) JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
iterateNext_ :: (MonadDOM m) => XPathResult -> m ()
iterateNext_ :: XPathResult -> m ()
iterateNext_ XPathResult
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"iterateNext" ()))
snapshotItem :: (MonadDOM m) => XPathResult -> Maybe Word -> m Node
snapshotItem :: XPathResult -> Maybe Word -> m Node
snapshotItem XPathResult
self Maybe Word
index
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"snapshotItem" [Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
index]) JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
snapshotItem_ :: (MonadDOM m) => XPathResult -> Maybe Word -> m ()
snapshotItem_ :: XPathResult -> Maybe Word -> m ()
snapshotItem_ XPathResult
self Maybe Word
index
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"snapshotItem" [Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
index]))
pattern $bANY_TYPE :: a
$mANY_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
ANY_TYPE = 0
pattern $bNUMBER_TYPE :: a
$mNUMBER_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
NUMBER_TYPE = 1
pattern $bSTRING_TYPE :: a
$mSTRING_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
STRING_TYPE = 2
pattern $bBOOLEAN_TYPE :: a
$mBOOLEAN_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
BOOLEAN_TYPE = 3
pattern $bUNORDERED_NODE_ITERATOR_TYPE :: a
$mUNORDERED_NODE_ITERATOR_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
UNORDERED_NODE_ITERATOR_TYPE = 4
pattern $bORDERED_NODE_ITERATOR_TYPE :: a
$mORDERED_NODE_ITERATOR_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
ORDERED_NODE_ITERATOR_TYPE = 5
pattern $bUNORDERED_NODE_SNAPSHOT_TYPE :: a
$mUNORDERED_NODE_SNAPSHOT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
UNORDERED_NODE_SNAPSHOT_TYPE = 6
pattern $bORDERED_NODE_SNAPSHOT_TYPE :: a
$mORDERED_NODE_SNAPSHOT_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
ORDERED_NODE_SNAPSHOT_TYPE = 7
pattern $bANY_UNORDERED_NODE_TYPE :: a
$mANY_UNORDERED_NODE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
ANY_UNORDERED_NODE_TYPE = 8
pattern $bFIRST_ORDERED_NODE_TYPE :: a
$mFIRST_ORDERED_NODE_TYPE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
FIRST_ORDERED_NODE_TYPE = 9
getResultType :: (MonadDOM m) => XPathResult -> m Word
getResultType :: XPathResult -> m Word
getResultType XPathResult
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"resultType") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getNumberValue :: (MonadDOM m) => XPathResult -> m Double
getNumberValue :: XPathResult -> m Double
getNumberValue XPathResult
self
= JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"numberValue") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)
getStringValue ::
(MonadDOM m, FromJSString result) => XPathResult -> m result
getStringValue :: XPathResult -> m result
getStringValue XPathResult
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"stringValue") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getBooleanValue :: (MonadDOM m) => XPathResult -> m Bool
getBooleanValue :: XPathResult -> m Bool
getBooleanValue XPathResult
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"booleanValue") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
getSingleNodeValue :: (MonadDOM m) => XPathResult -> m Node
getSingleNodeValue :: XPathResult -> m Node
getSingleNodeValue XPathResult
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"singleNodeValue") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getInvalidIteratorState :: (MonadDOM m) => XPathResult -> m Bool
getInvalidIteratorState :: XPathResult -> m Bool
getInvalidIteratorState XPathResult
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"invalidIteratorState") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
getSnapshotLength :: (MonadDOM m) => XPathResult -> m Word
getSnapshotLength :: XPathResult -> m Word
getSnapshotLength XPathResult
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((XPathResult
self XPathResult
-> Getting (JSM JSVal) XPathResult (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XPathResult (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"snapshotLength") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))