Module:Version Dates

From Honkai: Nexus Anima Wiki
Revision as of 02:37, 17 September 2025 by Sangodono (talk | contribs) (Created page with "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:f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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