packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/IntersectionObserverEntryInit.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from intersection-observer (webref). Do not edit.
module JSDOM.Generated.IntersectionObserverEntryInit
       (newIntersectionObserverEntryInit, setTime, getTime, setRootBounds, getRootBounds, getRootBoundsUnsafe, getRootBoundsUnchecked, setBoundingClientRect, getBoundingClientRect, setIntersectionRect, getIntersectionRect, setIsIntersecting, getIsIntersecting, setIsVisible, getIsVisible, setIntersectionRatio, getIntersectionRatio, setTarget, getTarget, IntersectionObserverEntryInit(..), gTypeIntersectionObserverEntryInit)
       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://w3c.github.io/IntersectionObserver/#dictdef-intersectionobserverentryinit IntersectionObserverEntryInit specification>
newIntersectionObserverEntryInit :: (MonadDOM m, IsElement target) => Double -> Maybe DOMRectInit -> DOMRectInit -> DOMRectInit -> Bool -> Bool -> Double -> target -> m IntersectionObserverEntryInit
newIntersectionObserverEntryInit time rootBounds boundingClientRect intersectionRect isIntersecting isVisible intersectionRatio target = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "time" (toJSVal time)) P.>> (o ^. jss "rootBounds" (toJSVal rootBounds)) P.>> (o ^. jss "boundingClientRect" (toJSVal boundingClientRect)) P.>> (o ^. jss "intersectionRect" (toJSVal intersectionRect)) P.>> (o ^. jss "isIntersecting" (toJSVal isIntersecting)) P.>> (o ^. jss "isVisible" (toJSVal isVisible)) P.>> (o ^. jss "intersectionRatio" (toJSVal intersectionRatio)) P.>> (o ^. jss "target" (toJSVal target)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-time IntersectionObserverEntryInit.time specification>
setTime :: (MonadDOM m) => IntersectionObserverEntryInit -> Double -> m ()
setTime self val = liftDOM (void (self ^. jss "time" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-time IntersectionObserverEntryInit.time specification>
getTime :: (MonadDOM m) => IntersectionObserverEntryInit -> m Double
getTime self = liftDOM (((self ^. js "time") >>= valToNumber))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-rootbounds IntersectionObserverEntryInit.rootBounds specification>
setRootBounds :: (MonadDOM m) => IntersectionObserverEntryInit -> Maybe DOMRectInit -> m ()
setRootBounds self val = liftDOM (void (self ^. jss "rootBounds" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-rootbounds IntersectionObserverEntryInit.rootBounds specification>
getRootBounds :: (MonadDOM m) => IntersectionObserverEntryInit -> m (Maybe DOMRectInit)
getRootBounds self = liftDOM (((self ^. js "rootBounds") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-rootbounds IntersectionObserverEntryInit.rootBounds specification>
getRootBoundsUnsafe :: (MonadDOM m, HasCallStack) => IntersectionObserverEntryInit -> m DOMRectInit
getRootBoundsUnsafe self = liftDOM ((((self ^. js "rootBounds") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-rootbounds IntersectionObserverEntryInit.rootBounds specification>
getRootBoundsUnchecked :: (MonadDOM m) => IntersectionObserverEntryInit -> m DOMRectInit
getRootBoundsUnchecked self = liftDOM (((self ^. js "rootBounds") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-boundingclientrect IntersectionObserverEntryInit.boundingClientRect specification>
setBoundingClientRect :: (MonadDOM m) => IntersectionObserverEntryInit -> DOMRectInit -> m ()
setBoundingClientRect self val = liftDOM (void (self ^. jss "boundingClientRect" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-boundingclientrect IntersectionObserverEntryInit.boundingClientRect specification>
getBoundingClientRect :: (MonadDOM m) => IntersectionObserverEntryInit -> m DOMRectInit
getBoundingClientRect self = liftDOM (((self ^. js "boundingClientRect") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-intersectionrect IntersectionObserverEntryInit.intersectionRect specification>
setIntersectionRect :: (MonadDOM m) => IntersectionObserverEntryInit -> DOMRectInit -> m ()
setIntersectionRect self val = liftDOM (void (self ^. jss "intersectionRect" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-intersectionrect IntersectionObserverEntryInit.intersectionRect specification>
getIntersectionRect :: (MonadDOM m) => IntersectionObserverEntryInit -> m DOMRectInit
getIntersectionRect self = liftDOM (((self ^. js "intersectionRect") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-isintersecting IntersectionObserverEntryInit.isIntersecting specification>
setIsIntersecting :: (MonadDOM m) => IntersectionObserverEntryInit -> Bool -> m ()
setIsIntersecting self val = liftDOM (void (self ^. jss "isIntersecting" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-isintersecting IntersectionObserverEntryInit.isIntersecting specification>
getIsIntersecting :: (MonadDOM m) => IntersectionObserverEntryInit -> m Bool
getIsIntersecting self = liftDOM (((self ^. js "isIntersecting") >>= valToBool))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-isvisible IntersectionObserverEntryInit.isVisible specification>
setIsVisible :: (MonadDOM m) => IntersectionObserverEntryInit -> Bool -> m ()
setIsVisible self val = liftDOM (void (self ^. jss "isVisible" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-isvisible IntersectionObserverEntryInit.isVisible specification>
getIsVisible :: (MonadDOM m) => IntersectionObserverEntryInit -> m Bool
getIsVisible self = liftDOM (((self ^. js "isVisible") >>= valToBool))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-intersectionratio IntersectionObserverEntryInit.intersectionRatio specification>
setIntersectionRatio :: (MonadDOM m) => IntersectionObserverEntryInit -> Double -> m ()
setIntersectionRatio self val = liftDOM (void (self ^. jss "intersectionRatio" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-intersectionratio IntersectionObserverEntryInit.intersectionRatio specification>
getIntersectionRatio :: (MonadDOM m) => IntersectionObserverEntryInit -> m Double
getIntersectionRatio self = liftDOM (((self ^. js "intersectionRatio") >>= valToNumber))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-target IntersectionObserverEntryInit.target specification>
setTarget :: (MonadDOM m, IsElement val) => IntersectionObserverEntryInit -> val -> m ()
setTarget self val = liftDOM (void (self ^. jss "target" (toJSVal val)))

-- | <https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverentryinit-target IntersectionObserverEntryInit.target specification>
getTarget :: (MonadDOM m) => IntersectionObserverEntryInit -> m Element
getTarget self = liftDOM (((self ^. js "target") >>= fromJSValUnchecked))