packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CustomEvent.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.CustomEvent
       (newCustomEvent, initCustomEvent, getDetail, CustomEvent(..), gTypeCustomEvent)
       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/CustomEvent/CustomEvent MDN CustomEvent. documentation>
newCustomEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe CustomEventInit -> m CustomEvent
newCustomEvent type' eventInitDict = liftDOM (((new (jsg "CustomEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CustomEvent/initCustomEvent MDN CustomEvent.initCustomEvent documentation>
initCustomEvent :: (MonadDOM m, ToJSString type') => CustomEvent -> type' -> Maybe Bool -> Maybe Bool -> JSVal -> m ()
initCustomEvent self type' bubbles cancelable detail = liftDOM (void (self ^. jsf "initCustomEvent" [toJSVal type', P.maybe (P.return jsUndefined) toJSVal bubbles, P.maybe (P.return jsUndefined) toJSVal cancelable, toJSVal detail]))

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