packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PerformanceEventTiming.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from event-timing (webref). Do not edit.
module JSDOM.Generated.PerformanceEventTiming
       (toJSON, toJSON_, getProcessingStart, getProcessingEnd, getCancelable, getTarget, getTargetUnsafe, getTargetUnchecked, getInteractionId, PerformanceEventTiming(..), gTypePerformanceEventTiming)
       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/PerformanceEventTiming/toJSON MDN PerformanceEventTiming.toJSON documentation>
toJSON :: (MonadDOM m) => PerformanceEventTiming -> m GObject
toJSON self = liftDOM (((self ^. jsf "toJSON" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/toJSON MDN PerformanceEventTiming.toJSON documentation>
toJSON_ :: (MonadDOM m) => PerformanceEventTiming -> m ()
toJSON_ self = liftDOM (void (self ^. jsf "toJSON" ()))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/processingStart MDN PerformanceEventTiming.processingStart documentation>
getProcessingStart :: (MonadDOM m) => PerformanceEventTiming -> m Double
getProcessingStart self = liftDOM (((self ^. js "processingStart") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/processingEnd MDN PerformanceEventTiming.processingEnd documentation>
getProcessingEnd :: (MonadDOM m) => PerformanceEventTiming -> m Double
getProcessingEnd self = liftDOM (((self ^. js "processingEnd") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/cancelable MDN PerformanceEventTiming.cancelable documentation>
getCancelable :: (MonadDOM m) => PerformanceEventTiming -> m Bool
getCancelable self = liftDOM (((self ^. js "cancelable") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/target MDN PerformanceEventTiming.target documentation>
getTarget :: (MonadDOM m) => PerformanceEventTiming -> m (Maybe Node)
getTarget self = liftDOM (((self ^. js "target") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/target MDN PerformanceEventTiming.target documentation>
getTargetUnsafe :: (MonadDOM m, HasCallStack) => PerformanceEventTiming -> m Node
getTargetUnsafe self = liftDOM ((((self ^. js "target") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/target MDN PerformanceEventTiming.target documentation>
getTargetUnchecked :: (MonadDOM m) => PerformanceEventTiming -> m Node
getTargetUnchecked self = liftDOM (((self ^. js "target") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PerformanceEventTiming/interactionId MDN PerformanceEventTiming.interactionId documentation>
getInteractionId :: (MonadDOM m) => PerformanceEventTiming -> m Word53
getInteractionId self = liftDOM (((self ^. js "interactionId") >>= fromJSValUnchecked))