halo-infinite-api 14.2.1 → 14.2.2
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/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 +57 -9
- package/coverage/lcov-report/core/index.html +14 -14
- 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 +18 -18
- 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 +42 -15
- 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 +2 -2
- package/coverage/lcov-report/endpoints/index.html +1 -1
- package/coverage/lcov-report/index.html +60 -45
- 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 +1 -1
- package/coverage/lcov-report/models/halo-infinite/ban-message.ts.html +97 -0
- package/coverage/lcov-report/models/halo-infinite/ban-summary.ts.html +28 -4
- package/coverage/lcov-report/models/halo-infinite/game-variant-category.ts.html +1 -1
- package/coverage/lcov-report/models/halo-infinite/index.html +25 -10
- 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 +100 -0
- package/coverage/lcov-report/types/index.html +116 -0
- package/coverage/lcov-report/util/date-time.ts.html +21 -21
- package/coverage/lcov-report/util/expiry-token-cache.ts.html +2 -2
- 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 +20 -20
- package/coverage/lcov-report/util/keyed-expiry-token-cache.ts.html +27 -27
- package/coverage/lcov-report/util/request-error.ts.html +2 -2
- package/coverage/lcov-report/util/resolvable-promise.ts.html +32 -32
- package/coverage/lcov-report/util/xuid.ts.html +3 -3
- package/coverage/lcov.info +337 -272
- package/dist/core/token-persisters/index.cjs +12 -6
- package/dist/core/token-persisters/index.cjs.map +1 -1
- package/dist/core/token-persisters/index.js +12 -6
- package/dist/core/token-persisters/index.js.map +1 -1
- package/dist/index.cjs +22 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +21 -2
- package/dist/index.js.map +1 -1
- package/jest.config.ts +1 -0
- package/jest.setup.ts +5 -0
- package/package.json +2 -2
- package/scripts/jest-runner.mjs +31 -0
- package/src/core/halo-infinite-client.ts +17 -1
- package/src/core/token-persisters/node-fs-token-persister.ts +15 -6
- package/src/endpoints/halo-core-endpoints.ts +1 -1
- package/src/index.ts +7 -2
- package/src/models/halo-infinite/ban-message.ts +4 -0
- package/src/models/halo-infinite/ban-summary.ts +8 -0
- package/src/types/import-meta.d.ts +5 -0
- package/tests/types/import-meta.d.ts +5 -0
- package/tsconfig.app.json +1 -6
- package/tsconfig.json +9 -10
|
@@ -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
|
|
382
|
+
at 2026-01-09T16:49:48.934Z
|
|
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
|
|
119
|
+
at 2026-01-09T16:49:48.934Z
|
|
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
|
|
583
|
+
at 2026-01-09T16:49:48.934Z
|
|
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">44.
|
|
26
|
+
<span class="strong">44.04% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>233/529</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">18.51% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>5/
|
|
42
|
+
<span class='fraction'>5/27</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">44.
|
|
47
|
+
<span class="strong">44.04% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>233/529</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -576,7 +576,24 @@
|
|
|
576
576
|
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
577
|
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
578
|
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
-
<a name='L514'></a><a href='#L514'>514</a
|
|
579
|
+
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
+
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
+
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
+
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
+
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
+
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
+
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
+
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
+
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
+
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
+
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
+
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
+
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
+
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
+
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
+
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
596
|
+
<span class="cline-any cline-yes">1x</span>
|
|
580
597
|
<span class="cline-any cline-yes">1x</span>
|
|
581
598
|
<span class="cline-any cline-yes">1x</span>
|
|
582
599
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -920,6 +937,8 @@
|
|
|
920
937
|
<span class="cline-any cline-no"> </span>
|
|
921
938
|
<span class="cline-any cline-no"> </span>
|
|
922
939
|
<span class="cline-any cline-no"> </span>
|
|
940
|
+
<span class="cline-any cline-no"> </span>
|
|
941
|
+
<span class="cline-any cline-no"> </span>
|
|
923
942
|
<span class="cline-any cline-yes">1x</span>
|
|
924
943
|
<span class="cline-any cline-yes">1x</span>
|
|
925
944
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1075,6 +1094,19 @@
|
|
|
1075
1094
|
<span class="cline-any cline-no"> </span>
|
|
1076
1095
|
<span class="cline-any cline-no"> </span>
|
|
1077
1096
|
<span class="cline-any cline-no"> </span>
|
|
1097
|
+
<span class="cline-any cline-no"> </span>
|
|
1098
|
+
<span class="cline-any cline-no"> </span>
|
|
1099
|
+
<span class="cline-any cline-no"> </span>
|
|
1100
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1101
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1102
|
+
<span class="cline-any cline-no"> </span>
|
|
1103
|
+
<span class="cline-any cline-no"> </span>
|
|
1104
|
+
<span class="cline-any cline-no"> </span>
|
|
1105
|
+
<span class="cline-any cline-no"> </span>
|
|
1106
|
+
<span class="cline-any cline-no"> </span>
|
|
1107
|
+
<span class="cline-any cline-no"> </span>
|
|
1108
|
+
<span class="cline-any cline-no"> </span>
|
|
1109
|
+
<span class="cline-any cline-no"> </span>
|
|
1078
1110
|
<span class="cline-any cline-yes">1x</span>
|
|
1079
1111
|
<span class="cline-any cline-yes">1x</span>
|
|
1080
1112
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1123,6 +1155,7 @@ import { wrapPlayerId, unwrapPlayerId } from "../util/xuid";
|
|
|
1123
1155
|
import { SeasonCalendarContainer } from "../models/halo-infinite/season";
|
|
1124
1156
|
import { Settings } from "../models/halo-infinite/settings";
|
|
1125
1157
|
import { MatchCount } from "src/models/halo-infinite/match-count";
|
|
1158
|
+
import { BanMessage } from "../models/halo-infinite/ban-message";
|
|
1126
1159
|
|
|
1127
1160
|
export interface ResultContainer<TValue> {
|
|
1128
1161
|
Id: string;
|
|
@@ -1428,7 +1461,9 @@ export class HaloInfiniteClient {
|
|
|
1428
1461
|
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method"></span>
|
|
1429
1462
|
<span class="cstat-no" title="statement not covered" > ) =></span>
|
|
1430
1463
|
<span class="cstat-no" title="statement not covered" > this.executeJsonRequest<MatchCount>(</span>
|
|
1431
|
-
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.StatsOrigin}.${
|
|
1464
|
+
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.StatsOrigin}.${</span>
|
|
1465
|
+
<span class="cstat-no" title="statement not covered" > HaloCoreEndpoints.ServiceDomain</span>
|
|
1466
|
+
<span class="cstat-no" title="statement not covered" > }/hi/players/${wrapPlayerId(playerXuid)}/matches/count`,</span>
|
|
1432
1467
|
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1433
1468
|
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1434
1469
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
@@ -1578,6 +1613,19 @@ export class HaloInfiniteClient {
|
|
|
1578
1613
|
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1579
1614
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1580
1615
|
);
|
|
1616
|
+
|
|
1617
|
+
public <span class="fstat-no" title="function not covered" >getBanMessage(</span>
|
|
1618
|
+
<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"></span>
|
|
1620
|
+
<span class="cstat-no" title="statement not covered" > ): Promise<BanMessage> {</span>
|
|
1621
|
+
<span class="cstat-no" title="statement not covered" > return this.executeJsonRequest(</span>
|
|
1622
|
+
<span class="cstat-no" title="statement not covered" > `https://${HaloCoreEndpoints.GameCmsOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/banning/file/${banPath}`,</span>
|
|
1623
|
+
<span class="cstat-no" title="statement not covered" > {</span>
|
|
1624
|
+
<span class="cstat-no" title="statement not covered" > ...init,</span>
|
|
1625
|
+
<span class="cstat-no" title="statement not covered" > method: "get",</span>
|
|
1626
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1627
|
+
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1628
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1581
1629
|
|
|
1582
1630
|
public getSeasonCalendar = <span class="fstat-no" title="function not covered" >(</span>
|
|
1583
1631
|
<span class="cstat-no" title="statement not covered" > init?: Omit<RequestInit, "body" | "method"></span>
|
|
@@ -1609,7 +1657,7 @@ export class HaloInfiniteClient {
|
|
|
1609
1657
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1610
1658
|
Code coverage generated by
|
|
1611
1659
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1612
|
-
at
|
|
1660
|
+
at 2026-01-09T16:49:48.934Z
|
|
1613
1661
|
</div>
|
|
1614
1662
|
<script src="../prettify.js"></script>
|
|
1615
1663
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">37.
|
|
26
|
+
<span class="strong">37.5% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>240/640</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">37.
|
|
47
|
+
<span class="strong">37.5% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>240/640</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file low" data-value="halo-infinite-client.ts"><a href="halo-infinite-client.ts.html">halo-infinite-client.ts</a></td>
|
|
83
|
-
<td data-value="44.
|
|
83
|
+
<td data-value="44.04" class="pic low">
|
|
84
84
|
<div class="chart"><div class="cover-fill" style="width: 44%"></div><div class="cover-empty" style="width: 56%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="44.
|
|
87
|
-
<td data-value="
|
|
86
|
+
<td data-value="44.04" class="pct low">44.04%</td>
|
|
87
|
+
<td data-value="529" class="abs low">233/529</td>
|
|
88
88
|
<td data-value="88.88" class="pct high">88.88%</td>
|
|
89
89
|
<td data-value="9" class="abs high">8/9</td>
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="44.
|
|
93
|
-
<td data-value="
|
|
90
|
+
<td data-value="18.51" class="pct low">18.51%</td>
|
|
91
|
+
<td data-value="27" class="abs low">5/27</td>
|
|
92
|
+
<td data-value="44.04" class="pct low">44.04%</td>
|
|
93
|
+
<td data-value="529" class="abs low">233/529</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at
|
|
134
|
+
at 2026-01-09T16:49:48.934Z
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -91,7 +91,7 @@ export const unauthorizedRetryPolicy = retry(
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
94
|
-
at
|
|
94
|
+
at 2026-01-09T16:49:48.934Z
|
|
95
95
|
</div>
|
|
96
96
|
<script src="../prettify.js"></script>
|
|
97
97
|
<script>
|
|
@@ -115,7 +115,7 @@ export const inMemoryTokenPersister: TokenPersister = {
|
|
|
115
115
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
116
116
|
Code coverage generated by
|
|
117
117
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
118
|
-
at
|
|
118
|
+
at 2026-01-09T16:49:48.934Z
|
|
119
119
|
</div>
|
|
120
120
|
<script src="../../prettify.js"></script>
|
|
121
121
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">70.58% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>60/85</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">60% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>9/15</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">77.77% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>7/9</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">70.58% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>60/85</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -110,17 +110,17 @@
|
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
112
|
<td class="file high" data-value="node-fs-token-persister.ts"><a href="node-fs-token-persister.ts.html">node-fs-token-persister.ts</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
113
|
+
<td data-value="95.74" class="pic high">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="
|
|
116
|
+
<td data-value="95.74" class="pct high">95.74%</td>
|
|
117
|
+
<td data-value="47" class="abs high">45/47</td>
|
|
118
|
+
<td data-value="60" class="pct medium">60%</td>
|
|
119
|
+
<td data-value="10" class="abs medium">6/10</td>
|
|
120
120
|
<td data-value="100" class="pct high">100%</td>
|
|
121
|
-
<td data-value="
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="
|
|
121
|
+
<td data-value="4" class="abs high">4/4</td>
|
|
122
|
+
<td data-value="95.74" class="pct high">95.74%</td>
|
|
123
|
+
<td data-value="47" class="abs high">45/47</td>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at
|
|
149
|
+
at 2026-01-09T16:49:48.934Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="../../prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
127
|
-
at
|
|
127
|
+
at 2026-01-09T16:49:48.934Z
|
|
128
128
|
</div>
|
|
129
129
|
<script src="../../prettify.js"></script>
|
|
130
130
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">95.74% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>45/47</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">60% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>6/10</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>4/4</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">95.74% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>45/47</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -101,7 +101,20 @@
|
|
|
101
101
|
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
102
|
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
103
|
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
114
|
+
<span class="cline-any cline-yes">1x</span>
|
|
115
|
+
<span class="cline-any cline-yes">6x</span>
|
|
116
|
+
<span class="cline-any cline-yes">6x</span>
|
|
117
|
+
<span class="cline-any cline-yes">6x</span>
|
|
105
118
|
<span class="cline-any cline-yes">1x</span>
|
|
106
119
|
<span class="cline-any cline-yes">1x</span>
|
|
107
120
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -131,6 +144,11 @@
|
|
|
131
144
|
<span class="cline-any cline-yes">2x</span>
|
|
132
145
|
<span class="cline-any cline-yes">2x</span>
|
|
133
146
|
<span class="cline-any cline-yes">2x</span>
|
|
147
|
+
<span class="cline-any cline-yes">2x</span>
|
|
148
|
+
<span class="cline-any cline-yes">2x</span>
|
|
149
|
+
<span class="cline-any cline-yes">2x</span>
|
|
150
|
+
<span class="cline-any cline-yes">1x</span>
|
|
151
|
+
<span class="cline-any cline-yes">1x</span>
|
|
134
152
|
<span class="cline-any cline-yes">1x</span>
|
|
135
153
|
<span class="cline-any cline-yes">1x</span>
|
|
136
154
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -141,15 +159,19 @@
|
|
|
141
159
|
<span class="cline-any cline-yes">1x</span>
|
|
142
160
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { TokenPersister } from ".";
|
|
143
161
|
|
|
162
|
+
function escapeTokenNameForFilesystem(tokenName: string): string {
|
|
163
|
+
return tokenName.replace(/[^a-zA-Z0-9-_]/g, "_");
|
|
164
|
+
}
|
|
165
|
+
|
|
144
166
|
export const nodeFsTokenPersister: TokenPersister = {
|
|
145
167
|
load: async (tokenName) => {
|
|
146
168
|
const tokenDir =
|
|
147
169
|
process.env.TOKEN_ROOT<span class="branch-0 cbranch-no" title="branch not covered" > ||</span>
|
|
148
|
-
(await import("path")).join(
|
|
170
|
+
(await import("path")).join(import.meta.dirname, "./tokens");
|
|
149
171
|
try {
|
|
150
172
|
const json = await (
|
|
151
173
|
await import("fs/promises")
|
|
152
|
-
).readFile(`${tokenDir}/${tokenName}`, {
|
|
174
|
+
).readFile(`${tokenDir}/${escapeTokenNameForFilesystem(tokenName)}`, {
|
|
153
175
|
encoding: "utf-8",
|
|
154
176
|
});
|
|
155
177
|
return JSON.parse(json);
|
|
@@ -164,17 +186,22 @@ export const nodeFsTokenPersister: TokenPersister = {
|
|
|
164
186
|
save: async (tokenName, token) => {
|
|
165
187
|
const tokenDir =
|
|
166
188
|
process.env.TOKEN_ROOT<span class="branch-0 cbranch-no" title="branch not covered" > ||</span>
|
|
167
|
-
(await import("path")).join(
|
|
189
|
+
(await import("path")).join(import.meta.dirname, "./tokens");
|
|
168
190
|
await (await import("fs/promises")).mkdir(tokenDir, { recursive: true });
|
|
169
191
|
await (
|
|
170
192
|
await import("fs/promises")
|
|
171
|
-
).writeFile(
|
|
193
|
+
).writeFile(
|
|
194
|
+
`${tokenDir}/${escapeTokenNameForFilesystem(tokenName)}`,
|
|
195
|
+
JSON.stringify(token)
|
|
196
|
+
);
|
|
172
197
|
},
|
|
173
198
|
clear: async (tokenName) => {
|
|
174
199
|
const tokenDir =
|
|
175
200
|
process.env.TOKEN_ROOT<span class="branch-0 cbranch-no" title="branch not covered" > ||</span>
|
|
176
|
-
(await import("path")).join(
|
|
177
|
-
await (
|
|
201
|
+
(await import("path")).join(import.meta.dirname, "./tokens");
|
|
202
|
+
await (
|
|
203
|
+
await import("fs/promises")
|
|
204
|
+
).unlink(`${tokenDir}/${escapeTokenNameForFilesystem(tokenName)}`);
|
|
178
205
|
},
|
|
179
206
|
};
|
|
180
207
|
</pre></td></tr></table></pre>
|
|
@@ -184,7 +211,7 @@ export const nodeFsTokenPersister: TokenPersister = {
|
|
|
184
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
185
212
|
Code coverage generated by
|
|
186
213
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
187
|
-
at
|
|
214
|
+
at 2026-01-09T16:49:48.934Z
|
|
188
215
|
</div>
|
|
189
216
|
<script src="../../prettify.js"></script>
|
|
190
217
|
<script>
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
86
86
|
Code coverage generated by
|
|
87
87
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
88
|
-
at
|
|
88
|
+
at 2026-01-09T16:49:48.934Z
|
|
89
89
|
</div>
|
|
90
90
|
<script src="../../prettify.js"></script>
|
|
91
91
|
<script>
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
281
|
Code coverage generated by
|
|
282
282
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
-
at
|
|
283
|
+
at 2026-01-09T16:49:48.934Z
|
|
284
284
|
</div>
|
|
285
285
|
<script src="../../prettify.js"></script>
|
|
286
286
|
<script>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at
|
|
149
|
+
at 2026-01-09T16:49:48.934Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="../../prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
94
|
-
at
|
|
94
|
+
at 2026-01-09T16:49:48.934Z
|
|
95
95
|
</div>
|
|
96
96
|
<script src="../../prettify.js"></script>
|
|
97
97
|
<script>
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
212
212
|
Code coverage generated by
|
|
213
213
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
214
|
-
at
|
|
214
|
+
at 2026-01-09T16:49:48.934Z
|
|
215
215
|
</div>
|
|
216
216
|
<script src="../../prettify.js"></script>
|
|
217
217
|
<script>
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
83
83
|
Code coverage generated by
|
|
84
84
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
85
|
-
at
|
|
85
|
+
at 2026-01-09T16:49:48.934Z
|
|
86
86
|
</div>
|
|
87
87
|
<script src="../../prettify.js"></script>
|
|
88
88
|
<script>
|
|
@@ -382,7 +382,7 @@
|
|
|
382
382
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
383
383
|
Code coverage generated by
|
|
384
384
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
385
|
-
at
|
|
385
|
+
at 2026-01-09T16:49:48.934Z
|
|
386
386
|
</div>
|
|
387
387
|
<script src="../prettify.js"></script>
|
|
388
388
|
<script>
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
/** Discovery origin */
|
|
114
114
|
DiscoveryOrigin: "discovery-infiniteugc",
|
|
115
115
|
|
|
116
|
-
CommsOrigin: "
|
|
116
|
+
CommsOrigin: "comms",
|
|
117
117
|
BanProcessorOrigin: "banprocessor",
|
|
118
118
|
SettingsOrigin: "settings",
|
|
119
119
|
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
128
128
|
Code coverage generated by
|
|
129
129
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
130
|
-
at
|
|
130
|
+
at 2026-01-09T16:49:48.934Z
|
|
131
131
|
</div>
|
|
132
132
|
<script src="../prettify.js"></script>
|
|
133
133
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at 2026-01-09T16:49:48.934Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|