jsaddle-dom-0.10.0.0: src/JSDOM/Generated/NodeIterator.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.NodeIterator
(detach, nextNode, nextNode_, nextNodeUnsafe, nextNodeUnchecked, previousNode, previousNode_, previousNodeUnsafe, previousNodeUnchecked, getRoot, getReferenceNode, getPointerBeforeReferenceNode, getWhatToShow, NodeIterator(..), gTypeNodeIterator)
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/NodeIterator/detach MDN NodeIterator.detach documentation>
detach :: (MonadDOM m) => NodeIterator -> m ()
detach self = liftDOM (void (self ^. jsf "detach" ()))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/nextNode MDN NodeIterator.nextNode documentation>
nextNode :: (MonadDOM m) => NodeIterator -> m (Maybe Node)
nextNode self = liftDOM (((self ^. jsf "nextNode" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/nextNode MDN NodeIterator.nextNode documentation>
nextNode_ :: (MonadDOM m) => NodeIterator -> m ()
nextNode_ self = liftDOM (void (self ^. jsf "nextNode" ()))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/nextNode MDN NodeIterator.nextNode documentation>
nextNodeUnsafe :: (MonadDOM m, HasCallStack) => NodeIterator -> m Node
nextNodeUnsafe self = liftDOM ((((self ^. jsf "nextNode" ()) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/nextNode MDN NodeIterator.nextNode documentation>
nextNodeUnchecked :: (MonadDOM m) => NodeIterator -> m Node
nextNodeUnchecked self = liftDOM (((self ^. jsf "nextNode" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/previousNode MDN NodeIterator.previousNode documentation>
previousNode :: (MonadDOM m) => NodeIterator -> m (Maybe Node)
previousNode self = liftDOM (((self ^. jsf "previousNode" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/previousNode MDN NodeIterator.previousNode documentation>
previousNode_ :: (MonadDOM m) => NodeIterator -> m ()
previousNode_ self = liftDOM (void (self ^. jsf "previousNode" ()))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/previousNode MDN NodeIterator.previousNode documentation>
previousNodeUnsafe :: (MonadDOM m, HasCallStack) => NodeIterator -> m Node
previousNodeUnsafe self = liftDOM ((((self ^. jsf "previousNode" ()) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/previousNode MDN NodeIterator.previousNode documentation>
previousNodeUnchecked :: (MonadDOM m) => NodeIterator -> m Node
previousNodeUnchecked self = liftDOM (((self ^. jsf "previousNode" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/root MDN NodeIterator.root documentation>
getRoot :: (MonadDOM m) => NodeIterator -> m Node
getRoot self = liftDOM (((self ^. js "root") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/referenceNode MDN NodeIterator.referenceNode documentation>
getReferenceNode :: (MonadDOM m) => NodeIterator -> m Node
getReferenceNode self = liftDOM (((self ^. js "referenceNode") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/pointerBeforeReferenceNode MDN NodeIterator.pointerBeforeReferenceNode documentation>
getPointerBeforeReferenceNode :: (MonadDOM m) => NodeIterator -> m Bool
getPointerBeforeReferenceNode self = liftDOM (((self ^. js "pointerBeforeReferenceNode") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/NodeIterator/whatToShow MDN NodeIterator.whatToShow documentation>
getWhatToShow :: (MonadDOM m) => NodeIterator -> m Word
getWhatToShow self = liftDOM ((P.round <$> ((self ^. js "whatToShow") >>= valToNumber)))