packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/MessageEvent.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.MessageEvent
       (js_newMessageEvent, js_initMessageEvent, js_getData, js_getOrigin, js_getLastEventId, js_getSource, js_getPorts, newMessageEvent, initMessageEvent, getData, getOrigin, getLastEventId, getSource, getSourceUnsafe, getSourceUnchecked, getPorts, MessageEvent(..), gTypeMessageEvent)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return new globalThis[\"MessageEvent\"]($1, $2); })"
        js_newMessageEvent :: JSString -> JSVal -> IO MessageEvent
-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/MessageEvent MDN MessageEvent. documentation>
newMessageEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe MessageEventInit -> m MessageEvent
newMessageEvent type' eventInitDict = liftDOM (((P.maybe (P.return jsUndefined) toJSVal eventInitDict) >>= \a2' -> js_newMessageEvent (toJSString type') a2'))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9) => { return $1[\"initMessageEvent\"]($2, $3, $4, $5, $6, $7, $8, $9); })"
        js_initMessageEvent :: MessageEvent -> JSString -> JSVal -> JSVal -> JSVal -> (Optional JSString) -> (Optional JSString) -> JSVal -> JSVal -> IO ()
-- | <https://html.spec.whatwg.org/multipage/comms.html#dom-messageevent-initmessageevent MessageEvent.initMessageEvent specification>
initMessageEvent :: (MonadDOM m, ToJSString type', ToJSString origin, ToJSString lastEventId, IsMessageEventSource source) => MessageEvent -> type' -> Maybe Bool -> Maybe Bool -> JSVal -> Maybe origin -> Maybe lastEventId -> Maybe source -> Maybe [MessagePort] -> m ()
initMessageEvent self type' bubbles cancelable data' origin lastEventId source ports = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal bubbles) >>= \a3' -> (P.maybe (P.return jsUndefined) toJSVal cancelable) >>= \a4' -> (toJSVal source) >>= \a8' -> (P.maybe (P.return jsUndefined) toJSVal ports) >>= \a9' -> js_initMessageEvent (self) (toJSString type') a3' a4' (data') (toOptionalJSString origin) (toOptionalJSString lastEventId) a8' a9')))

foreign import javascript unsafe "(($1) => { return $1[\"data\"]; })"
        js_getData :: MessageEvent -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/data MDN MessageEvent.data documentation>
getData :: (MonadDOM m) => MessageEvent -> m JSVal
getData self = liftDOM ((js_getData (self)))

foreign import javascript unsafe "(($1) => { return $1[\"origin\"]; })"
        js_getOrigin :: MessageEvent -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/origin MDN MessageEvent.origin documentation>
getOrigin :: (MonadDOM m, FromJSString result) => MessageEvent -> m result
getOrigin self = liftDOM ((fromJSString <$> (js_getOrigin (self))))

foreign import javascript unsafe "(($1) => { return $1[\"lastEventId\"]; })"
        js_getLastEventId :: MessageEvent -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/lastEventId MDN MessageEvent.lastEventId documentation>
getLastEventId :: (MonadDOM m, FromJSString result) => MessageEvent -> m result
getLastEventId self = liftDOM ((fromJSString <$> (js_getLastEventId (self))))

foreign import javascript unsafe "(($1) => { return $1[\"source\"]; })"
        js_getSource :: MessageEvent -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/source MDN MessageEvent.source documentation>
getSource :: (MonadDOM m) => MessageEvent -> m (Maybe MessageEventSource)
getSource self = liftDOM (((js_getSource (self)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/source MDN MessageEvent.source documentation>
getSourceUnsafe :: (MonadDOM m, HasCallStack) => MessageEvent -> m MessageEventSource
getSourceUnsafe self = liftDOM ((((js_getSource (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/source MDN MessageEvent.source documentation>
getSourceUnchecked :: (MonadDOM m) => MessageEvent -> m MessageEventSource
getSourceUnchecked self = liftDOM ((pFromJSVal <$> (js_getSource (self))))

foreign import javascript unsafe "(($1) => { return $1[\"ports\"]; })"
        js_getPorts :: MessageEvent -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/ports MDN MessageEvent.ports documentation>
getPorts :: (MonadDOM m) => MessageEvent -> m [MessagePort]
getPorts self = liftDOM (((js_getPorts (self)) >>= fromJSValUnchecked))