Modul:Wikidata/Formatters/frequency

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

Dokumentaci tohoto modulu lze vytvořit na stránce Modul:Wikidata/Formatters/frequency/Dokumentace

require 'Modul:No globals'

local p = {}

local parent = require 'Modul:Wikidata/Formatters/quantity'

p.getRawValue = parent.getRawValue

local function isPositiveInteger(value)
	if value > 0 then
		local int, fract = math.modf(value)
		if int == value then
			return true
		end
	end
	return false
end

function p.formatNumber(value, options)
	-- todo: 0.5 days -> twice a day
	if isPositiveInteger(value) then
		if value == 1 then
			return 'každý'
		else
			return mw.ustring.format('každý %d.', value)
		end
	else
		return parent.formatNumber(value, options)
	end
end

p.formatRawValue = p.formatNumber

function p.formatValue(value, options)
	parent.setFormatNumber(p.formatNumber)
	return parent._formatValue(value, options)
end

return p