Editing Module:Arguments
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 52: | Line 52: | ||
return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title | return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title | ||
end | end | ||
function arguments.getArgs(frame, options) | function arguments.getArgs(frame, options) | ||
Line 60: | Line 58: | ||
frame = frame or {} | frame = frame or {} | ||
options = options or {} | options = options or {} | ||
--[[ | --[[ | ||
Line 124: | Line 97: | ||
end | end | ||
end | end | ||
-- We test for false specifically here so that nil (the default) acts like true. | -- We test for false specifically here so that nil (the default) acts like true. | ||
if found or options.frameOnly == false then | if found or options.frameOnly == false then | ||
Line 149: | Line 122: | ||
luaArgs = frame | luaArgs = frame | ||
end | end | ||
-- Set the order of precedence of the argument tables. If the variables are | -- Set the order of precedence of the argument tables. If the variables are | ||
-- nil, nothing will be added to the table, which is how we avoid clashes | -- nil, nothing will be added to the table, which is how we avoid clashes | ||
-- between the frame/parent args and the Lua args. | -- between the frame/parent args and the Lua args. | ||
local argTables = {fargs} | local argTables = {fargs} | ||
argTables[#argTables + 1] = pargs | argTables[#argTables + 1] = pargs | ||
Line 242: | Line 215: | ||
-- must be nil. | -- must be nil. | ||
--]] | --]] | ||
local val = metaArgs[key] | local val = metaArgs[key] | ||
if val ~= nil then | if val ~= nil then | ||
Line 265: | Line 235: | ||
-- This function is called when a module tries to add a new value to the | -- This function is called when a module tries to add a new value to the | ||
-- args table, or tries to change an existing value. | -- args table, or tries to change an existing value. | ||
if options.readOnly then | if options.readOnly then | ||
error( | error( | ||
Line 294: | Line 261: | ||
else | else | ||
metaArgs[key] = val | metaArgs[key] = val | ||
end | end | ||
end | end | ||
Line 321: | Line 270: | ||
metatable.donePairs = true | metatable.donePairs = true | ||
end | end | ||
return | return pairs(metaArgs) | ||
end | end | ||
local function inext(t, i) | local function inext(t, i) | ||
-- This uses our __index metamethod | -- This uses our __index metamethod |