Module:Navbox/sandbox: Difference between revisions

Content deleted Content added
simplify
Optimize
Line 2:
local p = {}
local cfg = mw.loadData('Module:Navbox/configuration/sandbox')
local includes = require("Module:Includes")
local getArgs -- lazily initialized
local format = string.format
iflocal _subgroupKeywords == {cfg.keyword.border_child or _ ==, cfg.keyword.border_subgroup, then""}
 
local function readArgs(args, prefix)
Line 14 ⟶ 16:
_ = args[prefix .. format(cfg.arg.group_and_num, i)]
_ = args[prefix .. format(cfg.arg.list_and_num, i)]
if includes(subgroupKeywords, _) then
if _ == cfg.keyword.border_child or _ == cfg.keyword.border_subgroup then
for _, v in ipairs({cfg.keyword.border_child, cfg.keyword.border_subgroup, ""}subgroupKeywords) do
readArgs(args, prefix .. v .. i .. "_")
end
Line 254 ⟶ 256:
end
if listText == cfg.keyword.border_child orincludes(subgroupKeywords, listText == cfg.keyword.border_subgroup) then
local childArgs = {[cfg.arg.border] = cfg.keyword.border_subgroup}
local hasChildArgs = false
local child_and_num = cfg.keyword.border_child .. listnum
local subgroup_and_num = cfg.keyword.border_subgroup .. listnum
for k, v in pairs(args) do
for _, w in ipairs({child_and_num, subgroup_and_num, tostring(listnum)}subgroupKeywords) do
if (#k > #w += 1) and (k:sub(1, #w +.. 1) == (wlistnum .. '"_')) then"
childArgs[if (#k > #w) and (k:sub(1, #w + 2)] == w) vthen
childArgs[k:sub(#w + 1)] = v
hasChildArgs = true
end