jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioDecoderSupport.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcodecs (webref). Do not edit.
module JSDOM.Generated.AudioDecoderSupport
(newAudioDecoderSupport, setSupported, getSupported, getSupportedUnsafe, getSupportedUnchecked, setConfig, getConfig, getConfigUnsafe, getConfigUnchecked, AudioDecoderSupport(..), gTypeAudioDecoderSupport)
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/webcodecs/#dictdef-audiodecodersupport AudioDecoderSupport specification>
newAudioDecoderSupport :: (MonadDOM m) => m AudioDecoderSupport
newAudioDecoderSupport = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-supported AudioDecoderSupport.supported specification>
setSupported :: (MonadDOM m) => AudioDecoderSupport -> Bool -> m ()
setSupported self val = liftDOM (void (self ^. jss "supported" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-supported AudioDecoderSupport.supported specification>
getSupported :: (MonadDOM m) => AudioDecoderSupport -> m (Maybe Bool)
getSupported self = liftDOM (((self ^. js "supported") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-supported AudioDecoderSupport.supported specification>
getSupportedUnsafe :: (MonadDOM m, HasCallStack) => AudioDecoderSupport -> m Bool
getSupportedUnsafe self = liftDOM ((((self ^. js "supported") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-supported AudioDecoderSupport.supported specification>
getSupportedUnchecked :: (MonadDOM m) => AudioDecoderSupport -> m Bool
getSupportedUnchecked self = liftDOM (((self ^. js "supported") >>= valToBool))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-config AudioDecoderSupport.config specification>
setConfig :: (MonadDOM m) => AudioDecoderSupport -> AudioDecoderConfig -> m ()
setConfig self val = liftDOM (void (self ^. jss "config" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-config AudioDecoderSupport.config specification>
getConfig :: (MonadDOM m) => AudioDecoderSupport -> m (Maybe AudioDecoderConfig)
getConfig self = liftDOM (((self ^. js "config") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-config AudioDecoderSupport.config specification>
getConfigUnsafe :: (MonadDOM m, HasCallStack) => AudioDecoderSupport -> m AudioDecoderConfig
getConfigUnsafe self = liftDOM ((((self ^. js "config") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-audiodecodersupport-config AudioDecoderSupport.config specification>
getConfigUnchecked :: (MonadDOM m) => AudioDecoderSupport -> m AudioDecoderConfig
getConfigUnchecked self = liftDOM (((self ^. js "config") >>= fromJSValUnchecked))