Module:CargoQuery: Difference between revisions

20 bytes removed ,  18:38, 12 April 2021
trim keys in merge args
(make getColNames private)
(trim keys in merge args)
Line 1: Line 1:
local PARAM_LOOKUP = {
local PARAM_LOOKUP = {
['order by'] = 'orderBy',
['order by'] = 'orderBy',
join = 'join',
['join on'] = 'join',
['join on'] = 'join',
['group by'] = 'groupBy',
['group by'] = 'groupBy',
Line 51: Line 50:
local query = {}
local query = {}
for k, v in pairs(args) do
for k, v in pairs(args) do
if string.sub(k, 0, 2) == 'q?' then
if string.sub(mw.text.trim(k), 0, 2) == 'q?' then
local key = string.sub(k, 3)
local key = string.sub(k, 3)
query[PARAM_LOOKUP[key] or key] = v
query[PARAM_LOOKUP[key] or key] = v
elseif PARAM_LOOKUP[k] then
else
query[PARAM_LOOKUP[k]] = v
query[PARAM_LOOKUP[k]] = v
else
query[k] = v
end
end
end
end
Line 88: Line 85:
v = mw.text.trim(tostring(v))
v = mw.text.trim(tostring(v))
if v ~= '' then
if v ~= '' then
args[k] = v
args[mw.text.trim(k)] = v
end
end
    end
    end
Line 95: Line 92:
v = mw.text.trim(v)
v = mw.text.trim(v)
if v ~= '' then
if v ~= '' then
args[k] = v
args[mw.text.trim(k)] = v
end
end
end
end