Перейти к содержимому страницы
Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

Модуль:Супруг или супруга

Материал из вики «Вече»

Для документации этого модуля может быть создана страница Модуль:Супруг или супруга/doc

local p = {}

function p.getSpouseId(frame)
    -- получение объекта текущего элемента Викиданных
    local entity = mw.wikibase.getEntityObject()

    -- проверка наличия элемента и свойства [[d:p:P26]] — указан(а) ли супруг(а)
    if not entity or not entity.claims or not entity.claims.P26 then
        return ""
    end

    -- Извлечение данных о супруге. Выбор первого значения, которое должно быть
	-- единственным: когда супруг(ов) несколько, то модуль не должен быть вызван.
	-- Нескольких супругов — полигамию или бывших супруг(ов) —
	-- анализирует [[ш:Wikidata number switch]] внутри [[ш:Супруг или супруга]].
    local spouse_claim = entity.claims.P26[1]

    -- проверка типа значения
    if spouse_claim.mainsnak.snaktype ~= 'value' then
        return ""
    end

    -- получение идентификатора Q супруга и передача его для [[ш:Wikidata gender switch]]
    return spouse_claim.mainsnak.datavalue.value.id
end

return p