module Splint.RemoteData where

data RemoteData e a
  = NotAsked
  | Loading
  | Failure e
  | Success a
  deriving (RemoteData e a -> RemoteData e a -> Bool
(RemoteData e a -> RemoteData e a -> Bool)
-> (RemoteData e a -> RemoteData e a -> Bool)
-> Eq (RemoteData e a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall e a.
(Eq e, Eq a) =>
RemoteData e a -> RemoteData e a -> Bool
/= :: RemoteData e a -> RemoteData e a -> Bool
$c/= :: forall e a.
(Eq e, Eq a) =>
RemoteData e a -> RemoteData e a -> Bool
== :: RemoteData e a -> RemoteData e a -> Bool
$c== :: forall e a.
(Eq e, Eq a) =>
RemoteData e a -> RemoteData e a -> Bool
Eq, Int -> RemoteData e a -> ShowS
[RemoteData e a] -> ShowS
RemoteData e a -> String
(Int -> RemoteData e a -> ShowS)
-> (RemoteData e a -> String)
-> ([RemoteData e a] -> ShowS)
-> Show (RemoteData e a)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall e a. (Show e, Show a) => Int -> RemoteData e a -> ShowS
forall e a. (Show e, Show a) => [RemoteData e a] -> ShowS
forall e a. (Show e, Show a) => RemoteData e a -> String
showList :: [RemoteData e a] -> ShowS
$cshowList :: forall e a. (Show e, Show a) => [RemoteData e a] -> ShowS
show :: RemoteData e a -> String
$cshow :: forall e a. (Show e, Show a) => RemoteData e a -> String
showsPrec :: Int -> RemoteData e a -> ShowS
$cshowsPrec :: forall e a. (Show e, Show a) => Int -> RemoteData e a -> ShowS
Show)