module Codec.GlTF ( GlTF(..) , fromByteString , fromFile , fromChunk ) where import Data.ByteString (ByteString) import qualified Data.Aeson as JSON import Codec.GlTF.Root (GlTF(..)) import qualified Codec.GLB as GLB fromByteString :: ByteString -> Either String GlTF fromByteString :: ByteString -> Either String GlTF fromByteString = ByteString -> Either String GlTF forall a. FromJSON a => ByteString -> Either String a JSON.eitherDecodeStrict' fromFile :: FilePath -> IO (Either String GlTF) fromFile :: String -> IO (Either String GlTF) fromFile = String -> IO (Either String GlTF) forall a. FromJSON a => String -> IO (Either String a) JSON.eitherDecodeFileStrict' fromChunk :: GLB.Chunk -> Either String GlTF fromChunk :: Chunk -> Either String GlTF fromChunk = ByteString -> Either String GlTF forall a. FromJSON a => ByteString -> Either String a JSON.eitherDecodeStrict' (ByteString -> Either String GlTF) -> (Chunk -> ByteString) -> Chunk -> Either String GlTF forall b c a. (b -> c) -> (a -> b) -> a -> c . Chunk -> ByteString GLB.chunkData