Module:Iteminfo/datacache
Jump to navigation
Jump to search
Documentation
No documentation subpage exists yet for this module. Create one now.
-- Manage database cache for Module:Iteminfo and Module:ItemNames.
local cache = mw.ext.LuaCache
return {
-- for Module:Iteminfo/loaddata.
-- load main iteminfo datbase.
load = function()
local status, result = pcall(function ()
return mw.text.jsonDecode(cache.get(':_iteminfo:data'))
end)
if status and result then
return result
end
-- fallback
local info = require('Module:Iteminfo/data').data
-- cache it.
cache.set( ':_iteminfo:data', info)
return mw.text.jsonDecode(info)
end,
-- db for {{itemNameFromId}} {{itemIdFromName}} {{itemInternalNameFromId}} {{itemIdFromInternalName}}
loadNameDB = function()
local status, result = pcall(function ()
return mw.text.jsonDecode(cache.get(':_iteminfo:data:nameDB'))
end)
if status and result then
return result
end
-- fallback
local info = require('Module:Iteminfo/data').nameDB
-- cache it.
cache.set( ':_iteminfo:data:nameDB', info)
return mw.text.jsonDecode(info)
end,
-- purge cache.
purge = function()
cache.delete(':_iteminfo:data')
cache.delete(':_iteminfo:data:nameDB')
end,
}