packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Range.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.Range
       (newRange, cloneContents, cloneContents_, cloneRange, cloneRange_, collapse, compareBoundaryPoints, compareBoundaryPoints_, comparePoint, comparePoint_, createContextualFragment, createContextualFragment_, deleteContents, detach, extractContents, extractContents_, getBoundingClientRect, getBoundingClientRect_, getClientRects, getClientRects_, insertNode, intersectsNode, intersectsNode_, isPointInRange, isPointInRange_, selectNode, selectNodeContents, setEnd, setEndAfter, setEndBefore, setStart, setStartAfter, setStartBefore, surroundContents, getCommonAncestorContainer, pattern START_TO_START, pattern START_TO_END, pattern END_TO_END, pattern END_TO_START, Range(..), gTypeRange)
       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/Range/Range MDN Range. documentation>
newRange :: (MonadDOM m) => m Range
newRange = liftDOM (((new (jsg "Range") ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/cloneContents MDN Range.cloneContents documentation>
cloneContents :: (MonadDOM m) => Range -> m DocumentFragment
cloneContents self = liftDOM (((self ^. jsf "cloneContents" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/cloneContents MDN Range.cloneContents documentation>
cloneContents_ :: (MonadDOM m) => Range -> m ()
cloneContents_ self = liftDOM (void (self ^. jsf "cloneContents" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/cloneRange MDN Range.cloneRange documentation>
cloneRange :: (MonadDOM m) => Range -> m Range
cloneRange self = liftDOM (((self ^. jsf "cloneRange" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/cloneRange MDN Range.cloneRange documentation>
cloneRange_ :: (MonadDOM m) => Range -> m ()
cloneRange_ self = liftDOM (void (self ^. jsf "cloneRange" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/collapse MDN Range.collapse documentation>
collapse :: (MonadDOM m) => Range -> Maybe Bool -> m ()
collapse self toStart = liftDOM (void (self ^. jsf "collapse" [P.maybe (P.return jsUndefined) toJSVal toStart]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/compareBoundaryPoints MDN Range.compareBoundaryPoints documentation>
compareBoundaryPoints :: (MonadDOM m) => Range -> Word -> Range -> m Int
compareBoundaryPoints self how sourceRange = liftDOM ((P.round <$> ((self ^. jsf "compareBoundaryPoints" [toJSVal how, toJSVal sourceRange]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Range/compareBoundaryPoints MDN Range.compareBoundaryPoints documentation>
compareBoundaryPoints_ :: (MonadDOM m) => Range -> Word -> Range -> m ()
compareBoundaryPoints_ self how sourceRange = liftDOM (void (self ^. jsf "compareBoundaryPoints" [toJSVal how, toJSVal sourceRange]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/comparePoint MDN Range.comparePoint documentation>
comparePoint :: (MonadDOM m, IsNode node) => Range -> node -> Word -> m Int
comparePoint self node offset = liftDOM ((P.round <$> ((self ^. jsf "comparePoint" [toJSVal node, toJSVal offset]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Range/comparePoint MDN Range.comparePoint documentation>
comparePoint_ :: (MonadDOM m, IsNode node) => Range -> node -> Word -> m ()
comparePoint_ self node offset = liftDOM (void (self ^. jsf "comparePoint" [toJSVal node, toJSVal offset]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/createContextualFragment MDN Range.createContextualFragment documentation>
createContextualFragment :: (MonadDOM m, IsTrustedHTMLOrString string) => Range -> string -> m DocumentFragment
createContextualFragment self string = liftDOM (((self ^. jsf "createContextualFragment" [toJSVal string]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/createContextualFragment MDN Range.createContextualFragment documentation>
createContextualFragment_ :: (MonadDOM m, IsTrustedHTMLOrString string) => Range -> string -> m ()
createContextualFragment_ self string = liftDOM (void (self ^. jsf "createContextualFragment" [toJSVal string]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/deleteContents MDN Range.deleteContents documentation>
deleteContents :: (MonadDOM m) => Range -> m ()
deleteContents self = liftDOM (void (self ^. jsf "deleteContents" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/detach MDN Range.detach documentation>
detach :: (MonadDOM m) => Range -> m ()
detach self = liftDOM (void (self ^. jsf "detach" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/extractContents MDN Range.extractContents documentation>
extractContents :: (MonadDOM m) => Range -> m DocumentFragment
extractContents self = liftDOM (((self ^. jsf "extractContents" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/extractContents MDN Range.extractContents documentation>
extractContents_ :: (MonadDOM m) => Range -> m ()
extractContents_ self = liftDOM (void (self ^. jsf "extractContents" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/getBoundingClientRect MDN Range.getBoundingClientRect documentation>
getBoundingClientRect :: (MonadDOM m) => Range -> m DOMRect
getBoundingClientRect self = liftDOM (((self ^. jsf "getBoundingClientRect" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/getBoundingClientRect MDN Range.getBoundingClientRect documentation>
getBoundingClientRect_ :: (MonadDOM m) => Range -> m ()
getBoundingClientRect_ self = liftDOM (void (self ^. jsf "getBoundingClientRect" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/getClientRects MDN Range.getClientRects documentation>
getClientRects :: (MonadDOM m) => Range -> m DOMRectList
getClientRects self = liftDOM (((self ^. jsf "getClientRects" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Range/getClientRects MDN Range.getClientRects documentation>
getClientRects_ :: (MonadDOM m) => Range -> m ()
getClientRects_ self = liftDOM (void (self ^. jsf "getClientRects" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Range/insertNode MDN Range.insertNode documentation>
insertNode :: (MonadDOM m, IsNode node) => Range -> node -> m ()
insertNode self node = liftDOM (void (self ^. jsf "insertNode" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/intersectsNode MDN Range.intersectsNode documentation>
intersectsNode :: (MonadDOM m, IsNode node) => Range -> node -> m Bool
intersectsNode self node = liftDOM (((self ^. jsf "intersectsNode" [toJSVal node]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/Range/intersectsNode MDN Range.intersectsNode documentation>
intersectsNode_ :: (MonadDOM m, IsNode node) => Range -> node -> m ()
intersectsNode_ self node = liftDOM (void (self ^. jsf "intersectsNode" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/isPointInRange MDN Range.isPointInRange documentation>
isPointInRange :: (MonadDOM m, IsNode node) => Range -> node -> Word -> m Bool
isPointInRange self node offset = liftDOM (((self ^. jsf "isPointInRange" [toJSVal node, toJSVal offset]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/Range/isPointInRange MDN Range.isPointInRange documentation>
isPointInRange_ :: (MonadDOM m, IsNode node) => Range -> node -> Word -> m ()
isPointInRange_ self node offset = liftDOM (void (self ^. jsf "isPointInRange" [toJSVal node, toJSVal offset]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/selectNode MDN Range.selectNode documentation>
selectNode :: (MonadDOM m, IsNode node) => Range -> node -> m ()
selectNode self node = liftDOM (void (self ^. jsf "selectNode" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/selectNodeContents MDN Range.selectNodeContents documentation>
selectNodeContents :: (MonadDOM m, IsNode node) => Range -> node -> m ()
selectNodeContents self node = liftDOM (void (self ^. jsf "selectNodeContents" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/setEnd MDN Range.setEnd documentation>
setEnd :: (MonadDOM m, IsNode node) => Range -> node -> Word -> m ()
setEnd self node offset = liftDOM (void (self ^. jsf "setEnd" [toJSVal node, toJSVal offset]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/setEndAfter MDN Range.setEndAfter documentation>
setEndAfter :: (MonadDOM m, IsNode node) => Range -> node -> m ()
setEndAfter self node = liftDOM (void (self ^. jsf "setEndAfter" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/setEndBefore MDN Range.setEndBefore documentation>
setEndBefore :: (MonadDOM m, IsNode node) => Range -> node -> m ()
setEndBefore self node = liftDOM (void (self ^. jsf "setEndBefore" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/setStart MDN Range.setStart documentation>
setStart :: (MonadDOM m, IsNode node) => Range -> node -> Word -> m ()
setStart self node offset = liftDOM (void (self ^. jsf "setStart" [toJSVal node, toJSVal offset]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/setStartAfter MDN Range.setStartAfter documentation>
setStartAfter :: (MonadDOM m, IsNode node) => Range -> node -> m ()
setStartAfter self node = liftDOM (void (self ^. jsf "setStartAfter" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/setStartBefore MDN Range.setStartBefore documentation>
setStartBefore :: (MonadDOM m, IsNode node) => Range -> node -> m ()
setStartBefore self node = liftDOM (void (self ^. jsf "setStartBefore" [toJSVal node]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/surroundContents MDN Range.surroundContents documentation>
surroundContents :: (MonadDOM m, IsNode newParent) => Range -> newParent -> m ()
surroundContents self newParent = liftDOM (void (self ^. jsf "surroundContents" [toJSVal newParent]))

-- | <https://developer.mozilla.org/docs/Web/API/Range/commonAncestorContainer MDN Range.commonAncestorContainer documentation>
getCommonAncestorContainer :: (MonadDOM m) => Range -> m Node
getCommonAncestorContainer self = liftDOM (((self ^. js "commonAncestorContainer") >>= fromJSValUnchecked))

pattern START_TO_START = 0

pattern START_TO_END = 1

pattern END_TO_END = 2

pattern END_TO_START = 3