Модуль:JsonPaths: различия между версиями

Материал из Space Station 14 Вики
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
local p = {}
local p = {}
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local function normalizePath(path)
    path = mw.text.trim(path or "")
    if path == "Corvax" then
        return ""
    end
    return path
end


local function resolvePath(path)
local function resolvePath(path)
     if path and path ~= "" then
    path = mw.text.trim(path or "")
         return path
     if path ~= "" then
         return normalizePath(path)
     end
     end


Строка 13: Строка 24:


     local args = getArgs(frame)
     local args = getArgs(frame)
     path = args.path or ""
     path = mw.text.trim(args.path or "")


     if path == "Corvax" then
     if path == "" then
         path = ""
         path = mw.text.trim(frame:preprocess("{{#var:JsonPath}}") or "")
     end
     end


     return path
     return normalizePath(path)
end
end


Строка 28: Строка 39:
     end
     end


     path = mw.text.trim(resolvePath(path))
     path = resolvePath(path)


     local prefix = "Module:IanComradeBot/"
     local prefix = "Module:IanComradeBot/"

Версия от 05:07, 20 марта 2026

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

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

local function normalizePath(path)
    path = mw.text.trim(path or "")

    if path == "Corvax" then
        return ""
    end

    return path
end

local function resolvePath(path)
    path = mw.text.trim(path or "")
    if path ~= "" then
        return normalizePath(path)
    end

    local frame = mw.getCurrentFrame()
    if not frame then
        return ""
    end

    local args = getArgs(frame)
    path = mw.text.trim(args.path or "")

    if path == "" then
        path = mw.text.trim(frame:preprocess("{{#var:JsonPath}}") or "")
    end

    return normalizePath(path)
end

function p.get(rel, path)
    rel = mw.text.trim(rel or "")
    if rel == "" then
        return ""
    end

    path = resolvePath(path)

    local prefix = "Module:IanComradeBot/"
    if path ~= "" then
        prefix = prefix .. path .. "/"
    end

    return prefix .. rel .. "/data"
end

return p