jsaddle-dom-0.10.0.0: src/JSDOM/Generated/BiquadFilterOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webaudio-1.1 (webref). Do not edit.
module JSDOM.Generated.BiquadFilterOptions
(newBiquadFilterOptions, setType, getType, getTypeUnsafe, getTypeUnchecked, setQ, getQ, getQUnsafe, getQUnchecked, setDetune, getDetune, getDetuneUnsafe, getDetuneUnchecked, setFrequency, getFrequency, getFrequencyUnsafe, getFrequencyUnchecked, setGain, getGain, getGainUnsafe, getGainUnchecked, BiquadFilterOptions(..), gTypeBiquadFilterOptions)
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://webaudio.github.io/web-audio-api/#BiquadFilterOptions BiquadFilterOptions specification>
newBiquadFilterOptions :: (MonadDOM m) => m BiquadFilterOptions
newBiquadFilterOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-type BiquadFilterOptions.type specification>
setType :: (MonadDOM m) => BiquadFilterOptions -> BiquadFilterType -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-type BiquadFilterOptions.type specification>
getType :: (MonadDOM m) => BiquadFilterOptions -> m (Maybe BiquadFilterType)
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-type BiquadFilterOptions.type specification>
getTypeUnsafe :: (MonadDOM m, HasCallStack) => BiquadFilterOptions -> m BiquadFilterType
getTypeUnsafe self = liftDOM ((((self ^. js "type") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-type BiquadFilterOptions.type specification>
getTypeUnchecked :: (MonadDOM m) => BiquadFilterOptions -> m BiquadFilterType
getTypeUnchecked self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-q BiquadFilterOptions.Q specification>
setQ :: (MonadDOM m) => BiquadFilterOptions -> Float -> m ()
setQ self val = liftDOM (void (self ^. jss "Q" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-q BiquadFilterOptions.Q specification>
getQ :: (MonadDOM m) => BiquadFilterOptions -> m (Maybe Float)
getQ self = liftDOM (((self ^. js "Q") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-q BiquadFilterOptions.Q specification>
getQUnsafe :: (MonadDOM m, HasCallStack) => BiquadFilterOptions -> m Float
getQUnsafe self = liftDOM ((((self ^. js "Q") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-q BiquadFilterOptions.Q specification>
getQUnchecked :: (MonadDOM m) => BiquadFilterOptions -> m Float
getQUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "Q") >>= valToNumber)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-detune BiquadFilterOptions.detune specification>
setDetune :: (MonadDOM m) => BiquadFilterOptions -> Float -> m ()
setDetune self val = liftDOM (void (self ^. jss "detune" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-detune BiquadFilterOptions.detune specification>
getDetune :: (MonadDOM m) => BiquadFilterOptions -> m (Maybe Float)
getDetune self = liftDOM (((self ^. js "detune") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-detune BiquadFilterOptions.detune specification>
getDetuneUnsafe :: (MonadDOM m, HasCallStack) => BiquadFilterOptions -> m Float
getDetuneUnsafe self = liftDOM ((((self ^. js "detune") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-detune BiquadFilterOptions.detune specification>
getDetuneUnchecked :: (MonadDOM m) => BiquadFilterOptions -> m Float
getDetuneUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "detune") >>= valToNumber)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-frequency BiquadFilterOptions.frequency specification>
setFrequency :: (MonadDOM m) => BiquadFilterOptions -> Float -> m ()
setFrequency self val = liftDOM (void (self ^. jss "frequency" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-frequency BiquadFilterOptions.frequency specification>
getFrequency :: (MonadDOM m) => BiquadFilterOptions -> m (Maybe Float)
getFrequency self = liftDOM (((self ^. js "frequency") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-frequency BiquadFilterOptions.frequency specification>
getFrequencyUnsafe :: (MonadDOM m, HasCallStack) => BiquadFilterOptions -> m Float
getFrequencyUnsafe self = liftDOM ((((self ^. js "frequency") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-frequency BiquadFilterOptions.frequency specification>
getFrequencyUnchecked :: (MonadDOM m) => BiquadFilterOptions -> m Float
getFrequencyUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "frequency") >>= valToNumber)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-gain BiquadFilterOptions.gain specification>
setGain :: (MonadDOM m) => BiquadFilterOptions -> Float -> m ()
setGain self val = liftDOM (void (self ^. jss "gain" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-gain BiquadFilterOptions.gain specification>
getGain :: (MonadDOM m) => BiquadFilterOptions -> m (Maybe Float)
getGain self = liftDOM (((self ^. js "gain") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-gain BiquadFilterOptions.gain specification>
getGainUnsafe :: (MonadDOM m, HasCallStack) => BiquadFilterOptions -> m Float
getGainUnsafe self = liftDOM ((((self ^. js "gain") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-biquadfilteroptions-gain BiquadFilterOptions.gain specification>
getGainUnchecked :: (MonadDOM m) => BiquadFilterOptions -> m Float
getGainUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "gain") >>= valToNumber)))