env-guard 0.1.1 → 0.2
raw patch · 4 files changed
+34/−30 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- System.Environment.Guard: guardExpected :: String -> String -> IO a -> IO (Maybe a)
- System.Environment.Guard: guardExpected_ :: String -> String -> IO a -> IO ()
- System.Environment.Guard.Lifted: guardExpected :: MonadIO m => String -> String -> m a -> m (Maybe a)
- System.Environment.Guard.Lifted: guardExpected_ :: MonadIO m => String -> String -> m a -> m ()
+ System.Environment.Guard: guardEquals :: String -> String -> IO a -> IO (Maybe a)
+ System.Environment.Guard: guardEquals_ :: String -> String -> IO a -> IO ()
+ System.Environment.Guard.Lifted: guardEquals :: MonadIO m => String -> String -> m a -> m (Maybe a)
+ System.Environment.Guard.Lifted: guardEquals_ :: MonadIO m => String -> String -> m a -> m ()
Files
- CHANGELOG.md +4/−0
- env-guard.cabal +1/−1
- src/System/Environment/Guard.hs +14/−14
- src/System/Environment/Guard/Lifted.hs +15/−15
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for env-guard +## 0.2 -- 2022-07-02++* Rename `guardExpected` functions to `guardEquals` to better match ExpectEnv type.+ ## 0.1.1 -- 2022-07-01 * Add higher-level `withGuard` combinator.
env-guard.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: env-guard-version: 0.1.1+version: 0.2 license: MIT license-file: LICENSE tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.3
src/System/Environment/Guard.hs view
@@ -19,8 +19,8 @@ guardSet_, -- ** Checking environment variable match- guardExpected,- guardExpected_,+ guardEquals,+ guardEquals_, -- ** Checking environment variable predicate guardPredicate,@@ -144,38 +144,38 @@ guardSet_ :: String -> IO a -> IO () guardSet_ = Lifted.guardSet_ --- | @'guardExpected' var expected io@ runs @io@ iff+-- | @'guardEquals' var expected io@ runs @io@ iff -- -- 1. The environment variable @var@ is set. -- 2. @var@'s value equals @expected@. This is __case-insensitive__. -- -- @--- 'guardExpected' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'Data.Char.toLower' a == 'fmap' 'Data.Char.toLower' b)+-- 'guardEquals' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'Data.Char.toLower' a == 'fmap' 'Data.Char.toLower' b) -- @ -- -- ==== __Examples__ ----- >>> guardExpected "NOT_SET" "val" (putStrLn "ran io" $> True)+-- >>> guardEquals "NOT_SET" "val" (putStrLn "ran io" $> True) -- Nothing -- -- >>> setEnv "WRONG_VAL" "good_val"--- >>> guardExpected "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)+-- >>> guardEquals "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True) -- Nothing -- -- >>> setEnv "WILL_RUN" "val"--- >>> guardExpected "WILL_RUN" "VAL" (putStrLn "ran io" $> True)+-- >>> guardEquals "WILL_RUN" "VAL" (putStrLn "ran io" $> True) -- ran io -- Just True ----- @since 0.1-guardExpected :: String -> String -> IO a -> IO (Maybe a)-guardExpected = Lifted.guardExpected+-- @since 0.2+guardEquals :: String -> String -> IO a -> IO (Maybe a)+guardEquals = Lifted.guardEquals --- | Variant of 'guardExpected_' that ignores the return value.+-- | Variant of 'guardEquals_' that ignores the return value. ----- @since 0.1-guardExpected_ :: String -> String -> IO a -> IO ()-guardExpected_ = Lifted.guardExpected_+-- @since 0.2+guardEquals_ :: String -> String -> IO a -> IO ()+guardEquals_ = Lifted.guardEquals_ -- | Variant of 'guardPredicate' that ignores the return value. --
src/System/Environment/Guard/Lifted.hs view
@@ -18,8 +18,8 @@ guardSet_, -- ** Checking environment variable match- guardExpected,- guardExpected_,+ guardEquals,+ guardEquals_, -- ** Checking environment variable predicate guardPredicate,@@ -85,7 +85,7 @@ withGuard var expect m = case expect of ExpectEnvSet -> guardSet var m- ExpectEnvEquals str -> guardExpected var str m+ ExpectEnvEquals str -> guardEquals var str m ExpectEnvPredicate p -> guardPredicate var p m -- | Variant of 'withGuard' that ignores the return value.@@ -185,38 +185,38 @@ guardSet_ :: MonadIO m => String -> m a -> m () guardSet_ var = void . guardSet var --- | @'guardExpected' var expected io@ runs @io@ iff+-- | @'guardEquals' var expected io@ runs @io@ iff -- -- 1. The environment variable @var@ is set. -- 2. @var@'s value equals @expected@. This is __case-insensitive__. -- -- @--- 'guardExpected' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'toLower' a == 'fmap' 'toLower' b)+-- 'guardEquals' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'toLower' a == 'fmap' 'toLower' b) -- @ -- -- ==== __Examples__ ----- >>> guardExpected "NOT_SET" "val" (putStrLn "ran io" $> True)+-- >>> guardEquals "NOT_SET" "val" (putStrLn "ran io" $> True) -- Nothing -- -- >>> setEnv "WRONG_VAL" "good_val"--- >>> guardExpected "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)+-- >>> guardEquals "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True) -- Nothing -- -- >>> setEnv "WILL_RUN" "val"--- >>> guardExpected "WILL_RUN" "VAL" (putStrLn "ran io" $> True)+-- >>> guardEquals "WILL_RUN" "VAL" (putStrLn "ran io" $> True) -- ran io -- Just True ----- @since 0.1-guardExpected :: MonadIO m => String -> String -> m a -> m (Maybe a)-guardExpected var expected = guardPredicate var (eqCaseInsensitive expected)+-- @since 0.2+guardEquals :: MonadIO m => String -> String -> m a -> m (Maybe a)+guardEquals var expected = guardPredicate var (eqCaseInsensitive expected) --- | Variant of 'guardExpected_' that ignores the return value.+-- | Variant of 'guardEquals_' that ignores the return value. ----- @since 0.1-guardExpected_ :: MonadIO m => String -> String -> m a -> m ()-guardExpected_ var expected = void . guardExpected var expected+-- @since 0.2+guardEquals_ :: MonadIO m => String -> String -> m a -> m ()+guardEquals_ var expected = void . guardEquals var expected -- | Variant of 'guardPredicate' that ignores the return value. --