packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webvtt1 (webref). Do not edit.
module JSDOM.Generated.VTTCue
       (newVTTCue, getCueAsHTML, getCueAsHTML_, setRegion, getRegion, getRegionUnsafe, getRegionUnchecked, setVertical, getVertical, setSnapToLines, getSnapToLines, setLine, getLine, setLineAlign, getLineAlign, setPosition, getPosition, setPositionAlign, getPositionAlign, setSize, getSize, setAlign, getAlign, setText, getText, VTTCue(..), gTypeVTTCue)
       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/VTTCue/VTTCue MDN VTTCue. documentation>
newVTTCue :: (MonadDOM m, ToJSString text) => Double -> Double -> text -> m VTTCue
newVTTCue startTime endTime text = liftDOM (((new (jsg "VTTCue") [toJSVal startTime, toJSVal endTime, toJSVal text]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/getCueAsHTML MDN VTTCue.getCueAsHTML documentation>
getCueAsHTML :: (MonadDOM m) => VTTCue -> m DocumentFragment
getCueAsHTML self = liftDOM (((self ^. jsf "getCueAsHTML" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/getCueAsHTML MDN VTTCue.getCueAsHTML documentation>
getCueAsHTML_ :: (MonadDOM m) => VTTCue -> m ()
getCueAsHTML_ self = liftDOM (void (self ^. jsf "getCueAsHTML" ()))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/region MDN VTTCue.region documentation>
setRegion :: (MonadDOM m) => VTTCue -> Maybe VTTRegion -> m ()
setRegion self val = liftDOM (void (self ^. jss "region" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/region MDN VTTCue.region documentation>
getRegion :: (MonadDOM m) => VTTCue -> m (Maybe VTTRegion)
getRegion self = liftDOM (((self ^. js "region") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/region MDN VTTCue.region documentation>
getRegionUnsafe :: (MonadDOM m, HasCallStack) => VTTCue -> m VTTRegion
getRegionUnsafe self = liftDOM ((((self ^. js "region") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/region MDN VTTCue.region documentation>
getRegionUnchecked :: (MonadDOM m) => VTTCue -> m VTTRegion
getRegionUnchecked self = liftDOM (((self ^. js "region") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/vertical MDN VTTCue.vertical documentation>
setVertical :: (MonadDOM m) => VTTCue -> DirectionSetting -> m ()
setVertical self val = liftDOM (void (self ^. jss "vertical" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/vertical MDN VTTCue.vertical documentation>
getVertical :: (MonadDOM m) => VTTCue -> m DirectionSetting
getVertical self = liftDOM (((self ^. js "vertical") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/snapToLines MDN VTTCue.snapToLines documentation>
setSnapToLines :: (MonadDOM m) => VTTCue -> Bool -> m ()
setSnapToLines self val = liftDOM (void (self ^. jss "snapToLines" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/snapToLines MDN VTTCue.snapToLines documentation>
getSnapToLines :: (MonadDOM m) => VTTCue -> m Bool
getSnapToLines self = liftDOM (((self ^. js "snapToLines") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/line MDN VTTCue.line documentation>
setLine :: (MonadDOM m, IsLineAndPositionSetting val) => VTTCue -> val -> m ()
setLine self val = liftDOM (void (self ^. jss "line" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/line MDN VTTCue.line documentation>
getLine :: (MonadDOM m) => VTTCue -> m LineAndPositionSetting
getLine self = liftDOM (((self ^. js "line") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/lineAlign MDN VTTCue.lineAlign documentation>
setLineAlign :: (MonadDOM m) => VTTCue -> LineAlignSetting -> m ()
setLineAlign self val = liftDOM (void (self ^. jss "lineAlign" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/lineAlign MDN VTTCue.lineAlign documentation>
getLineAlign :: (MonadDOM m) => VTTCue -> m LineAlignSetting
getLineAlign self = liftDOM (((self ^. js "lineAlign") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/position MDN VTTCue.position documentation>
setPosition :: (MonadDOM m, IsLineAndPositionSetting val) => VTTCue -> val -> m ()
setPosition self val = liftDOM (void (self ^. jss "position" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/position MDN VTTCue.position documentation>
getPosition :: (MonadDOM m) => VTTCue -> m LineAndPositionSetting
getPosition self = liftDOM (((self ^. js "position") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/positionAlign MDN VTTCue.positionAlign documentation>
setPositionAlign :: (MonadDOM m) => VTTCue -> PositionAlignSetting -> m ()
setPositionAlign self val = liftDOM (void (self ^. jss "positionAlign" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/positionAlign MDN VTTCue.positionAlign documentation>
getPositionAlign :: (MonadDOM m) => VTTCue -> m PositionAlignSetting
getPositionAlign self = liftDOM (((self ^. js "positionAlign") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/size MDN VTTCue.size documentation>
setSize :: (MonadDOM m) => VTTCue -> Double -> m ()
setSize self val = liftDOM (void (self ^. jss "size" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/size MDN VTTCue.size documentation>
getSize :: (MonadDOM m) => VTTCue -> m Double
getSize self = liftDOM (((self ^. js "size") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/align MDN VTTCue.align documentation>
setAlign :: (MonadDOM m) => VTTCue -> AlignSetting -> m ()
setAlign self val = liftDOM (void (self ^. jss "align" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/align MDN VTTCue.align documentation>
getAlign :: (MonadDOM m) => VTTCue -> m AlignSetting
getAlign self = liftDOM (((self ^. js "align") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/VTTCue/text MDN VTTCue.text documentation>
setText :: (MonadDOM m, ToJSString val) => VTTCue -> val -> m ()
setText self val = liftDOM (void (self ^. jss "text" (toJSVal val)))

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