jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PerformanceNavigationTiming.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from navigation-timing-2 (webref). Do not edit.
module JSDOM.Generated.PerformanceNavigationTiming
(toJSON, toJSON_, getUnloadEventStart, getUnloadEventEnd, getDomInteractive, getDomContentLoadedEventStart, getDomContentLoadedEventEnd, getDomComplete, getLoadEventStart, getLoadEventEnd, getType, getRedirectCount, PerformanceNavigationTiming(..), gTypePerformanceNavigationTiming)
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/PerformanceNavigationTiming/toJSON MDN PerformanceNavigationTiming.toJSON documentation>
toJSON :: (MonadDOM m) => PerformanceNavigationTiming -> m GObject
toJSON self = liftDOM (((self ^. jsf "toJSON" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/toJSON MDN PerformanceNavigationTiming.toJSON documentation>
toJSON_ :: (MonadDOM m) => PerformanceNavigationTiming -> m ()
toJSON_ self = liftDOM (void (self ^. jsf "toJSON" ()))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/unloadEventStart MDN PerformanceNavigationTiming.unloadEventStart documentation>
getUnloadEventStart :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getUnloadEventStart self = liftDOM (((self ^. js "unloadEventStart") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/unloadEventEnd MDN PerformanceNavigationTiming.unloadEventEnd documentation>
getUnloadEventEnd :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getUnloadEventEnd self = liftDOM (((self ^. js "unloadEventEnd") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domInteractive MDN PerformanceNavigationTiming.domInteractive documentation>
getDomInteractive :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getDomInteractive self = liftDOM (((self ^. js "domInteractive") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domContentLoadedEventStart MDN PerformanceNavigationTiming.domContentLoadedEventStart documentation>
getDomContentLoadedEventStart :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getDomContentLoadedEventStart self = liftDOM (((self ^. js "domContentLoadedEventStart") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domContentLoadedEventEnd MDN PerformanceNavigationTiming.domContentLoadedEventEnd documentation>
getDomContentLoadedEventEnd :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getDomContentLoadedEventEnd self = liftDOM (((self ^. js "domContentLoadedEventEnd") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/domComplete MDN PerformanceNavigationTiming.domComplete documentation>
getDomComplete :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getDomComplete self = liftDOM (((self ^. js "domComplete") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/loadEventStart MDN PerformanceNavigationTiming.loadEventStart documentation>
getLoadEventStart :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getLoadEventStart self = liftDOM (((self ^. js "loadEventStart") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/loadEventEnd MDN PerformanceNavigationTiming.loadEventEnd documentation>
getLoadEventEnd :: (MonadDOM m) => PerformanceNavigationTiming -> m Double
getLoadEventEnd self = liftDOM (((self ^. js "loadEventEnd") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/type MDN PerformanceNavigationTiming.type documentation>
getType :: (MonadDOM m) => PerformanceNavigationTiming -> m NavigationTimingType
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/redirectCount MDN PerformanceNavigationTiming.redirectCount documentation>
getRedirectCount :: (MonadDOM m) => PerformanceNavigationTiming -> m Word
getRedirectCount self = liftDOM ((P.round <$> ((self ^. js "redirectCount") >>= valToNumber)))