Jump to content

Module:MakeInvokeFunc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 1: Line 1:
-- Based on work in [[Module:Documentation]]
-- Based on work in [[Module:Documentation]]
local function makeInvokeFunc(p, funcName)
return function(p)
return function (frame)
return function(funcName)
return function (frame)
local args = require("Module:Arguments").getArgs(frame, {
local args = require("Module:Arguments").getArgs(frame, {
valueFunc = function (key, value)
if type(value) == 'string' then
valueFunc = function (key, value)
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if type(value) == 'string' then
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if key == 'heading' or value ~= '' then
if key == 'heading' or value ~= '' then
return value
return value
else
return nil
end
else
else
return nil
return value
end
end
else
return value
end
end
end
})
return p[funcName](args)
})
end
return p[funcName](args)
end
end
end
end

return makeInvokeFunc

Revision as of 19:11, 11 April 2024

-- Based on work in [[Module:Documentation]]
return function(p)
	return function(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
end