module Text.GLTF.Loader.Internal.MonadAdapter ( Adapter(), AdaptEnv(..), getGltf, getBuffers, getImages ) where import Text.GLTF.Loader.Internal.BufferAccessor import RIO import qualified Codec.GlTF as GlTF type Adapter = Reader AdaptEnv data AdaptEnv = AdaptEnv { AdaptEnv -> GlTF asGltf :: GlTF.GlTF, AdaptEnv -> Vector GltfBuffer asBuffers :: Vector GltfBuffer, AdaptEnv -> Vector GltfImageData asImages :: Vector GltfImageData } getGltf :: Reader AdaptEnv GlTF.GlTF getGltf :: Reader AdaptEnv GlTF getGltf = forall r (m :: * -> *) a. MonadReader r m => (r -> a) -> m a asks AdaptEnv -> GlTF asGltf getBuffers :: Reader AdaptEnv (Vector GltfBuffer) getBuffers :: Reader AdaptEnv (Vector GltfBuffer) getBuffers = forall r (m :: * -> *) a. MonadReader r m => (r -> a) -> m a asks AdaptEnv -> Vector GltfBuffer asBuffers getImages :: Reader AdaptEnv (Vector GltfImageData) getImages :: Reader AdaptEnv (Vector GltfImageData) getImages = forall r (m :: * -> *) a. MonadReader r m => (r -> a) -> m a asks AdaptEnv -> Vector GltfImageData asImages