-- Prevent substitution.
if mw.isSubsting() then
return require("Module:unsubst")
end
local get_current_title = mw.title.getCurrentTitle
local new_title = mw.title.new
local export = {}
function export.pagetype_t(frame)
local args = require("Module:parameters").process(frame:getParent().args, {
["article"] = {type = "boolean"},
["pagename"] = {demo = true},
})
local pagename = args.pagename
local pagetype = require("Module:pages").pagetype(
not pagename and get_current_title() or new_title(pagename) or error(mw.dumpObject(pagename) .. " is not a valid page name.")
)
return not args.article and pagetype or
pagetype:sub(1, 4) == "user" and "a " .. pagetype or -- avoids "an user"
require("Module:string utilities").add_indefinite_article(pagetype)
end
return export