Module:Arguments
From Old MT Dev
Revision as of 13:43, 5 August 2023 by Poetry (talk | contribs) (Created page with "local p = {} function p.getArgs(frame, options) options = options or {} local metatable = {} function metatable:__index(key) local arg = frame.args[key] if arg == nil and options.inherited then local parent = frame:getParent() arg = parent and parent.args[key] or nil end return arg end return setmetatable({}, metatable) end function p.makeInvokeFunc(func, options) return function(frame)...")
Documentation for this module may be created at Module:Arguments/doc
local p = {}
function p.getArgs(frame, options)
options = options or {}
local metatable = {}
function metatable:__index(key)
local arg = frame.args[key]
if arg == nil and options.inherited then
local parent = frame:getParent()
arg = parent and parent.args[key] or nil
end
return arg
end
return setmetatable({}, metatable)
end
function p.makeInvokeFunc(func, options)
return function(frame)
local args = p.getArgs(frame, options)
if (options.passFrameParam) then
return func(frame, args)
end
return func(args)
end
end
return p