Jump to content

Module:MakeInvokeFunc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 2: Line 2:
local function makeInvokeFunc(p, funcName)
local function makeInvokeFunc(p, funcName)
return function (frame)
return function (frame)
local args = getArgs(frame, {
local args = require("Module:Arguments").getArgs(frame, {
valueFunc = function (key, value)
valueFunc = function (key, value)
if type(value) == 'string' then
if type(value) == 'string' then

Revision as of 19:23, 10 April 2024

-- Based on work in [[Module:Documentation]]
local function makeInvokeFunc(p, funcName)
	return function (frame)
		local args = require("Module:Arguments").getArgs(frame, {
			valueFunc = function (key, value)
				if type(value) == 'string' then
					value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
					if key == 'heading' or value ~= '' then
						return value
					else
						return nil
					end
				else
					return value
				end
			end
		})
		return p[funcName](args)
	end
end

return makeInvokeFunc