jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ResizeObserverOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from resize-observer-1 (webref). Do not edit.
module JSDOM.Generated.ResizeObserverOptions
(newResizeObserverOptions, setBox, getBox, getBoxUnsafe, getBoxUnchecked, ResizeObserverOptions(..), gTypeResizeObserverOptions)
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://drafts.csswg.org/resize-observer-1/#dictdef-resizeobserveroptions ResizeObserverOptions specification>
newResizeObserverOptions :: (MonadDOM m) => m ResizeObserverOptions
newResizeObserverOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://drafts.csswg.org/resize-observer-1/#dom-resizeobserveroptions-box ResizeObserverOptions.box specification>
setBox :: (MonadDOM m) => ResizeObserverOptions -> ResizeObserverBoxOptions -> m ()
setBox self val = liftDOM (void (self ^. jss "box" (toJSVal val)))
-- | <https://drafts.csswg.org/resize-observer-1/#dom-resizeobserveroptions-box ResizeObserverOptions.box specification>
getBox :: (MonadDOM m) => ResizeObserverOptions -> m (Maybe ResizeObserverBoxOptions)
getBox self = liftDOM (((self ^. js "box") >>= fromJSValUnchecked))
-- | <https://drafts.csswg.org/resize-observer-1/#dom-resizeobserveroptions-box ResizeObserverOptions.box specification>
getBoxUnsafe :: (MonadDOM m, HasCallStack) => ResizeObserverOptions -> m ResizeObserverBoxOptions
getBoxUnsafe self = liftDOM ((((self ^. js "box") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://drafts.csswg.org/resize-observer-1/#dom-resizeobserveroptions-box ResizeObserverOptions.box specification>
getBoxUnchecked :: (MonadDOM m) => ResizeObserverOptions -> m ResizeObserverBoxOptions
getBoxUnchecked self = liftDOM (((self ^. js "box") >>= fromJSValUnchecked))