jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PeriodicWaveOptions.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.PeriodicWaveOptions
(newPeriodicWaveOptions, setReal, getReal, getRealUnsafe, getRealUnchecked, setImag, getImag, getImagUnsafe, getImagUnchecked, PeriodicWaveOptions(..), gTypePeriodicWaveOptions)
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/#PeriodicWaveOptions PeriodicWaveOptions specification>
newPeriodicWaveOptions :: (MonadDOM m) => m PeriodicWaveOptions
newPeriodicWaveOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-real PeriodicWaveOptions.real specification>
setReal :: (MonadDOM m) => PeriodicWaveOptions -> [Float] -> m ()
setReal self val = liftDOM (void (self ^. jss "real" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-real PeriodicWaveOptions.real specification>
getReal :: (MonadDOM m) => PeriodicWaveOptions -> m (Maybe [Float])
getReal self = liftDOM (((self ^. js "real") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-real PeriodicWaveOptions.real specification>
getRealUnsafe :: (MonadDOM m, HasCallStack) => PeriodicWaveOptions -> m [Float]
getRealUnsafe self = liftDOM ((((self ^. js "real") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-real PeriodicWaveOptions.real specification>
getRealUnchecked :: (MonadDOM m) => PeriodicWaveOptions -> m [Float]
getRealUnchecked self = liftDOM (((self ^. js "real") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-imag PeriodicWaveOptions.imag specification>
setImag :: (MonadDOM m) => PeriodicWaveOptions -> [Float] -> m ()
setImag self val = liftDOM (void (self ^. jss "imag" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-imag PeriodicWaveOptions.imag specification>
getImag :: (MonadDOM m) => PeriodicWaveOptions -> m (Maybe [Float])
getImag self = liftDOM (((self ^. js "imag") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-imag PeriodicWaveOptions.imag specification>
getImagUnsafe :: (MonadDOM m, HasCallStack) => PeriodicWaveOptions -> m [Float]
getImagUnsafe self = liftDOM ((((self ^. js "imag") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-periodicwaveoptions-imag PeriodicWaveOptions.imag specification>
getImagUnchecked :: (MonadDOM m) => PeriodicWaveOptions -> m [Float]
getImagUnchecked self = liftDOM (((self ^. js "imag") >>= fromJSValUnchecked))