packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MessageEvent.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.MessageEvent
       (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 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/MessageEvent/MessageEvent MDN MessageEvent. documentation>
newMessageEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe MessageEventInit -> m MessageEvent
newMessageEvent type' eventInitDict = liftDOM (((new (jsg "MessageEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))

-- | <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 (self ^. jsf "initMessageEvent" [toJSVal type', P.maybe (P.return jsUndefined) toJSVal bubbles, P.maybe (P.return jsUndefined) toJSVal cancelable, toJSVal data', P.maybe (P.return jsUndefined) toJSVal origin, P.maybe (P.return jsUndefined) toJSVal lastEventId, toJSVal source, P.maybe (P.return jsUndefined) toJSVal ports]))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/data MDN MessageEvent.data documentation>
getData :: (MonadDOM m) => MessageEvent -> m JSVal
getData self = liftDOM (self ^. js "data")

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/origin MDN MessageEvent.origin documentation>
getOrigin :: (MonadDOM m, FromJSString result) => MessageEvent -> m result
getOrigin self = liftDOM (((self ^. js "origin") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/lastEventId MDN MessageEvent.lastEventId documentation>
getLastEventId :: (MonadDOM m, FromJSString result) => MessageEvent -> m result
getLastEventId self = liftDOM (((self ^. js "lastEventId") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/source MDN MessageEvent.source documentation>
getSource :: (MonadDOM m) => MessageEvent -> m (Maybe MessageEventSource)
getSource self = liftDOM (((self ^. js "source") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/source MDN MessageEvent.source documentation>
getSourceUnsafe :: (MonadDOM m, HasCallStack) => MessageEvent -> m MessageEventSource
getSourceUnsafe self = liftDOM ((((self ^. js "source") >>= 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 (((self ^. js "source") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MessageEvent/ports MDN MessageEvent.ports documentation>
getPorts :: (MonadDOM m) => MessageEvent -> m [MessagePort]
getPorts self = liftDOM (((self ^. js "ports") >>= fromJSValUnchecked))