jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaMetadata.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediasession (webref). Do not edit.
module JSDOM.Generated.MediaMetadata
(newMediaMetadata, setTitle, getTitle, setArtist, getArtist, setAlbum, getAlbum, setArtwork, getArtwork, MediaMetadata(..), gTypeMediaMetadata)
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/MediaMetadata/MediaMetadata MDN MediaMetadata. documentation>
newMediaMetadata :: (MonadDOM m) => Maybe MediaMetadataInit -> m MediaMetadata
newMediaMetadata init = liftDOM (((new (jsg "MediaMetadata") [P.maybe (P.return jsUndefined) toJSVal init]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/title MDN MediaMetadata.title documentation>
setTitle :: (MonadDOM m, ToJSString val) => MediaMetadata -> val -> m ()
setTitle self val = liftDOM (void (self ^. jss "title" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/title MDN MediaMetadata.title documentation>
getTitle :: (MonadDOM m, FromJSString result) => MediaMetadata -> m result
getTitle self = liftDOM (((self ^. js "title") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/artist MDN MediaMetadata.artist documentation>
setArtist :: (MonadDOM m, ToJSString val) => MediaMetadata -> val -> m ()
setArtist self val = liftDOM (void (self ^. jss "artist" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/artist MDN MediaMetadata.artist documentation>
getArtist :: (MonadDOM m, FromJSString result) => MediaMetadata -> m result
getArtist self = liftDOM (((self ^. js "artist") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/album MDN MediaMetadata.album documentation>
setAlbum :: (MonadDOM m, ToJSString val) => MediaMetadata -> val -> m ()
setAlbum self val = liftDOM (void (self ^. jss "album" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/album MDN MediaMetadata.album documentation>
getAlbum :: (MonadDOM m, FromJSString result) => MediaMetadata -> m result
getAlbum self = liftDOM (((self ^. js "album") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/artwork MDN MediaMetadata.artwork documentation>
setArtwork :: (MonadDOM m) => MediaMetadata -> [GObject] -> m ()
setArtwork self val = liftDOM (void (self ^. jss "artwork" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaMetadata/artwork MDN MediaMetadata.artwork documentation>
getArtwork :: (MonadDOM m) => MediaMetadata -> m [GObject]
getArtwork self = liftDOM (((self ^. js "artwork") >>= fromJSValUnchecked))