Zelda Wiki

Want to contribute to this wiki?
Sign up for an account, and get started!

Come join the Zelda Wiki community Discord server!

READ MORE

Zelda Wiki
mNo edit summary
m (Protected "Module:UtilsPackage": Critical wiki page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
(One intermediate revision by the same user not shown)
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 module[exportKey] then
+
if module[exportKey] and exportKey ~= "Documentation" and exportKey ~= "Schemas" then
 
mw.addWarning(string.format("Module conflict: <code>%s</code> is exported by more than one submodule.", exportKey))
 
mw.addWarning(string.format("Module conflict: <code>%s</code> is exported by more than one submodule.", exportKey))
 
end
 
end
if exportKey ~= "Documentation" and exportKey ~= "Schemas" then
+
module[exportKey] = export
module[exportKey] = export
 
end
 
 
end
 
end
 
moduleDoc[i] = {
 
moduleDoc[i] = {

Revision as of 18:31, 4 August 2020

Documentation for this module may be created at Module:UtilsPackage/Documentation

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] and exportKey ~= "Documentation" and exportKey ~= "Schemas" 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