-----------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
-----------------------------------------------------------------------------
module THREE.SphericalHarmonics3
  ( -- * Types
    SphericalHarmonics3 (..)
    -- * Methods
  , THREE.SphericalHarmonics3.new
    -- * Properties
  ) where
-----------------------------------------------------------------------------
import           Miso
-----------------------------------------------------------------------------
import qualified THREE.Internal as THREE
-----------------------------------------------------------------------------
-- | https://threejs.org/docs/#api/en/math/SphericalHarmonics3
newtype SphericalHarmonics3
  = SphericalHarmonics3
  { SphericalHarmonics3 -> JSVal
unSphericalHarmonics3 :: JSVal
  } deriving (SphericalHarmonics3 -> IO Object
(SphericalHarmonics3 -> IO Object) -> ToObject SphericalHarmonics3
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: SphericalHarmonics3 -> IO Object
toObject :: SphericalHarmonics3 -> IO Object
ToObject, SphericalHarmonics3 -> IO JSVal
(SphericalHarmonics3 -> IO JSVal) -> ToJSVal SphericalHarmonics3
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: SphericalHarmonics3 -> IO JSVal
toJSVal :: SphericalHarmonics3 -> IO JSVal
ToJSVal, SphericalHarmonics3 -> IO [JSVal]
(SphericalHarmonics3 -> IO [JSVal]) -> ToArgs SphericalHarmonics3
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: SphericalHarmonics3 -> IO [JSVal]
toArgs :: SphericalHarmonics3 -> IO [JSVal]
ToArgs)
-----------------------------------------------------------------------------
instance FromJSVal SphericalHarmonics3 where
  fromJSVal :: JSVal -> IO (Maybe SphericalHarmonics3)
fromJSVal = Maybe SphericalHarmonics3 -> IO (Maybe SphericalHarmonics3)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe SphericalHarmonics3 -> IO (Maybe SphericalHarmonics3))
-> (JSVal -> Maybe SphericalHarmonics3)
-> JSVal
-> IO (Maybe SphericalHarmonics3)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. SphericalHarmonics3 -> Maybe SphericalHarmonics3
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SphericalHarmonics3 -> Maybe SphericalHarmonics3)
-> (JSVal -> SphericalHarmonics3)
-> JSVal
-> Maybe SphericalHarmonics3
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> SphericalHarmonics3
SphericalHarmonics3
-----------------------------------------------------------------------------
new :: THREE.Three SphericalHarmonics3
new :: IO SphericalHarmonics3
new = (JSVal -> SphericalHarmonics3)
-> MisoString -> () -> IO SphericalHarmonics3
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> SphericalHarmonics3
SphericalHarmonics3 MisoString
"SphericalHarmonics3" ()
-----------------------------------------------------------------------------