יחידה:ParamValidator: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
moya ocd
aliases
שורה 116:
local templatedata = require( 'Module:ReadTd' ).ReadTemplateData( td_source )
local td_params = templatedata and templatedata.params
local all_aliases = {}
if not td_params then return { ['no-templatedata'] = { [''] = '' } } end
שורה 122 ⟵ 123:
local res = {} -- before returning to caller, we'll prune empty tables
 
-- allow for aliases
for _, p in pairs( tp_params ) do for _, alias in ipairs( p.aliases or {} ) do
all_aliases[alias] = p
end end
-- handle undeclared and deprecated
for p_name, value in pairs( t_args ) do
local tp_param, noval, numeric, table_name = td_params[p_name] or all_aliases[p_name], util.empty( value ), tonumber( p_name )
if not tp_param then -- not in TD: this is called undeclared
שורה 147 ⟵ 153:
-- test for empty/missing paraeters declared "required"
for p_name, param in pairs( td_params ) do
if param.required and util.empty( t_args[p_name] ) then
local is_alias
res['empty-required'] = res['empty-required'] or {}
for _, alias in ipairs( param.aliases or {} ) do is_alias = is_alias or not util.empty( t_args[alias] ) end
res['empty-required'][p_name] = ''
if not is_alias then
res['empty-required'] = res['empty-required'] or {}
res['empty-required'][p_name] = ''
end
end
end