[create]
The documentation for this module is missing. Click here to create it.
local p = {}
function p.dump_args(frame)
local numbered_arg_keys, named_arg_keys = {}, {}
for k in pairs(frame.args) do
local arg_key_type = type(k)
if arg_key_type == 'number' then
table.insert(numbered_arg_keys, k)
elseif arg_key_type == 'string' then
table.insert(named_arg_keys, k)
else
assert(false, 'Unexpected frame arg key of type ' .. arg_key_type)
end
end
table.sort(numbered_arg_keys)
table.sort(named_arg_keys)
local message = ''
for _, k in ipairs(numbered_arg_keys) do
local v = (k < 100000000000000) and frame.args[k] or ((function()
-- Access to valid numbered parameters where Lua would represent the key in exponential form doesn't work as expected.
for k0, v0 in pairs(frame.args) do
if k0 == k then return v0 end
end
end)())
message = message .. mw.ustring.format('%d => %q\n', k, v)
end
for _, k in ipairs(named_arg_keys) do
message = message .. mw.ustring.format('%q => %q\n', k, frame.args[k])
end
return message
end
return p