Modül:TeamCard/Qualifier

Modül belgelemesi[oluştur]
require('Module:Module wikitext')._addText([[{{Sil|Kullanıcı talebi}}]]);
local Class = require('Module:Class')
local Variables = require('Module:Variables')

local Qualifier = {}

-- Returns the tuple (linkText, linkInternal, linkExternal)
-- Link internal and link external is mutually exclusive
function Qualifier.parseQualifier(rawQualifier)
	if not rawQualifier then
		return nil
	end

	local cleanQualifier = rawQualifier:gsub('%[', ''):gsub('%]', '')
	if cleanQualifier:find('|') then
		-- Internal link
		local qualifier = mw.text.split(cleanQualifier, '|', true)
		local qualifierLink, qualifierText = qualifier[1], qualifier[2]

		if qualifierLink:sub(1, 1) == '/' then
			-- Relative link
			qualifierLink = mw.title.getCurrentTitle().fullText .. qualifierLink
		end
		qualifierLink = qualifierLink:gsub(' ', '_')
		return qualifierText, qualifierLink, nil

	elseif rawQualifier:sub(1, 1) == '[' then
		-- Not internal link, but a link -> must be external link
		local qualifier = mw.text.split(cleanQualifier, ' ', true)
		local qualifierLink = qualifier[1]

		table.remove(qualifier, 1)
		local qualifierText = table.concat(qualifier, ' ')

		return qualifierText, nil, qualifierLink

	else
		-- Just text
		return rawQualifier, nil, nil
	end
end

return Class.export(Qualifier, {frameOnly = true})