{-# OPTIONS_HADDOCK prune not-home #-}
module Redis.Glob (
validate,
matches,
) where
import Data.ByteString.Lazy (ByteString)
import Redis.Glob.Internal (fromParts, matchParts, parseParts)
validate :: ByteString -> Maybe ByteString
validate :: ByteString -> Maybe ByteString
validate = ([Part] -> ByteString) -> Maybe [Part] -> Maybe ByteString
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap [Part] -> ByteString
fromParts (Maybe [Part] -> Maybe ByteString)
-> (ByteString -> Maybe [Part]) -> ByteString -> Maybe ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Maybe [Part]
parseParts
matches :: ByteString -> ByteString -> Bool
matches :: ByteString -> ByteString -> Bool
matches ByteString
target ByteString
patt = Bool -> ([Part] -> Bool) -> Maybe [Part] -> Bool
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Bool
False (ByteString -> [Part] -> Bool
matchParts ByteString
target) (Maybe [Part] -> Bool) -> Maybe [Part] -> Bool
forall a b. (a -> b) -> a -> b
$ ByteString -> Maybe [Part]
parseParts ByteString
patt