jsaddle-dom-0.10.0.0: src/JSDOM/Generated/XPathResult.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.XPathResult
(iterateNext, iterateNext_, iterateNextUnsafe, iterateNextUnchecked, snapshotItem, snapshotItem_, snapshotItemUnsafe, snapshotItemUnchecked, getResultType, getNumberValue, getStringValue, getBooleanValue, getSingleNodeValue, getSingleNodeValueUnsafe, getSingleNodeValueUnchecked, getInvalidIteratorState, getSnapshotLength, 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, XPathResult(..), gTypeXPathResult)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/iterateNext MDN XPathResult.iterateNext documentation>
iterateNext :: (MonadDOM m) => XPathResult -> m (Maybe Node)
iterateNext self = liftDOM (((self ^. jsf "iterateNext" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/iterateNext MDN XPathResult.iterateNext documentation>
iterateNext_ :: (MonadDOM m) => XPathResult -> m ()
iterateNext_ self = liftDOM (void (self ^. jsf "iterateNext" ()))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/iterateNext MDN XPathResult.iterateNext documentation>
iterateNextUnsafe :: (MonadDOM m, HasCallStack) => XPathResult -> m Node
iterateNextUnsafe self = liftDOM ((((self ^. jsf "iterateNext" ()) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/iterateNext MDN XPathResult.iterateNext documentation>
iterateNextUnchecked :: (MonadDOM m) => XPathResult -> m Node
iterateNextUnchecked self = liftDOM (((self ^. jsf "iterateNext" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotItem MDN XPathResult.snapshotItem documentation>
snapshotItem :: (MonadDOM m) => XPathResult -> Word -> m (Maybe Node)
snapshotItem self index = liftDOM (((self ^. jsf "snapshotItem" [toJSVal index]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotItem MDN XPathResult.snapshotItem documentation>
snapshotItem_ :: (MonadDOM m) => XPathResult -> Word -> m ()
snapshotItem_ self index = liftDOM (void (self ^. jsf "snapshotItem" [toJSVal index]))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotItem MDN XPathResult.snapshotItem documentation>
snapshotItemUnsafe :: (MonadDOM m, HasCallStack) => XPathResult -> Word -> m Node
snapshotItemUnsafe self index = liftDOM ((((self ^. jsf "snapshotItem" [toJSVal index]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotItem MDN XPathResult.snapshotItem documentation>
snapshotItemUnchecked :: (MonadDOM m) => XPathResult -> Word -> m Node
snapshotItemUnchecked self index = liftDOM (((self ^. jsf "snapshotItem" [toJSVal index]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/resultType MDN XPathResult.resultType documentation>
getResultType :: (MonadDOM m) => XPathResult -> m Word
getResultType self = liftDOM ((P.round <$> ((self ^. js "resultType") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/numberValue MDN XPathResult.numberValue documentation>
getNumberValue :: (MonadDOM m) => XPathResult -> m Double
getNumberValue self = liftDOM (((self ^. js "numberValue") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/stringValue MDN XPathResult.stringValue documentation>
getStringValue :: (MonadDOM m, FromJSString result) => XPathResult -> m result
getStringValue self = liftDOM (((self ^. js "stringValue") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/booleanValue MDN XPathResult.booleanValue documentation>
getBooleanValue :: (MonadDOM m) => XPathResult -> m Bool
getBooleanValue self = liftDOM (((self ^. js "booleanValue") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/singleNodeValue MDN XPathResult.singleNodeValue documentation>
getSingleNodeValue :: (MonadDOM m) => XPathResult -> m (Maybe Node)
getSingleNodeValue self = liftDOM (((self ^. js "singleNodeValue") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/singleNodeValue MDN XPathResult.singleNodeValue documentation>
getSingleNodeValueUnsafe :: (MonadDOM m, HasCallStack) => XPathResult -> m Node
getSingleNodeValueUnsafe self = liftDOM ((((self ^. js "singleNodeValue") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/singleNodeValue MDN XPathResult.singleNodeValue documentation>
getSingleNodeValueUnchecked :: (MonadDOM m) => XPathResult -> m Node
getSingleNodeValueUnchecked self = liftDOM (((self ^. js "singleNodeValue") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/invalidIteratorState MDN XPathResult.invalidIteratorState documentation>
getInvalidIteratorState :: (MonadDOM m) => XPathResult -> m Bool
getInvalidIteratorState self = liftDOM (((self ^. js "invalidIteratorState") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/XPathResult/snapshotLength MDN XPathResult.snapshotLength documentation>
getSnapshotLength :: (MonadDOM m) => XPathResult -> m Word
getSnapshotLength self = liftDOM ((P.round <$> ((self ^. js "snapshotLength") >>= valToNumber)))
pattern ANY_TYPE = 0
pattern NUMBER_TYPE = 1
pattern STRING_TYPE = 2
pattern BOOLEAN_TYPE = 3
pattern UNORDERED_NODE_ITERATOR_TYPE = 4
pattern ORDERED_NODE_ITERATOR_TYPE = 5
pattern UNORDERED_NODE_SNAPSHOT_TYPE = 6
pattern ORDERED_NODE_SNAPSHOT_TYPE = 7
pattern ANY_UNORDERED_NODE_TYPE = 8
pattern FIRST_ORDERED_NODE_TYPE = 9