localexport={}localfunctionclean(x)returnxand#x>0andxornilend-- This modifies params!-- Only supports required, aliases (a list of alternative names)functionexport.process(args,params)forkey,optionsinpairs(params)dolocalvalue=clean(args[key])localrequirediftype(options)=="boolean"thenrequired=optionselseiftype(options)=="table"thenifnotvalueandoptions.aliasesthenfor_,aliasinipairs(options.aliases)dovalue=clean(args[alias])ifvaluethenbreakendendendrequired=options.requiredendifvaluethenvalue=mw.text.trim(value)elseifrequiredthenerror("Parameter "..key.." is required")endparams[key]=valueendreturnparamsendreturnexport