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
|
@ -4,7 +4,8 @@
|
||||||
#### Package
|
#### Package
|
||||||
* Node.js 16.20 is now required (from 14).
|
* Node.js 16.20 is now required (from 14).
|
||||||
* Made the library a `module`.
|
* 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
|
#### 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)).
|
* 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'.
|
// Instead of '../lib/index.js' you would have here 'gamedig'.
|
||||||
|
|
||||||
GameDig.query({
|
GameDig.query({
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import * as Protocols from '../protocols/index.js'
|
import * as protocols from '../protocols/index.js'
|
||||||
|
|
||||||
export const getProtocol = (protocolId) => {
|
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]()
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 { GameDig, games, protocols }
|
||||||
|
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Minimist from 'minimist'
|
import Minimist from 'minimist'
|
||||||
import GameDig from './../lib/index.js'
|
import { GameDig } from './../lib/index.js'
|
||||||
|
|
||||||
const argv = Minimist(process.argv.slice(2), {})
|
const argv = Minimist(process.argv.slice(2), {})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue