jsaddle-dom-0.10.0.0: src/JSDOM/Generated/SpeechSynthesis.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from speech-api (webref). Do not edit.
module JSDOM.Generated.SpeechSynthesis
(cancel, getVoices, getVoices_, pause, resume, speak, getPending, getSpeaking, getPaused, voiceschanged, SpeechSynthesis(..), gTypeSpeechSynthesis)
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/SpeechSynthesis/cancel MDN SpeechSynthesis.cancel documentation>
cancel :: (MonadDOM m) => SpeechSynthesis -> m ()
cancel self = liftDOM (void (self ^. jsf "cancel" ()))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/getVoices MDN SpeechSynthesis.getVoices documentation>
getVoices :: (MonadDOM m) => SpeechSynthesis -> m [SpeechSynthesisVoice]
getVoices self = liftDOM (((self ^. jsf "getVoices" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/getVoices MDN SpeechSynthesis.getVoices documentation>
getVoices_ :: (MonadDOM m) => SpeechSynthesis -> m ()
getVoices_ self = liftDOM (void (self ^. jsf "getVoices" ()))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/pause MDN SpeechSynthesis.pause documentation>
pause :: (MonadDOM m) => SpeechSynthesis -> m ()
pause self = liftDOM (void (self ^. jsf "pause" ()))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/resume MDN SpeechSynthesis.resume documentation>
resume :: (MonadDOM m) => SpeechSynthesis -> m ()
resume self = liftDOM (void (self ^. jsf "resume" ()))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/speak MDN SpeechSynthesis.speak documentation>
speak :: (MonadDOM m) => SpeechSynthesis -> SpeechSynthesisUtterance -> m ()
speak self utterance = liftDOM (void (self ^. jsf "speak" [toJSVal utterance]))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/pending MDN SpeechSynthesis.pending documentation>
getPending :: (MonadDOM m) => SpeechSynthesis -> m Bool
getPending self = liftDOM (((self ^. js "pending") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/speaking MDN SpeechSynthesis.speaking documentation>
getSpeaking :: (MonadDOM m) => SpeechSynthesis -> m Bool
getSpeaking self = liftDOM (((self ^. js "speaking") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/paused MDN SpeechSynthesis.paused documentation>
getPaused :: (MonadDOM m) => SpeechSynthesis -> m Bool
getPaused self = liftDOM (((self ^. js "paused") >>= valToBool))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechsynthesis-onvoiceschanged voiceschanged event>
voiceschanged :: EventName SpeechSynthesis Event
voiceschanged = unsafeEventName (toJSString "voiceschanged")