{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.PerformanceTiming
(getNavigationStart, getUnloadEventStart, getUnloadEventEnd,
getRedirectStart, getRedirectEnd, getFetchStart,
getDomainLookupStart, getDomainLookupEnd, getConnectStart,
getConnectEnd, getSecureConnectionStart, getRequestStart,
getResponseStart, getResponseEnd, getDomLoading, getDomInteractive,
getDomContentLoadedEventStart, getDomContentLoadedEventEnd,
getDomComplete, getLoadEventStart, getLoadEventEnd,
PerformanceTiming(..), gTypePerformanceTiming)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
getNavigationStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getNavigationStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getNavigationStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"navigationStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getUnloadEventStart ::
(MonadDOM m) => PerformanceTiming -> m Word64
getUnloadEventStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getUnloadEventStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"unloadEventStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getUnloadEventEnd :: (MonadDOM m) => PerformanceTiming -> m Word64
getUnloadEventEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getUnloadEventEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"unloadEventEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getRedirectStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getRedirectStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getRedirectStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"redirectStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getRedirectEnd :: (MonadDOM m) => PerformanceTiming -> m Word64
getRedirectEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getRedirectEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"redirectEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getFetchStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getFetchStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getFetchStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"fetchStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomainLookupStart ::
(MonadDOM m) => PerformanceTiming -> m Word64
getDomainLookupStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomainLookupStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domainLookupStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomainLookupEnd :: (MonadDOM m) => PerformanceTiming -> m Word64
getDomainLookupEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomainLookupEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domainLookupEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getConnectStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getConnectStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getConnectStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"connectStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getConnectEnd :: (MonadDOM m) => PerformanceTiming -> m Word64
getConnectEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getConnectEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"connectEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getSecureConnectionStart ::
(MonadDOM m) => PerformanceTiming -> m Word64
getSecureConnectionStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getSecureConnectionStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"secureConnectionStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getRequestStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getRequestStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getRequestStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"requestStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getResponseStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getResponseStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getResponseStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"responseStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getResponseEnd :: (MonadDOM m) => PerformanceTiming -> m Word64
getResponseEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getResponseEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"responseEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomLoading :: (MonadDOM m) => PerformanceTiming -> m Word64
getDomLoading :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomLoading PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domLoading") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomInteractive :: (MonadDOM m) => PerformanceTiming -> m Word64
getDomInteractive :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomInteractive PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domInteractive") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomContentLoadedEventStart ::
(MonadDOM m) => PerformanceTiming -> m Word64
getDomContentLoadedEventStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomContentLoadedEventStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domContentLoadedEventStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomContentLoadedEventEnd ::
(MonadDOM m) => PerformanceTiming -> m Word64
getDomContentLoadedEventEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomContentLoadedEventEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domContentLoadedEventEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getDomComplete :: (MonadDOM m) => PerformanceTiming -> m Word64
getDomComplete :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getDomComplete PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"domComplete") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getLoadEventStart :: (MonadDOM m) => PerformanceTiming -> m Word64
getLoadEventStart :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getLoadEventStart PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"loadEventStart") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getLoadEventEnd :: (MonadDOM m) => PerformanceTiming -> m Word64
getLoadEventEnd :: forall (m :: * -> *). MonadDOM m => PerformanceTiming -> m Word64
getLoadEventEnd PerformanceTiming
self
= DOM Word64 -> m Word64
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word64
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word64) -> JSM Double -> DOM Word64
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((PerformanceTiming
self PerformanceTiming
-> Getting (JSM JSVal) PerformanceTiming (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter PerformanceTiming (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"loadEventEnd") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))