Moduł:Brudnopis/Paweł Ziemian/Kraj/alt

Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Brudnopis/Paweł Ziemian/Kraj/alt/opis

local loadCountryData = require("Moduł:Brudnopis/Paweł Ziemian/Kraj/loader").load
local getArgs = require("Module:Arguments").getArgs

local function loadCountryVariants(args)
	local country = args[1]
	local variants = {}
	local i = 2
	while args[i] do
		table.insert(variants, args[i])
		i = i + 1
	end
	
	if #variants == 0 then
		table.insert(variants, country)
	end
		
	table.insert(variants, 1)
	return country, variants
end

return {
	
	get = function(frame)
		local args = getArgs(frame)
		local country, variants = loadCountryVariants(args)
		local key = args.key
		--
		return loadCountryData(country, variants):get(key)
	end,

	flag = function(frame)
		local args = getArgs(frame)
		local country, variants = loadCountryVariants(args)
		local size = args.rozmiar or "22x20px"
		local alt = args.alt
		local link = args.link
		local prefix = args.prefix
		local suffix = args.suffix
		--
		local countryData = loadCountryData(country, variants)
		local builder = mw.html.create("")
		countryData:drawFlag(builder, size, alt or "", link or "", prefix, suffix)
		return builder:allDone()
	end,

	name = function(frame)
		local args = getArgs(frame)
		local country, variants = loadCountryVariants(args)
		local name = args["nazwa"]
		local link = args.link
		--
		local countryData = loadCountryData(country, variants)
		local builder = mw.html.create("")
		countryData:drawName(builder, name, link)
		return builder:allDone()
	end,
	
	team = function(frame)
		local args = getArgs(frame)
		local country, variants = loadCountryVariants(args)
		local name = args["nazwa"]
		local link = args.link
		--
		local countryData = loadCountryData(country, variants[1])
		local builder = mw.html.create("")
		countryData:drawTeamName(builder, link, name)
		return builder:allDone()
	end,
}