Fandom Developers Wiki
Advertisement

This module helps to debug lua errors in modules using the console.

Description[]

It contains a method that emulates a full frame in the console, and allows one to debug some lua modules without having to save them.

Usage[]

Within the console import the module and initialize it. First import this module, then use the frame function to generate a new frame.

local dbg = require("Dev:Debug")
local fakeFrame = dbg.frame({param1, param2})

Example[]

Follow the following steps:

  1. Create a test module, e.g. Module:Sandbox
  2. Paste the following code into the text area
local p = {}

function p.test(frame)
    return "Hello " .. (frame.args[1] or "missy")
end

function p.test2(frame)
    return "Hello " .. (frame:getParent().args[1] or "missy")
end

return p
  • Now paste the following text in the debug console of a test module
-- Console code
local dbgModule = require("Dev:Debug")

-- Then use the frame method to create a fake test frame.
local childFrame = {"Child"}
local parentFrame = {"Parent"}
local frame = dbgModule.frame(childFrame, parentFrame)

-- The method above accepts two parameters as tables, one represents the parent
-- frame, and the other the child. Finally pass this frame to a function:
local message1 = p.test(frame)
local message2 = p.test2(frame)

print("Message 1:", message1)
print("Message 2:", message2)
Message 1:	Hello Child
Message 2:	Hello Parent

PseudoFrame functions[]

The frame method currently only supports the functions in the table below:

Function Notes
getParent() This works pretty much like the original
preprocess() Simply returns the text as the frame isn't available to do preprocessing
showargs() Shows a list of arguments contained in both parent and child frame
setargs Sets the arguments
.frame Creates a frame object
Advertisement