Module:Test2: Difference between revisions

From Elwiki
No edit summary
No edit summary
Line 1: Line 1:
require('Module:CommonFunctions');
local getArgs = require('Module:Arguments').getArgs
local p = {}
local p = {}


function p.Patch(frame)
function p.Patch(frame)
  local origArgs = {}
    local args = getArgs(frame)
  local orig = frame.args.orig or ""
  orig = orig:gsub("<nowiki>(.-)</nowiki>", function(args)
    for k, v in args:gmatch("|%s*(.-)%s*=%s*(.-)%s*|") do
      origArgs[k] = v
    end
    return ""
  end)


  local newArgs = {}
    local input_args = split(args.orig, '|')
  for k, v in pairs(frame.args) do
    local old_args = {}
    if k ~= "orig" then
    for k, v in ipairs(input_args) do
      newArgs[k] = v
        local old_arg = split(v, '=')
        old_args[old_arg[1]] = old_arg[2]
     end
     end
  end
  -- Merge the old and new arguments
  local mergedArgs = {}
  for k, v in pairs(origArgs) do
    mergedArgs[k] = v
  end
  for k, v in pairs(newArgs) do
    mergedArgs[k] = v
  end
  -- Call the Damage template with the merged arguments
  local damageTemplate = mw.getCurrentFrame():expandTemplate{ title = "Damage", args = mergedArgs }


   return damageTemplate
    print(inspect_dump(frame, old_args))
    
end
end


return p
return p

Revision as of 21:07, 25 April 2023

Documentation for this module may be created at Module:Test2/doc

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

function p.Patch(frame)
    local args = getArgs(frame)

    local input_args = split(args.orig, '|')
    local old_args = {}
    for k, v in ipairs(input_args) do
        local old_arg = split(v, '=')
        old_args[old_arg[1]] = old_arg[2]
    end

    print(inspect_dump(frame, old_args))
  
end

return p