packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/DynamicsCompressorOptions.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.DynamicsCompressorOptions
       (newDynamicsCompressorOptions, setAttack, getAttack, getAttackUnsafe, getAttackUnchecked, setKnee, getKnee, getKneeUnsafe, getKneeUnchecked, setRatio, getRatio, getRatioUnsafe, getRatioUnchecked, setRelease, getRelease, getReleaseUnsafe, getReleaseUnchecked, setThreshold, getThreshold, getThresholdUnsafe, getThresholdUnchecked, DynamicsCompressorOptions(..), gTypeDynamicsCompressorOptions)
       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/#DynamicsCompressorOptions DynamicsCompressorOptions specification>
newDynamicsCompressorOptions :: (MonadDOM m) => m DynamicsCompressorOptions
newDynamicsCompressorOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-attack DynamicsCompressorOptions.attack specification>
setAttack :: (MonadDOM m) => DynamicsCompressorOptions -> Float -> m ()
setAttack self val = liftDOM (void (self ^. jss "attack" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-attack DynamicsCompressorOptions.attack specification>
getAttack :: (MonadDOM m) => DynamicsCompressorOptions -> m (Maybe Float)
getAttack self = liftDOM (((self ^. js "attack") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-attack DynamicsCompressorOptions.attack specification>
getAttackUnsafe :: (MonadDOM m, HasCallStack) => DynamicsCompressorOptions -> m Float
getAttackUnsafe self = liftDOM ((((self ^. js "attack") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-attack DynamicsCompressorOptions.attack specification>
getAttackUnchecked :: (MonadDOM m) => DynamicsCompressorOptions -> m Float
getAttackUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "attack") >>= valToNumber)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-knee DynamicsCompressorOptions.knee specification>
setKnee :: (MonadDOM m) => DynamicsCompressorOptions -> Float -> m ()
setKnee self val = liftDOM (void (self ^. jss "knee" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-knee DynamicsCompressorOptions.knee specification>
getKnee :: (MonadDOM m) => DynamicsCompressorOptions -> m (Maybe Float)
getKnee self = liftDOM (((self ^. js "knee") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-knee DynamicsCompressorOptions.knee specification>
getKneeUnsafe :: (MonadDOM m, HasCallStack) => DynamicsCompressorOptions -> m Float
getKneeUnsafe self = liftDOM ((((self ^. js "knee") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-knee DynamicsCompressorOptions.knee specification>
getKneeUnchecked :: (MonadDOM m) => DynamicsCompressorOptions -> m Float
getKneeUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "knee") >>= valToNumber)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-ratio DynamicsCompressorOptions.ratio specification>
setRatio :: (MonadDOM m) => DynamicsCompressorOptions -> Float -> m ()
setRatio self val = liftDOM (void (self ^. jss "ratio" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-ratio DynamicsCompressorOptions.ratio specification>
getRatio :: (MonadDOM m) => DynamicsCompressorOptions -> m (Maybe Float)
getRatio self = liftDOM (((self ^. js "ratio") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-ratio DynamicsCompressorOptions.ratio specification>
getRatioUnsafe :: (MonadDOM m, HasCallStack) => DynamicsCompressorOptions -> m Float
getRatioUnsafe self = liftDOM ((((self ^. js "ratio") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-ratio DynamicsCompressorOptions.ratio specification>
getRatioUnchecked :: (MonadDOM m) => DynamicsCompressorOptions -> m Float
getRatioUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "ratio") >>= valToNumber)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-release DynamicsCompressorOptions.release specification>
setRelease :: (MonadDOM m) => DynamicsCompressorOptions -> Float -> m ()
setRelease self val = liftDOM (void (self ^. jss "release" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-release DynamicsCompressorOptions.release specification>
getRelease :: (MonadDOM m) => DynamicsCompressorOptions -> m (Maybe Float)
getRelease self = liftDOM (((self ^. js "release") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-release DynamicsCompressorOptions.release specification>
getReleaseUnsafe :: (MonadDOM m, HasCallStack) => DynamicsCompressorOptions -> m Float
getReleaseUnsafe self = liftDOM ((((self ^. js "release") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-release DynamicsCompressorOptions.release specification>
getReleaseUnchecked :: (MonadDOM m) => DynamicsCompressorOptions -> m Float
getReleaseUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "release") >>= valToNumber)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-threshold DynamicsCompressorOptions.threshold specification>
setThreshold :: (MonadDOM m) => DynamicsCompressorOptions -> Float -> m ()
setThreshold self val = liftDOM (void (self ^. jss "threshold" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-threshold DynamicsCompressorOptions.threshold specification>
getThreshold :: (MonadDOM m) => DynamicsCompressorOptions -> m (Maybe Float)
getThreshold self = liftDOM (((self ^. js "threshold") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-threshold DynamicsCompressorOptions.threshold specification>
getThresholdUnsafe :: (MonadDOM m, HasCallStack) => DynamicsCompressorOptions -> m Float
getThresholdUnsafe self = liftDOM ((((self ^. js "threshold") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-dynamicscompressoroptions-threshold DynamicsCompressorOptions.threshold specification>
getThresholdUnchecked :: (MonadDOM m) => DynamicsCompressorOptions -> m Float
getThresholdUnchecked self = liftDOM ((P.realToFrac <$> ((self ^. js "threshold") >>= valToNumber)))