gltf-loader-0.1.0.0: src/Text/GLTF/Loader/Errors.hs
module Text.GLTF.Loader.Errors
( Errors(..),
_ReadError,
_ImpossibleError
) where
import Lens.Micro (Traversal'())
import RIO
data Errors
= ReadError Text
| ImpossibleError
deriving (Show, Eq, Typeable)
instance Display Errors where
textDisplay = displayErrorText
_ReadError :: Traversal' Errors Text
_ReadError f (ReadError text) = ReadError <$> f text
_ReadError _ err = pure err
_ImpossibleError :: Traversal' Errors ()
_ImpossibleError f ImpossibleError = f () $> ImpossibleError
_ImpossibleError _ err = pure err
displayErrorText :: Errors -> Text
displayErrorText (ReadError txt) = txt
displayErrorText ImpossibleError = "An impossible error has occurred!"