;refactor: extract --value=then error message
This commit is contained in:
		
							parent
							
								
									8b520b5c3e
								
							
						
					
					
						commit
						7f16d23898
					
				| @ -15,6 +15,7 @@ module Hledger.Data.Valuation ( | |||||||
|    ValuationType(..) |    ValuationType(..) | ||||||
|   ,PriceOracle |   ,PriceOracle | ||||||
|   ,journalPriceOracle |   ,journalPriceOracle | ||||||
|  |   ,unsupportedValueThenError | ||||||
|   -- ,amountApplyValuation |   -- ,amountApplyValuation | ||||||
|   -- ,amountValueAtDate |   -- ,amountValueAtDate | ||||||
|   ,mixedAmountApplyValuation |   ,mixedAmountApplyValuation | ||||||
| @ -137,7 +138,7 @@ amountApplyValuation priceoracle styles periodlast mreportlast today ismultiperi | |||||||
|   case v of |   case v of | ||||||
|     AtCost    Nothing            -> amountToCost styles a |     AtCost    Nothing            -> amountToCost styles a | ||||||
|     AtCost    mc                 -> amountValueAtDate priceoracle styles mc periodlast $ amountToCost styles a |     AtCost    mc                 -> amountValueAtDate priceoracle styles mc periodlast $ amountToCost styles a | ||||||
|     AtThen    _mc                -> error' "Sorry, --value=then is not yet implemented for this kind of report."  -- TODO |     AtThen    _mc                -> error' unsupportedValueThenError  -- TODO | ||||||
|                                  -- amountValueAtDate priceoracle styles mc periodlast a  -- posting date unknown, handle like AtEnd |                                  -- amountValueAtDate priceoracle styles mc periodlast a  -- posting date unknown, handle like AtEnd | ||||||
|     AtEnd     mc                 -> amountValueAtDate priceoracle styles mc periodlast a |     AtEnd     mc                 -> amountValueAtDate priceoracle styles mc periodlast a | ||||||
|     AtNow     mc                 -> amountValueAtDate priceoracle styles mc today a |     AtNow     mc                 -> amountValueAtDate priceoracle styles mc today a | ||||||
| @ -145,6 +146,10 @@ amountApplyValuation priceoracle styles periodlast mreportlast today ismultiperi | |||||||
|     AtDefault mc                 -> amountValueAtDate priceoracle styles mc (fromMaybe today mreportlast) a |     AtDefault mc                 -> amountValueAtDate priceoracle styles mc (fromMaybe today mreportlast) a | ||||||
|     AtDate d  mc                 -> amountValueAtDate priceoracle styles mc d a |     AtDate d  mc                 -> amountValueAtDate priceoracle styles mc d a | ||||||
| 
 | 
 | ||||||
|  | -- | Standard error message for a report not supporting --value=then. | ||||||
|  | unsupportedValueThenError :: String | ||||||
|  | unsupportedValueThenError = "Sorry, --value=then is not yet implemented for this kind of report." | ||||||
|  | 
 | ||||||
| -- | Find the market value of each component amount in the given | -- | Find the market value of each component amount in the given | ||||||
| -- commodity, or its default valuation commodity, at the given | -- commodity, or its default valuation commodity, at the given | ||||||
| -- valuation date, using the given market price oracle. | -- valuation date, using the given market price oracle. | ||||||
|  | |||||||
| @ -253,7 +253,7 @@ budgetReportAsText ropts@ReportOpts{..} budgetr = | |||||||
|       (showDateSpan $ periodicReportSpan budgetr) |       (showDateSpan $ periodicReportSpan budgetr) | ||||||
|       (case value_ of |       (case value_ of | ||||||
|         Just (AtCost _mc)   -> ", valued at cost" |         Just (AtCost _mc)   -> ", valued at cost" | ||||||
|         Just (AtThen _mc)   -> error' "Sorry, --value=then is not yet implemented for this kind of report."  -- TODO |         Just (AtThen _mc)   -> error' unsupportedValueThenError  -- TODO | ||||||
|         Just (AtEnd _mc)    -> ", valued at period ends" |         Just (AtEnd _mc)    -> ", valued at period ends" | ||||||
|         Just (AtNow _mc)    -> ", current value" |         Just (AtNow _mc)    -> ", current value" | ||||||
|         -- XXX duplicates the above |         -- XXX duplicates the above | ||||||
|  | |||||||
| @ -587,7 +587,7 @@ multiBalanceReportAsText ropts@ReportOpts{..} r = | |||||||
|       (showDateSpan $ periodicReportSpan r) |       (showDateSpan $ periodicReportSpan r) | ||||||
|       (case value_ of |       (case value_ of | ||||||
|         Just (AtCost _mc)   -> ", valued at cost" |         Just (AtCost _mc)   -> ", valued at cost" | ||||||
|         Just (AtThen _mc)   -> error' "Sorry, --value=then is not yet implemented for this kind of report."  -- TODO -- ", valued at period ends"  -- handled like AtEnd for now |         Just (AtThen _mc)   -> error' unsupportedValueThenError  -- TODO -- ", valued at period ends"  -- handled like AtEnd for now | ||||||
|         Just (AtEnd _mc)    -> ", valued at period ends" |         Just (AtEnd _mc)    -> ", valued at period ends" | ||||||
|         Just (AtNow _mc)    -> ", current value" |         Just (AtNow _mc)    -> ", current value" | ||||||
|         -- XXX duplicates the above |         -- XXX duplicates the above | ||||||
|  | |||||||
| @ -217,7 +217,7 @@ compoundBalanceCommand CompoundBalanceCommandSpec{..} opts@CliOpts{reportopts_=r | |||||||
| 
 | 
 | ||||||
|           valuationdesc = case value_ of |           valuationdesc = case value_ of | ||||||
|             Just (AtCost _mc)   -> ", valued at cost" |             Just (AtCost _mc)   -> ", valued at cost" | ||||||
|             Just (AtThen _mc)   -> error' "Sorry, --value=then is not yet implemented for this kind of report."  -- TODO |             Just (AtThen _mc)   -> error' unsupportedValueThenError  -- TODO | ||||||
|             Just (AtEnd _mc)    -> ", valued at period ends" |             Just (AtEnd _mc)    -> ", valued at period ends" | ||||||
|             Just (AtNow _mc)    -> ", current value" |             Just (AtNow _mc)    -> ", current value" | ||||||
|             Just (AtDefault _mc) | multiperiod   -> ", valued at period ends" |             Just (AtDefault _mc) | multiperiod   -> ", valued at period ends" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user