jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ImageDecoderInit.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.ImageDecoderInit
(newImageDecoderInit, setType, getType, setData, getData, setColorSpaceConversion, getColorSpaceConversion, getColorSpaceConversionUnsafe, getColorSpaceConversionUnchecked, setDesiredWidth, getDesiredWidth, getDesiredWidthUnsafe, getDesiredWidthUnchecked, setDesiredHeight, getDesiredHeight, getDesiredHeightUnsafe, getDesiredHeightUnchecked, setPreferAnimation, getPreferAnimation, getPreferAnimationUnsafe, getPreferAnimationUnchecked, setTransfer, getTransfer, getTransferUnsafe, getTransferUnchecked, ImageDecoderInit(..), gTypeImageDecoderInit)
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://w3c.github.io/webcodecs/#dictdef-imagedecoderinit ImageDecoderInit specification>
newImageDecoderInit :: (MonadDOM m, ToJSString type', IsImageBufferSource data') => type' -> data' -> m ImageDecoderInit
newImageDecoderInit type' data' = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "type" (toJSVal type')) P.>> (o ^. jss "data" (toJSVal data')) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-type ImageDecoderInit.type specification>
setType :: (MonadDOM m, ToJSString val) => ImageDecoderInit -> val -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-type ImageDecoderInit.type specification>
getType :: (MonadDOM m, FromJSString result) => ImageDecoderInit -> m result
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-data ImageDecoderInit.data specification>
setData :: (MonadDOM m, IsImageBufferSource val) => ImageDecoderInit -> val -> m ()
setData self val = liftDOM (void (self ^. jss "data" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-data ImageDecoderInit.data specification>
getData :: (MonadDOM m) => ImageDecoderInit -> m ImageBufferSource
getData self = liftDOM (((self ^. js "data") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-colorspaceconversion ImageDecoderInit.colorSpaceConversion specification>
setColorSpaceConversion :: (MonadDOM m) => ImageDecoderInit -> ColorSpaceConversion -> m ()
setColorSpaceConversion self val = liftDOM (void (self ^. jss "colorSpaceConversion" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-colorspaceconversion ImageDecoderInit.colorSpaceConversion specification>
getColorSpaceConversion :: (MonadDOM m) => ImageDecoderInit -> m (Maybe ColorSpaceConversion)
getColorSpaceConversion self = liftDOM (((self ^. js "colorSpaceConversion") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-colorspaceconversion ImageDecoderInit.colorSpaceConversion specification>
getColorSpaceConversionUnsafe :: (MonadDOM m, HasCallStack) => ImageDecoderInit -> m ColorSpaceConversion
getColorSpaceConversionUnsafe self = liftDOM ((((self ^. js "colorSpaceConversion") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-colorspaceconversion ImageDecoderInit.colorSpaceConversion specification>
getColorSpaceConversionUnchecked :: (MonadDOM m) => ImageDecoderInit -> m ColorSpaceConversion
getColorSpaceConversionUnchecked self = liftDOM (((self ^. js "colorSpaceConversion") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredwidth ImageDecoderInit.desiredWidth specification>
setDesiredWidth :: (MonadDOM m) => ImageDecoderInit -> Word -> m ()
setDesiredWidth self val = liftDOM (void (self ^. jss "desiredWidth" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredwidth ImageDecoderInit.desiredWidth specification>
getDesiredWidth :: (MonadDOM m) => ImageDecoderInit -> m (Maybe Word)
getDesiredWidth self = liftDOM (((self ^. js "desiredWidth") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredwidth ImageDecoderInit.desiredWidth specification>
getDesiredWidthUnsafe :: (MonadDOM m, HasCallStack) => ImageDecoderInit -> m Word
getDesiredWidthUnsafe self = liftDOM ((((self ^. js "desiredWidth") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredwidth ImageDecoderInit.desiredWidth specification>
getDesiredWidthUnchecked :: (MonadDOM m) => ImageDecoderInit -> m Word
getDesiredWidthUnchecked self = liftDOM ((P.round <$> ((self ^. js "desiredWidth") >>= valToNumber)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredheight ImageDecoderInit.desiredHeight specification>
setDesiredHeight :: (MonadDOM m) => ImageDecoderInit -> Word -> m ()
setDesiredHeight self val = liftDOM (void (self ^. jss "desiredHeight" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredheight ImageDecoderInit.desiredHeight specification>
getDesiredHeight :: (MonadDOM m) => ImageDecoderInit -> m (Maybe Word)
getDesiredHeight self = liftDOM (((self ^. js "desiredHeight") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredheight ImageDecoderInit.desiredHeight specification>
getDesiredHeightUnsafe :: (MonadDOM m, HasCallStack) => ImageDecoderInit -> m Word
getDesiredHeightUnsafe self = liftDOM ((((self ^. js "desiredHeight") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-desiredheight ImageDecoderInit.desiredHeight specification>
getDesiredHeightUnchecked :: (MonadDOM m) => ImageDecoderInit -> m Word
getDesiredHeightUnchecked self = liftDOM ((P.round <$> ((self ^. js "desiredHeight") >>= valToNumber)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-preferanimation ImageDecoderInit.preferAnimation specification>
setPreferAnimation :: (MonadDOM m) => ImageDecoderInit -> Bool -> m ()
setPreferAnimation self val = liftDOM (void (self ^. jss "preferAnimation" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-preferanimation ImageDecoderInit.preferAnimation specification>
getPreferAnimation :: (MonadDOM m) => ImageDecoderInit -> m (Maybe Bool)
getPreferAnimation self = liftDOM (((self ^. js "preferAnimation") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-preferanimation ImageDecoderInit.preferAnimation specification>
getPreferAnimationUnsafe :: (MonadDOM m, HasCallStack) => ImageDecoderInit -> m Bool
getPreferAnimationUnsafe self = liftDOM ((((self ^. js "preferAnimation") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-preferanimation ImageDecoderInit.preferAnimation specification>
getPreferAnimationUnchecked :: (MonadDOM m) => ImageDecoderInit -> m Bool
getPreferAnimationUnchecked self = liftDOM (((self ^. js "preferAnimation") >>= valToBool))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-transfer ImageDecoderInit.transfer specification>
setTransfer :: (MonadDOM m, IsArrayBuffer val) => ImageDecoderInit -> [val] -> m ()
setTransfer self val = liftDOM (void (self ^. jss "transfer" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-transfer ImageDecoderInit.transfer specification>
getTransfer :: (MonadDOM m) => ImageDecoderInit -> m (Maybe [ArrayBuffer])
getTransfer self = liftDOM (((self ^. js "transfer") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-transfer ImageDecoderInit.transfer specification>
getTransferUnsafe :: (MonadDOM m, HasCallStack) => ImageDecoderInit -> m [ArrayBuffer]
getTransferUnsafe self = liftDOM ((((self ^. js "transfer") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-imagedecoderinit-transfer ImageDecoderInit.transfer specification>
getTransferUnchecked :: (MonadDOM m) => ImageDecoderInit -> m [ArrayBuffer]
getTransferUnchecked self = liftDOM (((self ^. js "transfer") >>= fromJSValUnchecked))