Get random names from retro games!
This package is distributed via npm:
npm install retro-game-names
import retro from 'retro-game-names'
Return an object of platforms, each with an array of titles
{
nintendo_entertainment_system_nes:
name, tgdb_alias, tgdb_id, [{title, tgdb_id}],
super_nintendo_snes:
name, tgdb_alias, tgdb_id, [titles]
}
Returns an array of platform tags
const consoles = retro.platforms()
// ['3do', 'amiga', 'acorn_electron', ...]
Returns all information for the given platform
const titles = retro.info('nintendo_entertainment_system_nes')
// { tgdb_id: 7,
// tgdb_alias: 'nintendo-entertainment-system-nes',
// name: 'Nintendo Entertainment System (NES)',
// titles: [{title: '10-Yard Fight', tgdb_id: 317}, {title: '1942', tgdb_id: 4178}, ...]
Returns a random game form the game list.
const randomGame = retro.random()
// {title: 'Battletoads', tgdb_id: 2770, platform: 'nintendo_entertainment_system_nes'}
The platform
option can be passed in, which will return a random game from that platform
const randomGames = retro.random({platform: 'super_nintendo_snes'})
// {title: 'The Adventures of Dr. Franken', tgdb_id: 1050, platform: 'super_nintendo_snes'}
Likewise, platforms
can be used in place of platform
, and will return a random game from a list of platforms
const randomGames = retro.random({platforms: ['super_nintendo_snes', 'sega_cd']})
// {title: 'Armed Dragon Fantasy Villgust - The Vanished Girl', tgdb_id: 23122, platform: 'super_nintendo_snes'}
The options hash acceps the following:
- title (required): The partial/exact title of the game (case sensitive)
- platform (optional): The tag of the platform ('super_nintendo_snes', 'sega_cd', etc.)
- platforms (optional): An array of platform tags (['super_nintendo_snes', 'sega_cd'], for example)
- ignoreCase (optional): If true, the search is case-insensitive.
Note: All games returned in the arrays will have the usual format: {title, tgdb_id}
.
Returns an object with multiple {platform, [titles]}
const foundGames = retro.find({title: '-1'})
// { nintendo_entertainment_system_nes: [ 'F-117A Stealth Fighter', 'F-15 Strike Eagle' ],
// super_nintendo_snes: [ 'GP-1', 'GP-1: Part II', 'Redline F-1 Racer' ] }
Passing a platform in the options returns a single {platform, [titles]}
const foundGames = retro.find({title: '-1', platform: 'super_nintendo_snes'})
// { platform: 'super_nintendo_snes', titles: [ 'GP-1', 'GP-1: Part II', 'Redline F-1 Racer' ] }
Passing platforms
returns an object of platforms, with a filtered array of titles
const foundGames = retro.find({title: '-1', platforms: ['super_nintendo_snes', 'sega_cd']})
// { sega_cd: [ 'A/X-101'], super_nintendo_snes" ['GP-1', 'GP-1: Part II', 'Redline F-1 Racer'] }
This library was built by following a workshop for Frontend Masters.
This project assumes you have NodeJS v6 or greater installed. You should also have npm v3 or greater installed as well (this comes packaged with Node 6). You'll also need a recent version of git installed as well.
npm run setup
If you get any failures at this point something is wrong and needs to be fixed. Remember, Google and StackOverflow are your friends.
Included is scraper.js
, which will scrape platforms/games from TheGamesDB.
scraper = require('./tools/scraper.js')
scraper.missing()
Using missing()
is prefered over all()
, as it will hit TheGamesDB's API only when needed.