packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from encrypted-media-2 (webref). Do not edit.
module JSDOM.Generated.MediaEncryptedEventInit
       (newMediaEncryptedEventInit, setInitDataType, getInitDataType, getInitDataTypeUnsafe, getInitDataTypeUnchecked, setInitData, getInitData, getInitDataUnsafe, getInitDataUnchecked, MediaEncryptedEventInit(..), gTypeMediaEncryptedEventInit)
       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/encrypted-media/#dom-mediaencryptedeventinit MediaEncryptedEventInit specification>
newMediaEncryptedEventInit :: (MonadDOM m) => m MediaEncryptedEventInit
newMediaEncryptedEventInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdatatype MediaEncryptedEventInit.initDataType specification>
setInitDataType :: (MonadDOM m, ToJSString val) => MediaEncryptedEventInit -> val -> m ()
setInitDataType self val = liftDOM (void (self ^. jss "initDataType" (toJSVal val)))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdatatype MediaEncryptedEventInit.initDataType specification>
getInitDataType :: (MonadDOM m, FromJSString result) => MediaEncryptedEventInit -> m (Maybe result)
getInitDataType self = liftDOM (((self ^. js "initDataType") >>= fromMaybeJSString))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdatatype MediaEncryptedEventInit.initDataType specification>
getInitDataTypeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => MediaEncryptedEventInit -> m result
getInitDataTypeUnsafe self = liftDOM ((((self ^. js "initDataType") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdatatype MediaEncryptedEventInit.initDataType specification>
getInitDataTypeUnchecked :: (MonadDOM m, FromJSString result) => MediaEncryptedEventInit -> m result
getInitDataTypeUnchecked self = liftDOM (((self ^. js "initDataType") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdata MediaEncryptedEventInit.initData specification>
setInitData :: (MonadDOM m, IsArrayBuffer val) => MediaEncryptedEventInit -> Maybe val -> m ()
setInitData self val = liftDOM (void (self ^. jss "initData" (toJSVal val)))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdata MediaEncryptedEventInit.initData specification>
getInitData :: (MonadDOM m) => MediaEncryptedEventInit -> m (Maybe ArrayBuffer)
getInitData self = liftDOM (((self ^. js "initData") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdata MediaEncryptedEventInit.initData specification>
getInitDataUnsafe :: (MonadDOM m, HasCallStack) => MediaEncryptedEventInit -> m ArrayBuffer
getInitDataUnsafe self = liftDOM ((((self ^. js "initData") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/encrypted-media/#dom-mediaencryptedeventinit-initdata MediaEncryptedEventInit.initData specification>
getInitDataUnchecked :: (MonadDOM m) => MediaEncryptedEventInit -> m ArrayBuffer
getInitDataUnchecked self = liftDOM (((self ^. js "initData") >>= fromJSValUnchecked))