Přeskočit na obsah

Modul:Wikidata/Formatters/string

Tato stránka je zamčena
Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)

require 'Modul:No globals'

local p = {}

local lib = require 'Modul:Wikidata/lib'

local function findPattern(property)
	local entity = mw.wikibase.getEntity(property:upper())
	if entity then
		local Statements = entity:getBestStatements('P1630')
		for _, statement in pairs(Statements) do
			if lib.IsSnakValue(statement.mainsnak) then
				return statement.mainsnak.datavalue.value
			end
		end
	end
	return nil
end

function p.getRawValue(value, options)
	return value
end

function p.formatValue(value, options)
	if options.pattern then
		return lib.formatFromPattern(value, options.pattern)
	elseif lib.IsOptionTrue(options, 'autoformat') then
		local pattern = findPattern(options.property)
		if pattern then
			return lib.formatFromPattern(value, mw.ustring.format('[%s %s]', pattern, options.text or '$1'))
		end
	end
	return value
end

return p