{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.DataCue (newDataCue, newDataCue', setData, getData, setValue, getValue, getType, DataCue, castToDataCue, gTypeDataCue) 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 -- | newDataCue :: (MonadDOM m) => m DataCue newDataCue = liftDOM (DataCue <$> new (jsg "DataCue") ()) -- | newDataCue' :: (MonadDOM m, ToJSString type') => Double -> Double -> JSVal -> type' -> m DataCue newDataCue' startTime endTime value type' = liftDOM (DataCue <$> new (jsg "DataCue") [toJSVal startTime, toJSVal endTime, toJSVal value, toJSVal type']) -- | setData :: (MonadDOM m, IsArrayBuffer val) => DataCue -> Maybe val -> m () setData self val = liftDOM (self ^. jss "data" (toJSVal val)) -- | getData :: (MonadDOM m) => DataCue -> m (Maybe ArrayBuffer) getData self = liftDOM ((self ^. js "data") >>= fromJSVal) -- | setValue :: (MonadDOM m) => DataCue -> JSVal -> m () setValue self val = liftDOM (self ^. jss "value" (toJSVal val)) -- | getValue :: (MonadDOM m) => DataCue -> m JSVal getValue self = liftDOM ((self ^. js "value") >>= toJSVal) -- | getType :: (MonadDOM m, FromJSString result) => DataCue -> m result getType self = liftDOM ((self ^. js "type") >>= fromJSValUnchecked)