Module:Release

From Zelda Wiki, the Zelda encyclopedia
Revision as of 18:57, 31 October 2022 by PhantomCaleb (talk | contribs)
Jump to navigation Jump to search
This is the main module for the following templates:
local p = {}

local Region = require("Module:Region")
local utilsTable = require("Module:UtilsTable")

function p.Main(frame)
	return frame:expandTemplate({
		title = "Release/Legacy",
		args = frame:getParent().args
	})
end

local regionCodes = Region.enum()
regionCodes.reference = nil
local params = {}
for i, code in ipairs(regionCodes) do
	params[code] = {
		type = "date",
		desc = "Release date in "..Region.getRegion(code).name,
		trim = true,
		nilIfEmpty = true,
	}
end
local countryCodes, multiCountryCodes = utilsTable.partition(regionCodes, function(str)
	return str:len() == 2
end)
p.Templates = {
	["Release"] = {
		format = "block",
		paramOrder = regionCodes,
		params = params,
		boilerplate = {
			tabs = {
				{
					label = "Countries",
					params = countryCodes,
				},
				{
					label = "Multi-Country Regions",
					params = multiCountryCodes,
				},
			}
		}
	}
}

return p