Documentation
¶
Index ¶
Constants ¶
const ( MediaTypeGame = slugs.MediaTypeGame MediaTypeMovie = slugs.MediaTypeMovie MediaTypeTVShow = slugs.MediaTypeTVShow MediaTypeMusic = slugs.MediaTypeMusic MediaTypeImage = slugs.MediaTypeImage MediaTypeAudio = slugs.MediaTypeAudio MediaTypeVideo = slugs.MediaTypeVideo MediaTypeApplication = slugs.MediaTypeApplication )
Re-export MediaType constants from slugs package for convenience.
const ( System3DO = "3DO" System3DS = "3DS" SystemAdventureVision = "AdventureVision" SystemArcadia = "Arcadia" SystemAstrocade = "Astrocade" SystemAmigaCD32 = "AmigaCD32" SystemAtari2600 = "Atari2600" SystemAtari5200 = "Atari5200" SystemAtari7800 = "Atari7800" SystemAtariLynx = "AtariLynx" SystemAtariXEGS = "AtariXEGS" SystemCasioPV1000 = "CasioPV1000" SystemCDI = "CDI" SystemChannelF = "ChannelF" SystemColecoVision = "ColecoVision" SystemCreatiVision = "CreatiVision" SystemDreamcast = "Dreamcast" SystemFDS = "FDS" SystemGamate = "Gamate" SystemGameboy = "Gameboy" SystemGameboyColor = "GameboyColor" SystemGameboy2P = "Gameboy2P" SystemGameCube = "GameCube" SystemGameGear = "GameGear" SystemGameNWatch = "GameNWatch" SystemGameCom = "GameCom" SystemGBA = "GBA" SystemGBA2P = "GBA2P" SystemGenesis = "Genesis" SystemGenesisMSU = "GenesisMSU" SystemIntellivision = "Intellivision" SystemJaguar = "Jaguar" SystemJaguarCD = "JaguarCD" SystemMasterSystem = "MasterSystem" SystemMegaCD = "MegaCD" SystemMegaDuck = "MegaDuck" SystemNDS = "NDS" SystemNeoGeo = "NeoGeo" SystemNeoGeoAES = "NeoGeoAES" SystemNeoGeoMVS = "NeoGeoMVS" SystemNeoGeoCD = "NeoGeoCD" SystemNeoGeoPocket = "NeoGeoPocket" SystemNeoGeoPocketColor = "NeoGeoPocketColor" SystemNES = "NES" SystemNESMusic = "NESMusic" SystemNintendo64 = "Nintendo64" SystemOdyssey2 = "Odyssey2" SystemOuya = "Ouya" SystemPCFX = "PCFX" SystemPocketChallengeV2 = "PocketChallengeV2" SystemPokemonMini = "PokemonMini" SystemPSX = "PSX" SystemPS2 = "PS2" SystemPS3 = "PS3" SystemPS4 = "PS4" SystemPS5 = "PS5" SystemPSP = "PSP" SystemSega32X = "Sega32X" SystemSeriesXS = "SeriesXS" SystemSG1000 = "SG1000" SystemSuperGameboy = "SuperGameboy" SystemSuperVision = "SuperVision" SystemSaturn = "Saturn" SystemSNES = "SNES" SystemSNESMSU1 = "SNESMSU1" SystemSGBMSU1 = "SGBMSU1" SystemSNESMusic = "SNESMusic" SystemSuperGrafx = "SuperGrafx" SystemSwitch = "Switch" SystemTurboGrafx16 = "TurboGrafx16" SystemTurboGrafx16CD = "TurboGrafx16CD" SystemVC4000 = "VC4000" SystemVectrex = "Vectrex" SystemVirtualBoy = "VirtualBoy" SystemVita = "Vita" SystemWii = "Wii" SystemWiiU = "WiiU" SystemWonderSwan = "WonderSwan" SystemWonderSwanColor = "WonderSwanColor" SystemXbox = "Xbox" SystemXbox360 = "Xbox360" SystemXboxOne = "XboxOne" SystemMultivision = "Multivision" SystemVideopacPlus = "VideopacPlus" SystemNGage = "NGage" SystemSocrates = "Socrates" SystemSuperACan = "SuperACan" SystemSufami = "Sufami" SystemVSmile = "VSmile" )
Consoles
const ( SystemAcornAtom = "AcornAtom" SystemAcornElectron = "AcornElectron" SystemArchimedes = "Archimedes" SystemAliceMC10 = "AliceMC10" SystemAmiga = "Amiga" SystemAmiga500 = "Amiga500" SystemAmiga1200 = "Amiga1200" SystemAmstrad = "Amstrad" SystemAmstradPCW = "AmstradPCW" SystemApogee = "Apogee" SystemAppleI = "AppleI" SystemAppleII = "AppleII" SystemAquarius = "Aquarius" SystemAtari800 = "Atari800" SystemBBCMicro = "BBCMicro" SystemBK0011M = "BK0011M" SystemC16 = "C16" SystemC64 = "C64" SystemCasioPV2000 = "CasioPV2000" SystemCoCo2 = "CoCo2" SystemDOS = "DOS" SystemEDSAC = "EDSAC" SystemGalaksija = "Galaksija" SystemInteract = "Interact" SystemJupiter = "Jupiter" SystemLaser = "Laser" SystemLynx48 = "Lynx48" SystemMacPlus = "MacPlus" SystemMacOS = "MacOS" SystemMSX = "MSX" SystemMSX1 = "MSX1" SystemMSX2 = "MSX2" SystemMSX2Plus = "MSX2Plus" SystemMultiComp = "MultiComp" SystemOrao = "Orao" SystemOric = "Oric" SystemPC = "PC" SystemPCXT = "PCXT" SystemPDP1 = "PDP1" SystemPET2001 = "PET2001" SystemPMD85 = "PMD85" SystemQL = "QL" SystemRX78 = "RX78" SystemSAMCoupe = "SAMCoupe" SystemScummVM = "ScummVM" SystemSordM5 = "SordM5" SystemSpecialist = "Specialist" SystemSVI328 = "SVI328" SystemTatungEinstein = "TatungEinstein" SystemTI994A = "TI994A" SystemTomyTutor = "TomyTutor" SystemTRS80 = "TRS80" SystemTSConf = "TSConf" SystemUK101 = "UK101" SystemVector06C = "Vector06C" SystemVIC20 = "VIC20" SystemWindows = "Windows" SystemX68000 = "X68000" SystemZX81 = "ZX81" SystemZXSpectrum = "ZXSpectrum" SystemZXNext = "ZXNext" SystemAtariST = "AtariST" SystemColecoAdam = "ColecoAdam" SystemFM7 = "FM7" SystemFMTowns = "FMTowns" SystemGamePocket = "GamePocket" SystemGameMaster = "GameMaster" SystemGP32 = "GP32" SystemPC88 = "PC88" SystemPC98 = "PC98" SystemX1 = "X1" SystemCommanderX16 = "CommanderX16" SystemSpectravideo = "Spectravideo" SystemThomson = "Thomson" )
Computers
const ( SystemAndroid = "Android" SystemArcade = "Arcade" SystemAtomiswave = "Atomiswave" SystemArduboy = "Arduboy" SystemChip8 = "Chip8" SystemCPS1 = "CPS1" SystemCPS2 = "CPS2" SystemCPS3 = "CPS3" SystemDAPHNE = "DAPHNE" SystemDICE = "DICE" SystemSinge = "Singe" SystemModel1 = "Model1" SystemModel2 = "Model2" SystemNamco2X6 = "Namco2X6" SystemNamco22 = "Namco22" SystemTriforce = "Triforce" SystemLindbergh = "Lindbergh" SystemChihiro = "Chihiro" SystemGaelco = "Gaelco" SystemHikaru = "Hikaru" SystemIOS = "iOS" SystemModel3 = "Model3" SystemNAOMI = "NAOMI" SystemNAOMI2 = "NAOMI2" SystemPico8 = "Pico8" SystemTIC80 = "TIC80" SystemVideo = "Video" SystemAudio = "Audio" SystemMovie = "Movie" SystemTVEpisode = "TVEpisode" SystemTVShow = "TVShow" SystemMusicTrack = "MusicTrack" SystemMusicArtist = "MusicArtist" SystemMusicAlbum = "MusicAlbum" SystemImage = "Image" SystemJ2ME = "J2ME" SystemGroovy = "Groovy" SystemPlugNPlay = "PlugNPlay" SystemDevErr = "DevErr" )
Other
Variables ¶
var Systems = map[string]System{}/* 202 elements not displayed */
Functions ¶
func AlphaMapKeys ¶
func MapKeys ¶
func MapKeys[K comparable, V any](m map[K]V) []K
MapKeys returns a list of all keys in a map.
Types ¶
type MediaType ¶ added in v2.7.0
MediaType alias for slugs.MediaType to avoid forcing all systemdefs users to import slugs. The canonical definition is in the slugs package.
type System ¶
type System struct {
ID string
MediaType MediaType
Aliases []string
Fallbacks []string
Slugs []string
}
func AllSystems ¶
func AllSystems() []System
func LookupSystem ¶
LookupSystem case-insensitively looks up system ID definition including aliases and slugs. It uses a two-step strategy:
- Fast path: Check lowercase input against the lookup map (exact ID/alias matches)
- Natural language path: Slugify input and check against the map (handles manufacturer prefixes, regional names, etc.)
func SystemsWithFallbacks ¶ added in v2.10.0
SystemsWithFallbacks returns the input systems plus any fallback systems, with duplicates removed. Original systems appear first, followed by fallback systems in the order they were encountered. Only direct fallbacks are included, not transitive.
func (*System) GetMediaType ¶ added in v2.7.0
GetMediaType returns the media type for this system, defaulting to MediaTypeGame if not set.