跳转到内容

模組:TalkIcon/data

被永久保护的模块
维基百科,自由的百科全书
-- 定義數據
local data = {
	-- 存廢討論
	{
		alias = { 'xfd', },
		type = 'xfd',
		subList = {
			-- 刪除
			{
				alias = { 'delete', },
				sub = 'delete',
			},
			-- 保留
			{
				alias = { 'keep', },
				sub = 'keep',
			},
			-- 移動
			{
				alias = { 'move', },
				sub = 'move',
			},
		},
	},
	
	-- 投票
	{
		alias = { 'vote', },
		type = 'vote',
		subList = {
			-- 支持
			{
				alias = { 'support', },
				sub = 'support',
			},
			-- 反對
			{
				alias = { 'oppose', },
				sub = 'oppose',
			},
			-- 中立
			{
				alias = { 'neutral', },
				sub = 'neutral',
			},
		},
	},

	-- 傀儡調查
	{
		alias = { 'spi', },
		type = 'spi',
		subList = {},
	},

	-- 幽默模板
	{
		alias = { 'humor', 'humour', },
		type = 'humor',
		subList = {},
	},

	-- 雜項,與討論有關
	{
		alias = { 'discussion', },
		type = 'discussion',
		subList = {},
	},
}

local output = {
	type = {},
}

-- 開始預雜湊
for _, main in ipairs(data) do
	local m = { type = main.type, sub = {}, }
	for _, sub in ipairs(main.subList) do
		for _, alias in ipairs(sub.alias) do
			m.sub[alias] = sub.sub
		end
	end

	for _, alias in ipairs(main.alias) do
		output.type[alias] = m
	end
end

--[=[
預期輸出結構:

{
	type = {
	    xfd = {
	        sub = {
	            ["delete"] = "delete",
	            ["keep"] = "keep",
	            ["move"] = "move",
	        },
	        type = "xfd",
	    },
	}
}

]=]

return output