module Sqel.Data.MigrationParams where newtype MigrationDefault a = MigrationDefault { forall a. MigrationDefault a -> a unMigrationDefault :: a } deriving stock (MigrationDefault a -> MigrationDefault a -> Bool forall a. Eq a => MigrationDefault a -> MigrationDefault a -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: MigrationDefault a -> MigrationDefault a -> Bool $c/= :: forall a. Eq a => MigrationDefault a -> MigrationDefault a -> Bool == :: MigrationDefault a -> MigrationDefault a -> Bool $c== :: forall a. Eq a => MigrationDefault a -> MigrationDefault a -> Bool Eq, Int -> MigrationDefault a -> ShowS forall a. Show a => Int -> MigrationDefault a -> ShowS forall a. Show a => [MigrationDefault a] -> ShowS forall a. Show a => MigrationDefault a -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [MigrationDefault a] -> ShowS $cshowList :: forall a. Show a => [MigrationDefault a] -> ShowS show :: MigrationDefault a -> String $cshow :: forall a. Show a => MigrationDefault a -> String showsPrec :: Int -> MigrationDefault a -> ShowS $cshowsPrec :: forall a. Show a => Int -> MigrationDefault a -> ShowS Show, forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall a x. Rep (MigrationDefault a) x -> MigrationDefault a forall a x. MigrationDefault a -> Rep (MigrationDefault a) x $cto :: forall a x. Rep (MigrationDefault a) x -> MigrationDefault a $cfrom :: forall a x. MigrationDefault a -> Rep (MigrationDefault a) x Generic) type MigrationRename :: Symbol -> Type data MigrationRename name = MigrationRename deriving stock (MigrationRename name -> MigrationRename name -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a forall (name :: Symbol). MigrationRename name -> MigrationRename name -> Bool /= :: MigrationRename name -> MigrationRename name -> Bool $c/= :: forall (name :: Symbol). MigrationRename name -> MigrationRename name -> Bool == :: MigrationRename name -> MigrationRename name -> Bool $c== :: forall (name :: Symbol). MigrationRename name -> MigrationRename name -> Bool Eq, Int -> MigrationRename name -> ShowS forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a forall (name :: Symbol). Int -> MigrationRename name -> ShowS forall (name :: Symbol). [MigrationRename name] -> ShowS forall (name :: Symbol). MigrationRename name -> String showList :: [MigrationRename name] -> ShowS $cshowList :: forall (name :: Symbol). [MigrationRename name] -> ShowS show :: MigrationRename name -> String $cshow :: forall (name :: Symbol). MigrationRename name -> String showsPrec :: Int -> MigrationRename name -> ShowS $cshowsPrec :: forall (name :: Symbol). Int -> MigrationRename name -> ShowS Show, forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall (name :: Symbol) x. Rep (MigrationRename name) x -> MigrationRename name forall (name :: Symbol) x. MigrationRename name -> Rep (MigrationRename name) x $cto :: forall (name :: Symbol) x. Rep (MigrationRename name) x -> MigrationRename name $cfrom :: forall (name :: Symbol) x. MigrationRename name -> Rep (MigrationRename name) x Generic) type family MigrationRenameK (ps :: [Type]) :: Maybe Symbol where MigrationRenameK '[] = 'Nothing MigrationRenameK (MigrationRename name : _) = 'Just name MigrationRenameK (_ : ps) = MigrationRenameK ps type MigrationRenameType :: Symbol -> Type data MigrationRenameType name = MigrationRenameType deriving stock (MigrationRenameType name -> MigrationRenameType name -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a forall (name :: Symbol). MigrationRenameType name -> MigrationRenameType name -> Bool /= :: MigrationRenameType name -> MigrationRenameType name -> Bool $c/= :: forall (name :: Symbol). MigrationRenameType name -> MigrationRenameType name -> Bool == :: MigrationRenameType name -> MigrationRenameType name -> Bool $c== :: forall (name :: Symbol). MigrationRenameType name -> MigrationRenameType name -> Bool Eq, Int -> MigrationRenameType name -> ShowS forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a forall (name :: Symbol). Int -> MigrationRenameType name -> ShowS forall (name :: Symbol). [MigrationRenameType name] -> ShowS forall (name :: Symbol). MigrationRenameType name -> String showList :: [MigrationRenameType name] -> ShowS $cshowList :: forall (name :: Symbol). [MigrationRenameType name] -> ShowS show :: MigrationRenameType name -> String $cshow :: forall (name :: Symbol). MigrationRenameType name -> String showsPrec :: Int -> MigrationRenameType name -> ShowS $cshowsPrec :: forall (name :: Symbol). Int -> MigrationRenameType name -> ShowS Show, forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall (name :: Symbol) x. Rep (MigrationRenameType name) x -> MigrationRenameType name forall (name :: Symbol) x. MigrationRenameType name -> Rep (MigrationRenameType name) x $cto :: forall (name :: Symbol) x. Rep (MigrationRenameType name) x -> MigrationRenameType name $cfrom :: forall (name :: Symbol) x. MigrationRenameType name -> Rep (MigrationRenameType name) x Generic) type family MigrationRenameTypeK (ps :: [Type]) :: Maybe Symbol where MigrationRenameTypeK '[] = 'Nothing MigrationRenameTypeK (MigrationRenameType name : _) = 'Just name MigrationRenameTypeK (_ : ps) = MigrationRenameTypeK ps data MigrationDelete = MigrationDelete deriving stock (MigrationDelete -> MigrationDelete -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: MigrationDelete -> MigrationDelete -> Bool $c/= :: MigrationDelete -> MigrationDelete -> Bool == :: MigrationDelete -> MigrationDelete -> Bool $c== :: MigrationDelete -> MigrationDelete -> Bool Eq, Int -> MigrationDelete -> ShowS [MigrationDelete] -> ShowS MigrationDelete -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [MigrationDelete] -> ShowS $cshowList :: [MigrationDelete] -> ShowS show :: MigrationDelete -> String $cshow :: MigrationDelete -> String showsPrec :: Int -> MigrationDelete -> ShowS $cshowsPrec :: Int -> MigrationDelete -> ShowS Show, forall x. Rep MigrationDelete x -> MigrationDelete forall x. MigrationDelete -> Rep MigrationDelete x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep MigrationDelete x -> MigrationDelete $cfrom :: forall x. MigrationDelete -> Rep MigrationDelete x Generic) type family MigrationDeleteK (ps :: [Type]) :: Bool where MigrationDeleteK '[] = 'False MigrationDeleteK (MigrationDelete : _) = 'True MigrationDeleteK (_ : ps) = MigrationDeleteK ps