lib: Use mapMixedAmount more, decreasing reliance on internal representation of Mixed.
This commit is contained in:
		
							parent
							
								
									a632e2fee9
								
							
						
					
					
						commit
						9881ec9652
					
				| @ -615,7 +615,7 @@ mapMixedAmount f (Mixed as) = Mixed $ map f as | |||||||
| -- | Convert all component amounts to cost/selling price where | -- | Convert all component amounts to cost/selling price where | ||||||
| -- possible (see amountCost). | -- possible (see amountCost). | ||||||
| mixedAmountCost :: MixedAmount -> MixedAmount | mixedAmountCost :: MixedAmount -> MixedAmount | ||||||
| mixedAmountCost (Mixed as) = Mixed $ map amountCost as | mixedAmountCost = mapMixedAmount amountCost | ||||||
| 
 | 
 | ||||||
| -- | Divide a mixed amount's quantities by a constant. | -- | Divide a mixed amount's quantities by a constant. | ||||||
| divideMixedAmount :: Quantity -> MixedAmount -> MixedAmount | divideMixedAmount :: Quantity -> MixedAmount -> MixedAmount | ||||||
| @ -671,7 +671,7 @@ mixedAmountIsZero = all amountIsZero . amounts . normaliseMixedAmountSquashPrice | |||||||
| -- | Given a map of standard commodity display styles, apply the | -- | Given a map of standard commodity display styles, apply the | ||||||
| -- appropriate one to each individual amount. | -- appropriate one to each individual amount. | ||||||
| styleMixedAmount :: M.Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount | styleMixedAmount :: M.Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount | ||||||
| styleMixedAmount styles (Mixed as) = Mixed $ map (styleAmount styles) as | styleMixedAmount styles = mapMixedAmount (styleAmount styles) | ||||||
| 
 | 
 | ||||||
| -- | Reset each individual amount's display style to the default. | -- | Reset each individual amount's display style to the default. | ||||||
| mixedAmountUnstyled :: MixedAmount -> MixedAmount | mixedAmountUnstyled :: MixedAmount -> MixedAmount | ||||||
| @ -842,20 +842,20 @@ ltraceamount s = traceWith (((s ++ ": ") ++).showMixedAmount) | |||||||
| 
 | 
 | ||||||
| -- | Set the display precision in the amount's commodities. | -- | Set the display precision in the amount's commodities. | ||||||
| setMixedAmountPrecision :: AmountPrecision -> MixedAmount -> MixedAmount | setMixedAmountPrecision :: AmountPrecision -> MixedAmount -> MixedAmount | ||||||
| setMixedAmountPrecision p (Mixed as) = Mixed $ map (setAmountPrecision p) as | setMixedAmountPrecision p = mapMixedAmount (setAmountPrecision p) | ||||||
| 
 | 
 | ||||||
| mixedAmountStripPrices :: MixedAmount -> MixedAmount | mixedAmountStripPrices :: MixedAmount -> MixedAmount | ||||||
| mixedAmountStripPrices (Mixed as) = Mixed $ map (\a -> a{aprice=Nothing}) as | mixedAmountStripPrices = mapMixedAmount (\a -> a{aprice=Nothing}) | ||||||
| 
 | 
 | ||||||
| -- | Canonicalise a mixed amount's display styles using the provided commodity style map. | -- | Canonicalise a mixed amount's display styles using the provided commodity style map. | ||||||
| canonicaliseMixedAmount :: M.Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount | canonicaliseMixedAmount :: M.Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount | ||||||
| canonicaliseMixedAmount styles (Mixed as) = Mixed $ map (canonicaliseAmount styles) as | canonicaliseMixedAmount styles = mapMixedAmount (canonicaliseAmount styles) | ||||||
| 
 | 
 | ||||||
| -- | Replace each component amount's TotalPrice, if it has one, with an equivalent UnitPrice. | -- | Replace each component amount's TotalPrice, if it has one, with an equivalent UnitPrice. | ||||||
| -- Has no effect on amounts without one. | -- Has no effect on amounts without one. | ||||||
| -- Does Decimal division, might be some rounding/irrational number issues. | -- Does Decimal division, might be some rounding/irrational number issues. | ||||||
| mixedAmountTotalPriceToUnitPrice :: MixedAmount -> MixedAmount | mixedAmountTotalPriceToUnitPrice :: MixedAmount -> MixedAmount | ||||||
| mixedAmountTotalPriceToUnitPrice (Mixed as) = Mixed $ map amountTotalPriceToUnitPrice as | mixedAmountTotalPriceToUnitPrice = mapMixedAmount amountTotalPriceToUnitPrice | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user