Module:DatasetLoader: Difference between revisions
// via Wikitext Extension for VSCode Tag: Reverted |
// via Wikitext Extension for VSCode |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
-- | --[[ | ||
* Name: DatasetLoader | |||
* Author: Mark W. Datysgeld | |||
* Description: Central loader for Data: JSON assets via JsonConfig or mw.loadData, cached per render | |||
* Notes: Tries JsonConfig extension first, then falls back to mw.loadData from Data: namespace; caches results to improve performance | |||
]] | |||
local DatasetLoader = {} | local DatasetLoader = {} | ||
| Line 19: | Line 23: | ||
local data | local data | ||
-- Try JsonConfig extension (mw.ext.data.get) | -- Try JsonConfig extension (mw.ext.data.get) | ||
| Line 27: | Line 30: | ||
if success and type(result) == 'table' then | if success and type(result) == 'table' then | ||
data = result | data = result | ||
else | else | ||
-- Fallback to mw.loadData from Data: namespace | -- Fallback to mw.loadData from Data: namespace | ||
| Line 35: | Line 37: | ||
if success and type(result) == 'table' then | if success and type(result) == 'table' then | ||
data = result | data = result | ||
end | end | ||
end | end | ||
| Line 42: | Line 43: | ||
if not data or type(data) ~= 'table' then | if not data or type(data) ~= 'table' then | ||
data = {} | data = {} | ||
end | end | ||