Module:Namespace detect/data: Difference between revisions

avoid using local variables to save table lookups per Jackmcbarn's suggestion, and because this will be cached with mw.loadData so performance of this function is not such a worry
(give the argKeys table global scope so that getParamMappings can access it without having to process the cfg table again)
(avoid using local variables to save table lookups per Jackmcbarn's suggestion, and because this will be cached with mw.loadData so performance of this function is not such a worry)
Line 52:
-- }
--]]
local ustringLower = mw.ustring.lower
local tinsert = table.insert
local clone = mw.clone
local subjectNamespaces = mw.site.subjectNamespaces
local mappings = {}
mappings[ustringLower(local mainNsName = mw.site.subjectNamespaces[0].name)] = clone(argKeys.main)
mainNsName = mw.ustring.lower(mainNsName)
mappings['talk'] = clone(argKeys.talk)
mappings[mainNsName] = mw.clone(argKeys.main)
for nsid, ns in pairs(subjectNamespaces) do
mappings['talk'] = mw.clone(argKeys.talk)
localfor subjectNamespacesnsid, =ns in pairs(mw.site.subjectNamespaces) do
if nsid ~= 0 then -- Exclude main namespace.
local nsname = ustringLower(ns.name)
local canonicalName = ustringLower(ns.canonicalName)
mappings[nsname] = {mw.ustring.lower(nsname)}
if canonicalName ~= nsname then
tinserttable.insert(mappings[nsname], mw.ustring.lower(canonicalName))
end
for _, alias in ipairs(ns.aliases) do
tinserttable.insert(mappings[nsname], ustringLowermw.ustring.lower(alias))
end
end
Anonymous user