module System.FilePath.FilePather.RecursePredicate
(
RecursePredicateT
, RecursePredicate
, recursePredicateT
, recursePredicate
, runRecursePredicateT
, runRecursePredicate
, toFilterPredicate
) where
import Control.Monad.Identity
import System.FilePath.FilePather.FilterPredicate
newtype RecursePredicateT f =
RecursePredicateT (FilePath -> f Bool)
type RecursePredicate =
RecursePredicateT Identity
recursePredicateT ::
(FilePath -> f Bool)
-> RecursePredicateT f
recursePredicateT =
RecursePredicateT
recursePredicate ::
(FilePath -> Bool)
-> RecursePredicate
recursePredicate f =
recursePredicateT (Identity . f)
runRecursePredicateT ::
RecursePredicateT f
-> FilePath
-> f Bool
runRecursePredicateT (RecursePredicateT f) =
f
runRecursePredicate ::
RecursePredicate
-> FilePath
-> Bool
runRecursePredicate p =
runIdentity . runRecursePredicateT p
toFilterPredicate ::
RecursePredicateT f
-> FilterPredicateT f
toFilterPredicate (RecursePredicateT f) =
filterPredicateT (const . f)