mirror of
https://github.com/gamedig/node-gamedig.git
synced 2024-11-17 17:25:19 +01:00
feat: export games and protocols besides GameDig (#411)
* feat: export games and protocols besides GameDig * fix: revert ProtocolResolver rename * fix: imports on the attempt tools * docs: update changelog to note exports
This commit is contained in:
parent
f472d8b0e4
commit
8192ed07e0
6 changed files with 34 additions and 28 deletions
|
@ -4,7 +4,8 @@
|
|||
#### Package
|
||||
* Node.js 16.20 is now required (from 14).
|
||||
* Made the library a `module`.
|
||||
* Removed `GameResolver`.
|
||||
* Removed `GameResolver`, moved the `GameDig` class in a separate file.
|
||||
* Modified exports, now the library exports `games` and `protocols` alongside the `GameDig` class.
|
||||
|
||||
#### Games
|
||||
* Renamed `Counter Strike: 2D` to `CS2D` in [games.txt](games.txt) (why? see [this](https://cs2d.com/faq.php?show=misc_name#misc_name)).
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import GameDig from '../lib/index.js'
|
||||
import { GameDig } from '../lib/index.js'
|
||||
// Instead of '../lib/index.js' you would have here 'gamedig'.
|
||||
|
||||
GameDig.query({
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import * as Protocols from '../protocols/index.js'
|
||||
import * as protocols from '../protocols/index.js'
|
||||
|
||||
export const getProtocol = (protocolId) => {
|
||||
if (!(protocolId in Protocols)) { throw Error('Protocol definition file missing: ' + protocolId) }
|
||||
if (!(protocolId in protocols)) { throw Error('Protocol definition file missing: ' + protocolId) }
|
||||
|
||||
return new Protocols[protocolId]()
|
||||
return new protocols[protocolId]()
|
||||
}
|
||||
|
|
23
lib/gamedig.js
Normal file
23
lib/gamedig.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
import QueryRunner from './QueryRunner.js'
|
||||
|
||||
let singleton = null
|
||||
|
||||
export class GameDig {
|
||||
constructor (runnerOpts) {
|
||||
this.queryRunner = new QueryRunner(runnerOpts)
|
||||
}
|
||||
|
||||
async query (userOptions) {
|
||||
return await this.queryRunner.run(userOptions)
|
||||
}
|
||||
|
||||
static getInstance () {
|
||||
if (!singleton) { singleton = new GameDig() }
|
||||
|
||||
return singleton
|
||||
}
|
||||
|
||||
static async query (...args) {
|
||||
return await GameDig.getInstance().query(...args)
|
||||
}
|
||||
}
|
26
lib/index.js
26
lib/index.js
|
@ -1,23 +1,5 @@
|
|||
import QueryRunner from './QueryRunner.js'
|
||||
import { GameDig } from './gamedig.js'
|
||||
import { games } from './games.js'
|
||||
import * as protocols from '../protocols/index.js'
|
||||
|
||||
let singleton = null
|
||||
|
||||
export default class Gamedig {
|
||||
constructor (runnerOpts) {
|
||||
this.queryRunner = new QueryRunner(runnerOpts)
|
||||
}
|
||||
|
||||
async query (userOptions) {
|
||||
return await this.queryRunner.run(userOptions)
|
||||
}
|
||||
|
||||
static getInstance () {
|
||||
if (!singleton) { singleton = new Gamedig() }
|
||||
|
||||
return singleton
|
||||
}
|
||||
|
||||
static async query (...args) {
|
||||
return await Gamedig.getInstance().query(...args)
|
||||
}
|
||||
}
|
||||
export { GameDig, games, protocols }
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Minimist from 'minimist'
|
||||
import GameDig from './../lib/index.js'
|
||||
import { GameDig } from './../lib/index.js'
|
||||
|
||||
const argv = Minimist(process.argv.slice(2), {})
|
||||
|
||||
|
|
Loading…
Reference in a new issue