@twurple/api
Version:
Interact with Twitch's API.
44 lines (43 loc) • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HelixPaginatedEventSubSubscriptionsRequest = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@twurple/common");
const HelixPaginatedRequestWithTotal_1 = require("../../utils/pagination/HelixPaginatedRequestWithTotal");
const HelixEventSubSubscription_1 = require("./HelixEventSubSubscription");
/**
* A special case of {@link HelixPaginatedRequestWithTotal} with support for fetching the total cost and cost limit
* of EventSub subscriptions.
*
* @inheritDoc
*/
let HelixPaginatedEventSubSubscriptionsRequest = class HelixPaginatedEventSubSubscriptionsRequest extends HelixPaginatedRequestWithTotal_1.HelixPaginatedRequestWithTotal {
/** @internal */
constructor(query, userId, client) {
super({
url: 'eventsub/subscriptions',
userId,
query,
}, client, data => new HelixEventSubSubscription_1.HelixEventSubSubscription(data, client));
}
/**
* Gets the total cost of EventSub subscriptions.
*/
async getTotalCost() {
var _a;
const data = (_a = this._currentData) !== null && _a !== void 0 ? _a : (await this._fetchData({ query: { after: undefined } }));
return data.total_cost;
}
/**
* Gets the cost limit of EventSub subscriptions.
*/
async getMaxTotalCost() {
var _a;
const data = (_a = this._currentData) !== null && _a !== void 0 ? _a : (await this._fetchData({ query: { after: undefined } }));
return data.max_total_cost;
}
};
exports.HelixPaginatedEventSubSubscriptionsRequest = HelixPaginatedEventSubSubscriptionsRequest;
exports.HelixPaginatedEventSubSubscriptionsRequest = HelixPaginatedEventSubSubscriptionsRequest = tslib_1.__decorate([
(0, common_1.rtfm)('api', 'HelixPaginatedEventSubSubscriptionsRequest')
], HelixPaginatedEventSubSubscriptionsRequest);