jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CompositionEvent.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.CompositionEvent
(newCompositionEvent, initCompositionEvent, getData, CompositionEvent(..), gTypeCompositionEvent)
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/CompositionEvent/CompositionEvent MDN CompositionEvent. documentation>
newCompositionEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe CompositionEventInit -> m CompositionEvent
newCompositionEvent type' eventInitDict = liftDOM (((new (jsg "CompositionEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CompositionEvent/initCompositionEvent MDN CompositionEvent.initCompositionEvent documentation>
initCompositionEvent :: (MonadDOM m, ToJSString typeArg, ToJSString dataArg) => CompositionEvent -> typeArg -> Maybe Bool -> Maybe Bool -> Maybe Window -> Maybe dataArg -> m ()
initCompositionEvent self typeArg bubblesArg cancelableArg viewArg dataArg = liftDOM (void (self ^. jsf "initCompositionEvent" [toJSVal typeArg, P.maybe (P.return jsUndefined) toJSVal bubblesArg, P.maybe (P.return jsUndefined) toJSVal cancelableArg, toJSVal viewArg, P.maybe (P.return jsUndefined) toJSVal dataArg]))
-- | <https://developer.mozilla.org/docs/Web/API/CompositionEvent/data MDN CompositionEvent.data documentation>
getData :: (MonadDOM m, FromJSString result) => CompositionEvent -> m result
getData self = liftDOM (((self ^. js "data") >>= fromJSValUnchecked))