jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PeriodicWaveConstraints.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.PeriodicWaveConstraints
(newPeriodicWaveConstraints, setDisableNormalization, getDisableNormalization, getDisableNormalizationUnsafe, getDisableNormalizationUnchecked, PeriodicWaveConstraints(..), gTypePeriodicWaveConstraints, IsPeriodicWaveConstraints, toPeriodicWaveConstraints)
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/#PeriodicWaveConstraints PeriodicWaveConstraints specification>
newPeriodicWaveConstraints :: (MonadDOM m) => m PeriodicWaveConstraints
newPeriodicWaveConstraints = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveconstraints-disablenormalization PeriodicWaveConstraints.disableNormalization specification>
setDisableNormalization :: (MonadDOM m, IsPeriodicWaveConstraints self) => self -> Bool -> m ()
setDisableNormalization self val = liftDOM (void ((Types.toPeriodicWaveConstraints self) ^. jss "disableNormalization" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveconstraints-disablenormalization PeriodicWaveConstraints.disableNormalization specification>
getDisableNormalization :: (MonadDOM m, IsPeriodicWaveConstraints self) => self -> m (Maybe Bool)
getDisableNormalization self = liftDOM ((((Types.toPeriodicWaveConstraints self) ^. js "disableNormalization") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveconstraints-disablenormalization PeriodicWaveConstraints.disableNormalization specification>
getDisableNormalizationUnsafe :: (MonadDOM m, IsPeriodicWaveConstraints self, HasCallStack) => self -> m Bool
getDisableNormalizationUnsafe self = liftDOM (((((Types.toPeriodicWaveConstraints self) ^. js "disableNormalization") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveconstraints-disablenormalization PeriodicWaveConstraints.disableNormalization specification>
getDisableNormalizationUnchecked :: (MonadDOM m, IsPeriodicWaveConstraints self) => self -> m Bool
getDisableNormalizationUnchecked self = liftDOM ((((Types.toPeriodicWaveConstraints self) ^. js "disableNormalization") >>= valToBool))