Content deleted Content added
Make more easily callable from other modules |
rename "page name" to page to make calling it simpler, prepend arguments with "data" to avoid collisions with arguments for Module:Medical cases chart |
||
Line 1:
--- Example usage:
--- {{#invoke:Module:Medical cases chart/data|externalData|page
--- =p._externalData({
local p = {}
Line 25:
function p._externalData(args)
local data = mw.ext.data.get(args
local dateIndex
Line 34:
local class5Index
for i, field in ipairs(data.schema.fields) do
if field.name == "date" or field.name == args.
dateIndex = i
elseif field.name == "deaths" or field.name == args.
deathsIndex = i
elseif field.name == "recoveries" or field.name == args.
recoveriesIndex = i
elseif field.name == "cases" or field.name == args.
casesIndex = i
elseif field.name == "class4" or field.name == args.
class4Index = i
elseif field.name == "class5" or field.name == args.
class5Index = i
end
end
assert(dateIndex, "Date field not found.")
assert(deathsIndex or not args.
assert(recoveriesIndex or not args.
assert(casesIndex or not args.
assert(class4Index or not args.
assert(class5Index or not args.
-- Restructure the data as tables with keys.
Line 131:
function p.externalData(frame)
local args = {}
return p._externalData(frame.args)▼
for k,v in pairs(frame.args) do
if (v or '') ~= '' then
args['data'..k] = v
end
end
end
return p
|