packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from datacue (webref). Do not edit.
module JSDOM.Generated.DataCue
       (newDataCue, newDataCue', setValue, getValue, getType, DataCue(..), gTypeDataCue)
       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/DataCue/DataCue MDN DataCue. documentation>
newDataCue :: (MonadDOM m) => Double -> Double -> JSVal -> m DataCue
newDataCue startTime endTime value = liftDOM (((new (jsg "DataCue") [toJSVal startTime, toJSVal endTime, toJSVal value]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/DataCue/DataCue MDN DataCue. documentation>
newDataCue' :: (MonadDOM m, ToJSString type') => Double -> Double -> JSVal -> Maybe type' -> m DataCue
newDataCue' startTime endTime value type' = liftDOM (((new (jsg "DataCue") [toJSVal startTime, toJSVal endTime, toJSVal value, P.maybe (P.return jsUndefined) toJSVal type']) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/DataCue/value MDN DataCue.value documentation>
setValue :: (MonadDOM m) => DataCue -> JSVal -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/DataCue/value MDN DataCue.value documentation>
getValue :: (MonadDOM m) => DataCue -> m JSVal
getValue self = liftDOM (self ^. js "value")

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