Module:GameFromAbbreviation

From Inkipedia, the Splatoon wiki
Revision as of 12:15, 2 February 2024 by Exaskliri (talk | contribs) (removing "Splatoon" placeholder (I'd rather it errors out) and renamed variables)

Usage

{{GameFromAbbreviation|<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 = {}

function p.getFullName(abbr, default)
	abbr = string.upper(abbr)

    local fullName = {
		['OE']	= "Octo Expansion",
		['SR']	= "Salmon Run",
		['SO']	= "Side Order",
		['S']	= "Splatoon",
		['S1']	= "Splatoon",
		['S2']	= "Splatoon 2",
		['S3']	= "Splatoon 3",
    }
    
    -- If abbr is nil: 
    -- If default is defined, then it will be used.
    -- If default is also nil, it errors out (I guess)
    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:GameShortened (by Slate)