{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.TreeWalker
(parentNode, parentNode_, parentNodeUnsafe, parentNodeUnchecked,
firstChild, firstChild_, firstChildUnsafe, firstChildUnchecked,
lastChild, lastChild_, lastChildUnsafe, lastChildUnchecked,
previousSibling, previousSibling_, previousSiblingUnsafe,
previousSiblingUnchecked, nextSibling, nextSibling_,
nextSiblingUnsafe, nextSiblingUnchecked, previousNode,
previousNode_, previousNodeUnsafe, previousNodeUnchecked, nextNode,
nextNode_, nextNodeUnsafe, nextNodeUnchecked, getRoot,
getWhatToShow, setCurrentNode, getCurrentNode, TreeWalker(..),
gTypeTreeWalker)
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
parentNode :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
parentNode :: TreeWalker -> m (Maybe Node)
parentNode TreeWalker
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"parentNode" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
parentNode_ :: (MonadDOM m) => TreeWalker -> m ()
parentNode_ :: TreeWalker -> m ()
parentNode_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"parentNode" ()))
parentNodeUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
parentNodeUnsafe :: TreeWalker -> m Node
parentNodeUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"parentNode" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
parentNodeUnchecked :: (MonadDOM m) => TreeWalker -> m Node
parentNodeUnchecked :: TreeWalker -> m Node
parentNodeUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"parentNode" ()) 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)
firstChild :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
firstChild :: TreeWalker -> m (Maybe Node)
firstChild TreeWalker
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"firstChild" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
firstChild_ :: (MonadDOM m) => TreeWalker -> m ()
firstChild_ :: TreeWalker -> m ()
firstChild_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"firstChild" ()))
firstChildUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
firstChildUnsafe :: TreeWalker -> m Node
firstChildUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"firstChild" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
firstChildUnchecked :: (MonadDOM m) => TreeWalker -> m Node
firstChildUnchecked :: TreeWalker -> m Node
firstChildUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"firstChild" ()) 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)
lastChild :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
lastChild :: TreeWalker -> m (Maybe Node)
lastChild TreeWalker
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"lastChild" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
lastChild_ :: (MonadDOM m) => TreeWalker -> m ()
lastChild_ :: TreeWalker -> m ()
lastChild_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"lastChild" ()))
lastChildUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
lastChildUnsafe :: TreeWalker -> m Node
lastChildUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"lastChild" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
lastChildUnchecked :: (MonadDOM m) => TreeWalker -> m Node
lastChildUnchecked :: TreeWalker -> m Node
lastChildUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"lastChild" ()) 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)
previousSibling :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
previousSibling :: TreeWalker -> m (Maybe Node)
previousSibling TreeWalker
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousSibling" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
previousSibling_ :: (MonadDOM m) => TreeWalker -> m ()
previousSibling_ :: TreeWalker -> m ()
previousSibling_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousSibling" ()))
previousSiblingUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
previousSiblingUnsafe :: TreeWalker -> m Node
previousSiblingUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousSibling" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
previousSiblingUnchecked :: (MonadDOM m) => TreeWalker -> m Node
previousSiblingUnchecked :: TreeWalker -> m Node
previousSiblingUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousSibling" ()) 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)
nextSibling :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
nextSibling :: TreeWalker -> m (Maybe Node)
nextSibling TreeWalker
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextSibling" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
nextSibling_ :: (MonadDOM m) => TreeWalker -> m ()
nextSibling_ :: TreeWalker -> m ()
nextSibling_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextSibling" ()))
nextSiblingUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
nextSiblingUnsafe :: TreeWalker -> m Node
nextSiblingUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextSibling" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
nextSiblingUnchecked :: (MonadDOM m) => TreeWalker -> m Node
nextSiblingUnchecked :: TreeWalker -> m Node
nextSiblingUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextSibling" ()) 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)
previousNode :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
previousNode :: TreeWalker -> m (Maybe Node)
previousNode TreeWalker
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousNode" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
previousNode_ :: (MonadDOM m) => TreeWalker -> m ()
previousNode_ :: TreeWalker -> m ()
previousNode_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousNode" ()))
previousNodeUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
previousNodeUnsafe :: TreeWalker -> m Node
previousNodeUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousNode" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
previousNodeUnchecked :: (MonadDOM m) => TreeWalker -> m Node
previousNodeUnchecked :: TreeWalker -> m Node
previousNodeUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"previousNode" ()) 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)
nextNode :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
nextNode :: TreeWalker -> m (Maybe Node)
nextNode TreeWalker
self = DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextNode" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
nextNode_ :: (MonadDOM m) => TreeWalker -> m ()
nextNode_ :: TreeWalker -> m ()
nextNode_ TreeWalker
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 (TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextNode" ()))
nextNodeUnsafe ::
(MonadDOM m, HasCallStack) => TreeWalker -> m Node
nextNodeUnsafe :: TreeWalker -> m Node
nextNodeUnsafe TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextNode" ()) JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Node
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Node -> DOM Node
forall (m :: * -> *) a. Monad m => a -> m a
return)
nextNodeUnchecked :: (MonadDOM m) => TreeWalker -> m Node
nextNodeUnchecked :: TreeWalker -> m Node
nextNodeUnchecked TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (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]
"nextNode" ()) 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)
getRoot :: (MonadDOM m) => TreeWalker -> m Node
getRoot :: TreeWalker -> m Node
getRoot TreeWalker
self = DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TreeWalker (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"root") 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)
getWhatToShow :: (MonadDOM m) => TreeWalker -> m Word
getWhatToShow :: TreeWalker -> m Word
getWhatToShow TreeWalker
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
<$> ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TreeWalker (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"whatToShow") 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))
setCurrentNode ::
(MonadDOM m, IsNode val) => TreeWalker -> val -> m ()
setCurrentNode :: TreeWalker -> val -> m ()
setCurrentNode TreeWalker
self val
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (TreeWalker
self TreeWalker -> Getting (DOM ()) TreeWalker (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"currentNode" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getCurrentNode :: (MonadDOM m) => TreeWalker -> m Node
getCurrentNode :: TreeWalker -> m Node
getCurrentNode TreeWalker
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TreeWalker
self TreeWalker
-> Getting (JSM JSVal) TreeWalker (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TreeWalker (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"currentNode") 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)