Module:UtilsPackage

From Zelda Wiki, the Zelda encyclopedia
Revision as of 22:42, 25 April 2020 by PhantomCaleb (talk | contribs)
Jump to navigation Jump to search

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 module[exportKey] then
				mw.addWarning(string.format("Module conflict: <code>%s</code> is exported by more than one submodule.", exportKey))
			end
			if exportKey ~= "Documentation" and exportKey ~= "Schemas" then
				module[exportKey] = export
			end
		end
		moduleDoc[i] = {
			heading = sectionHeadings and sectionHeadings[i],
			section = submodulePage,
		}
	end
	module.Documentation = { sections = moduleDoc }
	return module
end

return p