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