{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MediaSession
(newMediaSession, setMetadata, deactivate, getKind, getControls,
getControlsUnsafe, getControlsUnchecked, MediaSession(..),
gTypeMediaSession)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newMediaSession ::
(MonadDOM m) => Maybe MediaSessionKind -> m MediaSession
newMediaSession :: forall (m :: * -> *).
MonadDOM m =>
Maybe MediaSessionKind -> m MediaSession
newMediaSession Maybe MediaSessionKind
kind
= DOM MediaSession -> m MediaSession
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> MediaSession
MediaSession (JSVal -> MediaSession) -> JSM JSVal -> DOM MediaSession
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> JSM JSVal -> [JSM JSVal] -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new (String -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg String
"MediaSession") [Maybe MediaSessionKind -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaSessionKind
kind])
setMetadata ::
(MonadDOM m) => MediaSession -> Maybe MediaMetadata -> m ()
setMetadata :: forall (m :: * -> *).
MonadDOM m =>
MediaSession -> Maybe MediaMetadata -> m ()
setMetadata MediaSession
self Maybe MediaMetadata
metadata
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (MediaSession
self MediaSession
-> Getting (JSM JSVal) MediaSession (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setMetadata" [Maybe MediaMetadata -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaMetadata
metadata]))
deactivate :: (MonadDOM m) => MediaSession -> m ()
deactivate :: forall (m :: * -> *). MonadDOM m => MediaSession -> m ()
deactivate MediaSession
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (MediaSession
self MediaSession
-> Getting (JSM JSVal) MediaSession (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"deactivate" ()))
getKind :: (MonadDOM m) => MediaSession -> m MediaSessionKind
getKind :: forall (m :: * -> *).
MonadDOM m =>
MediaSession -> m MediaSessionKind
getKind MediaSession
self = DOM MediaSessionKind -> m MediaSessionKind
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaSession
self MediaSession
-> Getting (JSM JSVal) MediaSession (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaSession (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"kind") JSM JSVal
-> (JSVal -> DOM MediaSessionKind) -> DOM MediaSessionKind
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM MediaSessionKind
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getControls ::
(MonadDOM m) => MediaSession -> m (Maybe MediaRemoteControls)
getControls :: forall (m :: * -> *).
MonadDOM m =>
MediaSession -> m (Maybe MediaRemoteControls)
getControls MediaSession
self = DOM (Maybe MediaRemoteControls) -> m (Maybe MediaRemoteControls)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaSession
self MediaSession
-> Getting (JSM JSVal) MediaSession (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaSession (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"controls") JSM JSVal
-> (JSVal -> DOM (Maybe MediaRemoteControls))
-> DOM (Maybe MediaRemoteControls)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaRemoteControls)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getControlsUnsafe ::
(MonadDOM m, HasCallStack) => MediaSession -> m MediaRemoteControls
getControlsUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
MediaSession -> m MediaRemoteControls
getControlsUnsafe MediaSession
self
= DOM MediaRemoteControls -> m MediaRemoteControls
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((MediaSession
self MediaSession
-> Getting (JSM JSVal) MediaSession (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaSession (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"controls") JSM JSVal
-> (JSVal -> DOM (Maybe MediaRemoteControls))
-> DOM (Maybe MediaRemoteControls)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaRemoteControls)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe MediaRemoteControls)
-> (Maybe MediaRemoteControls -> DOM MediaRemoteControls)
-> DOM MediaRemoteControls
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM MediaRemoteControls
-> (MediaRemoteControls -> DOM MediaRemoteControls)
-> Maybe MediaRemoteControls
-> DOM MediaRemoteControls
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM MediaRemoteControls
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") MediaRemoteControls -> DOM MediaRemoteControls
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getControlsUnchecked ::
(MonadDOM m) => MediaSession -> m MediaRemoteControls
getControlsUnchecked :: forall (m :: * -> *).
MonadDOM m =>
MediaSession -> m MediaRemoteControls
getControlsUnchecked MediaSession
self
= DOM MediaRemoteControls -> m MediaRemoteControls
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaSession
self MediaSession
-> Getting (JSM JSVal) MediaSession (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaSession (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"controls") JSM JSVal
-> (JSVal -> DOM MediaRemoteControls) -> DOM MediaRemoteControls
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM MediaRemoteControls
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)