jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WakeLockSentinel.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from screen-wake-lock (webref). Do not edit.
module JSDOM.Generated.WakeLockSentinel
(release, getReleased, getType, releaseEvent, WakeLockSentinel(..), gTypeWakeLockSentinel)
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/WakeLockSentinel/release MDN WakeLockSentinel.release documentation>
release :: (MonadDOM m) => WakeLockSentinel -> m ()
release self = liftDOM (void (((self ^. jsf "release" ()) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/WakeLockSentinel/released MDN WakeLockSentinel.released documentation>
getReleased :: (MonadDOM m) => WakeLockSentinel -> m Bool
getReleased self = liftDOM (((self ^. js "released") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/WakeLockSentinel/type MDN WakeLockSentinel.type documentation>
getType :: (MonadDOM m) => WakeLockSentinel -> m WakeLockType
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/screen-wake-lock/#dom-wakelocksentinel-onrelease release event>
releaseEvent :: EventName WakeLockSentinel Event
releaseEvent = unsafeEventName (toJSString "release")