Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21e24fee996d937

Jump to content

Module:Fiction redirect category handler

Permanently protected module
From Wikipedia, the free encyclopedia

require("strict")

local getArgs = require("Module:Arguments").getArgs

local p = {}

--[[ 
Local function which handles all the shared character, element and location redirect handling code.
--]]
local function main(args, objectType, validArgs)
	local redirectTemplateHandler = require("Module:Redirect template handler")
	local redirectCategoryShell, mainRedirect, unknownParametersErrors = redirectTemplateHandler.setFictionalObjectRedirect(args, objectType, validArgs)
	if (unknownParametersErrors) then
		return redirectCategoryShell .. unknownParametersErrors
	else
		return redirectCategoryShell
	end
end

--[[ 
Public function from other modules.
Function handles the unique character redirect code.
Do not merge with other sections to allow for future changes.
--]]
function p._character(args, validArgs)
	local additonalValidArgs = {"birth_name", "sort_name", "title_name"}
	for i = 1, #additonalValidArgs do
		table.insert(validArgs, additonalValidArgs[i])
	end
	return main(args, "character", validArgs)
end

--[[ 
Public function from other modules.
Function handles the unique element redirect code.
Do not merge with other sections to allow for future changes.
--]]
function p._element(args, validArgs)
	return main(args, "element", validArgs)
end

--[[ 
Public function from other modules.
Function handles the unique location redirect code.
Do not merge with other sections to allow for future changes.
--]]
function p._location(args, validArgs)
	return main(args, "location", validArgs)
end

--[[
Public function which is used to create a Redirect category shell
with relevant redirects for fictional character redirects.

Parameters: See module documentation for details.
--]]
function p.character(frame)
	local args = getArgs(frame)
	return p._character(args, {})
end

--[[
Public function which is used to create a Redirect category shell
with relevant redirects for fictional element redirects.

Parameters: See module documentation for details.
--]]
function p.element(frame)
	local args = getArgs(frame)
	return p._element(args, {})
end

--[[
Public function which is used to create a Redirect category shell
with relevant redirects for fictional location redirects.

Parameters: See module documentation for details.
--]]
function p.location(frame)
	local args = getArgs(frame)
	return p._location(args, {})
end

return p