UNPKG

@kfijolek/boardgamegeekclient

Version:

TypeScript client to interact with BoardGameGeek public XML API

39 lines 2.58 kB
"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