UNPKG

x-api-sdk-ts

Version:

TypeScript Library for the X (ex-twitter) API V2

34 lines 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TwitterClient = void 0; const OAuth2Auth_1 = require("./auth/OAuth2Auth"); const request_1 = require("./utils/request"); const posts_1 = require("./api/posts"); const media_1 = require("./api/media"); const users_1 = require("./api/users"); const likes_1 = require("./api/likes"); const fetch_adapter_1 = require("./adapters/fetch-adapter"); class TwitterClient { constructor(config, options) { this.config = config; const { apiModules, requestClient, auth, baseUrl, httpAdapter } = options || {}; this.baseUrl = baseUrl || 'https://api.x.com'; const httpAdapterConstructor = httpAdapter ? httpAdapter[0] : fetch_adapter_1.FetchAdapter; const httpAdapterParams = httpAdapter ? httpAdapter.slice(1) : []; this.httpAdapter = new httpAdapterConstructor(...httpAdapterParams); this.requestClient = requestClient ? new requestClient(this.httpAdapter) : new request_1.RequestClient(this.httpAdapter); this.oAuth2 = (auth === null || auth === void 0 ? void 0 : auth.oAuth2) ? new auth.oAuth2(this.config.oAuth2, this.httpAdapter) : new OAuth2Auth_1.OAuth2Auth(this.config.oAuth2, this.httpAdapter); this.posts = (apiModules === null || apiModules === void 0 ? void 0 : apiModules.posts) ? new apiModules.posts(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient) : new posts_1.Posts(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient); this.media = (apiModules === null || apiModules === void 0 ? void 0 : apiModules.media) ? new apiModules.media(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient) : new media_1.Media(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient); this.users = (apiModules === null || apiModules === void 0 ? void 0 : apiModules.users) ? new apiModules.users(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient) : new users_1.Users(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient); this.likes = (apiModules === null || apiModules === void 0 ? void 0 : apiModules.likes) ? new apiModules.likes(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient) : new likes_1.Likes(this.baseUrl, this.oAuth1, this.oAuth2, this.requestClient); } isSuccessResponse(response) { return this.requestClient.isSuccessResponse(response); } isErrorResponse(response) { return !this.isSuccessResponse(response); } } exports.TwitterClient = TwitterClient; //# sourceMappingURL=client.js.map