Module:UserLinks/sandbox: Difference between revisions

Content deleted Content added
test wmflabs editsummaries
simplify makeWrapper using Module:Arguments, use Module:Yesno with the err function
Line 1:
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local ToolbarBuilder = require('Module:Toolbar')
local interwikiTable = mw.loadData("Module:InterwikiTable")
Line 7 ⟶ 9:
 
-- Define a custom error message for this module.
local function err(msg, section, demo)
local help
if section then
Line 15 ⟶ 17:
end
local cat
if yesno(demo == 'yes') then
cat = ''
else
Line 445 ⟶ 447:
local function makeWrapper(func)
return function (frame)
local args = getArgs(frame, {
-- If called via #invoke, use the args passed into the invoking template.
valueFunc = function (k, v)
-- Otherwise, for testing purposes, assume args are being passed directly in.
v = v:match('^%s*(.-)%s*$')
local origArgs
if v ~= '' or k == 'user' ifor k == 'User' or framek == mw.getCurrentFrame()'separator' then
return v
origArgs = frame:getParent().args
end
for k, v in pairs(frame.args) do
origArgs = frame.args end
})
break
end
else
origArgs = frame
end
-- Strip whitespace, and treat blank arguments as nil.
-- 'user', 'User', and 'separator' have different behaviour depending on
-- whether they are blank or nil, so keep them as they are.
local args = {}
for k, v in pairs(origArgs) do
v = mw.text.trim(v)
if v ~= '' or k == 'user' or k == 'User' or k == 'separator' then
args[k] = v
end
end
return func(args)
end