Module:Version Dates
Jump to navigation
Jump to search
This module implements {{Date to Version}}. Data stored in Module:Version Dates/data.
local p = {}
local lib = require('Module:Feature')
local data = mw.loadData('Module:Version Dates/data')
local lang = mw.language.getContentLanguage()
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame)
return p._main(args)
end
function p._main(args)
assert(args[1], 'A version or date must be given.')
-- Check if input is a date or a version name
local query = args[1]
local mode = args.mode or 'version'
local unix = tonumber(lang:formatDate('xnU', query))
local ret = nil
for _, v in ipairs(data) do
ret = v[mode]
if
(mode=='version' and unix~=nil and (tonumber(lang:formatDate('xnU', v['end'])) or 0)>unix) or
(mode=='date' and query==v['version'])
then
break
end
end
return ret==nil and (args.default or data.default or '') or ret
end
return p