Přeskočit na obsah

Modul:Wikidata/Sorters/alpha

Tuto stránku mohou editovat jen zavedení uživatelé a správci.
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 Collation = require 'Modul:Collation'
local Formatters = require 'Modul:Wikidata/Formatters'

local function getValue(statement)
	local value = Formatters.getRawValue(statement.mainsnak)
	if statement.mainsnak.datavalue.type == 'wikibase-entityid' then
		return mw.wikibase.label(value)
	end
	return value
end

function p.isComplete(statement)
	return lib.IsSnakValue(statement.mainsnak) and (
		statement.mainsnak.datavalue.type == 'string' or
		statement.mainsnak.datavalue.type == 'monolingualtext' or
		(getValue(statement.mainsnak) and true)
	)
end

function p.mayCompare(statement)
	return statement.mainsnak.datavalue.type == 'monolingualtext' or
		statement.mainsnak.datavalue.type == 'string' or
		statement.mainsnak.datavalue.type == 'wikibase-entityid'
end

function p.compare(first, second)
	return Collation.compare(getValue(first), getValue(second))
end

return p