@kfijolek/boardgamegeekclient
Version:
TypeScript client to interact with BoardGameGeek public XML API
39 lines • 2.58 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BggClient = void 0;
const client_1 = require("../client");
const dto_1 = require("../dto");
const fetcher_1 = require("../fetcher");
const paginator_1 = require("../paginator");
const query_1 = require("../query");
const responseparser_1 = require("../responseparser");
/**
* @description Expose all clients to interact with Bgg api.
* @class BggClient
*/
class BggClient {
constructor(apiKey) {
const fetcher = new fetcher_1.TextFetcher(apiKey);
const responseParser = new responseparser_1.XmlResponseParser();
const paginator = new paginator_1.RequestPaginator();
this.thing = new client_1.BggThingClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggThingDtoParser(), paginator);
this.family = new client_1.BggFamilyClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggFamilyDtoParser(), paginator);
this.forumlist = new client_1.BggForumlistClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggForumlistDtoParser(), paginator);
this.forum = new client_1.BggForumClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggForumDtoParser());
this.thread = new client_1.BggThreadClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggThreadDtoParser());
this.user = new client_1.BggUserClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggUserDtoParser());
this.guild = new client_1.BggGuildClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggGuildDtoParser());
this.play = new client_1.BggPlayClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggPlayDtoParser());
this.collection = new client_1.BggCollectionClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggCollectionDtoParser());
this.search = new client_1.BggSearchClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggSearchDtoParser());
this.hot = new client_1.BggHotClient(new query_1.GenericQueryBuilder(), fetcher, responseParser, new dto_1.BggHotDtoParser());
}
static Create(options) {
if (!BggClient.instance) {
BggClient.instance = new BggClient(options.apiKey);
}
return BggClient.instance;
}
}
exports.BggClient = BggClient;
//# sourceMappingURL=BggClient.js.map