{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MessageEvent
(newMessageEvent, initMessageEvent, getOrigin, getLastEventId,
getSource, getSourceUnsafe, getSourceUnchecked, getData, getPorts,
MessageEvent(..), gTypeMessageEvent)
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
newMessageEvent ::
(MonadDOM m, ToJSString type') =>
type' -> Maybe MessageEventInit -> m MessageEvent
newMessageEvent :: forall (m :: * -> *) type'.
(MonadDOM m, ToJSString type') =>
type' -> Maybe MessageEventInit -> m MessageEvent
newMessageEvent type'
type' Maybe MessageEventInit
eventInitDict
= DOM MessageEvent -> m MessageEvent
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> MessageEvent
MessageEvent (JSVal -> MessageEvent) -> JSM JSVal -> DOM MessageEvent
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 (String -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg String
"MessageEvent") [type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe MessageEventInit -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MessageEventInit
eventInitDict])
initMessageEvent ::
(MonadDOM m, ToJSString type', ToJSVal data', ToJSString originArg,
ToJSString lastEventId, IsMessageEventSource source) =>
MessageEvent ->
type' ->
Bool ->
Bool ->
Maybe data' ->
Maybe originArg ->
Maybe lastEventId -> Maybe source -> [MessagePort] -> m ()
initMessageEvent :: forall (m :: * -> *) type' data' originArg lastEventId source.
(MonadDOM m, ToJSString type', ToJSVal data', ToJSString originArg,
ToJSString lastEventId, IsMessageEventSource source) =>
MessageEvent
-> type'
-> Bool
-> Bool
-> Maybe data'
-> Maybe originArg
-> Maybe lastEventId
-> Maybe source
-> [MessagePort]
-> m ()
initMessageEvent MessageEvent
self type'
type' Bool
bubbles Bool
cancelable Maybe data'
data' Maybe originArg
originArg
Maybe lastEventId
lastEventId Maybe source
source [MessagePort]
messagePorts
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"initMessageEvent"
[type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
bubbles, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
cancelable, Maybe data' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe data'
data',
Maybe originArg -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe originArg
originArg, Maybe lastEventId -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe lastEventId
lastEventId, Maybe source -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe source
source,
JSM Object -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal ([MessagePort] -> JSM Object
forall args. MakeArgs args => args -> JSM Object
array [MessagePort]
messagePorts)]))
getOrigin ::
(MonadDOM m, FromJSString result) => MessageEvent -> m result
getOrigin :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
MessageEvent -> m result
getOrigin MessageEvent
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"origin") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getLastEventId ::
(MonadDOM m, FromJSString result) => MessageEvent -> m result
getLastEventId :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
MessageEvent -> m result
getLastEventId MessageEvent
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"lastEventId") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getSource :: (MonadDOM m) => MessageEvent -> m (Maybe EventTarget)
getSource :: forall (m :: * -> *).
MonadDOM m =>
MessageEvent -> m (Maybe EventTarget)
getSource MessageEvent
self = DOM (Maybe EventTarget) -> m (Maybe EventTarget)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"source") JSM JSVal
-> (JSVal -> DOM (Maybe EventTarget)) -> DOM (Maybe EventTarget)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe EventTarget)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getSourceUnsafe ::
(MonadDOM m, HasCallStack) => MessageEvent -> m EventTarget
getSourceUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
MessageEvent -> m EventTarget
getSourceUnsafe MessageEvent
self
= DOM EventTarget -> m EventTarget
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"source") JSM JSVal
-> (JSVal -> DOM (Maybe EventTarget)) -> DOM (Maybe EventTarget)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe EventTarget)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe EventTarget)
-> (Maybe EventTarget -> DOM EventTarget) -> DOM EventTarget
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM EventTarget
-> (EventTarget -> DOM EventTarget)
-> Maybe EventTarget
-> DOM EventTarget
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM EventTarget
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") EventTarget -> DOM EventTarget
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getSourceUnchecked :: (MonadDOM m) => MessageEvent -> m EventTarget
getSourceUnchecked :: forall (m :: * -> *). MonadDOM m => MessageEvent -> m EventTarget
getSourceUnchecked MessageEvent
self
= DOM EventTarget -> m EventTarget
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"source") JSM JSVal -> (JSVal -> DOM EventTarget) -> DOM EventTarget
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM EventTarget
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getData :: (MonadDOM m) => MessageEvent -> m JSVal
getData :: forall (m :: * -> *). MonadDOM m => MessageEvent -> m JSVal
getData MessageEvent
self = JSM JSVal -> m JSVal
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"data") JSM JSVal -> (JSVal -> JSM JSVal) -> JSM JSVal
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal)
getPorts :: (MonadDOM m) => MessageEvent -> m [MessagePort]
getPorts :: forall (m :: * -> *). MonadDOM m => MessageEvent -> m [MessagePort]
getPorts MessageEvent
self
= DOM [MessagePort] -> m [MessagePort]
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MessageEvent
self MessageEvent
-> Getting (JSM JSVal) MessageEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MessageEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"ports") JSM JSVal -> (JSVal -> DOM [MessagePort]) -> DOM [MessagePort]
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM [MessagePort]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)