Jump to content

Module:Exports: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Generalize
Account for skipped outputs
 
Line 14: Line 14:


local outputKeys = {}
local outputKeys = {}
for i, v in ipairs(keys) do
for _, v in ipairs(keys) do
if not args.exclude or not v:match(args.exclude) then
if not args.exclude or not v:match(args.exclude) then
outputKeys[i] = '<code><span style="white-space: pre;">' .. v .. '</span></code>'
table.insert(outputKeys, '<code><span style="white-space: pre;">' .. v .. '</span></code>')
end
end
end
end

Latest revision as of 15:58, 26 August 2024

local p = {}

local TableTools = require('Module:TableTools')
local getArgs = require('Module:Arguments').getArgs

function p.exports(frame)
	local args = getArgs(frame)
	local title = args[1] or mw.title.getCurrentTitle().fullText
	local moduleExports = require(title)

	local keys = TableTools.keysToList(moduleExports, function (a, b)
		return string.lower(a) < string.lower(b)
	end)

	local outputKeys = {}
	for _, v in ipairs(keys) do
		if not args.exclude or not  v:match(args.exclude) then 
			table.insert(outputKeys, '<code><span style="white-space: pre;">' .. v .. '</span></code>')
		end
	end
	
	return mw.text.listToText(outputKeys)
end

return p