packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/SpeechRecognitionPhrase.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.SpeechRecognitionPhrase
       (newSpeechRecognitionPhrase, getPhrase, getBoost, SpeechRecognitionPhrase(..), gTypeSpeechRecognitionPhrase)
       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/SpeechRecognitionPhrase/SpeechRecognitionPhrase MDN SpeechRecognitionPhrase. documentation>
newSpeechRecognitionPhrase :: (MonadDOM m, ToJSString phrase) => phrase -> Maybe Float -> m SpeechRecognitionPhrase
newSpeechRecognitionPhrase phrase boost = liftDOM (((new (jsg "SpeechRecognitionPhrase") [toJSVal phrase, P.maybe (P.return jsUndefined) toJSVal boost]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/SpeechRecognitionPhrase/phrase MDN SpeechRecognitionPhrase.phrase documentation>
getPhrase :: (MonadDOM m, FromJSString result) => SpeechRecognitionPhrase -> m result
getPhrase self = liftDOM (((self ^. js "phrase") >>= fromJSValUnchecked))

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