{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.NavigatorUserMediaSuccessCallback
(newNavigatorUserMediaSuccessCallback,
newNavigatorUserMediaSuccessCallbackSync,
newNavigatorUserMediaSuccessCallbackAsync,
NavigatorUserMediaSuccessCallback)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newNavigatorUserMediaSuccessCallback ::
(MonadDOM m) =>
(MediaStream -> JSM ()) ->
m NavigatorUserMediaSuccessCallback
newNavigatorUserMediaSuccessCallback :: (MediaStream -> JSM ()) -> m NavigatorUserMediaSuccessCallback
newNavigatorUserMediaSuccessCallback MediaStream -> JSM ()
callback
= DOM NavigatorUserMediaSuccessCallback
-> m NavigatorUserMediaSuccessCallback
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Callback (JSVal -> IO ()) -> NavigatorUserMediaSuccessCallback
NavigatorUserMediaSuccessCallback (Callback (JSVal -> IO ()) -> NavigatorUserMediaSuccessCallback)
-> (Function -> Callback (JSVal -> IO ()))
-> Function
-> NavigatorUserMediaSuccessCallback
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Function -> Callback (JSVal -> IO ())
forall a. Function -> Callback a
Callback (Function -> NavigatorUserMediaSuccessCallback)
-> JSM Function -> DOM NavigatorUserMediaSuccessCallback
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSCallAsFunction -> JSM Function
function
(\ JSVal
_ JSVal
_ [JSVal
stream] ->
JSVal -> JSM MediaStream
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked JSVal
stream JSM MediaStream -> (MediaStream -> JSM ()) -> JSM ()
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ MediaStream
stream' -> MediaStream -> JSM ()
callback MediaStream
stream'))
newNavigatorUserMediaSuccessCallbackSync ::
(MonadDOM m) =>
(MediaStream -> JSM ()) ->
m NavigatorUserMediaSuccessCallback
newNavigatorUserMediaSuccessCallbackSync :: (MediaStream -> JSM ()) -> m NavigatorUserMediaSuccessCallback
newNavigatorUserMediaSuccessCallbackSync MediaStream -> JSM ()
callback
= DOM NavigatorUserMediaSuccessCallback
-> m NavigatorUserMediaSuccessCallback
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Callback (JSVal -> IO ()) -> NavigatorUserMediaSuccessCallback
NavigatorUserMediaSuccessCallback (Callback (JSVal -> IO ()) -> NavigatorUserMediaSuccessCallback)
-> (Function -> Callback (JSVal -> IO ()))
-> Function
-> NavigatorUserMediaSuccessCallback
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Function -> Callback (JSVal -> IO ())
forall a. Function -> Callback a
Callback (Function -> NavigatorUserMediaSuccessCallback)
-> JSM Function -> DOM NavigatorUserMediaSuccessCallback
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSCallAsFunction -> JSM Function
function
(\ JSVal
_ JSVal
_ [JSVal
stream] ->
JSVal -> JSM MediaStream
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked JSVal
stream JSM MediaStream -> (MediaStream -> JSM ()) -> JSM ()
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ MediaStream
stream' -> MediaStream -> JSM ()
callback MediaStream
stream'))
newNavigatorUserMediaSuccessCallbackAsync ::
(MonadDOM m) =>
(MediaStream -> JSM ()) ->
m NavigatorUserMediaSuccessCallback
newNavigatorUserMediaSuccessCallbackAsync :: (MediaStream -> JSM ()) -> m NavigatorUserMediaSuccessCallback
newNavigatorUserMediaSuccessCallbackAsync MediaStream -> JSM ()
callback
= DOM NavigatorUserMediaSuccessCallback
-> m NavigatorUserMediaSuccessCallback
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Callback (JSVal -> IO ()) -> NavigatorUserMediaSuccessCallback
NavigatorUserMediaSuccessCallback (Callback (JSVal -> IO ()) -> NavigatorUserMediaSuccessCallback)
-> (Function -> Callback (JSVal -> IO ()))
-> Function
-> NavigatorUserMediaSuccessCallback
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Function -> Callback (JSVal -> IO ())
forall a. Function -> Callback a
Callback (Function -> NavigatorUserMediaSuccessCallback)
-> JSM Function -> DOM NavigatorUserMediaSuccessCallback
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSCallAsFunction -> JSM Function
asyncFunction
(\ JSVal
_ JSVal
_ [JSVal
stream] ->
JSVal -> JSM MediaStream
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked JSVal
stream JSM MediaStream -> (MediaStream -> JSM ()) -> JSM ()
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ MediaStream
stream' -> MediaStream -> JSM ()
callback MediaStream
stream'))