Module:UtilsPackage: Difference between revisions

From Zelda Wiki, the Zelda encyclopedia
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 3: Line 3:
local utilsTable = require("Module:UtilsTable")
local utilsTable = require("Module:UtilsTable")


function p.submodules(submodules)
function p.submodules(submodules, sectionHeadings)
local module = {}
local module = {}
local moduleDoc = {}
local moduleDoc = {}
for submoduleKey, submodulePage in pairs(submodules) do
for i, submodulePage in ipairs(submodules) do
local submodule = require(submodulePage)
local submodule = require(submodulePage)
for exportKey, export in pairs(submodule) do
for exportKey, export in pairs(submodule) do
Line 16: Line 16:
module[exportKey] = export
module[exportKey] = export
end
end
moduleDoc[submoduleKey] = submodulePage
moduleDoc[i] = {
heading = sectionHeadings and sectionHeadings[i],
section = submodulePage,
}
end
end
module.Documentation = { sections = moduleDoc }
module.Documentation = { sections = moduleDoc }

Revision as of 22:27, 25 April 2020

Lua error in Module:UtilsTable at line 174: bad argument #1 to 'pairs' (table expected, got function).


local p = {}

local utilsTable = require("Module:UtilsTable")

function p.submodules(submodules, sectionHeadings)
	local module = {}
	local moduleDoc = {}
	for i, submodulePage in ipairs(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[i] = {
			heading = sectionHeadings and sectionHeadings[i],
			section = submodulePage,
		}
	end
	module.Documentation = { sections = moduleDoc }
	return module
end

return p