jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCDTMFToneChangeEventInit.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webrtc (webref). Do not edit.
module JSDOM.Generated.RTCDTMFToneChangeEventInit
(newRTCDTMFToneChangeEventInit, setTone, getTone, getToneUnsafe, getToneUnchecked, RTCDTMFToneChangeEventInit(..), gTypeRTCDTMFToneChangeEventInit)
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://w3c.github.io/webrtc-pc/#dom-rtcdtmftonechangeeventinit RTCDTMFToneChangeEventInit specification>
newRTCDTMFToneChangeEventInit :: (MonadDOM m) => m RTCDTMFToneChangeEventInit
newRTCDTMFToneChangeEventInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcdtmftonechangeeventinit-tone RTCDTMFToneChangeEventInit.tone specification>
setTone :: (MonadDOM m, ToJSString val) => RTCDTMFToneChangeEventInit -> val -> m ()
setTone self val = liftDOM (void (self ^. jss "tone" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcdtmftonechangeeventinit-tone RTCDTMFToneChangeEventInit.tone specification>
getTone :: (MonadDOM m, FromJSString result) => RTCDTMFToneChangeEventInit -> m (Maybe result)
getTone self = liftDOM (((self ^. js "tone") >>= fromMaybeJSString))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcdtmftonechangeeventinit-tone RTCDTMFToneChangeEventInit.tone specification>
getToneUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => RTCDTMFToneChangeEventInit -> m result
getToneUnsafe self = liftDOM ((((self ^. js "tone") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcdtmftonechangeeventinit-tone RTCDTMFToneChangeEventInit.tone specification>
getToneUnchecked :: (MonadDOM m, FromJSString result) => RTCDTMFToneChangeEventInit -> m result
getToneUnchecked self = liftDOM (((self ^. js "tone") >>= fromJSValUnchecked))