Module:Game from abbreviation

From Inkipedia, the Splatoon wiki

Usage

{{Game from abbreviation|<game>|<default>}}

game Named or first positional, required The game's abbreviation (case insensitive). The following abbreviations are handled:
  • OE -> Octo Expansion
  • SO -> Side Order
  • SR -> Salmon Run
  • S S1 -> Splatoon
  • S2 Splatoon 2
  • S3 -> Splatoon 3

If an invalid abbreviation is used, the default argument will be used instead.

default Named or second positional, optional If the game argument was not matched, uses this instead.

See Also


local p = {}

local fullName = {
	['OE']	= "Octo Expansion",
	['SR']	= "Salmon Run",
	['SO']	= "Side Order",
	['S']	= "Splatoon",
	['S1']	= "Splatoon",
	['S2']	= "Splatoon 2",
	['S3']	= "Splatoon 3",
}

function p.getFullName(abbr, default)
	abbr = string.upper(abbr)
    -- If an invalid abbreviation is used (thus nil would be returned), default will be used
    return fullName[abbr] or default
end

-- main to extract arg from frame
function p.main(frame)
    local args = frame:getParent().args
    local game = args['game'] or args[1]
    local default = args['default'] or args[2]
    return p.getFullName(game, default)
end

return p
--Forked from Module:Game shortened (by Slate)