packages feed

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 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. --