packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioWorkletGlobalScope.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.AudioWorkletGlobalScope
       (registerProcessor, getCurrentFrame, getCurrentTime, getSampleRate, AudioWorkletGlobalScope(..), gTypeAudioWorkletGlobalScope)
       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/AudioWorkletGlobalScope/registerProcessor MDN AudioWorkletGlobalScope.registerProcessor documentation>
registerProcessor :: (MonadDOM m, ToJSString name) => AudioWorkletGlobalScope -> name -> AudioWorkletProcessorConstructor -> m ()
registerProcessor self name processorCtor = liftDOM (void (self ^. jsf "registerProcessor" [toJSVal name, toJSVal processorCtor]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioWorkletGlobalScope/currentFrame MDN AudioWorkletGlobalScope.currentFrame documentation>
getCurrentFrame :: (MonadDOM m) => AudioWorkletGlobalScope -> m Word53
getCurrentFrame self = liftDOM (((self ^. js "currentFrame") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/AudioWorkletGlobalScope/currentTime MDN AudioWorkletGlobalScope.currentTime documentation>
getCurrentTime :: (MonadDOM m) => AudioWorkletGlobalScope -> m Double
getCurrentTime self = liftDOM (((self ^. js "currentTime") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/AudioWorkletGlobalScope/sampleRate MDN AudioWorkletGlobalScope.sampleRate documentation>
getSampleRate :: (MonadDOM m) => AudioWorkletGlobalScope -> m Float
getSampleRate self = liftDOM ((P.realToFrac <$> ((self ^. js "sampleRate") >>= valToNumber)))