Moduuli:Cs:Wikidata/Formatters/string
Siirry navigaatioon
Siirry hakuun
Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:Cs:Wikidata/Formatters/string/ohje
require 'Module:No globals'
local p = {}
local lib = require 'Module:cs:Wikidata/lib'
local function findPattern(property)
local entity = mw.wikibase.getEntity(property:upper())
if entity then
local Statements = entity:getBestStatements('P1630')
for _, statement in ipairs(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
p.formatRawValue = p.formatValue
return p