packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ChannelMergerOptions.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.ChannelMergerOptions
       (newChannelMergerOptions, setNumberOfInputs, getNumberOfInputs, getNumberOfInputsUnsafe, getNumberOfInputsUnchecked, ChannelMergerOptions(..), gTypeChannelMergerOptions)
       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/#ChannelMergerOptions ChannelMergerOptions specification>
newChannelMergerOptions :: (MonadDOM m) => m ChannelMergerOptions
newChannelMergerOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

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

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

-- | <https://webaudio.github.io/web-audio-api/#dom-channelmergeroptions-numberofinputs ChannelMergerOptions.numberOfInputs specification>
getNumberOfInputsUnsafe :: (MonadDOM m, HasCallStack) => ChannelMergerOptions -> 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-channelmergeroptions-numberofinputs ChannelMergerOptions.numberOfInputs specification>
getNumberOfInputsUnchecked :: (MonadDOM m) => ChannelMergerOptions -> m Word
getNumberOfInputsUnchecked self = liftDOM ((P.round <$> ((self ^. js "numberOfInputs") >>= valToNumber)))