jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WaveShaperNode.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.WaveShaperNode
(newWaveShaperNode, setCurve, getCurve, getCurveUnsafe, getCurveUnchecked, setOversample, getOversample, WaveShaperNode(..), gTypeWaveShaperNode)
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://developer.mozilla.org/docs/Web/API/WaveShaperNode/WaveShaperNode MDN WaveShaperNode. documentation>
newWaveShaperNode :: (MonadDOM m, IsBaseAudioContext context) => context -> Maybe WaveShaperOptions -> m WaveShaperNode
newWaveShaperNode context options = liftDOM (((new (jsg "WaveShaperNode") [toJSVal context, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/WaveShaperNode/curve MDN WaveShaperNode.curve documentation>
setCurve :: (MonadDOM m, IsFloat32Array val) => WaveShaperNode -> Maybe val -> m ()
setCurve self val = liftDOM (void (self ^. jss "curve" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/WaveShaperNode/curve MDN WaveShaperNode.curve documentation>
getCurve :: (MonadDOM m) => WaveShaperNode -> m (Maybe Float32Array)
getCurve self = liftDOM (((self ^. js "curve") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/WaveShaperNode/curve MDN WaveShaperNode.curve documentation>
getCurveUnsafe :: (MonadDOM m, HasCallStack) => WaveShaperNode -> m Float32Array
getCurveUnsafe self = liftDOM ((((self ^. js "curve") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/WaveShaperNode/curve MDN WaveShaperNode.curve documentation>
getCurveUnchecked :: (MonadDOM m) => WaveShaperNode -> m Float32Array
getCurveUnchecked self = liftDOM (((self ^. js "curve") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/WaveShaperNode/oversample MDN WaveShaperNode.oversample documentation>
setOversample :: (MonadDOM m) => WaveShaperNode -> OverSampleType -> m ()
setOversample self val = liftDOM (void (self ^. jss "oversample" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/WaveShaperNode/oversample MDN WaveShaperNode.oversample documentation>
getOversample :: (MonadDOM m) => WaveShaperNode -> m OverSampleType
getOversample self = liftDOM (((self ^. js "oversample") >>= fromJSValUnchecked))