en:Module:Wd 2017年2月5日 (日) 15:45(UTC)より
template>K-iczn (en:Module:Wd 2017年2月4日 (土) 15:52(UTC)より) |
template>K-iczn (en:Module:Wd 2017年2月5日 (日) 15:45(UTC)より) |
||
116行目: | 116行目: | ||
function unknownDataTypeError(dataType) | function unknownDataTypeError(dataType) | ||
return " | return "" .. dataType .. "は不明もしくは未対応のデータタイプです。" | ||
end | end | ||
function missingRequiredParameterError() | function missingRequiredParameterError() | ||
return " | return "必要なパラメータが定義されていません。最低限1つ必要です。" | ||
end | end | ||
function extraRequiredParameterError(param) | function extraRequiredParameterError(param) | ||
return " | return "パラメータ「" .. param .. "」は任意として定義する必要があります。" | ||
end | end | ||
767行目: | 767行目: | ||
return value | return value | ||
else | else | ||
return unknownDataTypeError(snak.datavalue.type) | return '<strong class="error">' .. unknownDataTypeError(snak.datavalue.type) '</strong>' | ||
end | end | ||
elseif snak.snaktype == 'somevalue' then | elseif snak.snaktype == 'somevalue' then | ||
1,425行目: | 1,425行目: | ||
nextIndex = nextIndex + 1 | nextIndex = nextIndex + 1 | ||
_.qualifierID = nextArg | _.qualifierID = nextArg -- is possibly actually propertyValue, so don't trim just yet | ||
nextArg = mw.text.trim(args[nextIndex] or "") | nextArg = mw.text.trim(args[nextIndex] or "") | ||
1,494行目: | 1,494行目: | ||
-- make sure that at least one required parameter has been defined | -- make sure that at least one required parameter has been defined | ||
if not next(parsedFormat.req) then | if not next(parsedFormat.req) then | ||
error(missingRequiredParameterError()) | |||
end | end | ||
-- make sure that the separator parameter "%s" is not amongst the required parameters | -- make sure that the separator parameter "%s" is not amongst the required parameters | ||
if parsedFormat.req[parameters.separator] then | if parsedFormat.req[parameters.separator] then | ||
error(extraRequiredParameterError(parameters.separator)) | |||
end | end | ||
1,662行目: | 1,662行目: | ||
end | end | ||
-- main function that | -- main function that is supposed be used by a wrapper template | ||
function p.main(frame) | function p.main(frame) | ||
local f, args, i, v | local f, args, i, v | ||
-- get the parent frame to take the arguments that were passed to the wrapper template | |||
frame = frame:getParent() or frame | frame = frame:getParent() or frame | ||
f = mw.text.trim(frame.args[1] or "") | f = mw.text.trim(frame.args[1] or "") | ||
assert(p[f], ' | |||
assert(p["_"..f], 'ファンクション"' .. f .. '"が存在しません。') | |||
if f == "main" then | |||
error('ファンクション"main"は2度も呼び出せません。') | |||
end | |||
args = {} | args = {} |