Module:TestModule
From MENACE Official Wiki
Documentation for this module may be created at Module:TestModule/doc
---
--- Extracts attributes of weapons from Module:Data/Weapons.json
---
---@module TestModule
local TestModule = {}
--region Dependencies
local JsonUtils = require("Module:JsonUtils")
--endregion
--region Private constants
local DATA_FILE = "Module:Data/Weapons.json"
--endregion
--region Private member variables
local weaponsData
--endregion
--region Private methods
local function loadData()
if not weaponsData then
weaponsData = JsonUtils.convertJSONToLuaTable(DATA_FILE)
end
end
local function getTitleFromArgs(frame)
if frame.args then
return frame.args[1] or frame.args.title
else
return frame
end
end
--endregion
function TestModule.get(frame)
loadData()
local weaponTitle = frame.args[1]
local property = frame.args[2]
if not weaponTitle or not property then
return "Error: missing arguments"
end
for _, weapon in ipairs(weaponsData) do
if weapon.Title and string.lower(weapon.Title) == string.lower(weaponTitle) then
return weapon[property] or "Property not found"
end
end
return "Weapon not found"
end
return TestModule


