Дополнительные действия
Для документации этого модуля может быть создана страница Модуль: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