packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.EventTarget
       (newEventTarget, addEventListener, dispatchEvent, dispatchEvent_, removeEventListener, EventTarget(..), gTypeEventTarget, IsEventTarget, toEventTarget)
       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/EventTarget/EventTarget MDN EventTarget. documentation>
newEventTarget :: (MonadDOM m) => m EventTarget
newEventTarget = liftDOM (((new (jsg "EventTarget") ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener MDN EventTarget.addEventListener documentation>
addEventListener :: (MonadDOM m, IsEventTarget self, ToJSString type', IsAddEventListenerOptionsOrBool options) => self -> type' -> Maybe EventListener -> Maybe options -> m ()
addEventListener self type' callback' options = liftDOM (void ((Types.toEventTarget self) ^. jsf "addEventListener" [toJSVal type', toJSVal callback', P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent MDN EventTarget.dispatchEvent documentation>
dispatchEvent :: (MonadDOM m, IsEventTarget self, IsEvent event) => self -> event -> m Bool
dispatchEvent self event = liftDOM ((((Types.toEventTarget self) ^. jsf "dispatchEvent" [toJSVal event]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent MDN EventTarget.dispatchEvent documentation>
dispatchEvent_ :: (MonadDOM m, IsEventTarget self, IsEvent event) => self -> event -> m ()
dispatchEvent_ self event = liftDOM (void ((Types.toEventTarget self) ^. jsf "dispatchEvent" [toJSVal event]))

-- | <https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener MDN EventTarget.removeEventListener documentation>
removeEventListener :: (MonadDOM m, IsEventTarget self, ToJSString type', IsEventListenerOptionsOrBool options) => self -> type' -> Maybe EventListener -> Maybe options -> m ()
removeEventListener self type' callback' options = liftDOM (void ((Types.toEventTarget self) ^. jsf "removeEventListener" [toJSVal type', toJSVal callback', P.maybe (P.return jsUndefined) toJSVal options]))