ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/PaintTimingMixin.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from paint-timing (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.PaintTimingMixin
(js_getPaintTime, js_getPresentationTime, 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 GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript unsafe "(($1) => { return $1[\"paintTime\"]; })"
js_getPaintTime :: PaintTimingMixin -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/InteractionContentfulPaint/paintTime MDN PaintTimingMixin.paintTime documentation>
getPaintTime :: (MonadDOM m, IsPaintTimingMixin self) => self -> m Double
getPaintTime self = liftDOM ((js_getPaintTime ((Types.toPaintTimingMixin self))))
foreign import javascript unsafe "(($1) => { return $1[\"presentationTime\"]; })"
js_getPresentationTime :: PaintTimingMixin -> IO JSVal
-- | <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 (((js_getPresentationTime ((Types.toPaintTimingMixin self))) >>= 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 ((((js_getPresentationTime ((Types.toPaintTimingMixin self))) >>= 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 ((pFromJSVal <$> (js_getPresentationTime ((Types.toPaintTimingMixin self)))))