jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CompositionEventInit.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from uievents (webref). Do not edit.
module JSDOM.Generated.CompositionEventInit
(newCompositionEventInit, setData, getData, getDataUnsafe, getDataUnchecked, CompositionEventInit(..), gTypeCompositionEventInit)
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/uievents/#dictdef-compositioneventinit CompositionEventInit specification>
newCompositionEventInit :: (MonadDOM m) => m CompositionEventInit
newCompositionEventInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/uievents/#dom-compositioneventinit-data CompositionEventInit.data specification>
setData :: (MonadDOM m, ToJSString val) => CompositionEventInit -> val -> m ()
setData self val = liftDOM (void (self ^. jss "data" (toJSVal val)))
-- | <https://w3c.github.io/uievents/#dom-compositioneventinit-data CompositionEventInit.data specification>
getData :: (MonadDOM m, FromJSString result) => CompositionEventInit -> m (Maybe result)
getData self = liftDOM (((self ^. js "data") >>= fromMaybeJSString))
-- | <https://w3c.github.io/uievents/#dom-compositioneventinit-data CompositionEventInit.data specification>
getDataUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => CompositionEventInit -> m result
getDataUnsafe self = liftDOM ((((self ^. js "data") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/uievents/#dom-compositioneventinit-data CompositionEventInit.data specification>
getDataUnchecked :: (MonadDOM m, FromJSString result) => CompositionEventInit -> m result
getDataUnchecked self = liftDOM (((self ^. js "data") >>= fromJSValUnchecked))