Skip to content

Commit

Permalink
Merge branch 'feature/ebs-helper' into main
Browse files Browse the repository at this point in the history
# Conflicts:
#	yarn.lock
  • Loading branch information
d-fischer committed Mar 29, 2022
2 parents b5a8109 + b291fc4 commit 4a3efb3
Show file tree
Hide file tree
Showing 40 changed files with 700 additions and 52 deletions.
4 changes: 3 additions & 1 deletion .eslintrc.js
Expand Up @@ -47,7 +47,7 @@ const memberNames = [
'^twitter_connected$',
'^chat_message$',
'^badge_tier$',
'^(?:previous|new|extension)_version$',
'^(?:previous|new|extension|format)_version$',
'^(total_)?bits_used$',
'^badge_entitlement$',
'^moderation_action$',
Expand Down Expand Up @@ -96,6 +96,8 @@ const memberNames = [
'^sexuality_sex_or_gender$',
'^race_ethnicity_or_religion$',
'^sex_based_terms$',
'^required_configuration$',
'^pubsub_perms$',

// HTTP
'^Accept$'
Expand Down
File renamed without changes.
1 change: 1 addition & 0 deletions packages/api-call/src/index.ts
@@ -1,4 +1,5 @@
export { callTwitchApi, callTwitchApiRaw } from './apiCall';
export type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal, HelixResponse } from './HelixResponse';
export type { TwitchApiCallFetchOptions, TwitchApiCallOptions, TwitchApiCallType } from './TwitchApiCallOptions';

export { transformTwitchApiResponse } from './helpers/transform';
Expand Down
3 changes: 1 addition & 2 deletions packages/api/src/api/helix/HelixPaginatedRequest.ts
@@ -1,8 +1,7 @@
import { Enumerable } from '@d-fischer/shared-utils';
import type { TwitchApiCallOptions } from '@twurple/api-call';
import type { HelixPaginatedResponse, TwitchApiCallOptions } from '@twurple/api-call';
import { rtfm } from '@twurple/common';
import type { ApiClient } from '../../ApiClient';
import type { HelixPaginatedResponse } from './HelixResponse';

if (!Object.prototype.hasOwnProperty.call(Symbol, 'asyncIterator')) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unnecessary-condition,@typescript-eslint/no-unsafe-member-access
Expand Down
@@ -1,6 +1,6 @@
import type { HelixPaginatedResponseWithTotal } from '@twurple/api-call';
import { rtfm } from '@twurple/common';
import { HelixPaginatedRequest } from './HelixPaginatedRequest';
import type { HelixPaginatedResponseWithTotal } from './HelixResponse';

/**
* A special case of {@HelixPaginatedRequest} with support for fetching the total number of entities, whenever an endpoint supports it.
Expand Down
8 changes: 4 additions & 4 deletions packages/api/src/api/helix/HelixPaginatedResult.ts
@@ -1,10 +1,10 @@
/**
* A result coming from a Helix resource that is paginated using a cursor.
*/
import type { ConstructedType } from '@d-fischer/shared-utils';
import type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal } from '@twurple/api-call';
import type { ApiClient } from '../../ApiClient';
import type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal } from './HelixResponse';

/**
* A result coming from a Helix resource that is paginated using a cursor.
*/
export interface HelixPaginatedResult<T> {
/**
* The returned data.
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/bits/HelixBitsApi.ts
@@ -1,7 +1,7 @@
import type { HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixResponse } from '../HelixResponse';
import type { HelixBitsLeaderboardResponse } from './HelixBitsLeaderboard';
import { HelixBitsLeaderboard } from './HelixBitsLeaderboard';
import type { HelixCheermoteData } from './HelixCheermoteList';
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/bits/HelixBitsLeaderboard.ts
@@ -1,9 +1,9 @@
import { Cacheable, CachedGetter } from '@d-fischer/cache-decorators';
import { Enumerable } from '@d-fischer/shared-utils';
import type { HelixResponse } from '@twurple/api-call';
import { DataObject, rawDataSymbol, rtfm } from '@twurple/common';
import type { ApiClient } from '../../../ApiClient';
import type { HelixDateRangeData } from '../HelixDateRangeData';
import type { HelixResponse } from '../HelixResponse';
import type { HelixBitsLeaderboardEntryData } from './HelixBitsLeaderboardEntry';
import { HelixBitsLeaderboardEntry } from './HelixBitsLeaderboardEntry';

Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/channel/HelixChannelApi.ts
@@ -1,7 +1,7 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import type { CommercialLength, UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixChannelData } from './HelixChannel';
import { HelixChannel } from './HelixChannel';
import type { HelixChannelEditorData } from './HelixChannelEditor';
Expand Down
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixCustomRewardData } from './HelixCustomReward';
import { HelixCustomReward } from './HelixCustomReward';
import type {
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/chat/HelixChatApi.ts
@@ -1,7 +1,7 @@
import type { HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixResponse } from '../HelixResponse';
import type { HelixChannelEmoteData } from './HelixChannelEmote';
import { HelixChannelEmote } from './HelixChannelEmote';
import type { HelixChatBadgeSetData } from './HelixChatBadgeSet';
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/clip/HelixClipApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse } from '../HelixResponse';
import type { HelixClipData } from './HelixClip';
import { HelixClip } from './HelixClip';

Expand Down
10 changes: 5 additions & 5 deletions packages/api/src/api/helix/eventSub/HelixEventSubApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponseWithTotal } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,6 @@ import type { HelixPaginatedResultWithTotal } from '../HelixPaginatedResult';
import { createPaginatedResultWithTotal } from '../HelixPaginatedResult';
import type { HelixPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponseWithTotal } from '../HelixResponse';
import type {
HelixEventSubSubscriptionData,
HelixEventSubSubscriptionStatus,
Expand Down Expand Up @@ -826,7 +826,7 @@ export class HelixEventSubApi extends BaseApi {
/**
* Subscribe to events that represent progress towards a creator goal.
*
* @param broadcaster The broadcaster for which you want to listen to goal progress events for.
* @param broadcaster The broadcaster for which you want to listen to goal progress events.
* @param transport The transport options.
*/
async subscribeToChannelGoalProgressEvents(
Expand All @@ -844,7 +844,7 @@ export class HelixEventSubApi extends BaseApi {
/**
* Subscribe to events that represent the end of a creator goal event.
*
* @param broadcaster The broadcaster for which you want to listen to goal end events for.
* @param broadcaster The broadcaster for which you want to listen to goal end events.
* @param transport The transport options.
*/
async subscribeToChannelGoalEndEvents(
Expand Down Expand Up @@ -880,7 +880,7 @@ export class HelixEventSubApi extends BaseApi {
/**
* Subscribe to events that represent progress towards the Hype Train goal.
*
* @param broadcaster The broadcaster for which you want to listen to Hype Train progress events for.
* @param broadcaster The broadcaster for which you want to listen to Hype Train progress events.
* @param transport The transport options.
*/
async subscribeToChannelHypeTrainProgressEvents(
Expand All @@ -898,7 +898,7 @@ export class HelixEventSubApi extends BaseApi {
/**
* Subscribe to events that represent the end of a Hype Train event.
*
* @param broadcaster The broadcaster for which you want to listen to Hype Train end events for.
* @param broadcaster The broadcaster for which you want to listen to Hype Train end events.
* @param transport The transport options.
*/
async subscribeToChannelHypeTrainEndEvents(
Expand Down
7 changes: 3 additions & 4 deletions packages/api/src/api/helix/extensions/HelixExtensionsApi.ts
@@ -1,4 +1,6 @@
import { rtfm } from '@twurple/common';
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import type { HelixExtensionData } from '@twurple/common';
import { HelixExtension, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixChannelReferenceData } from '../channel/HelixChannelReference';
import { HelixChannelReference } from '../channel/HelixChannelReference';
Expand All @@ -7,9 +9,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination, HelixPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixExtensionData } from './HelixExtension';
import { HelixExtension } from './HelixExtension';
import type {
HelixExtensionBitsProductData,
HelixExtensionBitsProductUpdatePayload
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/game/HelixGameApi.ts
@@ -1,11 +1,11 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import { rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import { HelixPaginatedRequest } from '../HelixPaginatedRequest';
import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixGameData } from './HelixGame';
import { HelixGame } from './HelixGame';

Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/goals/HelixGoalApi.ts
@@ -1,7 +1,7 @@
import type { HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixResponse } from '../HelixResponse';
import type { HelixGoalData } from './HelixGoal';
import { HelixGoal } from './HelixGoal';

Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/hypeTrain/HelixHypeTrainApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -7,7 +8,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse } from '../HelixResponse';
import type { HelixHypeTrainEventData, HelixHypeTrainEventType } from './HelixHypeTrainEvent';
import { HelixHypeTrainEvent } from './HelixHypeTrainEvent';

Expand Down
10 changes: 5 additions & 5 deletions packages/api/src/api/helix/moderation/HelixModerationApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,10 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixAutoModSettingsData } from './HelixAutoModSettings';
import { HelixAutoModSettings } from './HelixAutoModSettings';
import type { HelixAutoModStatusData } from './HelixAutoModStatus';
import { HelixAutoModStatus } from './HelixAutoModStatus';
import type { HelixBanData } from './HelixBan';
import { HelixBan } from './HelixBan';
import type { HelixBanEventData } from './HelixBanEvent';
Expand All @@ -15,10 +19,6 @@ import type { HelixModeratorData } from './HelixModerator';
import { HelixModerator } from './HelixModerator';
import type { HelixModeratorEventData } from './HelixModeratorEvent';
import { HelixModeratorEvent } from './HelixModeratorEvent';
import type { HelixAutoModStatusData } from './HelixAutoModStatus';
import { HelixAutoModStatus } from './HelixAutoModStatus';
import type { HelixAutoModSettingsData } from './HelixAutoModSettings';
import { HelixAutoModSettings } from './HelixAutoModSettings';

/**
* Filters for the banned users request.
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/poll/HelixPollApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixPollData } from './HelixPoll';
import { HelixPoll } from './HelixPoll';

Expand Down
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixPredictionData, HelixPredictionStatus } from './HelixPrediction';
import { HelixPrediction } from './HelixPrediction';

Expand Down
@@ -1,9 +1,8 @@
import type { TwitchApiCallOptions } from '@twurple/api-call';
import type { HelixPaginatedResponse, TwitchApiCallOptions } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId } from '@twurple/common';
import type { ApiClient } from '../../../ApiClient';
import { HelixPaginatedRequest } from '../HelixPaginatedRequest';
import type { HelixPaginatedResponse } from '../HelixResponse';
import type { HelixScheduleResponse } from './HelixSchedule';
import type { HelixScheduleFilter } from './HelixScheduleApi';
import type { HelixScheduleSegmentData } from './HelixScheduleSegment';
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/search/HelixSearchApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse } from '@twurple/api-call';
import { rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixGameData } from '../game/HelixGame';
Expand All @@ -7,7 +8,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse } from '../HelixResponse';
import type { HelixChannelSearchResultData } from './HelixChannelSearchResult';
import { HelixChannelSearchResult } from './HelixChannelSearchResult';

Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/stream/HelixStreamApi.ts
@@ -1,4 +1,5 @@
import { flatten } from '@d-fischer/shared-utils';
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import { HttpStatusCodeError } from '@twurple/api-call';
import type { UserIdResolvable, UserNameResolvable } from '@twurple/common';
import { extractUserId, extractUserName, rtfm } from '@twurple/common';
Expand All @@ -10,7 +11,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination, HelixPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixTagData } from '../tag/HelixTag';
import { HelixTag } from '../tag/HelixTag';
import type { HelixStreamData, HelixStreamType } from './HelixStream';
Expand Down
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal, HelixResponse } from '@twurple/api-call';
import { HttpStatusCodeError } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
Expand All @@ -8,7 +9,6 @@ import type { HelixPaginatedResult, HelixPaginatedResultWithTotal } from '../Hel
import { createPaginatedResult, createPaginatedResultWithTotal } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal, HelixResponse } from '../HelixResponse';
import type { HelixSubscriptionData } from './HelixSubscription';
import { HelixSubscription } from './HelixSubscription';
import type { HelixSubscriptionEventData } from './HelixSubscriptionEvent';
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/tag/HelixTagApi.ts
@@ -1,11 +1,11 @@
import type { HelixPaginatedResponse, HelixResponse } from '@twurple/api-call';
import { rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import { HelixPaginatedRequest } from '../HelixPaginatedRequest';
import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixResponse } from '../HelixResponse';
import type { HelixTagData } from './HelixTag';
import { HelixTag } from './HelixTag';

Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/team/HelixTeamApi.ts
@@ -1,8 +1,8 @@
import type { HelixResponse } from '@twurple/api-call';
import { HttpStatusCodeError } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
import type { HelixResponse } from '../HelixResponse';
import type { HelixTeamData } from './HelixTeam';
import { HelixTeam } from './HelixTeam';
import type { HelixTeamWithUsersData } from './HelixTeamWithUsers';
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/user/HelixUserApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal, HelixResponse } from '@twurple/api-call';
import type { UserIdResolvable, UserNameResolvable } from '@twurple/common';
import { extractUserId, extractUserName, HellFreezesOverError, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -7,7 +8,6 @@ import type { HelixPaginatedResult, HelixPaginatedResultWithTotal } from '../Hel
import { createPaginatedResult, createPaginatedResultWithTotal } from '../HelixPaginatedResult';
import type { HelixForwardPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse, HelixPaginatedResponseWithTotal, HelixResponse } from '../HelixResponse';
import type { HelixInstalledExtensionListData } from './Extensions/HelixInstalledExtensionList';
import { HelixInstalledExtensionList } from './Extensions/HelixInstalledExtensionList';
import type { HelixUserExtensionData } from './Extensions/HelixUserExtension';
Expand Down
2 changes: 1 addition & 1 deletion packages/api/src/api/helix/video/HelixVideoApi.ts
@@ -1,3 +1,4 @@
import type { HelixPaginatedResponse } from '@twurple/api-call';
import type { UserIdResolvable } from '@twurple/common';
import { extractUserId, rtfm } from '@twurple/common';
import { BaseApi } from '../../BaseApi';
Expand All @@ -6,7 +7,6 @@ import type { HelixPaginatedResult } from '../HelixPaginatedResult';
import { createPaginatedResult } from '../HelixPaginatedResult';
import type { HelixPagination } from '../HelixPagination';
import { makePaginationQuery } from '../HelixPagination';
import type { HelixPaginatedResponse } from '../HelixResponse';
import type { HelixVideoData, HelixVideoType } from './HelixVideo';
import { HelixVideo } from './HelixVideo';

Expand Down

0 comments on commit 4a3efb3

Please sign in to comment.