{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DataKinds #-}
module THREE.Euler
(
Euler (..)
) where
import Miso hiding (new)
import THREE.Internal as THREE
newtype Euler
= Euler
{ Euler -> JSVal
unEuler :: JSVal
} deriving (Euler -> IO JSVal
(Euler -> IO JSVal) -> ToJSVal Euler
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: Euler -> IO JSVal
toJSVal :: Euler -> IO JSVal
ToJSVal, Euler -> IO [JSVal]
(Euler -> IO [JSVal]) -> ToArgs Euler
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: Euler -> IO [JSVal]
toArgs :: Euler -> IO [JSVal]
ToArgs, Euler -> IO Object
(Euler -> IO Object) -> ToObject Euler
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: Euler -> IO Object
toObject :: Euler -> IO Object
ToObject, ToObject Euler
Property Euler Double
ToObject Euler => Property Euler Double -> X Euler
forall object.
ToObject object =>
Property object Double -> X object
$cx :: Property Euler Double
x :: Property Euler Double
X, ToObject Euler
Property Euler Double
ToObject Euler => Property Euler Double -> Y Euler
forall object.
ToObject object =>
Property object Double -> Y object
$cy :: Property Euler Double
y :: Property Euler Double
Y, ToObject Euler
Property Euler Double
ToObject Euler => Property Euler Double -> Z Euler
forall object.
ToObject object =>
Property object Double -> Z object
$cz :: Property Euler Double
z :: Property Euler Double
Z)
instance FromJSVal Euler where
fromJSVal :: JSVal -> IO (Maybe Euler)
fromJSVal = Maybe Euler -> IO (Maybe Euler)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe Euler -> IO (Maybe Euler))
-> (JSVal -> Maybe Euler) -> JSVal -> IO (Maybe Euler)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Euler -> Maybe Euler
forall a. a -> Maybe a
Just (Euler -> Maybe Euler) -> (JSVal -> Euler) -> JSVal -> Maybe Euler
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Euler
Euler