jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaMetadataInit.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.MediaMetadataInit
(newMediaMetadataInit, setTitle, getTitle, getTitleUnsafe, getTitleUnchecked, setArtist, getArtist, getArtistUnsafe, getArtistUnchecked, setAlbum, getAlbum, getAlbumUnsafe, getAlbumUnchecked, setArtwork, getArtwork, getArtworkUnsafe, getArtworkUnchecked, setChapterInfo, getChapterInfo, getChapterInfoUnsafe, getChapterInfoUnchecked, MediaMetadataInit(..), gTypeMediaMetadataInit)
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/mediasession/#dictdef-mediametadatainit MediaMetadataInit specification>
newMediaMetadataInit :: (MonadDOM m) => m MediaMetadataInit
newMediaMetadataInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-title MediaMetadataInit.title specification>
setTitle :: (MonadDOM m, ToJSString val) => MediaMetadataInit -> val -> m ()
setTitle self val = liftDOM (void (self ^. jss "title" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-title MediaMetadataInit.title specification>
getTitle :: (MonadDOM m, FromJSString result) => MediaMetadataInit -> m (Maybe result)
getTitle self = liftDOM (((self ^. js "title") >>= fromMaybeJSString))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-title MediaMetadataInit.title specification>
getTitleUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => MediaMetadataInit -> m result
getTitleUnsafe self = liftDOM ((((self ^. js "title") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-title MediaMetadataInit.title specification>
getTitleUnchecked :: (MonadDOM m, FromJSString result) => MediaMetadataInit -> m result
getTitleUnchecked self = liftDOM (((self ^. js "title") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artist MediaMetadataInit.artist specification>
setArtist :: (MonadDOM m, ToJSString val) => MediaMetadataInit -> val -> m ()
setArtist self val = liftDOM (void (self ^. jss "artist" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artist MediaMetadataInit.artist specification>
getArtist :: (MonadDOM m, FromJSString result) => MediaMetadataInit -> m (Maybe result)
getArtist self = liftDOM (((self ^. js "artist") >>= fromMaybeJSString))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artist MediaMetadataInit.artist specification>
getArtistUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => MediaMetadataInit -> m result
getArtistUnsafe self = liftDOM ((((self ^. js "artist") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artist MediaMetadataInit.artist specification>
getArtistUnchecked :: (MonadDOM m, FromJSString result) => MediaMetadataInit -> m result
getArtistUnchecked self = liftDOM (((self ^. js "artist") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-album MediaMetadataInit.album specification>
setAlbum :: (MonadDOM m, ToJSString val) => MediaMetadataInit -> val -> m ()
setAlbum self val = liftDOM (void (self ^. jss "album" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-album MediaMetadataInit.album specification>
getAlbum :: (MonadDOM m, FromJSString result) => MediaMetadataInit -> m (Maybe result)
getAlbum self = liftDOM (((self ^. js "album") >>= fromMaybeJSString))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-album MediaMetadataInit.album specification>
getAlbumUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => MediaMetadataInit -> m result
getAlbumUnsafe self = liftDOM ((((self ^. js "album") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-album MediaMetadataInit.album specification>
getAlbumUnchecked :: (MonadDOM m, FromJSString result) => MediaMetadataInit -> m result
getAlbumUnchecked self = liftDOM (((self ^. js "album") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artwork MediaMetadataInit.artwork specification>
setArtwork :: (MonadDOM m) => MediaMetadataInit -> [MediaImage] -> m ()
setArtwork self val = liftDOM (void (self ^. jss "artwork" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artwork MediaMetadataInit.artwork specification>
getArtwork :: (MonadDOM m) => MediaMetadataInit -> m (Maybe [MediaImage])
getArtwork self = liftDOM (((self ^. js "artwork") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artwork MediaMetadataInit.artwork specification>
getArtworkUnsafe :: (MonadDOM m, HasCallStack) => MediaMetadataInit -> m [MediaImage]
getArtworkUnsafe self = liftDOM ((((self ^. js "artwork") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-artwork MediaMetadataInit.artwork specification>
getArtworkUnchecked :: (MonadDOM m) => MediaMetadataInit -> m [MediaImage]
getArtworkUnchecked self = liftDOM (((self ^. js "artwork") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-chapterinfo MediaMetadataInit.chapterInfo specification>
setChapterInfo :: (MonadDOM m) => MediaMetadataInit -> [ChapterInformationInit] -> m ()
setChapterInfo self val = liftDOM (void (self ^. jss "chapterInfo" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-chapterinfo MediaMetadataInit.chapterInfo specification>
getChapterInfo :: (MonadDOM m) => MediaMetadataInit -> m (Maybe [ChapterInformationInit])
getChapterInfo self = liftDOM (((self ^. js "chapterInfo") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-chapterinfo MediaMetadataInit.chapterInfo specification>
getChapterInfoUnsafe :: (MonadDOM m, HasCallStack) => MediaMetadataInit -> m [ChapterInformationInit]
getChapterInfoUnsafe self = liftDOM ((((self ^. js "chapterInfo") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediametadatainit-chapterinfo MediaMetadataInit.chapterInfo specification>
getChapterInfoUnchecked :: (MonadDOM m) => MediaMetadataInit -> m [ChapterInformationInit]
getChapterInfoUnchecked self = liftDOM (((self ^. js "chapterInfo") >>= fromJSValUnchecked))