PhantomCaleb (talk | contribs) m |
PhantomCaleb (talk | contribs) m |
||
Line 9: | Line 9: | ||
local submodule = require(submodulePage) |
local submodule = require(submodulePage) |
||
for exportKey, export in pairs(submodule) do |
for exportKey, export in pairs(submodule) do |
||
− | if exportKey == " |
+ | if exportKey == "Schemas" then |
module.Schema = utilsTable.merge({}, module.Schema, submodule.Schema) |
module.Schema = utilsTable.merge({}, module.Schema, submodule.Schema) |
||
elseif module[exportKey] and exportKey ~= "Documentation" then |
elseif module[exportKey] and exportKey ~= "Documentation" then |
Revision as of 18:44, 25 April 2020
Documentation for this module may be created at Module:UtilsPackage/Documentation
local p = {}
local utilsTable = require("Module:UtilsTable")
function p.submodules(submodules)
local module = {}
local moduleDoc = {}
for submoduleKey, submodulePage in pairs(submodules) do
local submodule = require(submodulePage)
for exportKey, export in pairs(submodule) do
if exportKey == "Schemas" then
module.Schema = utilsTable.merge({}, module.Schema, submodule.Schema)
elseif module[exportKey] and exportKey ~= "Documentation" then
mw.addWarning(string.format("Module conflict: <code>%s</code> is exported by more than one submodule.", exportKey))
end
module[exportKey] = export
end
moduleDoc[submoduleKey] = submodulePage
end
module.Documentation = moduleDoc
return module
end
return p