| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
System.Environment.Guard.Lifted
Description
System.Environment.Guard for MonadIO.
Since: 0.1
Synopsis
- guardSet :: MonadIO m => String -> m a -> m (Maybe a)
- guardSet_ :: MonadIO m => String -> m a -> m ()
- guardExpected :: MonadIO m => String -> String -> m a -> m (Maybe a)
- guardExpected_ :: MonadIO m => String -> String -> m a -> m ()
- guardPredicate :: MonadIO m => String -> (String -> Bool) -> m a -> m (Maybe a)
- guardPredicate_ :: MonadIO m => String -> (String -> Bool) -> m a -> m ()
Checking environment variable is set
guardSet :: MonadIO m => String -> m a -> m (Maybe a) Source #
runs guardSet var ioio iff
- The environment variable
varis set.
guardSetvar ===guardPredicatevar (constTrue)
Examples
>>>guardSet "NOT_SET" (putStrLn "ran io" $> True)Nothing
>>>setEnv "SET" "foo">>>guardSet "SET" (putStrLn "ran io" $> True)ran io Just True
Since: 0.1
guardSet_ :: MonadIO m => String -> m a -> m () Source #
Variant of guardSet that ignores the return value.
Since: 0.1
Checking environment variable match
guardExpected :: MonadIO m => String -> String -> m a -> m (Maybe a) Source #
runs guardExpected var expected ioio iff
- The environment variable
varis set. var's value equalsexpected. This is case-insensitive.
guardExpectedvar expected ===guardPredicatevar (\a b ->fmaptoLowera ==fmaptoLowerb)
Examples
>>>guardExpected "NOT_SET" "val" (putStrLn "ran io" $> True)Nothing
>>>setEnv "WRONG_VAL" "good_val">>>guardExpected "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)Nothing
>>>setEnv "WILL_RUN" "val">>>guardExpected "WILL_RUN" "VAL" (putStrLn "ran io" $> True)ran io Just True
Since: 0.1
guardExpected_ :: MonadIO m => String -> String -> m a -> m () Source #
Variant of guardExpected_ that ignores the return value.
Since: 0.1
Checking environment variable predicate
guardPredicate :: MonadIO m => String -> (String -> Bool) -> m a -> m (Maybe a) Source #
This is the most general way to check an environment variable.
runs guardPredicate var p ioio iff
- The environment variable
varis set. var's value satisfies predicatep.
Examples
>>>guardPredicate "NOT_SET" (const True) (putStrLn "ran io" $> True)Nothing
>>>setEnv "CASE_WRONG" "VAL">>>guardPredicate "CASE_WRONG" (== "val") (putStrLn "ran io" $> True)Nothing
>>>setEnv "WILL_RUN" "VAL">>>guardPredicate "WILL_RUN" (== "VAL") (putStrLn "ran io" $> True)ran io Just True
Since: 0.1
guardPredicate_ :: MonadIO m => String -> (String -> Bool) -> m a -> m () Source #
Variant of guardPredicate that ignores the return value.
Since: 0.1