{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}

module Codec.GlTF
  ( GlTF(..)
  , fromFile
  , fromChunk
  ) where

import qualified Data.Aeson as JSON

import Codec.GlTF.Root (GlTF(..))

import qualified Codec.GLB  as GLB

fromFile :: FilePath -> IO (Either String GlTF)
fromFile = JSON.eitherDecodeFileStrict'

fromChunk :: GLB.Chunk -> Either String GlTF
fromChunk = JSON.eitherDecodeStrict' . GLB.chunkData