packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AbstractRange.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.AbstractRange
       (getStartContainer, getStartOffset, getEndContainer, getEndOffset, getCollapsed, AbstractRange(..), gTypeAbstractRange, IsAbstractRange, toAbstractRange)
       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/AbstractRange/startContainer MDN AbstractRange.startContainer documentation>
getStartContainer :: (MonadDOM m, IsAbstractRange self) => self -> m Node
getStartContainer self = liftDOM ((((Types.toAbstractRange self) ^. js "startContainer") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/AbstractRange/startOffset MDN AbstractRange.startOffset documentation>
getStartOffset :: (MonadDOM m, IsAbstractRange self) => self -> m Word
getStartOffset self = liftDOM ((P.round <$> (((Types.toAbstractRange self) ^. js "startOffset") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/AbstractRange/endContainer MDN AbstractRange.endContainer documentation>
getEndContainer :: (MonadDOM m, IsAbstractRange self) => self -> m Node
getEndContainer self = liftDOM ((((Types.toAbstractRange self) ^. js "endContainer") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/AbstractRange/endOffset MDN AbstractRange.endOffset documentation>
getEndOffset :: (MonadDOM m, IsAbstractRange self) => self -> m Word
getEndOffset self = liftDOM ((P.round <$> (((Types.toAbstractRange self) ^. js "endOffset") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/AbstractRange/collapsed MDN AbstractRange.collapsed documentation>
getCollapsed :: (MonadDOM m, IsAbstractRange self) => self -> m Bool
getCollapsed self = liftDOM ((((Types.toAbstractRange self) ^. js "collapsed") >>= valToBool))