jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PaintTimingMixin.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from paint-timing (webref). Do not edit.
module JSDOM.Generated.PaintTimingMixin
(getPaintTime, getPresentationTime, getPresentationTimeUnsafe, getPresentationTimeUnchecked, PaintTimingMixin(..), gTypePaintTimingMixin, IsPaintTimingMixin, toPaintTimingMixin)
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/InteractionContentfulPaint/paintTime MDN PaintTimingMixin.paintTime documentation>
getPaintTime :: (MonadDOM m, IsPaintTimingMixin self) => self -> m Double
getPaintTime self = liftDOM ((((Types.toPaintTimingMixin self) ^. js "paintTime") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/InteractionContentfulPaint/presentationTime MDN PaintTimingMixin.presentationTime documentation>
getPresentationTime :: (MonadDOM m, IsPaintTimingMixin self) => self -> m (Maybe Double)
getPresentationTime self = liftDOM ((((Types.toPaintTimingMixin self) ^. js "presentationTime") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/InteractionContentfulPaint/presentationTime MDN PaintTimingMixin.presentationTime documentation>
getPresentationTimeUnsafe :: (MonadDOM m, IsPaintTimingMixin self, HasCallStack) => self -> m Double
getPresentationTimeUnsafe self = liftDOM (((((Types.toPaintTimingMixin self) ^. js "presentationTime") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/InteractionContentfulPaint/presentationTime MDN PaintTimingMixin.presentationTime documentation>
getPresentationTimeUnchecked :: (MonadDOM m, IsPaintTimingMixin self) => self -> m Double
getPresentationTimeUnchecked self = liftDOM ((((Types.toPaintTimingMixin self) ^. js "presentationTime") >>= valToNumber))