packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/NavigateEvent.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.NavigateEvent
       (newNavigateEvent, intercept, scroll, getNavigationType, getDestination, getCanIntercept, getUserInitiated, getHashChange, getSignal, getFormData, getFormDataUnsafe, getFormDataUnchecked, getDownloadRequest, getDownloadRequestUnsafe, getDownloadRequestUnchecked, getInfo, getHasUAVisualTransition, getSourceElement, getSourceElementUnsafe, getSourceElementUnchecked, NavigateEvent(..), gTypeNavigateEvent)
       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/NavigateEvent/NavigateEvent MDN NavigateEvent. documentation>
newNavigateEvent :: (MonadDOM m, ToJSString type') => type' -> NavigateEventInit -> m NavigateEvent
newNavigateEvent type' eventInitDict = liftDOM (((new (jsg "NavigateEvent") [toJSVal type', toJSVal eventInitDict]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/intercept MDN NavigateEvent.intercept documentation>
intercept :: (MonadDOM m) => NavigateEvent -> Maybe NavigationInterceptOptions -> m ()
intercept self options = liftDOM (void (self ^. jsf "intercept" [P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/scroll MDN NavigateEvent.scroll documentation>
scroll :: (MonadDOM m) => NavigateEvent -> m ()
scroll self = liftDOM (void (self ^. jsf "scroll" ()))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/navigationType MDN NavigateEvent.navigationType documentation>
getNavigationType :: (MonadDOM m) => NavigateEvent -> m NavigationType
getNavigationType self = liftDOM (((self ^. js "navigationType") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/destination MDN NavigateEvent.destination documentation>
getDestination :: (MonadDOM m) => NavigateEvent -> m NavigationDestination
getDestination self = liftDOM (((self ^. js "destination") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/canIntercept MDN NavigateEvent.canIntercept documentation>
getCanIntercept :: (MonadDOM m) => NavigateEvent -> m Bool
getCanIntercept self = liftDOM (((self ^. js "canIntercept") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/userInitiated MDN NavigateEvent.userInitiated documentation>
getUserInitiated :: (MonadDOM m) => NavigateEvent -> m Bool
getUserInitiated self = liftDOM (((self ^. js "userInitiated") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/hashChange MDN NavigateEvent.hashChange documentation>
getHashChange :: (MonadDOM m) => NavigateEvent -> m Bool
getHashChange self = liftDOM (((self ^. js "hashChange") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/signal MDN NavigateEvent.signal documentation>
getSignal :: (MonadDOM m) => NavigateEvent -> m AbortSignal
getSignal self = liftDOM (((self ^. js "signal") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/formData MDN NavigateEvent.formData documentation>
getFormData :: (MonadDOM m) => NavigateEvent -> m (Maybe FormData)
getFormData self = liftDOM (((self ^. js "formData") >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/formData MDN NavigateEvent.formData documentation>
getFormDataUnchecked :: (MonadDOM m) => NavigateEvent -> m FormData
getFormDataUnchecked self = liftDOM (((self ^. js "formData") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/downloadRequest MDN NavigateEvent.downloadRequest documentation>
getDownloadRequest :: (MonadDOM m, FromJSString result) => NavigateEvent -> m (Maybe result)
getDownloadRequest self = liftDOM (((self ^. js "downloadRequest") >>= fromMaybeJSString))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/downloadRequest MDN NavigateEvent.downloadRequest documentation>
getDownloadRequestUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => NavigateEvent -> m result
getDownloadRequestUnsafe self = liftDOM ((((self ^. js "downloadRequest") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

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

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

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/hasUAVisualTransition MDN NavigateEvent.hasUAVisualTransition documentation>
getHasUAVisualTransition :: (MonadDOM m) => NavigateEvent -> m Bool
getHasUAVisualTransition self = liftDOM (((self ^. js "hasUAVisualTransition") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/sourceElement MDN NavigateEvent.sourceElement documentation>
getSourceElement :: (MonadDOM m) => NavigateEvent -> m (Maybe Element)
getSourceElement self = liftDOM (((self ^. js "sourceElement") >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/NavigateEvent/sourceElement MDN NavigateEvent.sourceElement documentation>
getSourceElementUnchecked :: (MonadDOM m) => NavigateEvent -> m Element
getSourceElementUnchecked self = liftDOM (((self ^. js "sourceElement") >>= fromJSValUnchecked))