Module:Shortcut/policy

Wikipediýa, erkin ensiklopediýa

Bu modul üçin resminamalar Module:Shortcut/policy/doc sahypasynda döredilip bilner

-- This module implements {{policy shortcut}}.

-- Set constants
local cfg = require('Module:Shortcut/config')
cfg['shortcut-heading'] = '[[Wikipedia:Shortcut|Policy {{PLURAL:$1|shortcut|shortcuts}}]]'

-- Load required modules
local mShortcut = require('Module:Shortcut')

local p = {}

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {
		wrappers = 'Template:Policy shortcut'
	})

	-- Separate shortcuts from options
	local shortcuts, options = {}, {}
	for k, v in pairs(args) do
		if type(k) == 'number' then
			shortcuts[k] = v
		else
			options[k] = v
		end
	end

	-- Compress the shortcut array, which may contain nils.
	local function compressArray(t)
		local nums, ret = {}, {}
		for k in pairs(t) do
			nums[#nums + 1] = k
		end
		table.sort(nums)
		for i, num in ipairs(nums) do
			ret[i] = t[num]
		end
		return ret
	end
	shortcuts = compressArray(shortcuts)

	return mShortcut._main(shortcuts, options, frame, cfg)

end

return p