Module:Utils
Documentation for this module may be created at Module:Utils/doc
local util = {} function util.get_args(frame) local origArgs if frame == mw.getCurrentFrame() then -- We're being called via #invoke. If the invoking template passed any args, use -- them. Otherwise, use the args that were passed into the template. origArgs = frame:getParent().args for k, v in pairs(frame.args) do origArgs = frame.args break end else -- We're being called from another module or from the debug console, so assume -- the args are passed in directly. origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of the template, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(origArgs) do if v ~= '' then -- parameter names should be case-insensitive if type(k) == 'string' then k = string.lower(k) end args[k] = v end end return args end function util.expandWikitext(wikitext) -- function to process wikitext, expanding templates, and return result return mw.getCurrentFrame():preprocess(wikitext) end function util.processArg(arg, default) -- function that replicates wiki template behaviour where nil and blank arguments are equivalent here if arg and arg ~= '' then return arg end return default or '' end function util.processArgLowered(arg, default) -- similar to processArg but returns lowered string local processed_arg = util.processArg(arg, default) if processed_arg then return string.lower(processed_arg) end return '' end return util