{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.WindowTimers (setTimeout, setTimeout_, clearTimeout, setInterval, setInterval_, clearInterval, WindowTimers(..), gTypeWindowTimers) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import qualified Prelude (error) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import JSDOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import JSDOM.EventTargetClosures (EventName, unsafeEventName) import JSDOM.Enums -- | setTimeout :: (MonadDOM m) => WindowTimers -> JSVal -> Int -> m Int setTimeout self handler timeout = liftDOM (round <$> ((self ^. jsf "setTimeout" [toJSVal handler, toJSVal timeout]) >>= valToNumber)) -- | setTimeout_ :: (MonadDOM m) => WindowTimers -> JSVal -> Int -> m () setTimeout_ self handler timeout = liftDOM (void (self ^. jsf "setTimeout" [toJSVal handler, toJSVal timeout])) -- | clearTimeout :: (MonadDOM m) => WindowTimers -> Int -> m () clearTimeout self handle = liftDOM (void (self ^. jsf "clearTimeout" [toJSVal handle])) -- | setInterval :: (MonadDOM m) => WindowTimers -> JSVal -> Int -> m Int setInterval self handler timeout = liftDOM (round <$> ((self ^. jsf "setInterval" [toJSVal handler, toJSVal timeout]) >>= valToNumber)) -- | setInterval_ :: (MonadDOM m) => WindowTimers -> JSVal -> Int -> m () setInterval_ self handler timeout = liftDOM (void (self ^. jsf "setInterval" [toJSVal handler, toJSVal timeout])) -- | clearInterval :: (MonadDOM m) => WindowTimers -> Int -> m () clearInterval self handle = liftDOM (void (self ^. jsf "clearInterval" [toJSVal handle]))