module CookieTray.Command.PutMany where import CookieTray (Action (..), Expiring (Expiring), Expiry, Meta (..), ToCommandList (..), Tray, Value) import CookieTray qualified import CookieTray.Command (Command (Command)) import CookieTray.Command qualified as Command import Data.Functor ((<&>)) import Prelude (Eq, Ord, Show) data PutMany = PutMany { PutMany -> Tray Value tray :: Tray Value, PutMany -> Expiry expiry :: Expiry, PutMany -> Meta meta :: Meta } deriving (PutMany -> PutMany -> Bool (PutMany -> PutMany -> Bool) -> (PutMany -> PutMany -> Bool) -> Eq PutMany forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: PutMany -> PutMany -> Bool == :: PutMany -> PutMany -> Bool $c/= :: PutMany -> PutMany -> Bool /= :: PutMany -> PutMany -> Bool Eq, Eq PutMany Eq PutMany => (PutMany -> PutMany -> Ordering) -> (PutMany -> PutMany -> Bool) -> (PutMany -> PutMany -> Bool) -> (PutMany -> PutMany -> Bool) -> (PutMany -> PutMany -> Bool) -> (PutMany -> PutMany -> PutMany) -> (PutMany -> PutMany -> PutMany) -> Ord PutMany PutMany -> PutMany -> Bool PutMany -> PutMany -> Ordering PutMany -> PutMany -> PutMany 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 $ccompare :: PutMany -> PutMany -> Ordering compare :: PutMany -> PutMany -> Ordering $c< :: PutMany -> PutMany -> Bool < :: PutMany -> PutMany -> Bool $c<= :: PutMany -> PutMany -> Bool <= :: PutMany -> PutMany -> Bool $c> :: PutMany -> PutMany -> Bool > :: PutMany -> PutMany -> Bool $c>= :: PutMany -> PutMany -> Bool >= :: PutMany -> PutMany -> Bool $cmax :: PutMany -> PutMany -> PutMany max :: PutMany -> PutMany -> PutMany $cmin :: PutMany -> PutMany -> PutMany min :: PutMany -> PutMany -> PutMany Ord, Int -> PutMany -> ShowS [PutMany] -> ShowS PutMany -> String (Int -> PutMany -> ShowS) -> (PutMany -> String) -> ([PutMany] -> ShowS) -> Show PutMany forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> PutMany -> ShowS showsPrec :: Int -> PutMany -> ShowS $cshow :: PutMany -> String show :: PutMany -> String $cshowList :: [PutMany] -> ShowS showList :: [PutMany] -> ShowS Show) instance ToCommandList PutMany where toCommandList :: PutMany -> [Command] toCommandList PutMany x = Tray Value -> [Named Value] forall a. Tray a -> [Named a] CookieTray.toList (PutMany -> Tray Value tray PutMany x) [Named Value] -> (Named Value -> Command) -> [Command] forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b <&> \Named Value y -> Command { name :: Name Command.name = Named Value -> Name forall a. Named a -> Name CookieTray.name Named Value y, meta :: Meta Command.meta = PutMany -> Meta meta PutMany x, action :: Action (Expiring Value) Command.action = Expiring Value -> Action (Expiring Value) forall a. a -> Action a Put Expiring { expiring :: Value CookieTray.expiring = Named Value -> Value forall a. Named a -> a CookieTray.value Named Value y, expiry :: Expiry CookieTray.expiry = PutMany -> Expiry expiry PutMany x } }