ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/ParentNode.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.ParentNode
(js_append, js_moveBefore, js_prepend, js_querySelector, js_querySelectorAll, js_replaceChildren, js_getChildren, js_getFirstElementChild, js_getLastElementChild, js_getChildElementCount, append, moveBefore, prepend, querySelector, querySelector_, querySelectorUnsafe, querySelectorUnchecked, querySelectorAll, querySelectorAll_, replaceChildren, getChildren, getFirstElementChild, getFirstElementChildUnsafe, getFirstElementChildUnchecked, getLastElementChild, getLastElementChildUnsafe, getLastElementChildUnchecked, getChildElementCount, ParentNode(..), gTypeParentNode, IsParentNode, toParentNode)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(($1, $2) => { return $1[\"append\"](...$2); })"
js_append :: ParentNode -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Document/append MDN ParentNode.append documentation>
append :: (MonadDOM m, IsParentNode self, IsNodeOrString nodes) => self -> [nodes] -> m ()
append self nodes = liftDOM (void (((toJSVal nodes) >>= \a2' -> js_append ((Types.toParentNode self)) a2')))
foreign import javascript safe "(($1, $2, $3) => { return $1[\"moveBefore\"]($2, $3); })"
js_moveBefore :: ParentNode -> Node -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Document/moveBefore MDN ParentNode.moveBefore documentation>
moveBefore :: (MonadDOM m, IsParentNode self, IsNode node, IsNode child) => self -> node -> Maybe child -> m ()
moveBefore self node child = liftDOM (void (((toJSVal child) >>= \a3' -> js_moveBefore ((Types.toParentNode self)) (Types.toNode node) a3')))
foreign import javascript safe "(($1, $2) => { return $1[\"prepend\"](...$2); })"
js_prepend :: ParentNode -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Document/prepend MDN ParentNode.prepend documentation>
prepend :: (MonadDOM m, IsParentNode self, IsNodeOrString nodes) => self -> [nodes] -> m ()
prepend self nodes = liftDOM (void (((toJSVal nodes) >>= \a2' -> js_prepend ((Types.toParentNode self)) a2')))
foreign import javascript safe "(($1, $2) => { return $1[\"querySelector\"]($2); })"
js_querySelector :: ParentNode -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Document/querySelector MDN ParentNode.querySelector documentation>
querySelector :: (MonadDOM m, IsParentNode self, ToJSString selectors) => self -> selectors -> m (Maybe Element)
querySelector self selectors = liftDOM (((js_querySelector ((Types.toParentNode self)) (toJSString selectors)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Document/querySelector MDN ParentNode.querySelector documentation>
querySelector_ :: (MonadDOM m, IsParentNode self, ToJSString selectors) => self -> selectors -> m ()
querySelector_ self selectors = liftDOM (void ((js_querySelector ((Types.toParentNode self)) (toJSString selectors))))
-- | <https://developer.mozilla.org/docs/Web/API/Document/querySelector MDN ParentNode.querySelector documentation>
querySelectorUnsafe :: (MonadDOM m, IsParentNode self, ToJSString selectors, HasCallStack) => self -> selectors -> m Element
querySelectorUnsafe self selectors = liftDOM ((((js_querySelector ((Types.toParentNode self)) (toJSString selectors)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/Document/querySelector MDN ParentNode.querySelector documentation>
querySelectorUnchecked :: (MonadDOM m, IsParentNode self, ToJSString selectors) => self -> selectors -> m Element
querySelectorUnchecked self selectors = liftDOM ((pFromJSVal <$> (js_querySelector ((Types.toParentNode self)) (toJSString selectors))))
foreign import javascript safe "(($1, $2) => { return $1[\"querySelectorAll\"]($2); })"
js_querySelectorAll :: ParentNode -> JSString -> IO NodeList
-- | <https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll MDN ParentNode.querySelectorAll documentation>
querySelectorAll :: (MonadDOM m, IsParentNode self, ToJSString selectors) => self -> selectors -> m NodeList
querySelectorAll self selectors = liftDOM ((js_querySelectorAll ((Types.toParentNode self)) (toJSString selectors)))
-- | <https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll MDN ParentNode.querySelectorAll documentation>
querySelectorAll_ :: (MonadDOM m, IsParentNode self, ToJSString selectors) => self -> selectors -> m ()
querySelectorAll_ self selectors = liftDOM (void ((js_querySelectorAll ((Types.toParentNode self)) (toJSString selectors))))
foreign import javascript safe "(($1, $2) => { return $1[\"replaceChildren\"](...$2); })"
js_replaceChildren :: ParentNode -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Document/replaceChildren MDN ParentNode.replaceChildren documentation>
replaceChildren :: (MonadDOM m, IsParentNode self, IsNodeOrString nodes) => self -> [nodes] -> m ()
replaceChildren self nodes = liftDOM (void (((toJSVal nodes) >>= \a2' -> js_replaceChildren ((Types.toParentNode self)) a2')))
foreign import javascript unsafe "(($1) => { return $1[\"children\"]; })"
js_getChildren :: ParentNode -> IO HTMLCollection
-- | <https://developer.mozilla.org/docs/Web/API/Document/children MDN ParentNode.children documentation>
getChildren :: (MonadDOM m, IsParentNode self) => self -> m HTMLCollection
getChildren self = liftDOM ((js_getChildren ((Types.toParentNode self))))
foreign import javascript unsafe "(($1) => { return $1[\"firstElementChild\"]; })"
js_getFirstElementChild :: ParentNode -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Document/firstElementChild MDN ParentNode.firstElementChild documentation>
getFirstElementChild :: (MonadDOM m, IsParentNode self) => self -> m (Maybe Element)
getFirstElementChild self = liftDOM (((js_getFirstElementChild ((Types.toParentNode self))) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Document/firstElementChild MDN ParentNode.firstElementChild documentation>
getFirstElementChildUnsafe :: (MonadDOM m, IsParentNode self, HasCallStack) => self -> m Element
getFirstElementChildUnsafe self = liftDOM ((((js_getFirstElementChild ((Types.toParentNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/Document/firstElementChild MDN ParentNode.firstElementChild documentation>
getFirstElementChildUnchecked :: (MonadDOM m, IsParentNode self) => self -> m Element
getFirstElementChildUnchecked self = liftDOM ((pFromJSVal <$> (js_getFirstElementChild ((Types.toParentNode self)))))
foreign import javascript unsafe "(($1) => { return $1[\"lastElementChild\"]; })"
js_getLastElementChild :: ParentNode -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Document/lastElementChild MDN ParentNode.lastElementChild documentation>
getLastElementChild :: (MonadDOM m, IsParentNode self) => self -> m (Maybe Element)
getLastElementChild self = liftDOM (((js_getLastElementChild ((Types.toParentNode self))) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Document/lastElementChild MDN ParentNode.lastElementChild documentation>
getLastElementChildUnsafe :: (MonadDOM m, IsParentNode self, HasCallStack) => self -> m Element
getLastElementChildUnsafe self = liftDOM ((((js_getLastElementChild ((Types.toParentNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/Document/lastElementChild MDN ParentNode.lastElementChild documentation>
getLastElementChildUnchecked :: (MonadDOM m, IsParentNode self) => self -> m Element
getLastElementChildUnchecked self = liftDOM ((pFromJSVal <$> (js_getLastElementChild ((Types.toParentNode self)))))
foreign import javascript unsafe "(($1) => { return $1[\"childElementCount\"]; })"
js_getChildElementCount :: ParentNode -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Document/childElementCount MDN ParentNode.childElementCount documentation>
getChildElementCount :: (MonadDOM m, IsParentNode self) => self -> m Word
getChildElementCount self = liftDOM ((js_getChildElementCount ((Types.toParentNode self))))