@phxgg/kick.js 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/BaseResponse.d.ts +10 -0
  2. package/dist/BaseResponse.d.ts.map +1 -0
  3. package/dist/BaseResponse.js +2 -0
  4. package/dist/BaseResponse.js.map +1 -0
  5. package/dist/Errors.d.ts +25 -0
  6. package/dist/Errors.d.ts.map +1 -0
  7. package/dist/Errors.js +49 -0
  8. package/dist/Errors.js.map +1 -0
  9. package/dist/EventManager.d.ts +15 -0
  10. package/dist/EventManager.d.ts.map +1 -0
  11. package/dist/EventManager.js +35 -0
  12. package/dist/EventManager.js.map +1 -0
  13. package/dist/KickClient.d.ts +46 -0
  14. package/dist/KickClient.d.ts.map +1 -0
  15. package/dist/KickClient.js +88 -0
  16. package/dist/KickClient.js.map +1 -0
  17. package/dist/OAuth.d.ts +77 -0
  18. package/dist/OAuth.d.ts.map +1 -0
  19. package/dist/OAuth.js +162 -0
  20. package/dist/OAuth.js.map +1 -0
  21. package/dist/Scope.d.ts +14 -0
  22. package/dist/Scope.d.ts.map +1 -0
  23. package/dist/Scope.js +15 -0
  24. package/dist/Scope.js.map +1 -0
  25. package/dist/Serializable.d.ts +15 -0
  26. package/dist/Serializable.d.ts.map +1 -0
  27. package/dist/Serializable.js +111 -0
  28. package/dist/Serializable.js.map +1 -0
  29. package/dist/Version.d.ts +5 -0
  30. package/dist/Version.d.ts.map +1 -0
  31. package/dist/Version.js +6 -0
  32. package/dist/Version.js.map +1 -0
  33. package/dist/index.d.ts +49 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +41 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/resources/Category.d.ts +20 -0
  38. package/dist/resources/Category.d.ts.map +1 -0
  39. package/dist/resources/Category.js +26 -0
  40. package/dist/resources/Category.js.map +1 -0
  41. package/dist/resources/Channel.d.ts +48 -0
  42. package/dist/resources/Channel.d.ts.map +1 -0
  43. package/dist/resources/Channel.js +51 -0
  44. package/dist/resources/Channel.js.map +1 -0
  45. package/dist/resources/ChannelReward.d.ts +28 -0
  46. package/dist/resources/ChannelReward.d.ts.map +1 -0
  47. package/dist/resources/ChannelReward.js +38 -0
  48. package/dist/resources/ChannelReward.js.map +1 -0
  49. package/dist/resources/ChannelRewardRedemption.d.ts +59 -0
  50. package/dist/resources/ChannelRewardRedemption.d.ts.map +1 -0
  51. package/dist/resources/ChannelRewardRedemption.js +38 -0
  52. package/dist/resources/ChannelRewardRedemption.js.map +1 -0
  53. package/dist/resources/EventSubscription.d.ts +26 -0
  54. package/dist/resources/EventSubscription.d.ts.map +1 -0
  55. package/dist/resources/EventSubscription.js +35 -0
  56. package/dist/resources/EventSubscription.js.map +1 -0
  57. package/dist/resources/Leaderboard.d.ts +22 -0
  58. package/dist/resources/Leaderboard.d.ts.map +1 -0
  59. package/dist/resources/Leaderboard.js +20 -0
  60. package/dist/resources/Leaderboard.js.map +1 -0
  61. package/dist/resources/Livestream.d.ts +38 -0
  62. package/dist/resources/Livestream.d.ts.map +1 -0
  63. package/dist/resources/Livestream.js +48 -0
  64. package/dist/resources/Livestream.js.map +1 -0
  65. package/dist/resources/Message.d.ts +14 -0
  66. package/dist/resources/Message.d.ts.map +1 -0
  67. package/dist/resources/Message.js +17 -0
  68. package/dist/resources/Message.js.map +1 -0
  69. package/dist/resources/User.d.ts +18 -0
  70. package/dist/resources/User.d.ts.map +1 -0
  71. package/dist/resources/User.js +23 -0
  72. package/dist/resources/User.js.map +1 -0
  73. package/dist/services/CategoriesService.d.ts +39 -0
  74. package/dist/services/CategoriesService.d.ts.map +1 -0
  75. package/dist/services/CategoriesService.js +73 -0
  76. package/dist/services/CategoriesService.js.map +1 -0
  77. package/dist/services/CategoriesServiceV2.d.ts +39 -0
  78. package/dist/services/CategoriesServiceV2.d.ts.map +1 -0
  79. package/dist/services/CategoriesServiceV2.js +89 -0
  80. package/dist/services/CategoriesServiceV2.js.map +1 -0
  81. package/dist/services/ChannelRewardsService.d.ts +128 -0
  82. package/dist/services/ChannelRewardsService.d.ts.map +1 -0
  83. package/dist/services/ChannelRewardsService.js +296 -0
  84. package/dist/services/ChannelRewardsService.js.map +1 -0
  85. package/dist/services/ChannelsService.d.ts +64 -0
  86. package/dist/services/ChannelsService.d.ts.map +1 -0
  87. package/dist/services/ChannelsService.js +126 -0
  88. package/dist/services/ChannelsService.js.map +1 -0
  89. package/dist/services/ChatService.d.ts +49 -0
  90. package/dist/services/ChatService.d.ts.map +1 -0
  91. package/dist/services/ChatService.js +90 -0
  92. package/dist/services/ChatService.js.map +1 -0
  93. package/dist/services/EventsService.d.ts +96 -0
  94. package/dist/services/EventsService.d.ts.map +1 -0
  95. package/dist/services/EventsService.js +145 -0
  96. package/dist/services/EventsService.js.map +1 -0
  97. package/dist/services/KICKsService.d.ts +26 -0
  98. package/dist/services/KICKsService.d.ts.map +1 -0
  99. package/dist/services/KICKsService.js +49 -0
  100. package/dist/services/KICKsService.js.map +1 -0
  101. package/dist/services/LivestreamsService.d.ts +39 -0
  102. package/dist/services/LivestreamsService.d.ts.map +1 -0
  103. package/dist/services/LivestreamsService.js +92 -0
  104. package/dist/services/LivestreamsService.js.map +1 -0
  105. package/dist/services/ModerationService.d.ts +65 -0
  106. package/dist/services/ModerationService.d.ts.map +1 -0
  107. package/dist/services/ModerationService.js +132 -0
  108. package/dist/services/ModerationService.js.map +1 -0
  109. package/dist/services/PublicKeyService.d.ts +22 -0
  110. package/dist/services/PublicKeyService.d.ts.map +1 -0
  111. package/dist/services/PublicKeyService.js +58 -0
  112. package/dist/services/PublicKeyService.js.map +1 -0
  113. package/dist/services/UsersService.d.ts +23 -0
  114. package/dist/services/UsersService.d.ts.map +1 -0
  115. package/dist/services/UsersService.js +44 -0
  116. package/dist/services/UsersService.js.map +1 -0
  117. package/dist/utils.d.ts +21 -0
  118. package/dist/utils.d.ts.map +1 -0
  119. package/dist/utils.js +66 -0
  120. package/dist/utils.js.map +1 -0
  121. package/dist/webhooks/WebhookEvents.d.ts +27 -0
  122. package/dist/webhooks/WebhookEvents.d.ts.map +1 -0
  123. package/dist/webhooks/WebhookEvents.js +14 -0
  124. package/dist/webhooks/WebhookEvents.js.map +1 -0
  125. package/dist/webhooks/dispatch.d.ts +10 -0
  126. package/dist/webhooks/dispatch.d.ts.map +1 -0
  127. package/dist/webhooks/dispatch.js +16 -0
  128. package/dist/webhooks/dispatch.js.map +1 -0
  129. package/dist/webhooks/v1/Properties.d.ts +50 -0
  130. package/dist/webhooks/v1/Properties.d.ts.map +1 -0
  131. package/dist/webhooks/v1/Properties.js +2 -0
  132. package/dist/webhooks/v1/Properties.js.map +1 -0
  133. package/dist/webhooks/v1/payloads/ChannelFollowed.d.ts +6 -0
  134. package/dist/webhooks/v1/payloads/ChannelFollowed.d.ts.map +1 -0
  135. package/dist/webhooks/v1/payloads/ChannelFollowed.js +2 -0
  136. package/dist/webhooks/v1/payloads/ChannelFollowed.js.map +1 -0
  137. package/dist/webhooks/v1/payloads/ChannelRewardRedemptionUpdated.d.ts +17 -0
  138. package/dist/webhooks/v1/payloads/ChannelRewardRedemptionUpdated.d.ts.map +1 -0
  139. package/dist/webhooks/v1/payloads/ChannelRewardRedemptionUpdated.js +2 -0
  140. package/dist/webhooks/v1/payloads/ChannelRewardRedemptionUpdated.js.map +1 -0
  141. package/dist/webhooks/v1/payloads/ChannelSubscriptionGifts.d.ts +9 -0
  142. package/dist/webhooks/v1/payloads/ChannelSubscriptionGifts.d.ts.map +1 -0
  143. package/dist/webhooks/v1/payloads/ChannelSubscriptionGifts.js +2 -0
  144. package/dist/webhooks/v1/payloads/ChannelSubscriptionGifts.js.map +1 -0
  145. package/dist/webhooks/v1/payloads/ChannelSubscriptionNew.d.ts +9 -0
  146. package/dist/webhooks/v1/payloads/ChannelSubscriptionNew.d.ts.map +1 -0
  147. package/dist/webhooks/v1/payloads/ChannelSubscriptionNew.js +2 -0
  148. package/dist/webhooks/v1/payloads/ChannelSubscriptionNew.js.map +1 -0
  149. package/dist/webhooks/v1/payloads/ChannelSubscriptionRenewal.d.ts +9 -0
  150. package/dist/webhooks/v1/payloads/ChannelSubscriptionRenewal.d.ts.map +1 -0
  151. package/dist/webhooks/v1/payloads/ChannelSubscriptionRenewal.js +2 -0
  152. package/dist/webhooks/v1/payloads/ChannelSubscriptionRenewal.js.map +1 -0
  153. package/dist/webhooks/v1/payloads/ChatMessageSent.d.ts +15 -0
  154. package/dist/webhooks/v1/payloads/ChatMessageSent.d.ts.map +1 -0
  155. package/dist/webhooks/v1/payloads/ChatMessageSent.js +2 -0
  156. package/dist/webhooks/v1/payloads/ChatMessageSent.js.map +1 -0
  157. package/dist/webhooks/v1/payloads/KicksGifted.d.ts +8 -0
  158. package/dist/webhooks/v1/payloads/KicksGifted.d.ts.map +1 -0
  159. package/dist/webhooks/v1/payloads/KicksGifted.js +2 -0
  160. package/dist/webhooks/v1/payloads/KicksGifted.js.map +1 -0
  161. package/dist/webhooks/v1/payloads/LivestreamMetadataUpdated.d.ts +6 -0
  162. package/dist/webhooks/v1/payloads/LivestreamMetadataUpdated.d.ts.map +1 -0
  163. package/dist/webhooks/v1/payloads/LivestreamMetadataUpdated.js +2 -0
  164. package/dist/webhooks/v1/payloads/LivestreamMetadataUpdated.js.map +1 -0
  165. package/dist/webhooks/v1/payloads/LivestreamStatusUpdated.d.ts +9 -0
  166. package/dist/webhooks/v1/payloads/LivestreamStatusUpdated.d.ts.map +1 -0
  167. package/dist/webhooks/v1/payloads/LivestreamStatusUpdated.js +2 -0
  168. package/dist/webhooks/v1/payloads/LivestreamStatusUpdated.js.map +1 -0
  169. package/dist/webhooks/v1/payloads/ModerationBanned.d.ts +12 -0
  170. package/dist/webhooks/v1/payloads/ModerationBanned.d.ts.map +1 -0
  171. package/dist/webhooks/v1/payloads/ModerationBanned.js +2 -0
  172. package/dist/webhooks/v1/payloads/ModerationBanned.js.map +1 -0
  173. package/dist/webhooks/v1/payloads/index.d.ts +12 -0
  174. package/dist/webhooks/v1/payloads/index.d.ts.map +1 -0
  175. package/dist/webhooks/v1/payloads/index.js +2 -0
  176. package/dist/webhooks/v1/payloads/index.js.map +1 -0
  177. package/dist/webhooks/verify.d.ts +21 -0
  178. package/dist/webhooks/verify.d.ts.map +1 -0
  179. package/dist/webhooks/verify.js +15 -0
  180. package/dist/webhooks/verify.js.map +1 -0
  181. package/package.json +36 -0
@@ -0,0 +1,35 @@
1
+ import { Serializable } from '../Serializable.js';
2
+ export class EventSubscription extends Serializable {
3
+ dto;
4
+ client;
5
+ constructor(client, dto) {
6
+ super();
7
+ this.dto = dto;
8
+ this.client = client;
9
+ }
10
+ get appId() {
11
+ return this.dto.app_id;
12
+ }
13
+ get broadcasterUserId() {
14
+ return this.dto.broadcaster_user_id;
15
+ }
16
+ get createdAt() {
17
+ return new Date(this.dto.created_at);
18
+ }
19
+ get event() {
20
+ return this.dto.event;
21
+ }
22
+ get id() {
23
+ return this.dto.id;
24
+ }
25
+ get method() {
26
+ return this.dto.method;
27
+ }
28
+ get updatedAt() {
29
+ return new Date(this.dto.updated_at);
30
+ }
31
+ get version() {
32
+ return this.dto.version;
33
+ }
34
+ }
35
+ //# sourceMappingURL=EventSubscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventSubscription.js","sourceRoot":"","sources":["../../src/resources/EventSubscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAalD,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAKvC;IAJS,MAAM,CAAa;IAEtC,YACE,MAAkB,EACV,GAAyB;QAEjC,KAAK,EAAE,CAAC;QAFA,QAAG,GAAH,GAAG,CAAsB;QAGjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import type { KickClient } from '../KickClient.js';
2
+ import { Serializable } from '../Serializable.js';
3
+ export type LeaderboardEntry = {
4
+ gifted_amount: number;
5
+ rank: number;
6
+ user_id: number;
7
+ username: string;
8
+ };
9
+ export type LeaderboardDto = {
10
+ lifetime: LeaderboardEntry[];
11
+ month: LeaderboardEntry[];
12
+ week: LeaderboardEntry[];
13
+ };
14
+ export declare class Leaderboard extends Serializable {
15
+ private dto;
16
+ protected readonly client: KickClient;
17
+ constructor(client: KickClient, dto: LeaderboardDto);
18
+ get lifetime(): LeaderboardEntry[];
19
+ get month(): LeaderboardEntry[];
20
+ get week(): LeaderboardEntry[];
21
+ }
22
+ //# sourceMappingURL=Leaderboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Leaderboard.d.ts","sourceRoot":"","sources":["../../src/resources/Leaderboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,EAAE,gBAAgB,EAAE,CAAC;CAC1B,CAAC;AAEF,qBAAa,WAAY,SAAQ,YAAY;IAKzC,OAAO,CAAC,GAAG;IAJb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAGpC,MAAM,EAAE,UAAU,EACV,GAAG,EAAE,cAAc;IAM7B,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAEjC;IAED,IAAI,KAAK,IAAI,gBAAgB,EAAE,CAE9B;IAED,IAAI,IAAI,IAAI,gBAAgB,EAAE,CAE7B;CACF"}
@@ -0,0 +1,20 @@
1
+ import { Serializable } from '../Serializable.js';
2
+ export class Leaderboard extends Serializable {
3
+ dto;
4
+ client;
5
+ constructor(client, dto) {
6
+ super();
7
+ this.dto = dto;
8
+ this.client = client;
9
+ }
10
+ get lifetime() {
11
+ return this.dto.lifetime;
12
+ }
13
+ get month() {
14
+ return this.dto.month;
15
+ }
16
+ get week() {
17
+ return this.dto.week;
18
+ }
19
+ }
20
+ //# sourceMappingURL=Leaderboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Leaderboard.js","sourceRoot":"","sources":["../../src/resources/Leaderboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAelD,MAAM,OAAO,WAAY,SAAQ,YAAY;IAKjC;IAJS,MAAM,CAAa;IAEtC,YACE,MAAkB,EACV,GAAmB;QAE3B,KAAK,EAAE,CAAC;QAFA,QAAG,GAAH,GAAG,CAAgB;QAG3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import type { KickClient } from '../KickClient.js';
2
+ import { Serializable } from '../Serializable.js';
3
+ import { Category, type CategoryDto } from './Category.js';
4
+ export type LivestreamDto = {
5
+ broadcaster_user_id: number;
6
+ category: CategoryDto;
7
+ channel_id: number;
8
+ custom_tags: string[];
9
+ has_mature_content: boolean;
10
+ language: string;
11
+ profile_picture: string;
12
+ slug: string;
13
+ started_at: string;
14
+ stream_title: string;
15
+ thumbnail: string;
16
+ viewer_count: number;
17
+ };
18
+ export type LivestreamStatsDto = {
19
+ total_count: number;
20
+ };
21
+ export declare class Livestream extends Serializable {
22
+ private dto;
23
+ protected readonly client: KickClient;
24
+ constructor(client: KickClient, dto: LivestreamDto);
25
+ get broadcasterUserId(): number;
26
+ get category(): Category;
27
+ get channelId(): number;
28
+ get customTags(): string[];
29
+ get hasMatureContent(): boolean;
30
+ get language(): string;
31
+ get profilePicture(): URL;
32
+ get slug(): string;
33
+ get startedAt(): Date;
34
+ get streamTitle(): string;
35
+ get thumbnail(): URL;
36
+ get viewerCount(): number;
37
+ }
38
+ //# sourceMappingURL=Livestream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Livestream.d.ts","sourceRoot":"","sources":["../../src/resources/Livestream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,UAAW,SAAQ,YAAY;IAKxC,OAAO,CAAC,GAAG;IAJb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAGpC,MAAM,EAAE,UAAU,EACV,GAAG,EAAE,aAAa;IAM5B,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,QAAQ,aAEX;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,cAAc,IAAI,GAAG,CAExB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,SAAS,IAAI,GAAG,CAEnB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
@@ -0,0 +1,48 @@
1
+ import { Serializable } from '../Serializable.js';
2
+ import { Category } from './Category.js';
3
+ export class Livestream extends Serializable {
4
+ dto;
5
+ client;
6
+ constructor(client, dto) {
7
+ super();
8
+ this.dto = dto;
9
+ this.client = client;
10
+ }
11
+ get broadcasterUserId() {
12
+ return this.dto.broadcaster_user_id;
13
+ }
14
+ get category() {
15
+ return new Category(this.client, this.dto.category);
16
+ }
17
+ get channelId() {
18
+ return this.dto.channel_id;
19
+ }
20
+ get customTags() {
21
+ return this.dto.custom_tags;
22
+ }
23
+ get hasMatureContent() {
24
+ return this.dto.has_mature_content;
25
+ }
26
+ get language() {
27
+ return this.dto.language;
28
+ }
29
+ get profilePicture() {
30
+ return new URL(this.dto.profile_picture);
31
+ }
32
+ get slug() {
33
+ return this.dto.slug;
34
+ }
35
+ get startedAt() {
36
+ return new Date(this.dto.started_at);
37
+ }
38
+ get streamTitle() {
39
+ return this.dto.stream_title;
40
+ }
41
+ get thumbnail() {
42
+ return new URL(this.dto.thumbnail);
43
+ }
44
+ get viewerCount() {
45
+ return this.dto.viewer_count;
46
+ }
47
+ }
48
+ //# sourceMappingURL=Livestream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Livestream.js","sourceRoot":"","sources":["../../src/resources/Livestream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAqB3D,MAAM,OAAO,UAAW,SAAQ,YAAY;IAKhC;IAJS,MAAM,CAAa;IAEtC,YACE,MAAkB,EACV,GAAkB;QAE1B,KAAK,EAAE,CAAC;QAFA,QAAG,GAAH,GAAG,CAAe;QAG1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { KickClient } from '../KickClient.js';
2
+ import { Serializable } from '../Serializable.js';
3
+ export type MessageDto = {
4
+ is_sent: boolean;
5
+ message_id: string;
6
+ };
7
+ export declare class Message extends Serializable {
8
+ private dto;
9
+ protected readonly client: KickClient;
10
+ constructor(client: KickClient, dto: MessageDto);
11
+ get isSent(): boolean;
12
+ get messageId(): string;
13
+ }
14
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../src/resources/Message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,YAAY;IAKrC,OAAO,CAAC,GAAG;IAJb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAGpC,MAAM,EAAE,UAAU,EACV,GAAG,EAAE,UAAU;IAMzB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF"}
@@ -0,0 +1,17 @@
1
+ import { Serializable } from '../Serializable.js';
2
+ export class Message extends Serializable {
3
+ dto;
4
+ client;
5
+ constructor(client, dto) {
6
+ super();
7
+ this.dto = dto;
8
+ this.client = client;
9
+ }
10
+ get isSent() {
11
+ return this.dto.is_sent;
12
+ }
13
+ get messageId() {
14
+ return this.dto.message_id;
15
+ }
16
+ }
17
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../src/resources/Message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,OAAO,OAAQ,SAAQ,YAAY;IAK7B;IAJS,MAAM,CAAa;IAEtC,YACE,MAAkB,EACV,GAAe;QAEvB,KAAK,EAAE,CAAC;QAFA,QAAG,GAAH,GAAG,CAAY;QAGvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import type { KickClient } from '../KickClient.js';
2
+ import { Serializable } from '../Serializable.js';
3
+ export type UserDto = {
4
+ email: string;
5
+ name: string;
6
+ profile_picture: string;
7
+ user_id: number;
8
+ };
9
+ export declare class User extends Serializable {
10
+ private dto;
11
+ protected readonly client: KickClient;
12
+ constructor(client: KickClient, dto: UserDto);
13
+ get email(): string;
14
+ get name(): string;
15
+ get profilePicture(): URL;
16
+ get userId(): number;
17
+ }
18
+ //# sourceMappingURL=User.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../src/resources/User.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,IAAK,SAAQ,YAAY;IAKlC,OAAO,CAAC,GAAG;IAJb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAGpC,MAAM,EAAE,UAAU,EACV,GAAG,EAAE,OAAO;IAMtB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,cAAc,IAAI,GAAG,CAExB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
@@ -0,0 +1,23 @@
1
+ import { Serializable } from '../Serializable.js';
2
+ export class User extends Serializable {
3
+ dto;
4
+ client;
5
+ constructor(client, dto) {
6
+ super();
7
+ this.dto = dto;
8
+ this.client = client;
9
+ }
10
+ get email() {
11
+ return this.dto.email;
12
+ }
13
+ get name() {
14
+ return this.dto.name;
15
+ }
16
+ get profilePicture() {
17
+ return new URL(this.dto.profile_picture);
18
+ }
19
+ get userId() {
20
+ return this.dto.user_id;
21
+ }
22
+ }
23
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/resources/User.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD,MAAM,OAAO,IAAK,SAAQ,YAAY;IAK1B;IAJS,MAAM,CAAa;IAEtC,YACE,MAAkB,EACV,GAAY;QAEpB,KAAK,EAAE,CAAC;QAFA,QAAG,GAAH,GAAG,CAAS;QAGpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import z from 'zod';
2
+ import { BaseResponse } from '../BaseResponse.js';
3
+ import type { KickClient } from '../KickClient.js';
4
+ import { Category, CategoryDto } from '../resources/Category.js';
5
+ export declare const searchCategoryParamsSchema: z.ZodObject<{
6
+ q: z.ZodString;
7
+ page: z.ZodOptional<z.ZodNumber>;
8
+ }, z.z.core.$strip>;
9
+ export type SearchCategoryParams = z.infer<typeof searchCategoryParamsSchema>;
10
+ export type SearchCategoryResponse = BaseResponse<Omit<CategoryDto, 'viewer_count'>[]>;
11
+ export type FetchCategoryResponse = BaseResponse<CategoryDto>;
12
+ /**
13
+ * @deprecated Use `CategoriesServiceV2` instead.
14
+ */
15
+ export declare class CategoriesService {
16
+ private readonly CATEGORIES_URL;
17
+ protected readonly client: KickClient;
18
+ constructor(client: KickClient);
19
+ /**
20
+ * Get Categories based on the search word.
21
+ * Returns up to 100 results at a time; use the page parameter to get more results.
22
+ *
23
+ * @param params The search parameters
24
+ * @param params.q Search query
25
+ * @param params.page (Optional) Page (defaults to 1 if not provided)
26
+ * @returns An array of `Category` instances.
27
+ * @deprecated Use `CategoriesServiceV2` instead.
28
+ */
29
+ search(params: SearchCategoryParams): Promise<Omit<Category, 'viewerCount'>[]>;
30
+ /**
31
+ * Get information about a specific category.
32
+ *
33
+ * @param id The ID of the category to fetch
34
+ * @returns A `Category` instance.
35
+ * @deprecated Use `CategoriesServiceV2` instead.
36
+ */
37
+ fetch(id: number): Promise<Category>;
38
+ }
39
+ //# sourceMappingURL=CategoriesService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoriesService.d.ts","sourceRoot":"","sources":["../../src/services/CategoriesService.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIjE,eAAO,MAAM,0BAA0B;;;mBAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AACvF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAE9D;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;IAC9E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAE1B,MAAM,EAAE,UAAU;IAI9B;;;;;;;;;OASG;IACG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;IA8BpF;;;;;;OAMG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAiB3C"}
@@ -0,0 +1,73 @@
1
+ import z from 'zod';
2
+ import { Category } from '../resources/Category.js';
3
+ import { constructEndpoint, handleError, parseJSON } from '../utils.js';
4
+ import { Version } from '../Version.js';
5
+ export const searchCategoryParamsSchema = z.object({
6
+ q: z.string(),
7
+ page: z.number().optional(),
8
+ });
9
+ /**
10
+ * @deprecated Use `CategoriesServiceV2` instead.
11
+ */
12
+ export class CategoriesService {
13
+ CATEGORIES_URL = constructEndpoint(Version.V1, 'categories');
14
+ client;
15
+ constructor(client) {
16
+ this.client = client;
17
+ }
18
+ /**
19
+ * Get Categories based on the search word.
20
+ * Returns up to 100 results at a time; use the page parameter to get more results.
21
+ *
22
+ * @param params The search parameters
23
+ * @param params.q Search query
24
+ * @param params.page (Optional) Page (defaults to 1 if not provided)
25
+ * @returns An array of `Category` instances.
26
+ * @deprecated Use `CategoriesServiceV2` instead.
27
+ */
28
+ async search(params) {
29
+ const schema = searchCategoryParamsSchema.safeParse(params);
30
+ if (!schema.success) {
31
+ throw new Error(`Invalid search parameters: ${schema.error.message}`);
32
+ }
33
+ const { q, page } = schema.data;
34
+ const endpoint = new URL(this.CATEGORIES_URL);
35
+ endpoint.searchParams.append('q', q);
36
+ if (page) {
37
+ endpoint.searchParams.append('page', page.toString());
38
+ }
39
+ const response = await fetch(endpoint, {
40
+ headers: {
41
+ Authorization: `Bearer ${this.client.token?.access_token}`,
42
+ },
43
+ });
44
+ if (!response.ok) {
45
+ handleError(response);
46
+ }
47
+ const json = await parseJSON(response);
48
+ const categories = json.data.map((category) => new Category(this.client, category));
49
+ return categories;
50
+ }
51
+ /**
52
+ * Get information about a specific category.
53
+ *
54
+ * @param id The ID of the category to fetch
55
+ * @returns A `Category` instance.
56
+ * @deprecated Use `CategoriesServiceV2` instead.
57
+ */
58
+ async fetch(id) {
59
+ const endpoint = new URL(`${this.CATEGORIES_URL}/${id}`);
60
+ const response = await fetch(endpoint, {
61
+ headers: {
62
+ Authorization: `Bearer ${this.client.token?.access_token}`,
63
+ },
64
+ });
65
+ if (!response.ok) {
66
+ handleError(response);
67
+ }
68
+ const json = await parseJSON(response);
69
+ const category = new Category(this.client, json.data);
70
+ return category;
71
+ }
72
+ }
73
+ //# sourceMappingURL=CategoriesService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoriesService.js","sourceRoot":"","sources":["../../src/services/CategoriesService.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAIpB,OAAO,EAAE,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAMH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACX,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,CAAa;IAEtC,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9C,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE;aAC3D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAyB,QAAQ,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpF,OAAO,UAA6C,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE;aAC3D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAwB,QAAQ,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import z from 'zod';
2
+ import { BaseResponse, BaseResponseWithPagination } from '../BaseResponse.js';
3
+ import type { KickClient } from '../KickClient.js';
4
+ import { Category, CategoryDto } from '../resources/Category.js';
5
+ export declare const searchCategoryParamsV2Schema: z.ZodObject<{
6
+ cursor: z.ZodOptional<z.ZodString>;
7
+ limit: z.ZodOptional<z.ZodNumber>;
8
+ name: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
+ tag: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
+ id: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodArray<z.ZodNumber>]>>;
11
+ }, z.z.core.$strip>;
12
+ export type SearchCategoryParamsV2 = z.infer<typeof searchCategoryParamsV2Schema>;
13
+ export type SearchCategoryResponseV2 = BaseResponseWithPagination<Omit<CategoryDto, 'viewer_count'>[]>;
14
+ export type FetchCategoryResponseV2 = BaseResponse<CategoryDto>;
15
+ export declare class CategoriesServiceV2 {
16
+ private readonly CATEGORIES_URL;
17
+ protected readonly client: KickClient;
18
+ constructor(client: KickClient);
19
+ /**
20
+ * Get Categories based on the cursor, limit, names, and tags; or ids.
21
+ *
22
+ * @param params The search parameters
23
+ * @param params.cursor (Optional) Cursor for pagination
24
+ * @param params.limit (Optional) Number of results to return (max 100)
25
+ * @param params.name (Optional) Array of category names to filter by
26
+ * @param params.tag (Optional) Array of tags to filter by
27
+ * @param params.id (Optional) Single ID or array of IDs to filter by
28
+ * @returns An array of `Category` instances.
29
+ */
30
+ search(params: SearchCategoryParamsV2): Promise<Omit<Category, 'viewerCount'>[]>;
31
+ /**
32
+ * Get information about a specific category.
33
+ *
34
+ * @param id The ID of the category to fetch
35
+ * @returns A `Category` instance.
36
+ */
37
+ fetch(id: number): Promise<Omit<Category, "viewerCount">>;
38
+ }
39
+ //# sourceMappingURL=CategoriesServiceV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoriesServiceV2.d.ts","sourceRoot":"","sources":["../../src/services/CategoriesServiceV2.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIjE,eAAO,MAAM,4BAA4B;;;;;;mBAMvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AACvG,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEhE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;IAC9E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAE1B,MAAM,EAAE,UAAU;IAI9B;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;IAmDtF;;;;;OAKG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM;CAOvB"}
@@ -0,0 +1,89 @@
1
+ import z from 'zod';
2
+ import { Category } from '../resources/Category.js';
3
+ import { constructEndpoint, handleError, parseJSON } from '../utils.js';
4
+ import { Version } from '../Version.js';
5
+ export const searchCategoryParamsV2Schema = z.object({
6
+ cursor: z.string().optional(),
7
+ limit: z.number().min(1).max(100).optional(),
8
+ name: z.array(z.string()).optional(),
9
+ tag: z.array(z.string()).optional(),
10
+ id: z.union([z.number(), z.array(z.number())]).optional(),
11
+ });
12
+ export class CategoriesServiceV2 {
13
+ CATEGORIES_URL = constructEndpoint(Version.V2, 'categories');
14
+ client;
15
+ constructor(client) {
16
+ this.client = client;
17
+ }
18
+ /**
19
+ * Get Categories based on the cursor, limit, names, and tags; or ids.
20
+ *
21
+ * @param params The search parameters
22
+ * @param params.cursor (Optional) Cursor for pagination
23
+ * @param params.limit (Optional) Number of results to return (max 100)
24
+ * @param params.name (Optional) Array of category names to filter by
25
+ * @param params.tag (Optional) Array of tags to filter by
26
+ * @param params.id (Optional) Single ID or array of IDs to filter by
27
+ * @returns An array of `Category` instances.
28
+ */
29
+ async search(params) {
30
+ const schema = searchCategoryParamsV2Schema.safeParse(params);
31
+ if (!schema.success) {
32
+ throw new Error(`Invalid search parameters: ${schema.error.message}`);
33
+ }
34
+ const { cursor, limit, name, tag, id } = schema.data;
35
+ const endpoint = new URL(this.CATEGORIES_URL);
36
+ // Append params
37
+ if (cursor) {
38
+ endpoint.searchParams.append('cursor', cursor);
39
+ }
40
+ if (limit) {
41
+ endpoint.searchParams.append('limit', limit.toString());
42
+ }
43
+ if (name) {
44
+ for (const n of name) {
45
+ endpoint.searchParams.append('name', n);
46
+ }
47
+ }
48
+ if (tag) {
49
+ for (const t of tag) {
50
+ endpoint.searchParams.append('tag', t);
51
+ }
52
+ }
53
+ if (id) {
54
+ if (Array.isArray(id)) {
55
+ for (const i of id) {
56
+ endpoint.searchParams.append('id', i.toString());
57
+ }
58
+ }
59
+ else {
60
+ endpoint.searchParams.append('id', id.toString());
61
+ }
62
+ }
63
+ const response = await fetch(endpoint, {
64
+ headers: {
65
+ Authorization: `Bearer ${this.client.token?.access_token}`,
66
+ },
67
+ });
68
+ if (!response.ok) {
69
+ handleError(response);
70
+ }
71
+ const json = await parseJSON(response);
72
+ const categories = json.data.map((category) => new Category(this.client, category));
73
+ return categories;
74
+ }
75
+ /**
76
+ * Get information about a specific category.
77
+ *
78
+ * @param id The ID of the category to fetch
79
+ * @returns A `Category` instance.
80
+ */
81
+ async fetch(id) {
82
+ const result = await this.search({ id, limit: 1 });
83
+ if (result.length === 0) {
84
+ throw new Error(`Category with ID ${id} not found.`);
85
+ }
86
+ return result[0];
87
+ }
88
+ }
89
+ //# sourceMappingURL=CategoriesServiceV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoriesServiceV2.js","sourceRoot":"","sources":["../../src/services/CategoriesServiceV2.ts"],"names":[],"mappings":"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"}