packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioWorkletNodeOptions.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.AudioWorkletNodeOptions
       (newAudioWorkletNodeOptions, setNumberOfInputs, getNumberOfInputs, getNumberOfInputsUnsafe, getNumberOfInputsUnchecked, setNumberOfOutputs, getNumberOfOutputs, getNumberOfOutputsUnsafe, getNumberOfOutputsUnchecked, setOutputChannelCount, getOutputChannelCount, getOutputChannelCountUnsafe, getOutputChannelCountUnchecked, setParameterData, getParameterData, getParameterDataUnsafe, getParameterDataUnchecked, setProcessorOptions, getProcessorOptions, getProcessorOptionsUnsafe, getProcessorOptionsUnchecked, AudioWorkletNodeOptions(..), gTypeAudioWorkletNodeOptions)
       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/#AudioWorkletNodeOptions AudioWorkletNodeOptions specification>
newAudioWorkletNodeOptions :: (MonadDOM m) => m AudioWorkletNodeOptions
newAudioWorkletNodeOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofinputs AudioWorkletNodeOptions.numberOfInputs specification>
setNumberOfInputs :: (MonadDOM m) => AudioWorkletNodeOptions -> Word -> m ()
setNumberOfInputs self val = liftDOM (void (self ^. jss "numberOfInputs" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofinputs AudioWorkletNodeOptions.numberOfInputs specification>
getNumberOfInputs :: (MonadDOM m) => AudioWorkletNodeOptions -> m (Maybe Word)
getNumberOfInputs self = liftDOM (((self ^. js "numberOfInputs") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofinputs AudioWorkletNodeOptions.numberOfInputs specification>
getNumberOfInputsUnsafe :: (MonadDOM m, HasCallStack) => AudioWorkletNodeOptions -> m Word
getNumberOfInputsUnsafe self = liftDOM ((((self ^. js "numberOfInputs") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofinputs AudioWorkletNodeOptions.numberOfInputs specification>
getNumberOfInputsUnchecked :: (MonadDOM m) => AudioWorkletNodeOptions -> m Word
getNumberOfInputsUnchecked self = liftDOM ((P.round <$> ((self ^. js "numberOfInputs") >>= valToNumber)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofoutputs AudioWorkletNodeOptions.numberOfOutputs specification>
setNumberOfOutputs :: (MonadDOM m) => AudioWorkletNodeOptions -> Word -> m ()
setNumberOfOutputs self val = liftDOM (void (self ^. jss "numberOfOutputs" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofoutputs AudioWorkletNodeOptions.numberOfOutputs specification>
getNumberOfOutputs :: (MonadDOM m) => AudioWorkletNodeOptions -> m (Maybe Word)
getNumberOfOutputs self = liftDOM (((self ^. js "numberOfOutputs") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofoutputs AudioWorkletNodeOptions.numberOfOutputs specification>
getNumberOfOutputsUnsafe :: (MonadDOM m, HasCallStack) => AudioWorkletNodeOptions -> m Word
getNumberOfOutputsUnsafe self = liftDOM ((((self ^. js "numberOfOutputs") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-numberofoutputs AudioWorkletNodeOptions.numberOfOutputs specification>
getNumberOfOutputsUnchecked :: (MonadDOM m) => AudioWorkletNodeOptions -> m Word
getNumberOfOutputsUnchecked self = liftDOM ((P.round <$> ((self ^. js "numberOfOutputs") >>= valToNumber)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-outputchannelcount AudioWorkletNodeOptions.outputChannelCount specification>
setOutputChannelCount :: (MonadDOM m) => AudioWorkletNodeOptions -> [Word] -> m ()
setOutputChannelCount self val = liftDOM (void (self ^. jss "outputChannelCount" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-outputchannelcount AudioWorkletNodeOptions.outputChannelCount specification>
getOutputChannelCount :: (MonadDOM m) => AudioWorkletNodeOptions -> m (Maybe [Word])
getOutputChannelCount self = liftDOM (((self ^. js "outputChannelCount") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-outputchannelcount AudioWorkletNodeOptions.outputChannelCount specification>
getOutputChannelCountUnsafe :: (MonadDOM m, HasCallStack) => AudioWorkletNodeOptions -> m [Word]
getOutputChannelCountUnsafe self = liftDOM ((((self ^. js "outputChannelCount") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-outputchannelcount AudioWorkletNodeOptions.outputChannelCount specification>
getOutputChannelCountUnchecked :: (MonadDOM m) => AudioWorkletNodeOptions -> m [Word]
getOutputChannelCountUnchecked self = liftDOM (((self ^. js "outputChannelCount") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-parameterdata AudioWorkletNodeOptions.parameterData specification>
setParameterData :: (MonadDOM m) => AudioWorkletNodeOptions -> (Record JSString JSVal) -> m ()
setParameterData self val = liftDOM (void (self ^. jss "parameterData" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-parameterdata AudioWorkletNodeOptions.parameterData specification>
getParameterData :: (MonadDOM m) => AudioWorkletNodeOptions -> m (Maybe (Record JSString JSVal))
getParameterData self = liftDOM (((self ^. js "parameterData") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-parameterdata AudioWorkletNodeOptions.parameterData specification>
getParameterDataUnsafe :: (MonadDOM m, HasCallStack) => AudioWorkletNodeOptions -> m (Record JSString JSVal)
getParameterDataUnsafe self = liftDOM ((((self ^. js "parameterData") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-parameterdata AudioWorkletNodeOptions.parameterData specification>
getParameterDataUnchecked :: (MonadDOM m) => AudioWorkletNodeOptions -> m (Record JSString JSVal)
getParameterDataUnchecked self = liftDOM (((self ^. js "parameterData") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-processoroptions AudioWorkletNodeOptions.processorOptions specification>
setProcessorOptions :: (MonadDOM m) => AudioWorkletNodeOptions -> GObject -> m ()
setProcessorOptions self val = liftDOM (void (self ^. jss "processorOptions" (toJSVal val)))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-processoroptions AudioWorkletNodeOptions.processorOptions specification>
getProcessorOptions :: (MonadDOM m) => AudioWorkletNodeOptions -> m (Maybe GObject)
getProcessorOptions self = liftDOM (((self ^. js "processorOptions") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-processoroptions AudioWorkletNodeOptions.processorOptions specification>
getProcessorOptionsUnsafe :: (MonadDOM m, HasCallStack) => AudioWorkletNodeOptions -> m GObject
getProcessorOptionsUnsafe self = liftDOM ((((self ^. js "processorOptions") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://webaudio.github.io/web-audio-api/#dom-audioworkletnodeoptions-processoroptions AudioWorkletNodeOptions.processorOptions specification>
getProcessorOptionsUnchecked :: (MonadDOM m) => AudioWorkletNodeOptions -> m GObject
getProcessorOptionsUnchecked self = liftDOM (((self ^. js "processorOptions") >>= fromJSValUnchecked))