jsaddle-dom-0.10.0.0: src/JSDOM/Generated/LockManagerSnapshot.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from web-locks (webref). Do not edit.
module JSDOM.Generated.LockManagerSnapshot
(newLockManagerSnapshot, setHeld, getHeld, getHeldUnsafe, getHeldUnchecked, setPending, getPending, getPendingUnsafe, getPendingUnchecked, LockManagerSnapshot(..), gTypeLockManagerSnapshot)
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://w3c.github.io/web-locks/#dictdef-lockmanagersnapshot LockManagerSnapshot specification>
newLockManagerSnapshot :: (MonadDOM m) => m LockManagerSnapshot
newLockManagerSnapshot = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-held LockManagerSnapshot.held specification>
setHeld :: (MonadDOM m) => LockManagerSnapshot -> [LockInfo] -> m ()
setHeld self val = liftDOM (void (self ^. jss "held" (toJSVal val)))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-held LockManagerSnapshot.held specification>
getHeld :: (MonadDOM m) => LockManagerSnapshot -> m (Maybe [LockInfo])
getHeld self = liftDOM (((self ^. js "held") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-held LockManagerSnapshot.held specification>
getHeldUnsafe :: (MonadDOM m, HasCallStack) => LockManagerSnapshot -> m [LockInfo]
getHeldUnsafe self = liftDOM ((((self ^. js "held") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-held LockManagerSnapshot.held specification>
getHeldUnchecked :: (MonadDOM m) => LockManagerSnapshot -> m [LockInfo]
getHeldUnchecked self = liftDOM (((self ^. js "held") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-pending LockManagerSnapshot.pending specification>
setPending :: (MonadDOM m) => LockManagerSnapshot -> [LockInfo] -> m ()
setPending self val = liftDOM (void (self ^. jss "pending" (toJSVal val)))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-pending LockManagerSnapshot.pending specification>
getPending :: (MonadDOM m) => LockManagerSnapshot -> m (Maybe [LockInfo])
getPending self = liftDOM (((self ^. js "pending") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-pending LockManagerSnapshot.pending specification>
getPendingUnsafe :: (MonadDOM m, HasCallStack) => LockManagerSnapshot -> m [LockInfo]
getPendingUnsafe self = liftDOM ((((self ^. js "pending") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/web-locks/#dom-lockmanagersnapshot-pending LockManagerSnapshot.pending specification>
getPendingUnchecked :: (MonadDOM m) => LockManagerSnapshot -> m [LockInfo]
getPendingUnchecked self = liftDOM (((self ^. js "pending") >>= fromJSValUnchecked))