jsaddle-dom-0.10.0.0: src/JSDOM/Generated/VideoColorSpace.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcodecs (webref). Do not edit.
module JSDOM.Generated.VideoColorSpace
(newVideoColorSpace, toJSON, toJSON_, getPrimaries, getPrimariesUnsafe, getPrimariesUnchecked, getTransfer, getTransferUnsafe, getTransferUnchecked, getMatrix, getMatrixUnsafe, getMatrixUnchecked, getFullRange, getFullRangeUnsafe, getFullRangeUnchecked, VideoColorSpace(..), gTypeVideoColorSpace)
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/VideoColorSpace/VideoColorSpace MDN VideoColorSpace. documentation>
newVideoColorSpace :: (MonadDOM m) => Maybe VideoColorSpaceInit -> m VideoColorSpace
newVideoColorSpace init = liftDOM (((new (jsg "VideoColorSpace") [P.maybe (P.return jsUndefined) toJSVal init]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/toJSON MDN VideoColorSpace.toJSON documentation>
toJSON :: (MonadDOM m) => VideoColorSpace -> m VideoColorSpaceInit
toJSON self = liftDOM (((self ^. jsf "toJSON" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/toJSON MDN VideoColorSpace.toJSON documentation>
toJSON_ :: (MonadDOM m) => VideoColorSpace -> m ()
toJSON_ self = liftDOM (void (self ^. jsf "toJSON" ()))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/primaries MDN VideoColorSpace.primaries documentation>
getPrimaries :: (MonadDOM m) => VideoColorSpace -> m (Maybe VideoColorPrimaries)
getPrimaries self = liftDOM (((self ^. js "primaries") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/primaries MDN VideoColorSpace.primaries documentation>
getPrimariesUnsafe :: (MonadDOM m, HasCallStack) => VideoColorSpace -> m VideoColorPrimaries
getPrimariesUnsafe self = liftDOM ((((self ^. js "primaries") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/primaries MDN VideoColorSpace.primaries documentation>
getPrimariesUnchecked :: (MonadDOM m) => VideoColorSpace -> m VideoColorPrimaries
getPrimariesUnchecked self = liftDOM (((self ^. js "primaries") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/transfer MDN VideoColorSpace.transfer documentation>
getTransfer :: (MonadDOM m) => VideoColorSpace -> m (Maybe VideoTransferCharacteristics)
getTransfer self = liftDOM (((self ^. js "transfer") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/transfer MDN VideoColorSpace.transfer documentation>
getTransferUnsafe :: (MonadDOM m, HasCallStack) => VideoColorSpace -> m VideoTransferCharacteristics
getTransferUnsafe self = liftDOM ((((self ^. js "transfer") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/transfer MDN VideoColorSpace.transfer documentation>
getTransferUnchecked :: (MonadDOM m) => VideoColorSpace -> m VideoTransferCharacteristics
getTransferUnchecked self = liftDOM (((self ^. js "transfer") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/matrix MDN VideoColorSpace.matrix documentation>
getMatrix :: (MonadDOM m) => VideoColorSpace -> m (Maybe VideoMatrixCoefficients)
getMatrix self = liftDOM (((self ^. js "matrix") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/matrix MDN VideoColorSpace.matrix documentation>
getMatrixUnsafe :: (MonadDOM m, HasCallStack) => VideoColorSpace -> m VideoMatrixCoefficients
getMatrixUnsafe self = liftDOM ((((self ^. js "matrix") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/matrix MDN VideoColorSpace.matrix documentation>
getMatrixUnchecked :: (MonadDOM m) => VideoColorSpace -> m VideoMatrixCoefficients
getMatrixUnchecked self = liftDOM (((self ^. js "matrix") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/fullRange MDN VideoColorSpace.fullRange documentation>
getFullRange :: (MonadDOM m) => VideoColorSpace -> m (Maybe Bool)
getFullRange self = liftDOM (((self ^. js "fullRange") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/fullRange MDN VideoColorSpace.fullRange documentation>
getFullRangeUnsafe :: (MonadDOM m, HasCallStack) => VideoColorSpace -> m Bool
getFullRangeUnsafe self = liftDOM ((((self ^. js "fullRange") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/VideoColorSpace/fullRange MDN VideoColorSpace.fullRange documentation>
getFullRangeUnchecked :: (MonadDOM m) => VideoColorSpace -> m Bool
getFullRangeUnchecked self = liftDOM (((self ^. js "fullRange") >>= valToBool))