begin cleaning up Dates api, move firstJust
This commit is contained in:
		
							parent
							
								
									56cf9b21cb
								
							
						
					
					
						commit
						68966fe43b
					
				| @ -20,7 +20,33 @@ quarterly, etc. | ||||
| 
 | ||||
| -- XXX fromGregorian silently clips bad dates, use fromGregorianValid instead ? | ||||
| 
 | ||||
| module Hledger.Data.Dates | ||||
| module Hledger.Data.Dates ( | ||||
|   -- * Misc date handling utilities | ||||
|   getCurrentDay, | ||||
|   getCurrentMonth, | ||||
|   getCurrentYear, | ||||
|   nulldate, | ||||
|   spanContainsDate, | ||||
|   parsedate, | ||||
|   showDate, | ||||
|   elapsedSeconds, | ||||
|   prevday, | ||||
|   parsePeriodExpr, | ||||
|   nulldatespan, | ||||
|   tests_Hledger_Data_Dates, | ||||
|   failIfInvalidYear, | ||||
|   datesepchar, | ||||
|   datesepchars, | ||||
|   spanIntersect, | ||||
|   orDatesFrom, | ||||
|   smartdate, | ||||
|   splitSpan, | ||||
|   fixSmartDate, | ||||
|   fixSmartDateStr, | ||||
|   fixSmartDateStrEither', | ||||
|   daysInSpan, | ||||
|   maybePeriod, | ||||
| ) | ||||
| where | ||||
| 
 | ||||
| import Control.Monad | ||||
| @ -280,10 +306,6 @@ nthdayofweekcontaining n d | d1 >= d    = d1 | ||||
| ---------------------------------------------------------------------- | ||||
| -- parsing | ||||
| 
 | ||||
| firstJust ms = case dropWhile (==Nothing) ms of | ||||
|     [] -> Nothing | ||||
|     (md:_) -> md | ||||
| 
 | ||||
| -- | Parse a couple of date-time string formats to a time type. | ||||
| parsedatetimeM :: String -> Maybe LocalTime | ||||
| parsedatetimeM s = firstJust [ | ||||
|  | ||||
| @ -404,3 +404,8 @@ expandPath pos fp = liftM mkAbsolute (expandHome fp) | ||||
|     expandHome inname | "~/" `isPrefixOf` inname = do homedir <- liftIO getHomeDirectory | ||||
|                                                       return $ homedir ++ drop 1 inname | ||||
|                       | otherwise                = return inname | ||||
| 
 | ||||
| firstJust ms = case dropWhile (==Nothing) ms of | ||||
|     [] -> Nothing | ||||
|     (md:_) -> md | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user