packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from uievents (webref). Do not edit.
module JSDOM.Generated.InputEvent
       (newInputEvent, getTargetRanges, getTargetRanges_, getData, getDataUnsafe, getDataUnchecked, getIsComposing, getInputType, getDataTransfer, getDataTransferUnsafe, getDataTransferUnchecked, InputEvent(..), gTypeInputEvent)
       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/InputEvent/InputEvent MDN InputEvent. documentation>
newInputEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe InputEventInit -> m InputEvent
newInputEvent type' eventInitDict = liftDOM (((new (jsg "InputEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/InputEvent/getTargetRanges MDN InputEvent.getTargetRanges documentation>
getTargetRanges :: (MonadDOM m) => InputEvent -> m [StaticRange]
getTargetRanges self = liftDOM (((self ^. jsf "getTargetRanges" ()) >>= fromJSValUnchecked))

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

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

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

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

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

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

-- | <https://developer.mozilla.org/docs/Web/API/InputEvent/dataTransfer MDN InputEvent.dataTransfer documentation>
getDataTransfer :: (MonadDOM m) => InputEvent -> m (Maybe DataTransfer)
getDataTransfer self = liftDOM (((self ^. js "dataTransfer") >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/InputEvent/dataTransfer MDN InputEvent.dataTransfer documentation>
getDataTransferUnchecked :: (MonadDOM m) => InputEvent -> m DataTransfer
getDataTransferUnchecked self = liftDOM (((self ^. js "dataTransfer") >>= fromJSValUnchecked))