packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ImageDecoder.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.ImageDecoder
       (newImageDecoder, close, decode, decode_, reset, isTypeSupported, isTypeSupported_, getType, getComplete, getCompleted, getTracks, ImageDecoder(..), gTypeImageDecoder)
       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/ImageDecoder/ImageDecoder MDN ImageDecoder. documentation>
newImageDecoder :: (MonadDOM m) => ImageDecoderInit -> m ImageDecoder
newImageDecoder init = liftDOM (((new (jsg "ImageDecoder") [toJSVal init]) >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/ImageDecoder/decode MDN ImageDecoder.decode documentation>
decode :: (MonadDOM m) => ImageDecoder -> Maybe ImageDecodeOptions -> m ImageDecodeResult
decode self options = liftDOM (((((self ^. jsf "decode" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageDecoder/decode MDN ImageDecoder.decode documentation>
decode_ :: (MonadDOM m) => ImageDecoder -> Maybe ImageDecodeOptions -> m ()
decode_ self options = liftDOM (void (((self ^. jsf "decode" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

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

-- | <https://developer.mozilla.org/docs/Web/API/ImageDecoder/isTypeSupported_static MDN ImageDecoder.isTypeSupported documentation>
isTypeSupported :: (MonadDOM m, ToJSString type') => type' -> m Bool
isTypeSupported type' = liftDOM ((((((jsg "ImageDecoder") ^. jsf "isTypeSupported" [toJSVal type']) >>= readPromise)) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/ImageDecoder/isTypeSupported_static MDN ImageDecoder.isTypeSupported documentation>
isTypeSupported_ :: (MonadDOM m, ToJSString type') => type' -> m ()
isTypeSupported_ type' = liftDOM (void ((((jsg "ImageDecoder") ^. jsf "isTypeSupported" [toJSVal type']) >>= readPromise)))

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

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

-- | <https://developer.mozilla.org/docs/Web/API/ImageDecoder/completed MDN ImageDecoder.completed documentation>
getCompleted :: (MonadDOM m) => ImageDecoder -> m ()
getCompleted self = liftDOM (void (((self ^. js "completed") >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageDecoder/tracks MDN ImageDecoder.tracks documentation>
getTracks :: (MonadDOM m) => ImageDecoder -> m ImageTrackList
getTracks self = liftDOM (((self ^. js "tracks") >>= fromJSValUnchecked))