packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/Node.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.Node
       (js_appendChild, js_cloneNode, js_compareDocumentPosition, js_contains, js_getRootNode, js_hasChildNodes, js_insertBefore, js_isDefaultNamespace, js_isEqualNode, js_isSameNode, js_lookupNamespaceURI, js_lookupPrefix, js_normalize, js_removeChild, js_replaceChild, js_getNodeType, js_getNodeName, js_getBaseURI, js_getIsConnected, js_getOwnerDocument, js_getParentNode, js_getParentElement, js_getChildNodes, js_getFirstChild, js_getLastChild, js_getPreviousSibling, js_getNextSibling, js_setNodeValue, js_getNodeValue, js_setTextContent, js_getTextContent, appendChild, appendChild_, cloneNode, cloneNode_, compareDocumentPosition, compareDocumentPosition_, contains, contains_, getRootNode, getRootNode_, hasChildNodes, hasChildNodes_, insertBefore, insertBefore_, isDefaultNamespace, isDefaultNamespace_, isEqualNode, isEqualNode_, isSameNode, isSameNode_, lookupNamespaceURI, lookupNamespaceURI_, lookupNamespaceURIUnsafe, lookupNamespaceURIUnchecked, lookupPrefix, lookupPrefix_, lookupPrefixUnsafe, lookupPrefixUnchecked, normalize, removeChild, removeChild_, replaceChild, replaceChild_, getNodeType, getNodeName, getBaseURI, getIsConnected, getOwnerDocument, getOwnerDocumentUnsafe, getOwnerDocumentUnchecked, getParentNode, getParentNodeUnsafe, getParentNodeUnchecked, getParentElement, getParentElementUnsafe, getParentElementUnchecked, getChildNodes, getFirstChild, getFirstChildUnsafe, getFirstChildUnchecked, getLastChild, getLastChildUnsafe, getLastChildUnchecked, getPreviousSibling, getPreviousSiblingUnsafe, getPreviousSiblingUnchecked, getNextSibling, getNextSiblingUnsafe, getNextSiblingUnchecked, setNodeValue, getNodeValue, getNodeValueUnsafe, getNodeValueUnchecked, setTextContent, getTextContent, getTextContentUnsafe, getTextContentUnchecked, pattern ELEMENT_NODE, pattern ATTRIBUTE_NODE, pattern TEXT_NODE, pattern CDATA_SECTION_NODE, pattern ENTITY_REFERENCE_NODE, pattern ENTITY_NODE, pattern PROCESSING_INSTRUCTION_NODE, pattern COMMENT_NODE, pattern DOCUMENT_NODE, pattern DOCUMENT_TYPE_NODE, pattern DOCUMENT_FRAGMENT_NODE, pattern NOTATION_NODE, pattern DOCUMENT_POSITION_DISCONNECTED, pattern DOCUMENT_POSITION_PRECEDING, pattern DOCUMENT_POSITION_FOLLOWING, pattern DOCUMENT_POSITION_CONTAINS, pattern DOCUMENT_POSITION_CONTAINED_BY, pattern DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Node(..), gTypeNode, IsNode, toNode)
       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[\"appendChild\"]($2); })"
        js_appendChild :: Node -> Node -> IO Node
-- | <https://developer.mozilla.org/docs/Web/API/Node/appendChild MDN Node.appendChild documentation>
appendChild :: (MonadDOM m, IsNode self, IsNode node) => self -> node -> m Node
appendChild self node = liftDOM ((js_appendChild ((Types.toNode self)) (Types.toNode node)))

-- | <https://developer.mozilla.org/docs/Web/API/Node/appendChild MDN Node.appendChild documentation>
appendChild_ :: (MonadDOM m, IsNode self, IsNode node) => self -> node -> m ()
appendChild_ self node = liftDOM (void ((js_appendChild ((Types.toNode self)) (Types.toNode node))))

foreign import javascript safe "(($1, $2) => { return $1[\"cloneNode\"]($2); })"
        js_cloneNode :: Node -> JSVal -> IO Node
-- | <https://developer.mozilla.org/docs/Web/API/Node/cloneNode MDN Node.cloneNode documentation>
cloneNode :: (MonadDOM m, IsNode self) => self -> Maybe Bool -> m Node
cloneNode self subtree = liftDOM (((P.maybe (P.return jsUndefined) toJSVal subtree) >>= \a2' -> js_cloneNode ((Types.toNode self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/Node/cloneNode MDN Node.cloneNode documentation>
cloneNode_ :: (MonadDOM m, IsNode self) => self -> Maybe Bool -> m ()
cloneNode_ self subtree = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal subtree) >>= \a2' -> js_cloneNode ((Types.toNode self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"compareDocumentPosition\"]($2); })"
        js_compareDocumentPosition :: Node -> Node -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Node/compareDocumentPosition MDN Node.compareDocumentPosition documentation>
compareDocumentPosition :: (MonadDOM m, IsNode self, IsNode other) => self -> other -> m Word
compareDocumentPosition self other = liftDOM ((js_compareDocumentPosition ((Types.toNode self)) (Types.toNode other)))

-- | <https://developer.mozilla.org/docs/Web/API/Node/compareDocumentPosition MDN Node.compareDocumentPosition documentation>
compareDocumentPosition_ :: (MonadDOM m, IsNode self, IsNode other) => self -> other -> m ()
compareDocumentPosition_ self other = liftDOM (void ((js_compareDocumentPosition ((Types.toNode self)) (Types.toNode other))))

foreign import javascript safe "(($1, $2) => { return $1[\"contains\"]($2); })"
        js_contains :: Node -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Node/contains MDN Node.contains documentation>
contains :: (MonadDOM m, IsNode self, IsNode other) => self -> Maybe other -> m Bool
contains self other = liftDOM (((toJSVal other) >>= \a2' -> js_contains ((Types.toNode self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/Node/contains MDN Node.contains documentation>
contains_ :: (MonadDOM m, IsNode self, IsNode other) => self -> Maybe other -> m ()
contains_ self other = liftDOM (void (((toJSVal other) >>= \a2' -> js_contains ((Types.toNode self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"getRootNode\"]($2); })"
        js_getRootNode :: Node -> JSVal -> IO Node
-- | <https://developer.mozilla.org/docs/Web/API/Node/getRootNode MDN Node.getRootNode documentation>
getRootNode :: (MonadDOM m, IsNode self) => self -> Maybe GetRootNodeOptions -> m Node
getRootNode self options = liftDOM (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_getRootNode ((Types.toNode self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/Node/getRootNode MDN Node.getRootNode documentation>
getRootNode_ :: (MonadDOM m, IsNode self) => self -> Maybe GetRootNodeOptions -> m ()
getRootNode_ self options = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_getRootNode ((Types.toNode self)) a2')))

foreign import javascript safe "(($1) => { return $1[\"hasChildNodes\"](); })"
        js_hasChildNodes :: Node -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Node/hasChildNodes MDN Node.hasChildNodes documentation>
hasChildNodes :: (MonadDOM m, IsNode self) => self -> m Bool
hasChildNodes self = liftDOM ((js_hasChildNodes ((Types.toNode self))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/hasChildNodes MDN Node.hasChildNodes documentation>
hasChildNodes_ :: (MonadDOM m, IsNode self) => self -> m ()
hasChildNodes_ self = liftDOM (void ((js_hasChildNodes ((Types.toNode self)))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"insertBefore\"]($2, $3); })"
        js_insertBefore :: Node -> Node -> JSVal -> IO Node
-- | <https://developer.mozilla.org/docs/Web/API/Node/insertBefore MDN Node.insertBefore documentation>
insertBefore :: (MonadDOM m, IsNode self, IsNode node, IsNode child) => self -> node -> Maybe child -> m Node
insertBefore self node child = liftDOM (((toJSVal child) >>= \a3' -> js_insertBefore ((Types.toNode self)) (Types.toNode node) a3'))

-- | <https://developer.mozilla.org/docs/Web/API/Node/insertBefore MDN Node.insertBefore documentation>
insertBefore_ :: (MonadDOM m, IsNode self, IsNode node, IsNode child) => self -> node -> Maybe child -> m ()
insertBefore_ self node child = liftDOM (void (((toJSVal child) >>= \a3' -> js_insertBefore ((Types.toNode self)) (Types.toNode node) a3')))

foreign import javascript safe "(($1, $2) => { return $1[\"isDefaultNamespace\"]($2); })"
        js_isDefaultNamespace :: Node -> (Nullable JSString) -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Node/isDefaultNamespace MDN Node.isDefaultNamespace documentation>
isDefaultNamespace :: (MonadDOM m, IsNode self, ToJSString namespace) => self -> Maybe namespace -> m Bool
isDefaultNamespace self namespace = liftDOM ((js_isDefaultNamespace ((Types.toNode self)) (toMaybeJSString namespace)))

-- | <https://developer.mozilla.org/docs/Web/API/Node/isDefaultNamespace MDN Node.isDefaultNamespace documentation>
isDefaultNamespace_ :: (MonadDOM m, IsNode self, ToJSString namespace) => self -> Maybe namespace -> m ()
isDefaultNamespace_ self namespace = liftDOM (void ((js_isDefaultNamespace ((Types.toNode self)) (toMaybeJSString namespace))))

foreign import javascript safe "(($1, $2) => { return $1[\"isEqualNode\"]($2); })"
        js_isEqualNode :: Node -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Node/isEqualNode MDN Node.isEqualNode documentation>
isEqualNode :: (MonadDOM m, IsNode self, IsNode otherNode) => self -> Maybe otherNode -> m Bool
isEqualNode self otherNode = liftDOM (((toJSVal otherNode) >>= \a2' -> js_isEqualNode ((Types.toNode self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/Node/isEqualNode MDN Node.isEqualNode documentation>
isEqualNode_ :: (MonadDOM m, IsNode self, IsNode otherNode) => self -> Maybe otherNode -> m ()
isEqualNode_ self otherNode = liftDOM (void (((toJSVal otherNode) >>= \a2' -> js_isEqualNode ((Types.toNode self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"isSameNode\"]($2); })"
        js_isSameNode :: Node -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Node/isSameNode MDN Node.isSameNode documentation>
isSameNode :: (MonadDOM m, IsNode self, IsNode otherNode) => self -> Maybe otherNode -> m Bool
isSameNode self otherNode = liftDOM (((toJSVal otherNode) >>= \a2' -> js_isSameNode ((Types.toNode self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/Node/isSameNode MDN Node.isSameNode documentation>
isSameNode_ :: (MonadDOM m, IsNode self, IsNode otherNode) => self -> Maybe otherNode -> m ()
isSameNode_ self otherNode = liftDOM (void (((toJSVal otherNode) >>= \a2' -> js_isSameNode ((Types.toNode self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"lookupNamespaceURI\"]($2); })"
        js_lookupNamespaceURI :: Node -> (Nullable JSString) -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI MDN Node.lookupNamespaceURI documentation>
lookupNamespaceURI :: (MonadDOM m, IsNode self, ToJSString prefix, FromJSString result) => self -> Maybe prefix -> m (Maybe result)
lookupNamespaceURI self prefix = liftDOM (((fromMaybeJSString . Nullable) <$> (js_lookupNamespaceURI ((Types.toNode self)) (toMaybeJSString prefix))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI MDN Node.lookupNamespaceURI documentation>
lookupNamespaceURI_ :: (MonadDOM m, IsNode self, ToJSString prefix) => self -> Maybe prefix -> m ()
lookupNamespaceURI_ self prefix = liftDOM (void ((js_lookupNamespaceURI ((Types.toNode self)) (toMaybeJSString prefix))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI MDN Node.lookupNamespaceURI documentation>
lookupNamespaceURIUnsafe :: (MonadDOM m, IsNode self, ToJSString prefix, HasCallStack, FromJSString result) => self -> Maybe prefix -> m result
lookupNamespaceURIUnsafe self prefix = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_lookupNamespaceURI ((Types.toNode self)) (toMaybeJSString prefix))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupNamespaceURI MDN Node.lookupNamespaceURI documentation>
lookupNamespaceURIUnchecked :: (MonadDOM m, IsNode self, ToJSString prefix, FromJSString result) => self -> Maybe prefix -> m result
lookupNamespaceURIUnchecked self prefix = liftDOM ((pFromJSVal <$> (js_lookupNamespaceURI ((Types.toNode self)) (toMaybeJSString prefix))))

foreign import javascript safe "(($1, $2) => { return $1[\"lookupPrefix\"]($2); })"
        js_lookupPrefix :: Node -> (Nullable JSString) -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix MDN Node.lookupPrefix documentation>
lookupPrefix :: (MonadDOM m, IsNode self, ToJSString namespace, FromJSString result) => self -> Maybe namespace -> m (Maybe result)
lookupPrefix self namespace = liftDOM (((fromMaybeJSString . Nullable) <$> (js_lookupPrefix ((Types.toNode self)) (toMaybeJSString namespace))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix MDN Node.lookupPrefix documentation>
lookupPrefix_ :: (MonadDOM m, IsNode self, ToJSString namespace) => self -> Maybe namespace -> m ()
lookupPrefix_ self namespace = liftDOM (void ((js_lookupPrefix ((Types.toNode self)) (toMaybeJSString namespace))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix MDN Node.lookupPrefix documentation>
lookupPrefixUnsafe :: (MonadDOM m, IsNode self, ToJSString namespace, HasCallStack, FromJSString result) => self -> Maybe namespace -> m result
lookupPrefixUnsafe self namespace = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_lookupPrefix ((Types.toNode self)) (toMaybeJSString namespace))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lookupPrefix MDN Node.lookupPrefix documentation>
lookupPrefixUnchecked :: (MonadDOM m, IsNode self, ToJSString namespace, FromJSString result) => self -> Maybe namespace -> m result
lookupPrefixUnchecked self namespace = liftDOM ((pFromJSVal <$> (js_lookupPrefix ((Types.toNode self)) (toMaybeJSString namespace))))

foreign import javascript safe "(($1) => { return $1[\"normalize\"](); })"
        js_normalize :: Node -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Node/normalize MDN Node.normalize documentation>
normalize :: (MonadDOM m, IsNode self) => self -> m ()
normalize self = liftDOM (void ((js_normalize ((Types.toNode self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"removeChild\"]($2); })"
        js_removeChild :: Node -> Node -> IO Node
-- | <https://developer.mozilla.org/docs/Web/API/Node/removeChild MDN Node.removeChild documentation>
removeChild :: (MonadDOM m, IsNode self, IsNode child) => self -> child -> m Node
removeChild self child = liftDOM ((js_removeChild ((Types.toNode self)) (Types.toNode child)))

-- | <https://developer.mozilla.org/docs/Web/API/Node/removeChild MDN Node.removeChild documentation>
removeChild_ :: (MonadDOM m, IsNode self, IsNode child) => self -> child -> m ()
removeChild_ self child = liftDOM (void ((js_removeChild ((Types.toNode self)) (Types.toNode child))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"replaceChild\"]($2, $3); })"
        js_replaceChild :: Node -> Node -> Node -> IO Node
-- | <https://developer.mozilla.org/docs/Web/API/Node/replaceChild MDN Node.replaceChild documentation>
replaceChild :: (MonadDOM m, IsNode self, IsNode node, IsNode child) => self -> node -> child -> m Node
replaceChild self node child = liftDOM ((js_replaceChild ((Types.toNode self)) (Types.toNode node) (Types.toNode child)))

-- | <https://developer.mozilla.org/docs/Web/API/Node/replaceChild MDN Node.replaceChild documentation>
replaceChild_ :: (MonadDOM m, IsNode self, IsNode node, IsNode child) => self -> node -> child -> m ()
replaceChild_ self node child = liftDOM (void ((js_replaceChild ((Types.toNode self)) (Types.toNode node) (Types.toNode child))))

foreign import javascript unsafe "(($1) => { return $1[\"nodeType\"]; })"
        js_getNodeType :: Node -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Node/nodeType MDN Node.nodeType documentation>
getNodeType :: (MonadDOM m, IsNode self) => self -> m Word
getNodeType self = liftDOM ((js_getNodeType ((Types.toNode self))))

foreign import javascript unsafe "(($1) => { return $1[\"nodeName\"]; })"
        js_getNodeName :: Node -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Node/nodeName MDN Node.nodeName documentation>
getNodeName :: (MonadDOM m, IsNode self, FromJSString result) => self -> m result
getNodeName self = liftDOM ((fromJSString <$> (js_getNodeName ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"baseURI\"]; })"
        js_getBaseURI :: Node -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Node/baseURI MDN Node.baseURI documentation>
getBaseURI :: (MonadDOM m, IsNode self, FromJSString result) => self -> m result
getBaseURI self = liftDOM ((fromJSString <$> (js_getBaseURI ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"isConnected\"]; })"
        js_getIsConnected :: Node -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Node/isConnected MDN Node.isConnected documentation>
getIsConnected :: (MonadDOM m, IsNode self) => self -> m Bool
getIsConnected self = liftDOM ((js_getIsConnected ((Types.toNode self))))

foreign import javascript unsafe "(($1) => { return $1[\"ownerDocument\"]; })"
        js_getOwnerDocument :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/ownerDocument MDN Node.ownerDocument documentation>
getOwnerDocument :: (MonadDOM m, IsNode self) => self -> m (Maybe Document)
getOwnerDocument self = liftDOM (((js_getOwnerDocument ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/ownerDocument MDN Node.ownerDocument documentation>
getOwnerDocumentUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Document
getOwnerDocumentUnsafe self = liftDOM ((((js_getOwnerDocument ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/ownerDocument MDN Node.ownerDocument documentation>
getOwnerDocumentUnchecked :: (MonadDOM m, IsNode self) => self -> m Document
getOwnerDocumentUnchecked self = liftDOM ((pFromJSVal <$> (js_getOwnerDocument ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"parentNode\"]; })"
        js_getParentNode :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/parentNode MDN Node.parentNode documentation>
getParentNode :: (MonadDOM m, IsNode self) => self -> m (Maybe Node)
getParentNode self = liftDOM (((js_getParentNode ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/parentNode MDN Node.parentNode documentation>
getParentNodeUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Node
getParentNodeUnsafe self = liftDOM ((((js_getParentNode ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/parentNode MDN Node.parentNode documentation>
getParentNodeUnchecked :: (MonadDOM m, IsNode self) => self -> m Node
getParentNodeUnchecked self = liftDOM ((pFromJSVal <$> (js_getParentNode ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"parentElement\"]; })"
        js_getParentElement :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/parentElement MDN Node.parentElement documentation>
getParentElement :: (MonadDOM m, IsNode self) => self -> m (Maybe Element)
getParentElement self = liftDOM (((js_getParentElement ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/parentElement MDN Node.parentElement documentation>
getParentElementUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Element
getParentElementUnsafe self = liftDOM ((((js_getParentElement ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/parentElement MDN Node.parentElement documentation>
getParentElementUnchecked :: (MonadDOM m, IsNode self) => self -> m Element
getParentElementUnchecked self = liftDOM ((pFromJSVal <$> (js_getParentElement ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"childNodes\"]; })"
        js_getChildNodes :: Node -> IO NodeList
-- | <https://developer.mozilla.org/docs/Web/API/Node/childNodes MDN Node.childNodes documentation>
getChildNodes :: (MonadDOM m, IsNode self) => self -> m NodeList
getChildNodes self = liftDOM ((js_getChildNodes ((Types.toNode self))))

foreign import javascript unsafe "(($1) => { return $1[\"firstChild\"]; })"
        js_getFirstChild :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/firstChild MDN Node.firstChild documentation>
getFirstChild :: (MonadDOM m, IsNode self) => self -> m (Maybe Node)
getFirstChild self = liftDOM (((js_getFirstChild ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/firstChild MDN Node.firstChild documentation>
getFirstChildUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Node
getFirstChildUnsafe self = liftDOM ((((js_getFirstChild ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/firstChild MDN Node.firstChild documentation>
getFirstChildUnchecked :: (MonadDOM m, IsNode self) => self -> m Node
getFirstChildUnchecked self = liftDOM ((pFromJSVal <$> (js_getFirstChild ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"lastChild\"]; })"
        js_getLastChild :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/lastChild MDN Node.lastChild documentation>
getLastChild :: (MonadDOM m, IsNode self) => self -> m (Maybe Node)
getLastChild self = liftDOM (((js_getLastChild ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lastChild MDN Node.lastChild documentation>
getLastChildUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Node
getLastChildUnsafe self = liftDOM ((((js_getLastChild ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/lastChild MDN Node.lastChild documentation>
getLastChildUnchecked :: (MonadDOM m, IsNode self) => self -> m Node
getLastChildUnchecked self = liftDOM ((pFromJSVal <$> (js_getLastChild ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"previousSibling\"]; })"
        js_getPreviousSibling :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/previousSibling MDN Node.previousSibling documentation>
getPreviousSibling :: (MonadDOM m, IsNode self) => self -> m (Maybe Node)
getPreviousSibling self = liftDOM (((js_getPreviousSibling ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/previousSibling MDN Node.previousSibling documentation>
getPreviousSiblingUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Node
getPreviousSiblingUnsafe self = liftDOM ((((js_getPreviousSibling ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/previousSibling MDN Node.previousSibling documentation>
getPreviousSiblingUnchecked :: (MonadDOM m, IsNode self) => self -> m Node
getPreviousSiblingUnchecked self = liftDOM ((pFromJSVal <$> (js_getPreviousSibling ((Types.toNode self)))))

foreign import javascript unsafe "(($1) => { return $1[\"nextSibling\"]; })"
        js_getNextSibling :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/nextSibling MDN Node.nextSibling documentation>
getNextSibling :: (MonadDOM m, IsNode self) => self -> m (Maybe Node)
getNextSibling self = liftDOM (((js_getNextSibling ((Types.toNode self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Node/nextSibling MDN Node.nextSibling documentation>
getNextSiblingUnsafe :: (MonadDOM m, IsNode self, HasCallStack) => self -> m Node
getNextSiblingUnsafe self = liftDOM ((((js_getNextSibling ((Types.toNode self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/nextSibling MDN Node.nextSibling documentation>
getNextSiblingUnchecked :: (MonadDOM m, IsNode self) => self -> m Node
getNextSiblingUnchecked self = liftDOM ((pFromJSVal <$> (js_getNextSibling ((Types.toNode self)))))

foreign import javascript safe "(($1, $2) => { $1[\"nodeValue\"] = $2; })"
        js_setNodeValue :: Node -> (Nullable JSString) -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Node/nodeValue MDN Node.nodeValue documentation>
setNodeValue :: (MonadDOM m, IsNode self, ToJSString val) => self -> Maybe val -> m ()
setNodeValue self val = liftDOM (void ((js_setNodeValue ((Types.toNode self)) (toMaybeJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"nodeValue\"]; })"
        js_getNodeValue :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/nodeValue MDN Node.nodeValue documentation>
getNodeValue :: (MonadDOM m, IsNode self, FromJSString result) => self -> m (Maybe result)
getNodeValue self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getNodeValue ((Types.toNode self)))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/nodeValue MDN Node.nodeValue documentation>
getNodeValueUnsafe :: (MonadDOM m, IsNode self, HasCallStack, FromJSString result) => self -> m result
getNodeValueUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getNodeValue ((Types.toNode self)))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/nodeValue MDN Node.nodeValue documentation>
getNodeValueUnchecked :: (MonadDOM m, IsNode self, FromJSString result) => self -> m result
getNodeValueUnchecked self = liftDOM ((pFromJSVal <$> (js_getNodeValue ((Types.toNode self)))))

foreign import javascript safe "(($1, $2) => { $1[\"textContent\"] = $2; })"
        js_setTextContent :: Node -> (Nullable JSString) -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Node/textContent MDN Node.textContent documentation>
setTextContent :: (MonadDOM m, IsNode self, ToJSString val) => self -> Maybe val -> m ()
setTextContent self val = liftDOM (void ((js_setTextContent ((Types.toNode self)) (toMaybeJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"textContent\"]; })"
        js_getTextContent :: Node -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Node/textContent MDN Node.textContent documentation>
getTextContent :: (MonadDOM m, IsNode self, FromJSString result) => self -> m (Maybe result)
getTextContent self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getTextContent ((Types.toNode self)))))

-- | <https://developer.mozilla.org/docs/Web/API/Node/textContent MDN Node.textContent documentation>
getTextContentUnsafe :: (MonadDOM m, IsNode self, HasCallStack, FromJSString result) => self -> m result
getTextContentUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getTextContent ((Types.toNode self)))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Node/textContent MDN Node.textContent documentation>
getTextContentUnchecked :: (MonadDOM m, IsNode self, FromJSString result) => self -> m result
getTextContentUnchecked self = liftDOM ((pFromJSVal <$> (js_getTextContent ((Types.toNode self)))))

pattern ELEMENT_NODE = 1

pattern ATTRIBUTE_NODE = 2

pattern TEXT_NODE = 3

pattern CDATA_SECTION_NODE = 4

pattern ENTITY_REFERENCE_NODE = 5

pattern ENTITY_NODE = 6

pattern PROCESSING_INSTRUCTION_NODE = 7

pattern COMMENT_NODE = 8

pattern DOCUMENT_NODE = 9

pattern DOCUMENT_TYPE_NODE = 10

pattern DOCUMENT_FRAGMENT_NODE = 11

pattern NOTATION_NODE = 12

pattern DOCUMENT_POSITION_DISCONNECTED = 0x01

pattern DOCUMENT_POSITION_PRECEDING = 0x02

pattern DOCUMENT_POSITION_FOLLOWING = 0x04

pattern DOCUMENT_POSITION_CONTAINS = 0x08

pattern DOCUMENT_POSITION_CONTAINED_BY = 0x10

pattern DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20