packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from service-workers (webref). Do not edit.
module JSDOM.Generated.ExtendableMessageEvent
       (newExtendableMessageEvent, getData, getOrigin, getLastEventId, getSource, getSourceUnsafe, getSourceUnchecked, getPorts, ExtendableMessageEvent(..), gTypeExtendableMessageEvent)
       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/ExtendableMessageEvent/ExtendableMessageEvent MDN ExtendableMessageEvent. documentation>
newExtendableMessageEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe ExtendableMessageEventInit -> m ExtendableMessageEvent
newExtendableMessageEvent type' eventInitDict = liftDOM (((new (jsg "ExtendableMessageEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))

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

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

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

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

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

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

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