Module:File link: Difference between revisions
add start, end, and thumbtime
(don't include the library name in checkSelf method names) |
(add start, end, and thumbtime) |
||
Line 184: | Line 184: | ||
checkType('fileLink:lang', 1, s, 'string', true) | checkType('fileLink:lang', 1, s, 'string', true) | ||
data.theLang = s | data.theLang = s | ||
return self | |||
end | |||
local function checkTypeStringOrNum(funcName, pos, arg) | |||
local argType = type(arg) | |||
if argType ~= 'nil' and argType ~= 'string' and argType ~= 'number' then | |||
error(string.format( | |||
"bad argument #%d to '%s' (string or number expected, got %s)", | |||
pos, | |||
funcName, | |||
argType | |||
), 3) | |||
end | |||
end | |||
function data:startTime(time) | |||
checkSelf(self, 'startTime') | |||
checkTypeStringOrNum('fileLink:startTime', 1, time) | |||
data.theStartTime = time | |||
return self | |||
end | |||
function data:endTime(time) | |||
checkSelf(self, 'endTime') | |||
checkTypeStringOrNum('fileLink:endTime', 1, time) | |||
data.theEndTime = time | |||
return self | |||
end | |||
function data:thumbTime(time) | |||
checkSelf(self, 'thumbTime') | |||
checkTypeStringOrNum('fileLink:thumbTime', 1, time) | |||
data.theThumbTime = time | |||
return self | return self | ||
end | end | ||
Line 236: | Line 269: | ||
-- Render named parameters. | -- Render named parameters. | ||
-- That includes link, alt, page, class, and | -- That includes link, alt, page, class, lang, start, end, and thumbtime. | ||
do | do | ||
local namedParameters = {'link', 'alt', 'page', 'class', 'lang'} | local namedParameters = { | ||
for i, | {'link', 'theLink'}, | ||
local | {'alt', 'theAlt'}, | ||
local value = data[ | {'page', 'thePage'}, | ||
{'class', 'theClass'}, | |||
{'lang', 'theLang'}, | |||
{'start', 'theStartTime'}, | |||
{'end', 'theEndTime'}, | |||
{'thumbtime', 'theThumbTime'} | |||
} | |||
for i, t in ipairs(namedParameters) do | |||
local parameter = t[1] | |||
local value = data[t[2]] | |||
if value then | if value then | ||
ret[#ret + 1] = parameter .. '=' .. tostring(value) | ret[#ret + 1] = parameter .. '=' .. tostring(value) |