Module:Test

local data = mw.loadData( 'Module:iteminfo/database' ) -- loading data table. (What a hell!)

local trim = mw.text.trim

-- cache local currentFrame

local getArg = function(key) local value = currentFrame.args[key] if not value then return nil end value = trim(value) if value == '' then return nil else return value end end

---

local p = { test = function (frame) currentFrame = frame -- cache local max = tonumber(getArg(1)) or 0 local output = '' for itemid = 0, max do output = output .. mw.dumpObject(data) .. ',\n' end return output end, getInfo = function (frame) currentFrame = frame -- cache

local itemid = tonumber(getArg('id')) or 0 local prefix = getArg('prefix') or '_iteminfo_'

if itemid >= 3930 or itemid <= 0 then itemid = 0 end local result = data[itemid]

local args = {} for k,v in pairs(result) do table.insert(args, prefix .. k)			table.insert(args, v)		end

frame:callParserFunction{ name = '#dplvar:set', args = args } end,

}

p.getinfo = p.getInfo p.GetInfo = p.getInfo

return p