Module:Stars/new/2

From Inkipedia, the Splatoon wiki

Documentation for this module may be created at Module:Stars/new/2/doc

local p = {}

function p.invokeFromPage(frame)
	return p.repeatStars(
		frame.args.count,
		frame.args.total,
		frame.args.size or 24,
		frame.args.link or ""
	)
end

function p.requireFromModule(frame)
	return p.repeatStars(
		frame.count,
		frame.total,
		frame.size or 24,
		frame.link or ""
	)
end

function p.invokeFromTemplate(frame)
	local count		= frame:getParent().args.count
	local total		= frame:getParent().args.total
	local size		= frame:getParent().args.size or 24
	local link		= frame:getParent().args.link or ""
	return p.repeatStars(count, total, size, link)
end

function p.repeatStars(count, total, size, link)
	local result
	
	local star	= string.format("[[File:star-full.png|%dpx|link=%s]]", size, link)
	result		= string.rep(star, count)
	if total then
		local empty		= total - count
		local star = string.format("[[File:star-empty.png|%dpx|link=%s]]", size, link)
		result	= result..string.rep(star, empty)
	end
	
	return result
end

return p