halo-infinite-api 14.2.2 → 14.3.1
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.
- package/.github/workflows/publish.yml +4 -5
- package/coverage/lcov-report/authentication/halo-authentication-client.ts.html +1 -1
- package/coverage/lcov-report/authentication/index.html +1 -1
- package/coverage/lcov-report/authentication/xbox-authentication-client.ts.html +1 -1
- package/coverage/lcov-report/core/halo-infinite-client.ts.html +97 -61
- package/coverage/lcov-report/core/index.html +15 -15
- package/coverage/lcov-report/core/request-policy.ts.html +1 -1
- package/coverage/lcov-report/core/token-persisters/in-memory-token-persister.ts.html +1 -1
- package/coverage/lcov-report/core/token-persisters/index.html +1 -1
- package/coverage/lcov-report/core/token-persisters/local-storage-token-persister.ts.html +1 -1
- package/coverage/lcov-report/core/token-persisters/node-fs-token-persister.ts.html +1 -1
- package/coverage/lcov-report/core/token-persisters/token-persister.ts.html +1 -1
- package/coverage/lcov-report/core/token-providers/auto-token-provider.ts.html +1 -1
- package/coverage/lcov-report/core/token-providers/index.html +1 -1
- package/coverage/lcov-report/core/token-providers/spartan-token-provider.ts.html +1 -1
- package/coverage/lcov-report/core/token-providers/static-xsts-ticket-token-spartan-token-provider.ts.html +1 -1
- package/coverage/lcov-report/core/token-providers/xbox-token-provider.ts.html +1 -1
- package/coverage/lcov-report/core/xbox-client.ts.html +1 -1
- package/coverage/lcov-report/endpoints/halo-core-endpoints.ts.html +1 -1
- package/coverage/lcov-report/endpoints/index.html +1 -1
- package/coverage/lcov-report/index.html +29 -29
- package/coverage/lcov-report/models/halo-infinite/api-formatted-date.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/asset-kind.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/asset-version-link.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/asset.ts.html +2 -2
- package/coverage/lcov-report/models/halo-infinite/ban-message.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/ban-summary.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/csr-season.ts.html +112 -0
- package/coverage/lcov-report/models/halo-infinite/game-variant-category.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/index.html +23 -8
- package/coverage/lcov-report/models/halo-infinite/match-count.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/match-info.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/match-outcome.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/match-skill.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/match-stats.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/match-type.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/matches-privacy.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/medals-metadata-file.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/player-match-history.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/playlist-csr-container.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/playlist-csr.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/playlist-experience.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/playlist.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/progression-file.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/season.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/service-record.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/settings.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/skill-result.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/stats.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/user-info.ts.html +1 -1
- package/coverage/lcov-report/models/index.html +1 -1
- package/coverage/lcov-report/models/spartan-token-proof.ts.html +1 -1
- package/coverage/lcov-report/models/spartan-token-request.ts.html +1 -1
- package/coverage/lcov-report/models/spartan-token.ts.html +1 -1
- package/coverage/lcov-report/models/xbox-ticket.ts.html +1 -1
- package/coverage/lcov-report/types/import-meta.d.ts.html +1 -1
- package/coverage/lcov-report/types/index.html +1 -1
- package/coverage/lcov-report/util/date-time.ts.html +1 -1
- package/coverage/lcov-report/util/expiry-token-cache.ts.html +18 -18
- package/coverage/lcov-report/util/fetch-function.ts.html +1 -1
- package/coverage/lcov-report/util/global-contants.ts.html +1 -1
- package/coverage/lcov-report/util/index.html +14 -14
- package/coverage/lcov-report/util/keyed-expiry-token-cache.ts.html +21 -21
- package/coverage/lcov-report/util/request-error.ts.html +7 -7
- package/coverage/lcov-report/util/resolvable-promise.ts.html +12 -12
- package/coverage/lcov-report/util/xuid.ts.html +1 -1
- package/coverage/lcov.info +217 -191
- package/dist/index.cjs +7 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/halo-infinite-client.ts +65 -53
- package/src/models/halo-infinite/asset.ts +1 -1
- package/src/models/halo-infinite/csr-season.ts +9 -0
|
@@ -6,6 +6,7 @@ on:
|
|
|
6
6
|
- "[0-9]+.[0-9]+.[0-9]+"
|
|
7
7
|
|
|
8
8
|
permissions:
|
|
9
|
+
id-token: write
|
|
9
10
|
contents: write # for creating a release
|
|
10
11
|
packages: write
|
|
11
12
|
|
|
@@ -15,14 +16,14 @@ jobs:
|
|
|
15
16
|
runs-on: ubuntu-latest
|
|
16
17
|
steps:
|
|
17
18
|
- name: Checkout
|
|
18
|
-
uses: actions/checkout@
|
|
19
|
+
uses: actions/checkout@v6
|
|
19
20
|
with:
|
|
20
21
|
fetch-depth: 0
|
|
21
22
|
|
|
22
23
|
- name: Use Node.js 20
|
|
23
|
-
uses: actions/setup-node@
|
|
24
|
+
uses: actions/setup-node@v6
|
|
24
25
|
with:
|
|
25
|
-
node-version:
|
|
26
|
+
node-version: 24
|
|
26
27
|
registry-url: https://registry.npmjs.org
|
|
27
28
|
cache: "npm"
|
|
28
29
|
|
|
@@ -47,8 +48,6 @@ jobs:
|
|
|
47
48
|
fi
|
|
48
49
|
|
|
49
50
|
- name: Publish to npm
|
|
50
|
-
env:
|
|
51
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
52
51
|
run: |
|
|
53
52
|
npm publish --access public
|
|
54
53
|
|
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
380
380
|
Code coverage generated by
|
|
381
381
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
382
|
-
at 2026-
|
|
382
|
+
at 2026-04-05T17:36:27.841Z
|
|
383
383
|
</div>
|
|
384
384
|
<script src="../prettify.js"></script>
|
|
385
385
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2026-
|
|
119
|
+
at 2026-04-05T17:36:27.841Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -580,7 +580,7 @@
|
|
|
580
580
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
581
581
|
Code coverage generated by
|
|
582
582
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
583
|
-
at 2026-
|
|
583
|
+
at 2026-04-05T17:36:27.841Z
|
|
584
584
|
</div>
|
|
585
585
|
<script src="../prettify.js"></script>
|
|
586
586
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">43.8% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>237/541</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">17.85% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>5/
|
|
42
|
+
<span class='fraction'>5/28</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">43.8% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>237/541</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -592,7 +592,20 @@
|
|
|
592
592
|
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
593
|
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
594
|
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
-
<a name='L530'></a><a href='#L530'>530</a
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
+
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
+
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
+
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
+
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
+
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
+
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
+
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
+
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
+
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
+
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
+
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
+
<a name='L542'></a><a href='#L542'>542</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
608
|
+
<span class="cline-any cline-yes">1x</span>
|
|
596
609
|
<span class="cline-any cline-yes">1x</span>
|
|
597
610
|
<span class="cline-any cline-yes">1x</span>
|
|
598
611
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1118,6 +1131,17 @@
|
|
|
1118
1131
|
<span class="cline-any cline-no"> </span>
|
|
1119
1132
|
<span class="cline-any cline-no"> </span>
|
|
1120
1133
|
<span class="cline-any cline-no"> </span>
|
|
1134
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1135
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1136
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1137
|
+
<span class="cline-any cline-no"> </span>
|
|
1138
|
+
<span class="cline-any cline-no"> </span>
|
|
1139
|
+
<span class="cline-any cline-no"> </span>
|
|
1140
|
+
<span class="cline-any cline-no"> </span>
|
|
1141
|
+
<span class="cline-any cline-no"> </span>
|
|
1142
|
+
<span class="cline-any cline-no"> </span>
|
|
1143
|
+
<span class="cline-any cline-no"> </span>
|
|
1144
|
+
<span class="cline-any cline-no"> </span>
|
|
1121
1145
|
<span class="cline-any cline-no"> </span>
|
|
1122
1146
|
<span class="cline-any cline-yes">1x</span>
|
|
1123
1147
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1154,8 +1178,9 @@ import { DateTime } from "luxon";
|
|
|
1154
1178
|
import { wrapPlayerId, unwrapPlayerId } from "../util/xuid";
|
|
1155
1179
|
import { SeasonCalendarContainer } from "../models/halo-infinite/season";
|
|
1156
1180
|
import { Settings } from "../models/halo-infinite/settings";
|
|
1157
|
-
import { MatchCount } from "
|
|
1181
|
+
import { MatchCount } from "../models/halo-infinite/match-count";
|
|
1158
1182
|
import { BanMessage } from "../models/halo-infinite/ban-message";
|
|
1183
|
+
import { CsrSeasonCalendarContainer } from "../models/halo-infinite/csr-season";
|
|
1159
1184
|
|
|
1160
1185
|
export interface ResultContainer<TValue> {
|
|
1161
1186
|
Id: string;
|
|
@@ -1204,10 +1229,10 @@ export class HaloInfiniteClient {
|
|
|
1204
1229
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.SettingsOrigin}.${</span>
|
|
1205
1230
|
<span class="cstat-no" title="statement not covered" > HaloCoreEndpoints.ServiceDomain</span>
|
|
1206
1231
|
<span class="cstat-no" title="statement not covered" > }/oban/flight-configurations/titles/hi/audiences/retail/players/${wrapPlayerId(</span>
|
|
1207
|
-
<span class="cstat-no" title="statement not covered" > xuid
|
|
1232
|
+
<span class="cstat-no" title="statement not covered" > xuid,</span>
|
|
1208
1233
|
<span class="cstat-no" title="statement not covered" > )}/active`,</span>
|
|
1209
1234
|
<span class="cstat-no" title="statement not covered" > { method: "get" },</span>
|
|
1210
|
-
<span class="cstat-no" title="statement not covered" > false
|
|
1235
|
+
<span class="cstat-no" title="statement not covered" > false,</span>
|
|
1211
1236
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1212
1237
|
<span class="cstat-no" title="statement not covered" > const {</span>
|
|
1213
1238
|
<span class="cstat-no" title="statement not covered" > FlightConfigurationId,</span>
|
|
@@ -1222,25 +1247,25 @@ export class HaloInfiniteClient {
|
|
|
1222
1247
|
<span class="cstat-no" title="statement not covered" > : DateTime.now().plus({ seconds: 5 }),</span>
|
|
1223
1248
|
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1224
1249
|
},
|
|
1225
|
-
<span class="fstat-no" title="function not covered" > async (spartanToken) => this.clearanceMap.get(spartanToken) ?? null
|
|
1250
|
+
<span class="fstat-no" title="function not covered" > async (spartanToken) => this.clearanceMap.get(spartanToken) ?? null,</span>
|
|
1226
1251
|
);
|
|
1227
1252
|
|
|
1228
1253
|
constructor(
|
|
1229
1254
|
private readonly spartanTokenProvider: SpartanTokenProvider,
|
|
1230
|
-
private readonly fetchFn: FetchFunction = defaultFetch
|
|
1255
|
+
private readonly fetchFn: FetchFunction = defaultFetch,
|
|
1231
1256
|
) {}
|
|
1232
1257
|
|
|
1233
1258
|
protected async executeRequest(
|
|
1234
1259
|
url: string,
|
|
1235
1260
|
init: RequestInit,
|
|
1236
|
-
skipAuth: boolean
|
|
1261
|
+
skipAuth: boolean,
|
|
1237
1262
|
) {
|
|
1238
1263
|
const failureHandler = unauthorizedRetryPolicy.onFailure(
|
|
1239
1264
|
async ({ handled }) => {
|
|
1240
1265
|
if (handled) {
|
|
1241
1266
|
await this.spartanTokenProvider.clearSpartanToken();
|
|
1242
1267
|
}
|
|
1243
|
-
}
|
|
1268
|
+
},
|
|
1244
1269
|
);
|
|
1245
1270
|
try {
|
|
1246
1271
|
return await unauthorizedRetryPolicy.execute(async () => {
|
|
@@ -1254,7 +1279,7 @@ export class HaloInfiniteClient {
|
|
|
1254
1279
|
if (!skipAuth) {
|
|
1255
1280
|
headers.set(
|
|
1256
1281
|
"x-343-authorization-spartan",
|
|
1257
|
-
await this.spartanTokenProvider.getSpartanToken()
|
|
1282
|
+
await this.spartanTokenProvider.getSpartanToken(),
|
|
1258
1283
|
);
|
|
1259
1284
|
}
|
|
1260
1285
|
|
|
@@ -1277,7 +1302,7 @@ export class HaloInfiniteClient {
|
|
|
1277
1302
|
protected async executeJsonRequest<T>(
|
|
1278
1303
|
url: string,
|
|
1279
1304
|
init: RequestInit,
|
|
1280
|
-
skipAuth?: boolean
|
|
1305
|
+
skipAuth?: boolean,
|
|
1281
1306
|
) {
|
|
1282
1307
|
const response = await this.executeRequest(url, init, skipAuth ?? false);
|
|
1283
1308
|
|
|
@@ -1294,7 +1319,7 @@ export class HaloInfiniteClient {
|
|
|
1294
1319
|
<span class="cstat-no" title="statement not covered" > let resultsContainer: ResultsContainer<T>;</span>
|
|
1295
1320
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1296
1321
|
<span class="cstat-no" title="statement not covered" > resultsContainer = await this.executeJsonRequest<ResultsContainer<T>>(</span>
|
|
1297
|
-
<span class="cstat-no" title="statement not covered" > ...args
|
|
1322
|
+
<span class="cstat-no" title="statement not covered" > ...args,</span>
|
|
1298
1323
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1299
1324
|
<span class="cstat-no" title="statement not covered" > } catch (e) {</span>
|
|
1300
1325
|
<span class="cstat-no" title="statement not covered" > if (e instanceof RequestError && e.response.status === 404) {</span>
|
|
@@ -1323,7 +1348,7 @@ export class HaloInfiniteClient {
|
|
|
1323
1348
|
<span class="cstat-no" title="statement not covered" > count: count.toString(),</span>
|
|
1324
1349
|
<span class="cstat-no" title="statement not covered" > start: start.toString(),</span>
|
|
1325
1350
|
<span class="cstat-no" title="statement not covered" > })}`,</span>
|
|
1326
|
-
<span class="cstat-no" title="statement not covered" > ...rest
|
|
1351
|
+
<span class="cstat-no" title="statement not covered" > ...rest,</span>
|
|
1327
1352
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1328
1353
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
1329
1354
|
<span class="cstat-no" title="statement not covered" > return result.Results;</span>
|
|
@@ -1337,7 +1362,7 @@ export class HaloInfiniteClient {
|
|
|
1337
1362
|
<span class="cstat-no" title="statement not covered" > playlistId: string,</span>
|
|
1338
1363
|
<span class="cstat-no" title="statement not covered" > playerIds: string[],</span>
|
|
1339
1364
|
<span class="cstat-no" title="statement not covered" > seasonId?: string,</span>
|
|
1340
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1365
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1341
1366
|
<span class="cstat-no" title="statement not covered" > ) => {</span>
|
|
1342
1367
|
<span class="cstat-no" title="statement not covered" > const urlParams = new URLSearchParams({</span>
|
|
1343
1368
|
<span class="cstat-no" title="statement not covered" > players: playerIds.map(wrapPlayerId).join(","),</span>
|
|
@@ -1350,7 +1375,7 @@ export class HaloInfiniteClient {
|
|
|
1350
1375
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1351
1376
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1352
1377
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1353
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1378
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1354
1379
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1355
1380
|
};
|
|
1356
1381
|
|
|
@@ -1359,7 +1384,7 @@ export class HaloInfiniteClient {
|
|
|
1359
1384
|
*/
|
|
1360
1385
|
public getUser = <span class="fstat-no" title="function not covered" >(</span>
|
|
1361
1386
|
<span class="cstat-no" title="statement not covered" > gamerTag: string,</span>
|
|
1362
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1387
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1363
1388
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1364
1389
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<UserInfo>(</span>
|
|
1365
1390
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.Profile}.${HaloCoreEndpoints.ServiceDomain}/users/gt(${gamerTag})`,</span>
|
|
@@ -1367,7 +1392,7 @@ export class HaloInfiniteClient {
|
|
|
1367
1392
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1368
1393
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1369
1394
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1370
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1395
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1371
1396
|
);
|
|
1372
1397
|
|
|
1373
1398
|
/** Get gamertag info for several players.
|
|
@@ -1375,7 +1400,7 @@ export class HaloInfiniteClient {
|
|
|
1375
1400
|
*/
|
|
1376
1401
|
public getUsers = <span class="fstat-no" title="function not covered" >(</span>
|
|
1377
1402
|
<span class="cstat-no" title="statement not covered" > xuids: string[],</span>
|
|
1378
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1403
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1379
1404
|
<span class="cstat-no" title="statement not covered" > ) => {</span>
|
|
1380
1405
|
<span class="cstat-no" title="statement not covered" > return this.executeJsonRequest<UserInfo[]>(</span>
|
|
1381
1406
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.Profile}.${</span>
|
|
@@ -1384,7 +1409,7 @@ export class HaloInfiniteClient {
|
|
|
1384
1409
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1385
1410
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1386
1411
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1387
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1412
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1388
1413
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1389
1414
|
};
|
|
1390
1415
|
|
|
@@ -1394,18 +1419,18 @@ export class HaloInfiniteClient {
|
|
|
1394
1419
|
public getUserServiceRecord = <span class="fstat-no" title="function not covered" >(</span>
|
|
1395
1420
|
<span class="cstat-no" title="statement not covered" > gamerTagOrWrappedXuid: string,</span>
|
|
1396
1421
|
<span class="cstat-no" title="statement not covered" > queryParameters?: { seasonId?: string; playlistAssetId?: string },</span>
|
|
1397
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1422
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1398
1423
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1399
1424
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<ServiceRecord>(</span>
|
|
1400
1425
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.StatsOrigin}.${</span>
|
|
1401
1426
|
<span class="cstat-no" title="statement not covered" > HaloCoreEndpoints.ServiceDomain</span>
|
|
1402
1427
|
<span class="cstat-no" title="statement not covered" > }/hi/players/${gamerTagOrWrappedXuid}/Matchmade/servicerecord?${new URLSearchParams(</span>
|
|
1403
|
-
<span class="cstat-no" title="statement not covered" > queryParameters
|
|
1428
|
+
<span class="cstat-no" title="statement not covered" > queryParameters,</span>
|
|
1404
1429
|
<span class="cstat-no" title="statement not covered" > ).toString()}`,</span>
|
|
1405
1430
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1406
1431
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1407
1432
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1408
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1433
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1409
1434
|
);
|
|
1410
1435
|
|
|
1411
1436
|
/** Get playlist information
|
|
@@ -1413,10 +1438,10 @@ export class HaloInfiniteClient {
|
|
|
1413
1438
|
*/
|
|
1414
1439
|
public getPlaylist = <span class="fstat-no" title="function not covered" >async (</span>
|
|
1415
1440
|
<span class="cstat-no" title="statement not covered" > playlistId: string,</span>
|
|
1416
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1441
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1417
1442
|
<span class="cstat-no" title="statement not covered" > ) => {</span>
|
|
1418
1443
|
<span class="cstat-no" title="statement not covered" > const clearanceToken = await this.clearanceCache.getToken(</span>
|
|
1419
|
-
<span class="cstat-no" title="statement not covered" > await this.spartanTokenProvider.getSpartanToken()
|
|
1444
|
+
<span class="cstat-no" title="statement not covered" > await this.spartanTokenProvider.getSpartanToken(),</span>
|
|
1420
1445
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1421
1446
|
<span class="cstat-no" title="statement not covered" > return this.executeJsonRequest<Playlist>(</span>
|
|
1422
1447
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/multiplayer/file/playlists/assets/${playlistId}.json`,</span>
|
|
@@ -1427,7 +1452,7 @@ export class HaloInfiniteClient {
|
|
|
1427
1452
|
<span class="cstat-no" title="statement not covered" > ...init?.headers,</span>
|
|
1428
1453
|
<span class="cstat-no" title="statement not covered" > "343-clearance": clearanceToken.FlightConfigurationId,</span>
|
|
1429
1454
|
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1430
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1455
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1431
1456
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1432
1457
|
};
|
|
1433
1458
|
|
|
@@ -1436,7 +1461,7 @@ export class HaloInfiniteClient {
|
|
|
1436
1461
|
<span class="cstat-no" title="statement not covered" > type: MatchType = MatchType.All,</span>
|
|
1437
1462
|
<span class="cstat-no" title="statement not covered" > count: number = 25,</span>
|
|
1438
1463
|
<span class="cstat-no" title="statement not covered" > start: number = 0,</span>
|
|
1439
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1464
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1440
1465
|
<span class="cstat-no" title="statement not covered" > ) => {</span>
|
|
1441
1466
|
<span class="cstat-no" title="statement not covered" > let params: Record<string, string> = {};</span>
|
|
1442
1467
|
<span class="cstat-no" title="statement not covered" > if (type !== MatchType.All) {</span>
|
|
@@ -1452,13 +1477,13 @@ export class HaloInfiniteClient {
|
|
|
1452
1477
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1453
1478
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1454
1479
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1455
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1480
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1456
1481
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1457
1482
|
};
|
|
1458
1483
|
|
|
1459
1484
|
public getPlayerMatchCount = <span class="fstat-no" title="function not covered" >(</span>
|
|
1460
1485
|
<span class="cstat-no" title="statement not covered" > playerXuid: string,</span>
|
|
1461
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1486
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1462
1487
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1463
1488
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<MatchCount>(</span>
|
|
1464
1489
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.StatsOrigin}.${</span>
|
|
@@ -1467,25 +1492,25 @@ export class HaloInfiniteClient {
|
|
|
1467
1492
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1468
1493
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1469
1494
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1470
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1495
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1471
1496
|
);
|
|
1472
1497
|
|
|
1473
1498
|
public getMatchStats = <span class="fstat-no" title="function not covered" >(</span>
|
|
1474
1499
|
<span class="cstat-no" title="statement not covered" > matchId: string,</span>
|
|
1475
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1500
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1476
1501
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1477
1502
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<MatchStats>(</span>
|
|
1478
1503
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.StatsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/matches/${matchId}/stats`,</span>
|
|
1479
1504
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1480
1505
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1481
1506
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1482
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1507
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1483
1508
|
);
|
|
1484
1509
|
|
|
1485
1510
|
public getMatchSkill = <span class="fstat-no" title="function not covered" >async (</span>
|
|
1486
1511
|
<span class="cstat-no" title="statement not covered" > matchId: string,</span>
|
|
1487
1512
|
<span class="cstat-no" title="statement not covered" > playerIds: string[],</span>
|
|
1488
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1513
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1489
1514
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1490
1515
|
<span class="cstat-no" title="statement not covered" > await this.executeResultsRequest<MatchSkill>(</span>
|
|
1491
1516
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.SkillOrigin}.${</span>
|
|
@@ -1496,21 +1521,21 @@ export class HaloInfiniteClient {
|
|
|
1496
1521
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1497
1522
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1498
1523
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1499
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1524
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1500
1525
|
);
|
|
1501
1526
|
|
|
1502
1527
|
/** Gets authoring metadata about a specific asset. */
|
|
1503
1528
|
public getAsset = <span class="fstat-no" title="function not covered" ><TAssetType extends keyof AssetKindTypeMap>(</span>
|
|
1504
1529
|
<span class="cstat-no" title="statement not covered" > assetType: TAssetType,</span>
|
|
1505
1530
|
<span class="cstat-no" title="statement not covered" > assetId: string,</span>
|
|
1506
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1531
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1507
1532
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1508
1533
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<AssetKindTypeMap[TAssetType]>(</span>
|
|
1509
1534
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.DiscoveryOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/${assetKindUrlMap[assetType]}/${assetId}`,</span>
|
|
1510
1535
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1511
1536
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1512
1537
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1513
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1538
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1514
1539
|
);
|
|
1515
1540
|
|
|
1516
1541
|
/** Gets metadata related to a concrete version of a specified asset. */
|
|
@@ -1518,7 +1543,7 @@ export class HaloInfiniteClient {
|
|
|
1518
1543
|
<span class="cstat-no" title="statement not covered" > assetType: TAssetType,</span>
|
|
1519
1544
|
<span class="cstat-no" title="statement not covered" > assetId: string,</span>
|
|
1520
1545
|
<span class="cstat-no" title="statement not covered" > versionId: string,</span>
|
|
1521
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1546
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1522
1547
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1523
1548
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<AssetKindTypeMap[TAssetType]>(</span>
|
|
1524
1549
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.DiscoveryOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/${assetKindUrlMap[assetType]}/${assetId}/versions/${versionId}`,</span>
|
|
@@ -1528,24 +1553,24 @@ export class HaloInfiniteClient {
|
|
|
1528
1553
|
<span class="cstat-no" title="statement not covered" > Origin: "https://www.halowaypoint.com",</span>
|
|
1529
1554
|
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1530
1555
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1531
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1556
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1532
1557
|
);
|
|
1533
1558
|
|
|
1534
1559
|
// Don't be fooled, the "profile" version of this endpoint is worthless
|
|
1535
1560
|
public getCurrentUser = (
|
|
1536
|
-
init?: Omit<RequestInit, "body" | "method">
|
|
1561
|
+
init?: Omit<RequestInit, "body" | "method">,
|
|
1537
1562
|
): Promise<{ xuid: string; notificationsReadDate: string }> =>
|
|
1538
1563
|
this.executeJsonRequest(
|
|
1539
1564
|
`https://${HaloCoreEndpoints.CommsOrigin}.${HaloCoreEndpoints.ServiceDomain}/users/me`,
|
|
1540
1565
|
{
|
|
1541
1566
|
...init,
|
|
1542
1567
|
method: "get",
|
|
1543
|
-
}
|
|
1568
|
+
},
|
|
1544
1569
|
);
|
|
1545
1570
|
|
|
1546
1571
|
public getMatchesPrivacy = <span class="fstat-no" title="function not covered" >(</span>
|
|
1547
1572
|
<span class="cstat-no" title="statement not covered" > playerXuid: string,</span>
|
|
1548
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1573
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1549
1574
|
<span class="cstat-no" title="statement not covered" > ): Promise<MatchesPrivacy> =></span>
|
|
1550
1575
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1551
1576
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.StatsOrigin}.${</span>
|
|
@@ -1554,13 +1579,13 @@ export class HaloInfiniteClient {
|
|
|
1554
1579
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1555
1580
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1556
1581
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1557
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1582
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1558
1583
|
);
|
|
1559
1584
|
|
|
1560
1585
|
public updateMatchesPrivacy = <span class="fstat-no" title="function not covered" >(</span>
|
|
1561
1586
|
<span class="cstat-no" title="statement not covered" > playerXuid: string,</span>
|
|
1562
1587
|
<span class="cstat-no" title="statement not covered" > matchesPrivacy: MatchesPrivacy,</span>
|
|
1563
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1588
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1564
1589
|
<span class="cstat-no" title="statement not covered" > ): Promise<MatchesPrivacy> => {</span>
|
|
1565
1590
|
<span class="cstat-no" title="statement not covered" > const headers = new Headers(init?.headers);</span>
|
|
1566
1591
|
<span class="cstat-no" title="statement not covered" > headers.set("Content-Type", "application/json");</span>
|
|
@@ -1573,36 +1598,36 @@ export class HaloInfiniteClient {
|
|
|
1573
1598
|
<span class="cstat-no" title="statement not covered" > method: "put",</span>
|
|
1574
1599
|
<span class="cstat-no" title="statement not covered" > headers,</span>
|
|
1575
1600
|
<span class="cstat-no" title="statement not covered" > body: JSON.stringify({ matchesPrivacy }),</span>
|
|
1576
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1601
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1577
1602
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1578
1603
|
};
|
|
1579
1604
|
|
|
1580
1605
|
public getProgressionFile = <span class="fstat-no" title="function not covered" ><TFileType extends ProgressionFileType>(</span>
|
|
1581
1606
|
<span class="cstat-no" title="statement not covered" > filename: `${TFileType}/${string}.json`,</span>
|
|
1582
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1607
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1583
1608
|
<span class="cstat-no" title="statement not covered" > ): Promise<ProgressionFileTypeMap[TFileType]> =></span>
|
|
1584
1609
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1585
1610
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/Progression/file/${filename}`,</span>
|
|
1586
1611
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1587
1612
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1588
1613
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1589
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1614
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1590
1615
|
);
|
|
1591
1616
|
|
|
1592
1617
|
public getMedalsMetadataFile = <span class="fstat-no" title="function not covered" >(</span>
|
|
1593
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1618
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1594
1619
|
<span class="cstat-no" title="statement not covered" > ): Promise<MedalsMetadataFile> =></span>
|
|
1595
1620
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1596
1621
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/Waypoint/file/medals/metadata.json`,</span>
|
|
1597
1622
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1598
1623
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1599
1624
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1600
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1625
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1601
1626
|
);
|
|
1602
1627
|
|
|
1603
1628
|
public getBanSummary = <span class="fstat-no" title="function not covered" >(</span>
|
|
1604
1629
|
<span class="cstat-no" title="statement not covered" > xuids: string[],</span>
|
|
1605
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1630
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1606
1631
|
<span class="cstat-no" title="statement not covered" > ): Promise<BanSummary> =></span>
|
|
1607
1632
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1608
1633
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.BanProcessorOrigin}.${</span>
|
|
@@ -1611,35 +1636,46 @@ export class HaloInfiniteClient {
|
|
|
1611
1636
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1612
1637
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1613
1638
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1614
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1639
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1615
1640
|
);
|
|
1616
1641
|
|
|
1617
1642
|
public <span class="fstat-no" title="function not covered" >getBanMessage(</span>
|
|
1618
1643
|
<span class="cstat-no" title="statement not covered" > banPath: string,</span>
|
|
1619
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1644
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1620
1645
|
<span class="cstat-no" title="statement not covered" > ): Promise<BanMessage> {</span>
|
|
1621
1646
|
<span class="cstat-no" title="statement not covered" > return this.executeJsonRequest(</span>
|
|
1622
1647
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/banning/file/${banPath}`,</span>
|
|
1623
1648
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1624
1649
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1625
1650
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1626
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1651
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1627
1652
|
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1628
1653
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1629
1654
|
|
|
1630
1655
|
public getSeasonCalendar = <span class="fstat-no" title="function not covered" >(</span>
|
|
1631
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1656
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1632
1657
|
<span class="cstat-no" title="statement not covered" > ): Promise<SeasonCalendarContainer> =></span>
|
|
1633
1658
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1634
1659
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/progression/file/calendars/seasons/seasoncalendar.json`,</span>
|
|
1635
1660
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1636
1661
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1637
1662
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1638
|
-
<span class="cstat-no" title="statement not covered" > }
|
|
1663
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1664
|
+
);
|
|
1665
|
+
|
|
1666
|
+
public getCsrSeasonCalendar = <span class="fstat-no" title="function not covered" >(</span>
|
|
1667
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1668
|
+
<span class="cstat-no" title="statement not covered" > ): Promise<CsrSeasonCalendarContainer> =></span>
|
|
1669
|
+
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1670
|
+
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/Progression/file/Csr/Calendars/CsrSeasonCalendar.json`,</span>
|
|
1671
|
+
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1672
|
+
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1673
|
+
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1674
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1639
1675
|
);
|
|
1640
1676
|
|
|
1641
1677
|
public getSettings = <span class="fstat-no" title="function not covered" >(</span>
|
|
1642
|
-
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">
|
|
1678
|
+
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method">,</span>
|
|
1643
1679
|
<span class="cstat-no" title="statement not covered" > ): Promise<Settings> =></span>
|
|
1644
1680
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest(</span>
|
|
1645
1681
|
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.SettingsOrigin}.${HaloCoreEndpoints.ServiceDomain}/settings/hipc/e2a0a7c6-6efe-42af-9283-c2ab73250c48`,</span>
|
|
@@ -1647,7 +1683,7 @@ export class HaloInfiniteClient {
|
|
|
1647
1683
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1648
1684
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1649
1685
|
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1650
|
-
<span class="cstat-no" title="statement not covered" > true
|
|
1686
|
+
<span class="cstat-no" title="statement not covered" > true,</span>
|
|
1651
1687
|
);
|
|
1652
1688
|
}
|
|
1653
1689
|
</pre></td></tr></table></pre>
|
|
@@ -1657,7 +1693,7 @@ export class HaloInfiniteClient {
|
|
|
1657
1693
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1658
1694
|
Code coverage generated by
|
|
1659
1695
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1660
|
-
at 2026-
|
|
1696
|
+
at 2026-04-05T17:36:27.841Z
|
|
1661
1697
|
</div>
|
|
1662
1698
|
<script src="../prettify.js"></script>
|
|
1663
1699
|
<script>
|