Module:Version Dates

From Honkai: Nexus Anima Wiki
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