{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module THREE.AnimationClip
(
AnimationClip (..)
, THREE.AnimationClip.new
) where
import Miso
import qualified THREE.Internal as THREE
newtype AnimationClip
= AnimationClip
{ AnimationClip -> JSVal
unAnimationClipCamera :: JSVal
} deriving (AnimationClip -> IO JSVal
(AnimationClip -> IO JSVal) -> ToJSVal AnimationClip
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: AnimationClip -> IO JSVal
toJSVal :: AnimationClip -> IO JSVal
ToJSVal, AnimationClip -> IO Object
(AnimationClip -> IO Object) -> ToObject AnimationClip
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: AnimationClip -> IO Object
toObject :: AnimationClip -> IO Object
ToObject)
instance FromJSVal AnimationClip where
fromJSVal :: JSVal -> IO (Maybe AnimationClip)
fromJSVal = Maybe AnimationClip -> IO (Maybe AnimationClip)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe AnimationClip -> IO (Maybe AnimationClip))
-> (JSVal -> Maybe AnimationClip)
-> JSVal
-> IO (Maybe AnimationClip)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AnimationClip -> Maybe AnimationClip
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (AnimationClip -> Maybe AnimationClip)
-> (JSVal -> AnimationClip) -> JSVal -> Maybe AnimationClip
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> AnimationClip
AnimationClip
new :: THREE.Three AnimationClip
new :: IO AnimationClip
new = (JSVal -> AnimationClip)
-> MisoString -> [MisoString] -> IO AnimationClip
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> AnimationClip
AnimationClip MisoString
"AnimationClip" ([] :: [MisoString])