Ir para o conteúdo

Módulo:Parameter names example

De Wiki TokuDrive

-- This module implements {{#invoke:Parameter names example|main}}.

local p = {}

local function makeParam(s) return string.format('{{{%s}}}', s) end

local function italicize(s) return "" .. s .. "" end

local function plain(s) return s end

function p._main(args, frame) -- Escolhe a forma de exibir os parâmetros local formatFunc if (args._display == 'italics' or args._display == 'italic' or args._display == 'itálico' or args._exibir == 'italics' or args._exibir == 'italic' or args._exibir == 'itálico' or args['_exibição'] == 'italics' or args['_exibição'] == 'italic' or args['_exibição'] == 'itálico' ) then formatFunc = italicize elseif (args._display == 'plain' or args._display == 'simples' or args._exibir == 'plain' or args._exibir == 'simples' or args['_exibição'] == 'plain' or args['_exibição'] == 'simples' ) then formatFunc = plain else formatFunc = makeParam end

-- Monta os argumentos da predefinição local targs = {} for k, v in pairs(args) do if type(k) == 'number' then targs[v] = formatFunc(v) elseif not k:find('^_') then targs[k] = v end end

-- Define o nome da predefinição a ser expandida local template if args._template or args['_predefinição'] then template = args._template or args['_predefinição'] else local currentTitle = mw.title.getCurrentTitle() local titleText = currentTitle.prefixedText:lower() local isSubpage = titleText:find('/doc$') or titleText:find('/testes$')

if isSubpage then template = currentTitle.basePageTitle.fullText else template = currentTitle.fullText end end

-- Chama a predefinição com os argumentos montados frame = frame or mw.getCurrentFrame() local success, result = pcall( frame.expandTemplate, frame, {title = template, args = targs} ) if success then return result else return end end

function p.main(frame) local args = require('Módulo:Arguments').getArgs(frame, { wrappers = 'Predefinição:Parameter names example' }) return p._main(args, frame) end

return p