Module:Wt/debug

local export = {}

-- Convert a value to a string function export.dump(value, prefix) local t = type(value) prefix = prefix or "" if t == "string" then return '"' .. value .. '"' elseif t == "table" then local str_table = {} table.insert(str_table, " {") for key, val in pairs(value) do           table.insert(str_table, " " .. prefix .. "\t[" .. export.dump(key, prefix .. "\t") .. "] = " .. mw.ustring.gsub(export.dump(val, prefix .. "\t"), "^ ", "") .. ",") end table.insert(str_table, " " .. prefix .. "}") return table.concat(str_table, "\n") else return tostring(value) end end

function export.track(key) local frame = mw.getCurrentFrame pcall(frame.expandTemplate, frame, { title = 'tracking/' .. key }) end

-- Trigger a script error from a template function export.error(frame) error(frame.args[1] or "(no message specified)") end

return export