{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.AudioTrackList (item, getTrackById, getLength, change, addTrack, removeTrack, AudioTrackList, castToAudioTrackList, gTypeAudioTrackList) 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 -- | item :: (MonadDOM m) => AudioTrackList -> Word -> m (Maybe AudioTrack) item self index = liftDOM ((self ^. jsf "item" [toJSVal index]) >>= fromJSVal) -- | getTrackById :: (MonadDOM m, ToJSString id) => AudioTrackList -> id -> m (Maybe AudioTrack) getTrackById self id = liftDOM ((self ^. jsf "getTrackById" [toJSVal id]) >>= fromJSVal) -- | getLength :: (MonadDOM m) => AudioTrackList -> m Word getLength self = liftDOM (round <$> ((self ^. js "length") >>= valToNumber)) -- | change :: EventName AudioTrackList Event change = unsafeEventName (toJSString "change") -- | addTrack :: EventName AudioTrackList Event addTrack = unsafeEventName (toJSString "addtrack") -- | removeTrack :: EventName AudioTrackList Event removeTrack = unsafeEventName (toJSString "removetrack")