node-gamedig/lib/game-resolver.js

34 lines
649 B
JavaScript

import { games } from './games.js'
export const lookup = (options) => {
const type = options.type
if (!type) { throw Error('No game specified') }
if (type.startsWith('protocol-')) {
return {
protocol: type.substring(9)
}
}
let game = games[type]
if (options.checkAlias) {
Object.keys(games).forEach((id) => {
if (games[id]?.extra?.alias) game = games[id]
})
}
if (options.checkOldIDs) {
Object.keys(games).forEach((id) => {
if (games[id]?.extra?.old_id === type) {
game = games[id]
}
})
}
if (!game) { throw Error('Invalid game: ' + type) }
return game.options
}