jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Performance.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from hr-time-3 (webref). Do not edit.
module JSDOM.Generated.Performance
(clearMarks, clearMeasures, clearResourceTimings, getEntries, getEntries_, getEntriesByName, getEntriesByName_, getEntriesByType, getEntriesByType_, mark, mark_, mark', mark'_, measure, measure_, now, now_, setResourceTimingBufferSize, toJSON, toJSON_, getTimeOrigin, getEventCounts, getInteractionCount, getTiming, getNavigation, resourceTimingBufferFull, Performance(..), gTypePerformance)
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/Performance/clearMarks MDN Performance.clearMarks documentation>
clearMarks :: (MonadDOM m, ToJSString markName) => Performance -> Maybe markName -> m ()
clearMarks self markName = liftDOM (void (self ^. jsf "clearMarks" [P.maybe (P.return jsUndefined) toJSVal markName]))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/clearMeasures MDN Performance.clearMeasures documentation>
clearMeasures :: (MonadDOM m, ToJSString measureName) => Performance -> Maybe measureName -> m ()
clearMeasures self measureName = liftDOM (void (self ^. jsf "clearMeasures" [P.maybe (P.return jsUndefined) toJSVal measureName]))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/clearResourceTimings MDN Performance.clearResourceTimings documentation>
clearResourceTimings :: (MonadDOM m) => Performance -> m ()
clearResourceTimings self = liftDOM (void (self ^. jsf "clearResourceTimings" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/getEntries MDN Performance.getEntries documentation>
getEntries :: (MonadDOM m) => Performance -> m [PerformanceEntry]
getEntries self = liftDOM (((self ^. jsf "getEntries" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/getEntries MDN Performance.getEntries documentation>
getEntries_ :: (MonadDOM m) => Performance -> m ()
getEntries_ self = liftDOM (void (self ^. jsf "getEntries" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName MDN Performance.getEntriesByName documentation>
getEntriesByName :: (MonadDOM m, ToJSString name, ToJSString type') => Performance -> name -> Maybe type' -> m [PerformanceEntry]
getEntriesByName self name type' = liftDOM (((self ^. jsf "getEntriesByName" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal type']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName MDN Performance.getEntriesByName documentation>
getEntriesByName_ :: (MonadDOM m, ToJSString name, ToJSString type') => Performance -> name -> Maybe type' -> m ()
getEntriesByName_ self name type' = liftDOM (void (self ^. jsf "getEntriesByName" [toJSVal name, P.maybe (P.return jsUndefined) toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType MDN Performance.getEntriesByType documentation>
getEntriesByType :: (MonadDOM m, ToJSString type') => Performance -> type' -> m [PerformanceEntry]
getEntriesByType self type' = liftDOM (((self ^. jsf "getEntriesByType" [toJSVal type']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType MDN Performance.getEntriesByType documentation>
getEntriesByType_ :: (MonadDOM m, ToJSString type') => Performance -> type' -> m ()
getEntriesByType_ self type' = liftDOM (void (self ^. jsf "getEntriesByType" [toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/mark MDN Performance.mark documentation>
mark :: (MonadDOM m, ToJSString markName) => Performance -> markName -> m PerformanceMark
mark self markName = liftDOM (((self ^. jsf "mark" [toJSVal markName]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/mark MDN Performance.mark documentation>
mark_ :: (MonadDOM m, ToJSString markName) => Performance -> markName -> m ()
mark_ self markName = liftDOM (void (self ^. jsf "mark" [toJSVal markName]))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/mark MDN Performance.mark documentation>
mark' :: (MonadDOM m, ToJSString markName) => Performance -> markName -> Maybe PerformanceMarkOptions -> m PerformanceMark
mark' self markName markOptions = liftDOM (((self ^. jsf "mark" [toJSVal markName, P.maybe (P.return jsUndefined) toJSVal markOptions]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/mark MDN Performance.mark documentation>
mark'_ :: (MonadDOM m, ToJSString markName) => Performance -> markName -> Maybe PerformanceMarkOptions -> m ()
mark'_ self markName markOptions = liftDOM (void (self ^. jsf "mark" [toJSVal markName, P.maybe (P.return jsUndefined) toJSVal markOptions]))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/measure MDN Performance.measure documentation>
measure :: (MonadDOM m, ToJSString measureName, IsStringOrPerformanceMeasureOptions startOrMeasureOptions, ToJSString endMark) => Performance -> measureName -> Maybe startOrMeasureOptions -> Maybe endMark -> m PerformanceMeasure
measure self measureName startOrMeasureOptions endMark = liftDOM (((self ^. jsf "measure" [toJSVal measureName, P.maybe (P.return jsUndefined) toJSVal startOrMeasureOptions, P.maybe (P.return jsUndefined) toJSVal endMark]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/measure MDN Performance.measure documentation>
measure_ :: (MonadDOM m, ToJSString measureName, IsStringOrPerformanceMeasureOptions startOrMeasureOptions, ToJSString endMark) => Performance -> measureName -> Maybe startOrMeasureOptions -> Maybe endMark -> m ()
measure_ self measureName startOrMeasureOptions endMark = liftDOM (void (self ^. jsf "measure" [toJSVal measureName, P.maybe (P.return jsUndefined) toJSVal startOrMeasureOptions, P.maybe (P.return jsUndefined) toJSVal endMark]))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/now MDN Performance.now documentation>
now :: (MonadDOM m) => Performance -> m Double
now self = liftDOM (((self ^. jsf "now" ()) >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/now MDN Performance.now documentation>
now_ :: (MonadDOM m) => Performance -> m ()
now_ self = liftDOM (void (self ^. jsf "now" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/setResourceTimingBufferSize MDN Performance.setResourceTimingBufferSize documentation>
setResourceTimingBufferSize :: (MonadDOM m) => Performance -> Word -> m ()
setResourceTimingBufferSize self maxSize = liftDOM (void (self ^. jsf "setResourceTimingBufferSize" [toJSVal maxSize]))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/toJSON MDN Performance.toJSON documentation>
toJSON :: (MonadDOM m) => Performance -> m GObject
toJSON self = liftDOM (((self ^. jsf "toJSON" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/toJSON MDN Performance.toJSON documentation>
toJSON_ :: (MonadDOM m) => Performance -> m ()
toJSON_ self = liftDOM (void (self ^. jsf "toJSON" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/timeOrigin MDN Performance.timeOrigin documentation>
getTimeOrigin :: (MonadDOM m) => Performance -> m Double
getTimeOrigin self = liftDOM (((self ^. js "timeOrigin") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/eventCounts MDN Performance.eventCounts documentation>
getEventCounts :: (MonadDOM m) => Performance -> m EventCounts
getEventCounts self = liftDOM (((self ^. js "eventCounts") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/interactionCount MDN Performance.interactionCount documentation>
getInteractionCount :: (MonadDOM m) => Performance -> m Word53
getInteractionCount self = liftDOM (((self ^. js "interactionCount") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/timing MDN Performance.timing documentation>
getTiming :: (MonadDOM m) => Performance -> m PerformanceTiming
getTiming self = liftDOM (((self ^. js "timing") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Performance/navigation MDN Performance.navigation documentation>
getNavigation :: (MonadDOM m) => Performance -> m PerformanceNavigation
getNavigation self = liftDOM (((self ^. js "navigation") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/resource-timing/#dom-performance-onresourcetimingbufferfull resourcetimingbufferfull event>
resourceTimingBufferFull :: EventName Performance Event
resourceTimingBufferFull = unsafeEventName (toJSString "resourcetimingbufferfull")