{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.Gamepad (getId, getIndex, getConnected, getTimestamp, getMapping, getAxes, getButtons, Gamepad, castToGamepad, gTypeGamepad) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) 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 Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | getId :: (MonadDOM m, FromJSString result) => Gamepad -> m result getId self = liftDOM ((self ^. js "id") >>= fromJSValUnchecked) -- | getIndex :: (MonadDOM m) => Gamepad -> m Word getIndex self = liftDOM (round <$> ((self ^. js "index") >>= valToNumber)) -- | getConnected :: (MonadDOM m) => Gamepad -> m Bool getConnected self = liftDOM ((self ^. js "connected") >>= valToBool) -- | getTimestamp :: (MonadDOM m) => Gamepad -> m Double getTimestamp self = liftDOM ((self ^. js "timestamp") >>= valToNumber) -- | getMapping :: (MonadDOM m, FromJSString result) => Gamepad -> m result getMapping self = liftDOM ((self ^. js "mapping") >>= fromJSValUnchecked) -- | getAxes :: (MonadDOM m) => Gamepad -> m [Double] getAxes self = liftDOM ((self ^. js "axes") >>= fromJSArrayUnchecked) -- | getButtons :: (MonadDOM m) => Gamepad -> m [Maybe GamepadButton] getButtons self = liftDOM ((self ^. js "buttons") >>= fromJSArray)