Jump to content

Module:Road data/size/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Take a type parameter
Tag: Reverted
Replace _size with getDef and getType
Tag: Reverted
Line 6: Line 6:
local format = mw.ustring.format
local format = mw.ustring.format


local sizes = {
local defs = {
infobox = {
infobox = {
banner = '72px',
banner = '72px',
Line 34: Line 34:
}
}


function p._size(args)
function p.getDef(style)
local tbl = sizes[args.style] or sizes.default
return defs[args.style] or defs.default
end
return tbl[args.type] or tbl.default

function p.getType(def, type)
return def[type] or def.default
end
end


function p.size(frame)
function p.size(frame)
local args = getArgs(frame)
local args = getArgs(frame)
return p._size(args);
return p.getType(p.getDef(args, args.style), args.type);
end
end



Revision as of 18:44, 25 August 2024

require("strict")

local p = {}

local getArgs = require('Module:Arguments').getArgs
local format = mw.ustring.format

local defs = {
	infobox = {
		banner = '72px',
		upright = '72px',
		default = 'x72px'
	},
	small = {
		banner = '40px',
		upright = '40px',
		default = 'x40px'
	},
	list = {
		banner = '32px',
		upright = '32px',
		default = 'x32px'
	},
	rdt = {
		banner = '17px',
		default = 'x17px'
	},
	-- 'jct'
	default = {
		banner = '24px',
		upright = '24px',
		default = 'x24px'
	}
}

function p.getDef(style)
	return defs[args.style] or defs.default
end

function p.getType(def, type)
	return def[type] or def.default
end

function p.size(frame)
	local args = getArgs(frame)
	return p.getType(p.getDef(args, args.style), args.type);
end

return p