{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.CompositionEvent
(newCompositionEvent, initCompositionEvent, getData,
CompositionEvent(..), gTypeCompositionEvent)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newCompositionEvent ::
(MonadDOM m, ToJSString type') =>
type' -> Maybe CompositionEventInit -> m CompositionEvent
newCompositionEvent :: type' -> Maybe CompositionEventInit -> m CompositionEvent
newCompositionEvent type'
type' Maybe CompositionEventInit
eventInitDict
= DOM CompositionEvent -> m CompositionEvent
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> CompositionEvent
CompositionEvent (JSVal -> CompositionEvent) -> JSM JSVal -> DOM CompositionEvent
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSM JSVal -> [JSM JSVal] -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new ([Char] -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg [Char]
"CompositionEvent")
[type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe CompositionEventInit -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe CompositionEventInit
eventInitDict])
initCompositionEvent ::
(MonadDOM m, ToJSString typeArg, ToJSString dataArg) =>
CompositionEvent ->
Maybe typeArg ->
Bool -> Bool -> Maybe Window -> Maybe dataArg -> m ()
initCompositionEvent :: CompositionEvent
-> Maybe typeArg
-> Bool
-> Bool
-> Maybe Window
-> Maybe dataArg
-> m ()
initCompositionEvent CompositionEvent
self Maybe typeArg
typeArg Bool
canBubbleArg Bool
cancelableArg
Maybe Window
viewArg Maybe dataArg
dataArg
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(CompositionEvent
self CompositionEvent
-> Getting (JSM JSVal) CompositionEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"initCompositionEvent"
[Maybe typeArg -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe typeArg
typeArg, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
canBubbleArg, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
cancelableArg,
Maybe Window -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Window
viewArg, Maybe dataArg -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe dataArg
dataArg]))
getData ::
(MonadDOM m, FromJSString result) => CompositionEvent -> m result
getData :: CompositionEvent -> m result
getData CompositionEvent
self = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((CompositionEvent
self CompositionEvent
-> Getting (JSM JSVal) CompositionEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter CompositionEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"data") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)