Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Модуль:Identity

Материал из wiki.iccup.org

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

local Arguments = require('Module:Arguments')
local Json = require('Module:Json')
local p = {}

function p.id(frame)
    local args = Arguments.getArgs(frame)
    local param = args.param or args[1]

    -- Проверка, включает ли параметр 'extradata'
    if param:match('extradata') then
        -- Разделение параметра на части для извлечения ключа JSON
        local parts = mw.text.split(param, '_')
        -- Декодирование JSON из значения параметра и парсинг
        local data = Json.parse(mw.text.decode(args[parts[1]]))
        -- Удаление первой части для формирования нового ключа
        table.remove(parts, 1)
        -- Возврат значения по ключу из JSON
        return data[table.concat(parts, '_')]
    end
    -- Возврат значения параметра, если не найден 'extradata'
    return args[param]
end

return p