module Yesod.Session.SaveResult
  ( SaveResult (..)
  ) where

import Internal.Prelude

data SaveResult a
  = -- | Nothing was done because a session freeze was requested
    Frozen
  | -- | There were no changes worth saving.
    NoChange
  | -- | A session was saved (either a new or existing session key).
    Saved a
  | -- | A session was deleted, and no new session was inserted.
    Deleted
  deriving stock (SaveResult a -> SaveResult a -> Bool
(SaveResult a -> SaveResult a -> Bool)
-> (SaveResult a -> SaveResult a -> Bool) -> Eq (SaveResult a)
forall a. Eq a => SaveResult a -> SaveResult a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall a. Eq a => SaveResult a -> SaveResult a -> Bool
== :: SaveResult a -> SaveResult a -> Bool
$c/= :: forall a. Eq a => SaveResult a -> SaveResult a -> Bool
/= :: SaveResult a -> SaveResult a -> Bool
Eq, Eq (SaveResult a)
Eq (SaveResult a) =>
(SaveResult a -> SaveResult a -> Ordering)
-> (SaveResult a -> SaveResult a -> Bool)
-> (SaveResult a -> SaveResult a -> Bool)
-> (SaveResult a -> SaveResult a -> Bool)
-> (SaveResult a -> SaveResult a -> Bool)
-> (SaveResult a -> SaveResult a -> SaveResult a)
-> (SaveResult a -> SaveResult a -> SaveResult a)
-> Ord (SaveResult a)
SaveResult a -> SaveResult a -> Bool
SaveResult a -> SaveResult a -> Ordering
SaveResult a -> SaveResult a -> SaveResult a
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall a. Ord a => Eq (SaveResult a)
forall a. Ord a => SaveResult a -> SaveResult a -> Bool
forall a. Ord a => SaveResult a -> SaveResult a -> Ordering
forall a. Ord a => SaveResult a -> SaveResult a -> SaveResult a
$ccompare :: forall a. Ord a => SaveResult a -> SaveResult a -> Ordering
compare :: SaveResult a -> SaveResult a -> Ordering
$c< :: forall a. Ord a => SaveResult a -> SaveResult a -> Bool
< :: SaveResult a -> SaveResult a -> Bool
$c<= :: forall a. Ord a => SaveResult a -> SaveResult a -> Bool
<= :: SaveResult a -> SaveResult a -> Bool
$c> :: forall a. Ord a => SaveResult a -> SaveResult a -> Bool
> :: SaveResult a -> SaveResult a -> Bool
$c>= :: forall a. Ord a => SaveResult a -> SaveResult a -> Bool
>= :: SaveResult a -> SaveResult a -> Bool
$cmax :: forall a. Ord a => SaveResult a -> SaveResult a -> SaveResult a
max :: SaveResult a -> SaveResult a -> SaveResult a
$cmin :: forall a. Ord a => SaveResult a -> SaveResult a -> SaveResult a
min :: SaveResult a -> SaveResult a -> SaveResult a
Ord, Int -> SaveResult a -> ShowS
[SaveResult a] -> ShowS
SaveResult a -> String
(Int -> SaveResult a -> ShowS)
-> (SaveResult a -> String)
-> ([SaveResult a] -> ShowS)
-> Show (SaveResult a)
forall a. Show a => Int -> SaveResult a -> ShowS
forall a. Show a => [SaveResult a] -> ShowS
forall a. Show a => SaveResult a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall a. Show a => Int -> SaveResult a -> ShowS
showsPrec :: Int -> SaveResult a -> ShowS
$cshow :: forall a. Show a => SaveResult a -> String
show :: SaveResult a -> String
$cshowList :: forall a. Show a => [SaveResult a] -> ShowS
showList :: [SaveResult a] -> ShowS
Show)