ipfs-1.0.0: library/Network/IPFS/Error.hs
module Network.IPFS.Error
( Error (..)
, Linearization (..)
) where
import Network.IPFS.Prelude
import Network.IPFS.Types
import qualified Network.IPFS.Add.Error as Add
import qualified Network.IPFS.Get.Error as Get
data Error
= AddErr Add.Error
| GetErr Get.Error
| LinearizationErr Linearization
deriving ( Exception
, Eq
, Generic
, Show
, ToJSON
)
-- NOTE Will not stay as a newtype in the long term
newtype Linearization = NonLinear SparseTree
deriving ( Eq
, Generic
, Show
)
deriving anyclass ( Exception
, ToJSON
)
instance Display Linearization where
display (NonLinear sparseTree) = "Unable to linearize IPFS result: " <> display sparseTree