jsaddle-dom-0.10.0.0: src/JSDOM/Generated/SpeechRecognitionOptions.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.SpeechRecognitionOptions
(newSpeechRecognitionOptions, setLangs, getLangs, setProcessLocally, getProcessLocally, getProcessLocallyUnsafe, getProcessLocallyUnchecked, setQuality, getQuality, getQualityUnsafe, getQualityUnchecked, SpeechRecognitionOptions(..), gTypeSpeechRecognitionOptions)
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-speech-api/#dictdef-speechrecognitionoptions SpeechRecognitionOptions specification>
newSpeechRecognitionOptions :: (MonadDOM m, ToJSString langs) => [langs] -> m SpeechRecognitionOptions
newSpeechRecognitionOptions langs = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "langs" (toJSVal langs)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-langs SpeechRecognitionOptions.langs specification>
setLangs :: (MonadDOM m, ToJSString val) => SpeechRecognitionOptions -> [val] -> m ()
setLangs self val = liftDOM (void (self ^. jss "langs" (toJSVal val)))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-langs SpeechRecognitionOptions.langs specification>
getLangs :: (MonadDOM m, FromJSString result) => SpeechRecognitionOptions -> m [result]
getLangs self = liftDOM (((self ^. js "langs") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-processlocally SpeechRecognitionOptions.processLocally specification>
setProcessLocally :: (MonadDOM m) => SpeechRecognitionOptions -> Bool -> m ()
setProcessLocally self val = liftDOM (void (self ^. jss "processLocally" (toJSVal val)))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-processlocally SpeechRecognitionOptions.processLocally specification>
getProcessLocally :: (MonadDOM m) => SpeechRecognitionOptions -> m (Maybe Bool)
getProcessLocally self = liftDOM (((self ^. js "processLocally") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-processlocally SpeechRecognitionOptions.processLocally specification>
getProcessLocallyUnsafe :: (MonadDOM m, HasCallStack) => SpeechRecognitionOptions -> m Bool
getProcessLocallyUnsafe self = liftDOM ((((self ^. js "processLocally") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-processlocally SpeechRecognitionOptions.processLocally specification>
getProcessLocallyUnchecked :: (MonadDOM m) => SpeechRecognitionOptions -> m Bool
getProcessLocallyUnchecked self = liftDOM (((self ^. js "processLocally") >>= valToBool))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-quality SpeechRecognitionOptions.quality specification>
setQuality :: (MonadDOM m) => SpeechRecognitionOptions -> SpeechRecognitionQuality -> m ()
setQuality self val = liftDOM (void (self ^. jss "quality" (toJSVal val)))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-quality SpeechRecognitionOptions.quality specification>
getQuality :: (MonadDOM m) => SpeechRecognitionOptions -> m (Maybe SpeechRecognitionQuality)
getQuality self = liftDOM (((self ^. js "quality") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-quality SpeechRecognitionOptions.quality specification>
getQualityUnsafe :: (MonadDOM m, HasCallStack) => SpeechRecognitionOptions -> m SpeechRecognitionQuality
getQualityUnsafe self = liftDOM ((((self ^. js "quality") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-speech-api/#dom-speechrecognitionoptions-quality SpeechRecognitionOptions.quality specification>
getQualityUnchecked :: (MonadDOM m) => SpeechRecognitionOptions -> m SpeechRecognitionQuality
getQualityUnchecked self = liftDOM (((self ^. js "quality") >>= fromJSValUnchecked))