Module:GEMinMax: Difference between revisions

no edit summary
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
 
Line 1:
-- <nowiki>
local prices = mw.loadJsonData('Module:GEPrices/data.json')
local _coins = require('Module:Currency')._amount
local p = {}
local expr = mw.ext.ParserFunctions.expr
 
local numsfmap = {}
function p.min(frame)
wikitable = 'wikitable',
local args = getargs(frame)
wikitablereverse = 'wikitablereverse',
return p._min(args)
table = 'wikitable',
end
t = 'wikitable',
rtable = 'wikitablereverse',
rt = 'wikitablereverse',
bracket = 'bracket',
b = 'bracket',
backetreverse = 'backetreverse',
rb = 'backetreverse',
item = 'item',
price = 'price',
none = 'none'
}
 
local formats = {
wikitable = function(i,v) return string.format('| %s\n| %s', i, v) end,
wikitablereverse = function(i,v) return string.format('| %s\n| %s', v, i) end,
bracket = function(i,v) return string.format('%s (%s)', i, v) end,
backetreverse = function(i,v) return string.format('%s (%s)', v, i) end,
item = function(i,v) return i end,
price = function(i,v) return v end,
none = function(i,v) return '' end
}
 
function p._minfindVal(tblcomp, def, args)
local lowitem = tbl[1]'@unknown@'
local value = def
for _i, v in ipairs(tblargs) do
iflocal vpr <= low thenprices[v]
lowif =pr vthen
if vcomp(pr, > highvalue) then
high value = vpr
item = v
end
end
end
return lowitem, value
return low
end
 
function p.max_min(frameargs)
return findVal(function(pr,v) return v > pr end, math.huge, args)
local args = getargs(frame)
end
return p._max(args)
function p.min_max(frameargs)
return findVal(function(pr,v) return v < pr end, -1, args)
end
 
function p._maxmain(tblframe)
local highc = tblframe.args[1]
argslocal pargs = frame:getParent().args
local f = fmap[pargs.format]
for _, v in ipairs(tbl) do
f = formats[f] or formats.bracket
if v > high then
local r1, r2 = p['_'..c](pargs)
high = v
if pargs.coins == 'y' then
end
r2 = _coins(r2, 'coins')
elseif pargs.coins == 'n' then
r2 = _coins(r2, 'nocoins')
elseif pargs.coins == 'f' then
r2 = mw.getContentLanguage():formatNum(r2)
end
if pargs.link == 'plp' then
r1 = string.format('[[File:%s.png|link=%s]]', r1, r1)
elseif pargs.link == 'p' then
r1 = string.format('[[File:%s.png|link=%s]] [[%s]]', r1, r1, r1)
elseif not pargs.link then
local wr1 = string.gsubformat(v,',[[%s]]','' r1)
end
if wpargs.var then
return high
mw.ext.VariablesLua.vardefine(pargs.var..'_item', r1)
end
mw.ext.VariablesLua.vardefine(pargs.var..'_price', r2)
 
function getargs(frame)
args = frame:getParent().args
local nums = {}
for _, v in ipairs(args) do
local w = string.gsub(v,',','')
w = tonumber(w) or tonumber(expr(w))
if w then
table.insert(nums,w)
end
end
return numsf(r1, r2)
end
 
 
return p
-- </nowiki>