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