jsaddle-dom-0.10.0.0: src/JSDOM/Generated/StaticRangeInit.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.StaticRangeInit
(newStaticRangeInit, setStartContainer, getStartContainer, setStartOffset, getStartOffset, setEndContainer, getEndContainer, setEndOffset, getEndOffset, StaticRangeInit(..), gTypeStaticRangeInit)
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://dom.spec.whatwg.org/#dictdef-staticrangeinit StaticRangeInit specification>
newStaticRangeInit :: (MonadDOM m, IsNode startContainer, IsNode endContainer) => startContainer -> Word -> endContainer -> Word -> m StaticRangeInit
newStaticRangeInit startContainer startOffset endContainer endOffset = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "startContainer" (toJSVal startContainer)) P.>> (o ^. jss "startOffset" (toJSVal startOffset)) P.>> (o ^. jss "endContainer" (toJSVal endContainer)) P.>> (o ^. jss "endOffset" (toJSVal endOffset)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-startcontainer StaticRangeInit.startContainer specification>
setStartContainer :: (MonadDOM m, IsNode val) => StaticRangeInit -> val -> m ()
setStartContainer self val = liftDOM (void (self ^. jss "startContainer" (toJSVal val)))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-startcontainer StaticRangeInit.startContainer specification>
getStartContainer :: (MonadDOM m) => StaticRangeInit -> m Node
getStartContainer self = liftDOM (((self ^. js "startContainer") >>= fromJSValUnchecked))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-startoffset StaticRangeInit.startOffset specification>
setStartOffset :: (MonadDOM m) => StaticRangeInit -> Word -> m ()
setStartOffset self val = liftDOM (void (self ^. jss "startOffset" (toJSVal val)))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-startoffset StaticRangeInit.startOffset specification>
getStartOffset :: (MonadDOM m) => StaticRangeInit -> m Word
getStartOffset self = liftDOM ((P.round <$> ((self ^. js "startOffset") >>= valToNumber)))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-endcontainer StaticRangeInit.endContainer specification>
setEndContainer :: (MonadDOM m, IsNode val) => StaticRangeInit -> val -> m ()
setEndContainer self val = liftDOM (void (self ^. jss "endContainer" (toJSVal val)))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-endcontainer StaticRangeInit.endContainer specification>
getEndContainer :: (MonadDOM m) => StaticRangeInit -> m Node
getEndContainer self = liftDOM (((self ^. js "endContainer") >>= fromJSValUnchecked))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-endoffset StaticRangeInit.endOffset specification>
setEndOffset :: (MonadDOM m) => StaticRangeInit -> Word -> m ()
setEndOffset self val = liftDOM (void (self ^. jss "endOffset" (toJSVal val)))
-- | <https://dom.spec.whatwg.org/#dom-staticrangeinit-endoffset StaticRangeInit.endOffset specification>
getEndOffset :: (MonadDOM m) => StaticRangeInit -> m Word
getEndOffset self = liftDOM ((P.round <$> ((self ^. js "endOffset") >>= valToNumber)))