Module:GameFromAbbreviation

From Inkipedia, the Splatoon wiki
Revision as of 08:59, 2 February 2024 by Exaskliri (talk | contribs) (added string.upper (so duplicate entries for lowercase abbreviations are no longer necessary))

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(arg, default)
	arg = string.upper(arg)

    local abbrev = {
		['OE']	= "Octo Expansion",
		['SR']	= "Salmon Run",
		['SO']	= "Side Order",
		['S']	= "Splatoon",
		['S1']	= "Splatoon",
		['S2']	= "Splatoon 2",
		['S3']	= "Splatoon 3",
    }
    
    -- return the full name from the game arg.
    -- If arg is nil then a default or "Splatoon" (whichever is non-nil first) will be used.
    return abbrev[arg] or default or "Splatoon"
end

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

return p
--Forked from Module:GameShortened (by Slate)