;lib: fix doctest for RawOptions
This commit is contained in:
parent
a0d012a50c
commit
2a36ac0d62
@ -55,15 +55,19 @@ inRawOpts name = isJust . lookup name . unRawOpts
|
|||||||
boolopt :: String -> RawOpts -> Bool
|
boolopt :: String -> RawOpts -> Bool
|
||||||
boolopt = inRawOpts
|
boolopt = inRawOpts
|
||||||
|
|
||||||
-- | Get latests successfully parsed flag
|
-- | Get latests successfully parsed flag.
|
||||||
|
--
|
||||||
|
-- Expected to be used for exclusive choice flags like "--json" vs "--csv".
|
||||||
--
|
--
|
||||||
-- >>> choiceopt Just (RawOpts [("a",""), ("b",""), ("c","")])
|
-- >>> choiceopt Just (RawOpts [("a",""), ("b",""), ("c","")])
|
||||||
-- Just "c"
|
-- Just "c"
|
||||||
-- >>> choiceopt (const Nothing) (RawOpts [("a","")])
|
-- >>> choiceopt (const Nothing) (RawOpts [("a","")])
|
||||||
-- Nothing
|
-- Nothing
|
||||||
-- >>> choiceopt (listToMaybe . filter (`elem` ["a","b"])) (RawOpts [("a",""), ("b",""), ("c","")])
|
-- >>> choiceopt readMay (RawOpts [("LT",""),("EQ",""),("Neither","")]) :: Maybe Ordering
|
||||||
-- Just "b"
|
-- Just EQ
|
||||||
choiceopt :: (String -> Maybe a) -> RawOpts -> Maybe a
|
choiceopt :: (String -> Maybe a) -- ^ "parser" that returns 'Just' value for valid choice
|
||||||
|
-> RawOpts -- ^ actual options where to look for flag
|
||||||
|
-> Maybe a -- ^ exclusive choice among those returned as 'Just' from "parser"
|
||||||
choiceopt f = lastMay . collectopts (f . fst)
|
choiceopt f = lastMay . collectopts (f . fst)
|
||||||
|
|
||||||
-- | Collects processed and filtered list of options preserving their order
|
-- | Collects processed and filtered list of options preserving their order
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user