packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ConvolverOptions.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.ConvolverOptions
       (newConvolverOptions, setBuffer, getBuffer, getBufferUnsafe, getBufferUnchecked, setDisableNormalization, getDisableNormalization, getDisableNormalizationUnsafe, getDisableNormalizationUnchecked, ConvolverOptions(..), gTypeConvolverOptions)
       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/#ConvolverOptions ConvolverOptions specification>
newConvolverOptions :: (MonadDOM m) => m ConvolverOptions
newConvolverOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-buffer ConvolverOptions.buffer specification>
setBuffer :: (MonadDOM m) => ConvolverOptions -> Maybe AudioBuffer -> m ()
setBuffer self val = liftDOM (void (self ^. jss "buffer" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-buffer ConvolverOptions.buffer specification>
getBuffer :: (MonadDOM m) => ConvolverOptions -> m (Maybe AudioBuffer)
getBuffer self = liftDOM (((self ^. js "buffer") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-buffer ConvolverOptions.buffer specification>
getBufferUnsafe :: (MonadDOM m, HasCallStack) => ConvolverOptions -> m AudioBuffer
getBufferUnsafe self = liftDOM ((((self ^. js "buffer") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-buffer ConvolverOptions.buffer specification>
getBufferUnchecked :: (MonadDOM m) => ConvolverOptions -> m AudioBuffer
getBufferUnchecked self = liftDOM (((self ^. js "buffer") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-disablenormalization ConvolverOptions.disableNormalization specification>
setDisableNormalization :: (MonadDOM m) => ConvolverOptions -> Bool -> m ()
setDisableNormalization self val = liftDOM (void (self ^. jss "disableNormalization" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-disablenormalization ConvolverOptions.disableNormalization specification>
getDisableNormalization :: (MonadDOM m) => ConvolverOptions -> m (Maybe Bool)
getDisableNormalization self = liftDOM (((self ^. js "disableNormalization") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-disablenormalization ConvolverOptions.disableNormalization specification>
getDisableNormalizationUnsafe :: (MonadDOM m, HasCallStack) => ConvolverOptions -> m Bool
getDisableNormalizationUnsafe self = liftDOM ((((self ^. js "disableNormalization") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-convolveroptions-disablenormalization ConvolverOptions.disableNormalization specification>
getDisableNormalizationUnchecked :: (MonadDOM m) => ConvolverOptions -> m Bool
getDisableNormalizationUnchecked self = liftDOM (((self ^. js "disableNormalization") >>= valToBool))