packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from remote-playback (webref). Do not edit.
module JSDOM.Generated.RemotePlayback
       (cancelWatchAvailability, prompt, watchAvailability, watchAvailability_, getState, connecting, connect, disconnect, RemotePlayback(..), gTypeRemotePlayback)
       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/RemotePlayback/cancelWatchAvailability MDN RemotePlayback.cancelWatchAvailability documentation>
cancelWatchAvailability :: (MonadDOM m) => RemotePlayback -> Maybe Int -> m ()
cancelWatchAvailability self id = liftDOM (void (((self ^. jsf "cancelWatchAvailability" [P.maybe (P.return jsUndefined) toJSVal id]) >>= readPromise)))

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

-- | <https://developer.mozilla.org/docs/Web/API/RemotePlayback/watchAvailability MDN RemotePlayback.watchAvailability documentation>
watchAvailability :: (MonadDOM m) => RemotePlayback -> RemotePlaybackAvailabilityCallback -> m Int
watchAvailability self callback' = liftDOM ((P.round <$> ((((self ^. jsf "watchAvailability" [toJSVal callback']) >>= readPromise)) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/RemotePlayback/watchAvailability MDN RemotePlayback.watchAvailability documentation>
watchAvailability_ :: (MonadDOM m) => RemotePlayback -> RemotePlaybackAvailabilityCallback -> m ()
watchAvailability_ self callback' = liftDOM (void (((self ^. jsf "watchAvailability" [toJSVal callback']) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/RemotePlayback/state MDN RemotePlayback.state documentation>
getState :: (MonadDOM m) => RemotePlayback -> m RemotePlaybackState
getState self = liftDOM (((self ^. js "state") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/remote-playback/#dom-remoteplayback-onconnecting connecting event>
connecting :: EventName RemotePlayback Event
connecting = unsafeEventName (toJSString "connecting")

-- | <https://w3c.github.io/remote-playback/#dom-remoteplayback-onconnect connect event>
connect :: EventName RemotePlayback Event
connect = unsafeEventName (toJSString "connect")

-- | <https://w3c.github.io/remote-playback/#dom-remoteplayback-ondisconnect disconnect event>
disconnect :: EventName RemotePlayback Event
disconnect = unsafeEventName (toJSString "disconnect")