Module:Arguments

From WORST WIKI EVER
Revision as of 15:44, 25 March 2025 by Notsokodya (talk | contribs)
Jump to navigationJump to search

Documentation for this module may be created at Module:Arguments/doc

local p = {}

function p._GetArgs(frame)
	local original_args = frame.args
	local parent_args = frame:getParent().args
	
	local args = {}
	
	for k, v in next, original_args do
		v = mw.text.trim(tostring(v))
		
		if v ~= "" then
			args[k] = v
		end
	end
	
	for k, v in next, parent_args do
		v = mw.text.trim(v)
		
		if v ~= "" then
			args[k] = v
		end
	end
	
	return args
end

function p.GetArgs( origArgs, parentArgs, norm )
	if type( origArgs ) ~= 'table' then
		norm = origArgs
		local f = mw.getCurrentFrame()
		origArgs = f.args
		parentArgs = f:getParent().args
	end
	local args = {}
	
	for k, v in pairs( origArgs ) do
		v = mw.text.trim( tostring( v ) )
		if not norm or v ~= '' then
			args[k] = v
		end
	end
	
	for k, v in pairs( parentArgs ) do
		v = mw.text.trim( v )
		if not norm or v ~= '' then
			args[k] = v
		end
	end
	
	return args
end

return p