@valoranchi/riot-client 0.3.0 → 0.5.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 (261) hide show
  1. package/README.md +20 -1
  2. package/dist/RiotClient.d.ts +8 -1
  3. package/dist/RiotClient.d.ts.map +1 -1
  4. package/dist/RiotClient.js +18 -3
  5. package/dist/RiotClient.js.map +1 -1
  6. package/dist/analysis/collectionValue.d.ts +4 -0
  7. package/dist/analysis/collectionValue.d.ts.map +1 -0
  8. package/dist/analysis/collectionValue.js +119 -0
  9. package/dist/analysis/collectionValue.js.map +1 -0
  10. package/dist/analysis/loadoutDiff.d.ts +6 -0
  11. package/dist/analysis/loadoutDiff.d.ts.map +1 -0
  12. package/dist/analysis/loadoutDiff.js +258 -0
  13. package/dist/analysis/loadoutDiff.js.map +1 -0
  14. package/dist/analysis/matchSync.d.ts +8 -0
  15. package/dist/analysis/matchSync.d.ts.map +1 -0
  16. package/dist/analysis/matchSync.js +66 -0
  17. package/dist/analysis/matchSync.js.map +1 -0
  18. package/dist/analysis/performanceSummary.d.ts +4 -0
  19. package/dist/analysis/performanceSummary.d.ts.map +1 -0
  20. package/dist/analysis/performanceSummary.js +184 -0
  21. package/dist/analysis/performanceSummary.js.map +1 -0
  22. package/dist/analysis/playerAssessment.d.ts +10 -0
  23. package/dist/analysis/playerAssessment.d.ts.map +1 -0
  24. package/dist/analysis/playerAssessment.js +47 -0
  25. package/dist/analysis/playerAssessment.js.map +1 -0
  26. package/dist/analysis/ratingTrend.d.ts +5 -0
  27. package/dist/analysis/ratingTrend.d.ts.map +1 -0
  28. package/dist/analysis/ratingTrend.js +70 -0
  29. package/dist/analysis/ratingTrend.js.map +1 -0
  30. package/dist/analysis/storeHistory.d.ts +6 -0
  31. package/dist/analysis/storeHistory.d.ts.map +1 -0
  32. package/dist/analysis/storeHistory.js +74 -0
  33. package/dist/analysis/storeHistory.js.map +1 -0
  34. package/dist/analysis/wishlist.d.ts +5 -0
  35. package/dist/analysis/wishlist.d.ts.map +1 -0
  36. package/dist/analysis/wishlist.js +122 -0
  37. package/dist/analysis/wishlist.js.map +1 -0
  38. package/dist/bin.js +3 -1
  39. package/dist/bin.js.map +1 -1
  40. package/dist/catalogue/Catalogue.d.ts +1 -0
  41. package/dist/catalogue/Catalogue.d.ts.map +1 -1
  42. package/dist/catalogue/Catalogue.js +11 -0
  43. package/dist/catalogue/Catalogue.js.map +1 -1
  44. package/dist/catalogue/ValorantApi.d.ts.map +1 -1
  45. package/dist/catalogue/ValorantApi.js +1 -1
  46. package/dist/catalogue/ValorantApi.js.map +1 -1
  47. package/dist/cli.d.ts +15 -9
  48. package/dist/cli.d.ts.map +1 -1
  49. package/dist/cli.js +371 -46
  50. package/dist/cli.js.map +1 -1
  51. package/dist/client/AccountService.d.ts +6 -1
  52. package/dist/client/AccountService.d.ts.map +1 -1
  53. package/dist/client/AccountService.js +39 -4
  54. package/dist/client/AccountService.js.map +1 -1
  55. package/dist/client/AccountValidator.d.ts.map +1 -1
  56. package/dist/client/AccountValidator.js +9 -3
  57. package/dist/client/AccountValidator.js.map +1 -1
  58. package/dist/client/ChatValidator.d.ts.map +1 -1
  59. package/dist/client/ChatValidator.js +2 -4
  60. package/dist/client/ChatValidator.js.map +1 -1
  61. package/dist/client/ClientContext.d.ts +5 -0
  62. package/dist/client/ClientContext.d.ts.map +1 -1
  63. package/dist/client/ClientContext.js.map +1 -1
  64. package/dist/client/LiveMatchService.d.ts +1 -1
  65. package/dist/client/LiveMatchService.d.ts.map +1 -1
  66. package/dist/client/LiveMatchService.js +30 -20
  67. package/dist/client/LiveMatchService.js.map +1 -1
  68. package/dist/client/LoadoutValidator.d.ts.map +1 -1
  69. package/dist/client/LoadoutValidator.js +1 -3
  70. package/dist/client/LoadoutValidator.js.map +1 -1
  71. package/dist/client/MatchService.d.ts +17 -1
  72. package/dist/client/MatchService.d.ts.map +1 -1
  73. package/dist/client/MatchService.js +123 -2
  74. package/dist/client/MatchService.js.map +1 -1
  75. package/dist/client/MatchValidator.d.ts.map +1 -1
  76. package/dist/client/MatchValidator.js.map +1 -1
  77. package/dist/client/OfficialService.d.ts +35 -0
  78. package/dist/client/OfficialService.d.ts.map +1 -0
  79. package/dist/client/OfficialService.js +141 -0
  80. package/dist/client/OfficialService.js.map +1 -0
  81. package/dist/client/PartyService.d.ts.map +1 -1
  82. package/dist/client/PartyService.js +3 -1
  83. package/dist/client/PartyService.js.map +1 -1
  84. package/dist/client/PartyValidator.d.ts.map +1 -1
  85. package/dist/client/PartyValidator.js +1 -2
  86. package/dist/client/PartyValidator.js.map +1 -1
  87. package/dist/client/SocialService.d.ts.map +1 -1
  88. package/dist/client/SocialService.js +4 -5
  89. package/dist/client/SocialService.js.map +1 -1
  90. package/dist/client/StoreService.d.ts +9 -1
  91. package/dist/client/StoreService.d.ts.map +1 -1
  92. package/dist/client/StoreService.js +90 -2
  93. package/dist/client/StoreService.js.map +1 -1
  94. package/dist/client/StoreValidator.d.ts.map +1 -1
  95. package/dist/client/StoreValidator.js +4 -2
  96. package/dist/client/StoreValidator.js.map +1 -1
  97. package/dist/client/api.d.ts +55 -1
  98. package/dist/client/api.d.ts.map +1 -1
  99. package/dist/collection/CustomGameConfigsBuilder.d.ts.map +1 -1
  100. package/dist/collection/CustomGameConfigsBuilder.js.map +1 -1
  101. package/dist/collection/LiveMatchBuilder.d.ts +2 -2
  102. package/dist/collection/LiveMatchBuilder.d.ts.map +1 -1
  103. package/dist/collection/LiveMatchBuilder.js +10 -8
  104. package/dist/collection/LiveMatchBuilder.js.map +1 -1
  105. package/dist/collection/LoadoutBuilder.d.ts.map +1 -1
  106. package/dist/collection/LoadoutBuilder.js +1 -1
  107. package/dist/collection/LoadoutBuilder.js.map +1 -1
  108. package/dist/collection/LoadoutWriter.d.ts.map +1 -1
  109. package/dist/collection/LoadoutWriter.js +0 -1
  110. package/dist/collection/LoadoutWriter.js.map +1 -1
  111. package/dist/collection/MmrBuilder.d.ts +1 -1
  112. package/dist/collection/MmrBuilder.d.ts.map +1 -1
  113. package/dist/collection/MmrBuilder.js +5 -2
  114. package/dist/collection/MmrBuilder.js.map +1 -1
  115. package/dist/collection/PlayerSettingsBuilder.d.ts.map +1 -1
  116. package/dist/collection/PlayerSettingsBuilder.js +1 -3
  117. package/dist/collection/PlayerSettingsBuilder.js.map +1 -1
  118. package/dist/collection/RankFit.d.ts +11 -0
  119. package/dist/collection/RankFit.d.ts.map +1 -0
  120. package/dist/collection/RankFit.js +56 -0
  121. package/dist/collection/RankFit.js.map +1 -0
  122. package/dist/errors.d.ts +5 -1
  123. package/dist/errors.d.ts.map +1 -1
  124. package/dist/errors.js +8 -1
  125. package/dist/errors.js.map +1 -1
  126. package/dist/formatError.d.ts +10 -0
  127. package/dist/formatError.d.ts.map +1 -0
  128. package/dist/formatError.js +29 -0
  129. package/dist/formatError.js.map +1 -0
  130. package/dist/index.d.ts +15 -4
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +13 -2
  133. package/dist/index.js.map +1 -1
  134. package/dist/local/ChatApi.d.ts.map +1 -1
  135. package/dist/local/ChatApi.js +3 -1
  136. package/dist/local/ChatApi.js.map +1 -1
  137. package/dist/local/RiotSocket.d.ts.map +1 -1
  138. package/dist/local/RiotSocket.js.map +1 -1
  139. package/dist/mcp/McpServer.d.ts +21 -0
  140. package/dist/mcp/McpServer.d.ts.map +1 -0
  141. package/dist/mcp/McpServer.js +135 -0
  142. package/dist/mcp/McpServer.js.map +1 -0
  143. package/dist/mcp/index.d.ts +4 -0
  144. package/dist/mcp/index.d.ts.map +1 -0
  145. package/dist/mcp/index.js +3 -0
  146. package/dist/mcp/index.js.map +1 -0
  147. package/dist/mcp/tools.d.ts +9 -0
  148. package/dist/mcp/tools.d.ts.map +1 -0
  149. package/dist/mcp/tools.js +83 -0
  150. package/dist/mcp/tools.js.map +1 -0
  151. package/dist/mcp/types.d.ts +46 -0
  152. package/dist/mcp/types.d.ts.map +1 -0
  153. package/dist/mcp/types.js +2 -0
  154. package/dist/mcp/types.js.map +1 -0
  155. package/dist/model/index.d.ts +201 -0
  156. package/dist/model/index.d.ts.map +1 -1
  157. package/dist/official/OfficialApi.d.ts +35 -0
  158. package/dist/official/OfficialApi.d.ts.map +1 -0
  159. package/dist/official/OfficialApi.js +148 -0
  160. package/dist/official/OfficialApi.js.map +1 -0
  161. package/dist/official/OfficialMatchAdapter.d.ts +11 -0
  162. package/dist/official/OfficialMatchAdapter.d.ts.map +1 -0
  163. package/dist/official/OfficialMatchAdapter.js +157 -0
  164. package/dist/official/OfficialMatchAdapter.js.map +1 -0
  165. package/dist/official/RateLimiter.d.ts +20 -0
  166. package/dist/official/RateLimiter.d.ts.map +1 -0
  167. package/dist/official/RateLimiter.js +56 -0
  168. package/dist/official/RateLimiter.js.map +1 -0
  169. package/dist/official/types.d.ts +214 -0
  170. package/dist/official/types.d.ts.map +1 -0
  171. package/dist/official/types.js +2 -0
  172. package/dist/official/types.js.map +1 -0
  173. package/dist/raw.d.ts +4 -0
  174. package/dist/raw.d.ts.map +1 -1
  175. package/dist/raw.js +4 -0
  176. package/dist/raw.js.map +1 -1
  177. package/dist/riot/HttpGateway.d.ts.map +1 -1
  178. package/dist/riot/HttpGateway.js +9 -2
  179. package/dist/riot/HttpGateway.js.map +1 -1
  180. package/dist/riot/ResponseCache.d.ts +2 -0
  181. package/dist/riot/ResponseCache.d.ts.map +1 -1
  182. package/dist/riot/ResponseCache.js +9 -5
  183. package/dist/riot/ResponseCache.js.map +1 -1
  184. package/dist/riot/RiotApi.d.ts.map +1 -1
  185. package/dist/riot/RiotApi.js.map +1 -1
  186. package/dist/riot/types.d.ts.map +1 -1
  187. package/dist/serve/index.d.ts +7 -0
  188. package/dist/serve/index.d.ts.map +1 -0
  189. package/dist/serve/index.js +6 -0
  190. package/dist/serve/index.js.map +1 -0
  191. package/dist/serve/indexHtml.d.ts +2 -0
  192. package/dist/serve/indexHtml.d.ts.map +1 -0
  193. package/dist/serve/indexHtml.js +36 -0
  194. package/dist/serve/indexHtml.js.map +1 -0
  195. package/dist/serve/openapi.d.ts +2 -0
  196. package/dist/serve/openapi.d.ts.map +1 -0
  197. package/dist/serve/openapi.js +125 -0
  198. package/dist/serve/openapi.js.map +1 -0
  199. package/dist/serve/routes.d.ts +9 -0
  200. package/dist/serve/routes.d.ts.map +1 -0
  201. package/dist/serve/routes.js +1631 -0
  202. package/dist/serve/routes.js.map +1 -0
  203. package/dist/serve/server.d.ts +6 -0
  204. package/dist/serve/server.d.ts.map +1 -0
  205. package/dist/serve/server.js +149 -0
  206. package/dist/serve/server.js.map +1 -0
  207. package/dist/serve/sse.d.ts +4 -0
  208. package/dist/serve/sse.d.ts.map +1 -0
  209. package/dist/serve/sse.js +89 -0
  210. package/dist/serve/sse.js.map +1 -0
  211. package/dist/serve/types.d.ts +32 -0
  212. package/dist/serve/types.d.ts.map +1 -0
  213. package/dist/serve/types.js +2 -0
  214. package/dist/serve/types.js.map +1 -0
  215. package/dist/version.d.ts +2 -0
  216. package/dist/version.d.ts.map +1 -0
  217. package/dist/version.js +12 -0
  218. package/dist/version.js.map +1 -0
  219. package/dist/watch/AsyncQueue.d.ts +13 -0
  220. package/dist/watch/AsyncQueue.d.ts.map +1 -0
  221. package/dist/watch/AsyncQueue.js +50 -0
  222. package/dist/watch/AsyncQueue.js.map +1 -0
  223. package/dist/watch/FriendsWatcher.d.ts +26 -0
  224. package/dist/watch/FriendsWatcher.d.ts.map +1 -0
  225. package/dist/watch/FriendsWatcher.js +152 -0
  226. package/dist/watch/FriendsWatcher.js.map +1 -0
  227. package/dist/watch/MatchWatcher.d.ts +44 -0
  228. package/dist/watch/MatchWatcher.d.ts.map +1 -0
  229. package/dist/watch/MatchWatcher.js +272 -0
  230. package/dist/watch/MatchWatcher.js.map +1 -0
  231. package/dist/watch/StoreWatcher.d.ts +27 -0
  232. package/dist/watch/StoreWatcher.d.ts.map +1 -0
  233. package/dist/watch/StoreWatcher.js +116 -0
  234. package/dist/watch/StoreWatcher.js.map +1 -0
  235. package/dist/watch/WebhookNotifier.d.ts +8 -0
  236. package/dist/watch/WebhookNotifier.d.ts.map +1 -0
  237. package/dist/watch/WebhookNotifier.js +42 -0
  238. package/dist/watch/WebhookNotifier.js.map +1 -0
  239. package/dist/watch/index.d.ts +26 -0
  240. package/dist/watch/index.d.ts.map +1 -0
  241. package/dist/watch/index.js +31 -0
  242. package/dist/watch/index.js.map +1 -0
  243. package/dist/watch/types.d.ts +114 -0
  244. package/dist/watch/types.d.ts.map +1 -0
  245. package/dist/watch/types.js +2 -0
  246. package/dist/watch/types.js.map +1 -0
  247. package/package.json +17 -5
  248. package/schema/CollectionValue.json +153 -0
  249. package/schema/LiveMatch.json +8 -1
  250. package/schema/LoadoutDiff.json +73 -0
  251. package/schema/MatchSyncResult.json +54 -0
  252. package/schema/Mmr.json +38 -1
  253. package/schema/OfficialAccount.json +25 -0
  254. package/schema/OfficialProfile.json +354 -0
  255. package/schema/PerformanceSummary.json +284 -0
  256. package/schema/PlayerAssessment.json +48 -0
  257. package/schema/RatingTrend.json +107 -0
  258. package/schema/StoreHistory.json +61 -0
  259. package/schema/Wishlist.json +35 -0
  260. package/schema/WishlistCheck.json +67 -0
  261. package/schema/WishlistHit.json +51 -0
@@ -0,0 +1,157 @@
1
+ import { RankResolver } from "../collection/RankResolver.js";
2
+ function mapMatchInfo(official) {
3
+ const info = official.matchInfo;
4
+ return {
5
+ matchId: info.matchId,
6
+ mapId: info.mapId,
7
+ gameLengthMillis: info.gameLengthMillis ?? 0,
8
+ gameStartMillis: info.gameStartMillis ?? 0,
9
+ provisioningFlowID: info.provisioningFlowId ?? info.provisioningFlowID ?? "Matchmaking",
10
+ isCompleted: Boolean(info.isCompleted),
11
+ customGameName: info.customGameName ?? null,
12
+ queueID: info.queueId ?? info.queueID ?? "",
13
+ gameMode: info.gameMode ?? "",
14
+ isRanked: Boolean(info.isRanked),
15
+ seasonId: info.seasonId,
16
+ completionState: info.completionState,
17
+ gameServerAddress: info.gameServerAddress,
18
+ gameVersion: info.gameVersion,
19
+ isReplayRecorded: info.isReplayRecorded,
20
+ };
21
+ }
22
+ function mapPlayer(p) {
23
+ return {
24
+ subject: p.puuid ?? p.subject ?? "",
25
+ gameName: p.gameName ?? "",
26
+ tagLine: p.tagLine ?? "",
27
+ teamId: p.teamId ?? "",
28
+ partyId: p.partyId,
29
+ characterId: p.characterId ?? "",
30
+ stats: p.stats
31
+ ? {
32
+ score: p.stats.score ?? 0,
33
+ roundsPlayed: p.stats.roundsPlayed ?? 0,
34
+ kills: p.stats.kills ?? 0,
35
+ deaths: p.stats.deaths ?? 0,
36
+ assists: p.stats.assists ?? 0,
37
+ playtimeMillis: p.stats.playtimeMillis,
38
+ abilityCasts: p.stats.abilityCasts
39
+ ? {
40
+ grenadeCasts: p.stats.abilityCasts.grenadeCasts,
41
+ ability1Casts: p.stats.abilityCasts.ability1Casts,
42
+ ability2Casts: p.stats.abilityCasts.ability2Casts,
43
+ ultimateCasts: p.stats.abilityCasts.ultimateCasts,
44
+ }
45
+ : undefined,
46
+ }
47
+ : null,
48
+ competitiveTier: p.competitiveTier,
49
+ playerCard: p.playerCard,
50
+ playerTitle: p.playerTitle,
51
+ accountLevel: p.accountLevel,
52
+ };
53
+ }
54
+ function mapTeams(teams) {
55
+ if (!teams)
56
+ return null;
57
+ return teams.map((t) => ({
58
+ teamId: t.teamId,
59
+ won: Boolean(t.won),
60
+ roundsPlayed: t.roundsPlayed ?? 0,
61
+ roundsWon: t.roundsWon ?? 0,
62
+ numPoints: t.numPoints,
63
+ }));
64
+ }
65
+ function mapDamage(damage) {
66
+ if (!damage)
67
+ return undefined;
68
+ return damage.map((d) => ({
69
+ receiver: d.receiver ?? d.puuid ?? "",
70
+ damage: d.damage ?? 0,
71
+ legshots: d.legshots ?? 0,
72
+ bodyshots: d.bodyshots ?? 0,
73
+ headshots: d.headshots ?? 0,
74
+ }));
75
+ }
76
+ function mapKills(kills) {
77
+ if (!kills)
78
+ return undefined;
79
+ return kills.map((k) => ({
80
+ gameTime: k.gameTime,
81
+ roundTime: k.roundTime ?? 0,
82
+ killer: k.killer ?? "",
83
+ victim: k.victim ?? "",
84
+ victimLocation: k.victimLocation ?? null,
85
+ assistants: k.assistants ?? [],
86
+ finishingDamage: k.finishingDamage
87
+ ? {
88
+ damageType: k.finishingDamage.damageType ?? "Unknown",
89
+ damageItem: k.finishingDamage.damageItem ?? "",
90
+ isSecondaryFireMode: k.finishingDamage.isSecondaryFireMode,
91
+ }
92
+ : undefined,
93
+ }));
94
+ }
95
+ function mapRoundPlayerStats(stats) {
96
+ if (!stats)
97
+ return [];
98
+ return stats.map((ps) => ({
99
+ subject: ps.puuid ?? ps.subject ?? "",
100
+ score: ps.score,
101
+ damage: mapDamage(ps.damage),
102
+ kills: mapKills(ps.kills),
103
+ }));
104
+ }
105
+ function mapRoundResults(results) {
106
+ if (!results)
107
+ return null;
108
+ return results.map((r) => ({
109
+ roundNum: r.roundNum,
110
+ roundResult: r.roundResult,
111
+ roundCeremony: r.roundCeremony ?? null,
112
+ winningTeam: r.winningTeam,
113
+ bombPlanter: r.bombPlanter ?? r.planter ?? null,
114
+ bombDefuser: r.bombDefuser ?? r.defuser ?? null,
115
+ plantRoundTime: r.plantRoundTime ?? null,
116
+ plantSite: r.plantSite ?? null,
117
+ defuseRoundTime: r.defuseRoundTime ?? null,
118
+ playerStats: mapRoundPlayerStats(r.playerStats),
119
+ }));
120
+ }
121
+ export function toMatchDetails(official) {
122
+ return {
123
+ matchInfo: mapMatchInfo(official),
124
+ players: (official.players ?? []).map(mapPlayer),
125
+ teams: mapTeams(official.teams),
126
+ roundResults: mapRoundResults(official.roundResults),
127
+ };
128
+ }
129
+ export function toLeaderboard(official, catalogue) {
130
+ const rankResolver = new RankResolver(catalogue);
131
+ const entries = (official.players ?? []).map((p) => ({
132
+ rank: p.leaderboardRank,
133
+ puuid: p.puuid,
134
+ gameName: p.gameName ?? "",
135
+ tagLine: p.tagLine ?? "",
136
+ anonymized: false,
137
+ banned: false,
138
+ rating: p.rankedRating,
139
+ wins: p.numberOfWins,
140
+ tier: rankResolver.fromTier(p.competitiveTier, p.rankedRating),
141
+ }));
142
+ return {
143
+ season: official.actId,
144
+ total: official.totalPlayers,
145
+ entries,
146
+ tierThresholds: {},
147
+ };
148
+ }
149
+ export class OfficialMatchAdapter {
150
+ static toMatchDetails(official) {
151
+ return toMatchDetails(official);
152
+ }
153
+ static toLeaderboard(official, catalogue) {
154
+ return toLeaderboard(official, catalogue);
155
+ }
156
+ }
157
+ //# sourceMappingURL=OfficialMatchAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfficialMatchAdapter.js","sourceRoot":"","sources":["../../src/official/OfficialMatchAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface RateLimiterOptions {
2
+ perSecond?: number;
3
+ perTwoMinutes?: number;
4
+ now?: () => number;
5
+ sleep?: (ms: number) => Promise<void>;
6
+ }
7
+ export declare class RateLimiter {
8
+ private readonly perSecond;
9
+ private readonly perTwoMinutes;
10
+ private readonly now;
11
+ private readonly sleep;
12
+ private secondTimestamps;
13
+ private twoMinuteTimestamps;
14
+ private chain;
15
+ constructor(options?: RateLimiterOptions);
16
+ acquire(): Promise<void>;
17
+ private waitForSlot;
18
+ private calculateWaitMs;
19
+ }
20
+ //# sourceMappingURL=RateLimiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../src/official/RateLimiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEtD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,KAAK,CAAoC;gBAErC,OAAO,GAAE,kBAAuB;IAQtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAQhB,WAAW;IAmBzB,OAAO,CAAC,eAAe;CAgBxB"}
@@ -0,0 +1,56 @@
1
+ export class RateLimiter {
2
+ perSecond;
3
+ perTwoMinutes;
4
+ now;
5
+ sleep;
6
+ secondTimestamps = [];
7
+ twoMinuteTimestamps = [];
8
+ chain = Promise.resolve();
9
+ constructor(options = {}) {
10
+ this.perSecond = options.perSecond ?? 20;
11
+ this.perTwoMinutes = options.perTwoMinutes ?? 100;
12
+ this.now = options.now ?? (() => Date.now());
13
+ this.sleep =
14
+ options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
15
+ }
16
+ async acquire() {
17
+ const next = this.chain.then(async () => {
18
+ await this.waitForSlot();
19
+ });
20
+ this.chain = next.catch(() => { });
21
+ await next;
22
+ }
23
+ async waitForSlot() {
24
+ while (true) {
25
+ const currentTime = this.now();
26
+ this.secondTimestamps = this.secondTimestamps.filter((t) => currentTime - t < 1000);
27
+ this.twoMinuteTimestamps = this.twoMinuteTimestamps.filter((t) => currentTime - t < 120_000);
28
+ const waitMs = this.calculateWaitMs(currentTime);
29
+ if (waitMs > 0) {
30
+ await this.sleep(waitMs);
31
+ continue;
32
+ }
33
+ const grantTime = this.now();
34
+ this.secondTimestamps.push(grantTime);
35
+ this.twoMinuteTimestamps.push(grantTime);
36
+ break;
37
+ }
38
+ }
39
+ calculateWaitMs(currentTime) {
40
+ let waitMs = 0;
41
+ if (this.secondTimestamps.length >= this.perSecond) {
42
+ const waitSecond = this.secondTimestamps[0] + 1000 - currentTime;
43
+ if (waitSecond > waitMs) {
44
+ waitMs = waitSecond;
45
+ }
46
+ }
47
+ if (this.twoMinuteTimestamps.length >= this.perTwoMinutes) {
48
+ const waitTwoMinute = this.twoMinuteTimestamps[0] + 120_000 - currentTime;
49
+ if (waitTwoMinute > waitMs) {
50
+ waitMs = waitTwoMinute;
51
+ }
52
+ }
53
+ return waitMs;
54
+ }
55
+ }
56
+ //# sourceMappingURL=RateLimiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../../src/official/RateLimiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ export interface OfficialAccountResponse {
2
+ puuid: string;
3
+ gameName: string;
4
+ tagLine: string;
5
+ }
6
+ export interface OfficialActiveShardResponse {
7
+ puuid: string;
8
+ game: string;
9
+ activeShard: string;
10
+ }
11
+ export interface OfficialMatchlistEntry {
12
+ matchId: string;
13
+ gameStartTimeMillis: number;
14
+ queueId: string;
15
+ }
16
+ export interface OfficialMatchlistResponse {
17
+ puuid: string;
18
+ history: OfficialMatchlistEntry[];
19
+ }
20
+ export interface OfficialPlayerAbilityCasts {
21
+ grenadeCasts?: number;
22
+ ability1Casts?: number;
23
+ ability2Casts?: number;
24
+ ultimateCasts?: number;
25
+ }
26
+ export interface OfficialPlayerStats {
27
+ score: number;
28
+ roundsPlayed: number;
29
+ kills: number;
30
+ deaths: number;
31
+ assists: number;
32
+ playtimeMillis?: number;
33
+ abilityCasts?: OfficialPlayerAbilityCasts;
34
+ }
35
+ export interface OfficialMatchPlayer {
36
+ puuid?: string;
37
+ subject?: string;
38
+ gameName: string;
39
+ tagLine: string;
40
+ teamId: string;
41
+ partyId?: string;
42
+ characterId: string;
43
+ stats?: OfficialPlayerStats | null;
44
+ competitiveTier?: number;
45
+ playerCard?: string;
46
+ playerTitle?: string;
47
+ accountLevel?: number;
48
+ }
49
+ export interface OfficialMatchTeam {
50
+ teamId: string;
51
+ won: boolean;
52
+ roundsPlayed: number;
53
+ roundsWon: number;
54
+ numPoints?: number;
55
+ }
56
+ export interface OfficialMatchCoach {
57
+ puuid: string;
58
+ teamId: string;
59
+ }
60
+ export interface OfficialFinishingDamage {
61
+ damageType?: string;
62
+ damageItem?: string;
63
+ isSecondaryFireMode?: boolean;
64
+ }
65
+ export interface OfficialKill {
66
+ gameTime?: number;
67
+ roundTime?: number;
68
+ killer?: string;
69
+ victim?: string;
70
+ victimLocation?: {
71
+ x: number;
72
+ y: number;
73
+ } | null;
74
+ assistants?: string[];
75
+ finishingDamage?: OfficialFinishingDamage;
76
+ }
77
+ export interface OfficialDamage {
78
+ receiver?: string;
79
+ puuid?: string;
80
+ damage?: number;
81
+ legshots?: number;
82
+ bodyshots?: number;
83
+ headshots?: number;
84
+ }
85
+ export interface OfficialRoundPlayerStats {
86
+ puuid?: string;
87
+ subject?: string;
88
+ kills?: OfficialKill[];
89
+ damage?: OfficialDamage[];
90
+ score?: number;
91
+ }
92
+ export interface OfficialRoundResult {
93
+ roundNum: number;
94
+ roundResult: string;
95
+ roundCeremony?: string | null;
96
+ winningTeam: string;
97
+ bombPlanter?: string | null;
98
+ planter?: string | null;
99
+ bombDefuser?: string | null;
100
+ defuser?: string | null;
101
+ plantRoundTime?: number | null;
102
+ plantSite?: string | null;
103
+ defuseRoundTime?: number | null;
104
+ playerStats?: OfficialRoundPlayerStats[];
105
+ }
106
+ export interface OfficialMatchInfo {
107
+ matchId: string;
108
+ mapId: string;
109
+ gameLengthMillis: number;
110
+ gameStartMillis: number;
111
+ provisioningFlowId?: string;
112
+ provisioningFlowID?: string;
113
+ isCompleted: boolean;
114
+ customGameName?: string | null;
115
+ queueId?: string;
116
+ queueID?: string;
117
+ gameMode?: string;
118
+ isRanked: boolean;
119
+ seasonId?: string;
120
+ completionState?: string;
121
+ platformId?: string;
122
+ gameServerAddress?: string;
123
+ gameVersion?: string;
124
+ isReplayRecorded?: boolean;
125
+ }
126
+ export interface OfficialMatchResponse {
127
+ matchInfo: OfficialMatchInfo;
128
+ players: OfficialMatchPlayer[];
129
+ coaches?: OfficialMatchCoach[];
130
+ teams: OfficialMatchTeam[] | null;
131
+ roundResults?: OfficialRoundResult[] | null;
132
+ }
133
+ export interface OfficialRecentMatchesResponse {
134
+ currentTime: number;
135
+ matchIds: string[];
136
+ }
137
+ export interface OfficialLeaderboardPlayer {
138
+ puuid: string;
139
+ gameName: string;
140
+ tagLine: string;
141
+ leaderboardRank: number;
142
+ rankedRating: number;
143
+ numberOfWins: number;
144
+ competitiveTier: number;
145
+ }
146
+ export interface OfficialLeaderboardResponse {
147
+ shard: string;
148
+ actId: string;
149
+ totalPlayers: number;
150
+ players: OfficialLeaderboardPlayer[];
151
+ }
152
+ export interface OfficialAct {
153
+ id: string;
154
+ name: string;
155
+ isActive: boolean;
156
+ type?: string;
157
+ }
158
+ export interface OfficialContentItem {
159
+ name: string;
160
+ id?: string;
161
+ assetName?: string;
162
+ assetPath?: string;
163
+ }
164
+ export interface OfficialContentResponse {
165
+ version: string;
166
+ characters?: OfficialContentItem[];
167
+ maps?: OfficialContentItem[];
168
+ chromas?: OfficialContentItem[];
169
+ skins?: OfficialContentItem[];
170
+ skinLevels?: OfficialContentItem[];
171
+ equips?: OfficialContentItem[];
172
+ gameModes?: OfficialContentItem[];
173
+ sprays?: OfficialContentItem[];
174
+ sprayLevels?: OfficialContentItem[];
175
+ charms?: OfficialContentItem[];
176
+ charmLevels?: OfficialContentItem[];
177
+ playerCards?: OfficialContentItem[];
178
+ playerTitles?: OfficialContentItem[];
179
+ acts: OfficialAct[];
180
+ }
181
+ export interface OfficialStatusUpdate {
182
+ id: number;
183
+ author: string;
184
+ publish: boolean;
185
+ publish_locations: string[];
186
+ translations: Array<{
187
+ locale: string;
188
+ content: string;
189
+ }>;
190
+ created_at: string;
191
+ updated_at: string;
192
+ }
193
+ export interface OfficialStatusIncident {
194
+ id: number;
195
+ maintenance_status?: string;
196
+ incident_severity?: string;
197
+ titles: Array<{
198
+ locale: string;
199
+ content: string;
200
+ }>;
201
+ updates: OfficialStatusUpdate[];
202
+ created_at: string;
203
+ archive_at?: string | null;
204
+ updated_at?: string | null;
205
+ platforms: string[];
206
+ }
207
+ export interface OfficialPlatformData {
208
+ id: string;
209
+ name: string;
210
+ locales: string[];
211
+ maintenances: OfficialStatusIncident[];
212
+ incidents: OfficialStatusIncident[];
213
+ }
214
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/official/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/official/types.ts"],"names":[],"mappings":""}
package/dist/raw.d.ts CHANGED
@@ -17,6 +17,10 @@ export { AccountValidator } from "./client/AccountValidator.js";
17
17
  export { MatchValidator } from "./client/MatchValidator.js";
18
18
  export { StoreValidator, type BuyTarget, type BuyValidationResult, } from "./client/StoreValidator.js";
19
19
  export { LoadoutWriter, type RiotLoadoutGunPut, type RiotLoadoutPutBody, } from "./collection/LoadoutWriter.js";
20
+ export { RateLimiter, type RateLimiterOptions } from "./official/RateLimiter.js";
21
+ export { OfficialApi, type OfficialApiOptions } from "./official/OfficialApi.js";
22
+ export { OfficialMatchAdapter, toMatchDetails, toLeaderboard, } from "./official/OfficialMatchAdapter.js";
23
+ export * from "./official/types.js";
20
24
  export * from "./riot/types.js";
21
25
  export * from "./local/chatTypes.js";
22
26
  export * from "./catalogue/types.js";
package/dist/raw.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAE5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,MAAM,GACP,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,GACd,MAAM,oCAAoC,CAAC;AAE5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAE5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,MAAM,GACP,MAAM,kBAAkB,CAAC"}
package/dist/raw.js CHANGED
@@ -17,6 +17,10 @@ export { AccountValidator } from "./client/AccountValidator.js";
17
17
  export { MatchValidator } from "./client/MatchValidator.js";
18
18
  export { StoreValidator, } from "./client/StoreValidator.js";
19
19
  export { LoadoutWriter, } from "./collection/LoadoutWriter.js";
20
+ export { RateLimiter } from "./official/RateLimiter.js";
21
+ export { OfficialApi } from "./official/OfficialApi.js";
22
+ export { OfficialMatchAdapter, toMatchDetails, toLeaderboard, } from "./official/OfficialMatchAdapter.js";
23
+ export * from "./official/types.js";
20
24
  export * from "./riot/types.js";
21
25
  export * from "./local/chatTypes.js";
22
26
  export * from "./catalogue/types.js";
package/dist/raw.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"raw.js","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA8B,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,OAAO,EAAoB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAoB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,GAKnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,UAAU,GAQX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,gBAAgB,GAGjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,cAAc,GAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,cAAc,GAGf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,aAAa,GAGd,MAAM,+BAA+B,CAAC;AAEvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"raw.js","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA8B,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,OAAO,EAAoB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAoB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,GAKnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,UAAU,GAQX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,gBAAgB,GAGjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,cAAc,GAGf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,cAAc,GAGf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,aAAa,GAGd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAA2B,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,WAAW,EAA2B,MAAM,2BAA2B,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,GACd,MAAM,oCAAoC,CAAC;AAE5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpGateway.d.ts","sourceRoot":"","sources":["../../src/riot/HttpGateway.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAInG,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,GAAE,WAA8B;IAI7C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW9E,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAIzE,YAAY;YAyBZ,OAAO;IA6BrB,OAAO,CAAC,iBAAiB;CA6B1B"}
1
+ {"version":3,"file":"HttpGateway.d.ts","sourceRoot":"","sources":["../../src/riot/HttpGateway.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAInG,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,GAAE,WAA8B;IAI7C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAW9E,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAIzE,YAAY;YAyBZ,OAAO;IAmCrB,OAAO,CAAC,iBAAiB;CA+B1B"}
@@ -53,7 +53,12 @@ export class HttpGateway {
53
53
  throw error;
54
54
  });
55
55
  if (!response.ok) {
56
- throw new RiotApiError(response.status, url);
56
+ const retryAfterHeader = response.headers.get("retry-after");
57
+ const parsedSeconds = retryAfterHeader ? Number(retryAfterHeader) : undefined;
58
+ const retryAfterSeconds = parsedSeconds !== undefined && Number.isFinite(parsedSeconds) && parsedSeconds >= 0
59
+ ? parsedSeconds
60
+ : undefined;
61
+ throw new RiotApiError(response.status, url, undefined, retryAfterSeconds);
57
62
  }
58
63
  const text = await response.text();
59
64
  if (!text || text.trim().length === 0) {
@@ -75,7 +80,9 @@ export class HttpGateway {
75
80
  if (!isRiotHost && headers) {
76
81
  const containsToken = Object.entries(headers).some(([key, val]) => {
77
82
  const lowerKey = key.toLowerCase();
78
- return ((lowerKey === "authorization" || lowerKey === "x-riot-entitlements-jwt") &&
83
+ return ((lowerKey === "authorization" ||
84
+ lowerKey === "x-riot-entitlements-jwt" ||
85
+ lowerKey === "x-riot-token") &&
79
86
  Boolean(val && val.length > 0));
80
87
  });
81
88
  if (containsToken) {
@@ -1 +1 @@
1
- {"version":3,"file":"HttpGateway.js","sourceRoot":"","sources":["../../src/riot/HttpGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpGateway.js","sourceRoot":"","sources":["../../src/riot/HttpGateway.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export declare class FileResponseCache {
4
4
  private readonly ttlMs;
5
5
  private readonly now;
6
6
  constructor(ttlMs: number, dir?: string, now?: () => number);
7
+ get<T>(key: string, ttlMs?: number): T | undefined;
8
+ set<T>(key: string, value: T): void;
7
9
  through<T>(key: string, fetcher: () => Promise<T>, options?: {
8
10
  ttlMs?: number;
9
11
  }): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseCache.d.ts","sourceRoot":"","sources":["../../src/riot/ResponseCache.ts"],"names":[],"mappings":"AAWA,wBAAgB,uBAAuB,IAAI,MAAM,CAGhD;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAGjC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,MAAkC,EACvC,GAAG,GAAE,MAAM,MAAiB;IAOxB,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,CAAC,CAAC;IAUb,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAqB/B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"ResponseCache.d.ts","sourceRoot":"","sources":["../../src/riot/ResponseCache.ts"],"names":[],"mappings":"AAWA,wBAAgB,uBAAuB,IAAI,MAAM,CAGhD;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAGjC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,MAAkC,EACvC,GAAG,GAAE,MAAM,MAAiB;IAO9B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAmB,GAAG,CAAC,GAAG,SAAS;IAI9D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAI7B,OAAO,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,CAAC,CAAC;IAUb,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAmB/B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,OAAO;CAGhB"}
@@ -15,13 +15,19 @@ export class FileResponseCache {
15
15
  this.ttlMs = ttlMs;
16
16
  this.now = now;
17
17
  }
18
+ get(key, ttlMs = this.ttlMs) {
19
+ return this.read(key, ttlMs);
20
+ }
21
+ set(key, value) {
22
+ this.write(key, value);
23
+ }
18
24
  async through(key, fetcher, options) {
19
- const fresh = this.read(key, options?.ttlMs);
25
+ const fresh = this.get(key, options?.ttlMs);
20
26
  if (fresh !== undefined) {
21
27
  return fresh;
22
28
  }
23
29
  const value = await fetcher();
24
- this.write(key, value);
30
+ this.set(key, value);
25
31
  return value;
26
32
  }
27
33
  forget(keyPrefix) {
@@ -39,9 +45,7 @@ export class FileResponseCache {
39
45
  fs.unlinkSync(fullPath);
40
46
  }
41
47
  }
42
- catch {
43
- // ignore corrupted or unreadable cache file
44
- }
48
+ catch { }
45
49
  }
46
50
  }
47
51
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseCache.js","sourceRoot":"","sources":["../../src/riot/ResponseCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResponseCache.js","sourceRoot":"","sources":["../../src/riot/ResponseCache.ts"],"names":[],"mappings":"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"}