Module:PriceCalculator
Documentation for this module may be created at Module:PriceCalculator/doc
local p = {}
-- Helper function to calculate based on type
function p._calculate(price, priceType)
price = tonumber(price)
if not price or price < 0 then
return "Invalid price"
end
local percent = {
sell = 0.6675,
minor = 0.5,
major = 1.0
}
local factor = percent[priceType]
if not factor then
return "Invalid type"
end
return math.floor(price * factor + 0.5) -- rounds to nearest integer
end
-- Exposed function for templates
function p.calculate(frame)
local args = frame:getParent().args
local price = args.price or args[1]
local priceType = args.type or args[2]
return p._calculate(price, priceType)
end
return p