halo-infinite-api 5.3.0 → 5.3.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.
@@ -10,11 +10,14 @@ import { PlaylistCsrContainer } from "../models/halo-infinite/playlist-csr-conta
10
10
  import { ServiceRecord } from "../models/halo-infinite/service-record";
11
11
  import { UserInfo } from "../models/halo-infinite/user-info";
12
12
  import { SpartanTokenProvider } from "./token-providers/spartan-token-providers";
13
- interface ResultContainer<TValue> {
13
+ export interface ResultContainer<TValue> {
14
14
  Id: string;
15
15
  ResultCode: 0 | 1;
16
16
  Result: TValue;
17
17
  }
18
+ export interface ResultsContainer<TValue> {
19
+ Value: ResultContainer<TValue>[];
20
+ }
18
21
  export type AssetKindTypeMap = {
19
22
  [AssetKind.Map]: MapAsset;
20
23
  [AssetKind.UgcGameVariant]: UgcGameVariantAsset;
@@ -31,7 +34,7 @@ export declare class HaloInfiniteClient {
31
34
  * @param playlistId - Unique ID for the playlist.
32
35
  * @param playerIds - Array of player xuids.
33
36
  */
34
- getPlaylistCsr: (playlistId: string, playerIds: string[], init?: Omit<RequestInit, "body" | "method">) => Promise<ResultContainer<PlaylistCsrContainer>[]>;
37
+ getPlaylistCsr: (playlistId: string, playerIds: string[], seasonId?: string, init?: Omit<RequestInit, "body" | "method">) => Promise<ResultContainer<PlaylistCsrContainer>[]>;
35
38
  /** Get gamertag info for a player.
36
39
  * @param gamerTag - Gamertag to lookup.
37
40
  */
@@ -57,4 +60,3 @@ export declare class HaloInfiniteClient {
57
60
  /** Gets metadata related to a concrete version of a specified asset. */
58
61
  getSpecificAssetVersion: <TAssetType extends keyof AssetKindTypeMap>(assetType: TAssetType, assetId: string, versionId: string, init?: Omit<RequestInit, "body" | "method">) => Promise<AssetKindTypeMap[TAssetType]>;
59
62
  }
60
- export {};
@@ -65,12 +65,18 @@ export class HaloInfiniteClient {
65
65
  * @param playlistId - Unique ID for the playlist.
66
66
  * @param playerIds - Array of player xuids.
67
67
  */
68
- getPlaylistCsr = (playlistId, playerIds, init) => this.executeResultsRequest(`https://${HaloCoreEndpoints.SkillOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/playlist/${playlistId}/csrs?players=${playerIds
69
- .map(wrapPlayerId)
70
- .join(",")}`, {
71
- ...init,
72
- method: "get",
73
- });
68
+ getPlaylistCsr = (playlistId, playerIds, seasonId, init) => {
69
+ const urlParams = new URLSearchParams({
70
+ players: playerIds.map(wrapPlayerId).join(","),
71
+ });
72
+ if (seasonId) {
73
+ urlParams.set("seasonId", seasonId);
74
+ }
75
+ return this.executeResultsRequest(`https://${HaloCoreEndpoints.SkillOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/playlist/${playlistId}/csrs?${urlParams}`, {
76
+ ...init,
77
+ method: "get",
78
+ });
79
+ };
74
80
  /** Get gamertag info for a player.
75
81
  * @param gamerTag - Gamertag to lookup.
76
82
  */
@@ -1 +1 @@
1
- {"version":3,"file":"halo-infinite-client.js","sourceRoot":"","sources":["../../src/core/halo-infinite-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"halo-infinite-client.js","sourceRoot":"","sources":["../../src/core/halo-infinite-client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,26 +1,26 @@
1
- export { HaloInfiniteClient, AssetKindTypeMap, } from "./core/halo-infinite-client";
1
+ export { HaloAuthenticationClient } from "./authentication/halo-authentication-client";
2
+ export { RelyingParty, XboxAuthenticationClient, XboxAuthenticationToken, } from "./authentication/xbox-authentication-client";
3
+ export { AssetKindTypeMap, HaloInfiniteClient, ResultContainer, } from "./core/halo-infinite-client";
4
+ export { TokenPersister } from "./core/token-persisters/token-persister";
5
+ export { AutoTokenProvider, AutoTokenProvider as AutoXstsSpartanTokenProvider, } from "./core/token-providers/auto-token-provider";
6
+ export { SpartanTokenProvider } from "./core/token-providers/spartan-token-providers";
7
+ export { StaticXstsTicketTokenSpartanTokenProvider } from "./core/token-providers/spartan-token-providers/static-xsts-ticket-token-spartan-token-provider";
2
8
  export { XboxClient } from "./core/xbox-client";
3
- export { XboxAuthenticationClient, RelyingParty, } from "./authentication/xbox-authentication-client";
4
- export { Playlist } from "./models/halo-infinite/playlist";
5
- export { PlaylistCsrContainer } from "./models/halo-infinite/playlist-csr-container";
6
- export { UserInfo } from "./models/halo-infinite/user-info";
7
- export { ServiceRecord } from "./models/halo-infinite/service-record";
8
- export { MatchType } from "./models/halo-infinite/match-type";
9
- export { GameVariantCategory } from "./models/halo-infinite/game-variant-category";
10
- export { MatchStats } from "./models/halo-infinite/match-stats";
11
- export { PlayerMatchHistory } from "./models/halo-infinite/player-match-history";
12
- export { Stats } from "./models/halo-infinite/stats";
13
- export { MapAsset, UgcGameVariantAsset, PlaylistAsset, Asset, } from "./models/halo-infinite/asset";
9
+ export { Asset, MapAsset, PlaylistAsset, UgcGameVariantAsset, } from "./models/halo-infinite/asset";
14
10
  export { AssetKind } from "./models/halo-infinite/asset-kind";
15
- export { MatchOutcome } from "./models/halo-infinite/match-outcome";
16
- export { MatchSkill } from "./models/halo-infinite/match-skill";
17
11
  export { AssetVersionLink } from "./models/halo-infinite/asset-version-link";
12
+ export { GameVariantCategory } from "./models/halo-infinite/game-variant-category";
18
13
  export { MatchInfo } from "./models/halo-infinite/match-info";
19
- export { SpartanTokenProvider } from "./core/token-providers/spartan-token-providers";
20
- export { AutoTokenProvider, AutoTokenProvider as AutoXstsSpartanTokenProvider, } from "./core/token-providers/auto-token-provider";
21
- export { StaticXstsTicketTokenSpartanTokenProvider } from "./core/token-providers/spartan-token-providers/static-xsts-ticket-token-spartan-token-provider";
22
- export { TokenPersister } from "./core/token-persisters/token-persister";
14
+ export { MatchOutcome } from "./models/halo-infinite/match-outcome";
15
+ export { MatchSkill } from "./models/halo-infinite/match-skill";
16
+ export { MatchStats } from "./models/halo-infinite/match-stats";
17
+ export { MatchType } from "./models/halo-infinite/match-type";
18
+ export { PlayerMatchHistory } from "./models/halo-infinite/player-match-history";
19
+ export { Playlist } from "./models/halo-infinite/playlist";
20
+ export { PlaylistCsr } from "./models/halo-infinite/playlist-csr";
21
+ export { PlaylistCsrContainer } from "./models/halo-infinite/playlist-csr-container";
23
22
  export { PlaylistExperience } from "./models/halo-infinite/playlist-experience";
23
+ export { ServiceRecord } from "./models/halo-infinite/service-record";
24
+ export { Stats } from "./models/halo-infinite/stats";
25
+ export { UserInfo } from "./models/halo-infinite/user-info";
24
26
  export { FetchFunction } from "./util/fetch-function";
25
- export { HaloAuthenticationClient } from "./authentication/halo-authentication-client";
26
- export { XboxAuthenticationToken } from "./authentication/xbox-authentication-client";
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
+ export { HaloAuthenticationClient } from "./authentication/halo-authentication-client";
2
+ export { RelyingParty, XboxAuthenticationClient, } from "./authentication/xbox-authentication-client";
1
3
  export { HaloInfiniteClient, } from "./core/halo-infinite-client";
4
+ export { AutoTokenProvider, AutoTokenProvider as AutoXstsSpartanTokenProvider, } from "./core/token-providers/auto-token-provider";
5
+ export { StaticXstsTicketTokenSpartanTokenProvider } from "./core/token-providers/spartan-token-providers/static-xsts-ticket-token-spartan-token-provider";
2
6
  export { XboxClient } from "./core/xbox-client";
3
- export { XboxAuthenticationClient, RelyingParty, } from "./authentication/xbox-authentication-client";
4
- export { MatchType } from "./models/halo-infinite/match-type";
5
- export { GameVariantCategory } from "./models/halo-infinite/game-variant-category";
6
7
  export { AssetKind } from "./models/halo-infinite/asset-kind";
8
+ export { GameVariantCategory } from "./models/halo-infinite/game-variant-category";
7
9
  export { MatchOutcome } from "./models/halo-infinite/match-outcome";
8
- export { AutoTokenProvider, AutoTokenProvider as AutoXstsSpartanTokenProvider, } from "./core/token-providers/auto-token-provider";
9
- export { StaticXstsTicketTokenSpartanTokenProvider } from "./core/token-providers/spartan-token-providers/static-xsts-ticket-token-spartan-token-provider";
10
+ export { MatchType } from "./models/halo-infinite/match-type";
10
11
  export { PlaylistExperience } from "./models/halo-infinite/playlist-experience";
11
- export { HaloAuthenticationClient } from "./authentication/halo-authentication-client";
12
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,wBAAwB,EACxB,YAAY,GACb,MAAM,6CAA6C,CAAC;AAKrD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAUnF,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAKpE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,IAAI,4BAA4B,GAClD,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,yCAAyC,EAAE,MAAM,gGAAgG,CAAC;AAE3J,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EACL,YAAY,EACZ,wBAAwB,GAEzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,IAAI,4BAA4B,GAClD,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,yCAAyC,EAAE,MAAM,gGAAgG,CAAC;AAC3J,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOhD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC"}
@@ -8,4 +8,6 @@ export interface PlaylistCsr {
8
8
  NextTierStart: number;
9
9
  NextSubTier: number;
10
10
  InitialMeasurementMatches: number;
11
+ DemotionProtectionMatchesRemaining: number;
12
+ InitialDemotionProtectionMatches: number;
11
13
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "halo-infinite-api",
3
3
  "type": "module",
4
- "version": "5.3.0",
4
+ "version": "5.3.2",
5
5
  "description": "An NPM package for accessing the official Halo Infinite API.",
6
6
  "main": "dist/index.js",
7
7
  "exports": {
@@ -17,13 +17,13 @@ import { UserInfo } from "../models/halo-infinite/user-info";
17
17
  import { GlobalConstants } from "../util/global-contants";
18
18
  import { SpartanTokenProvider } from "./token-providers/spartan-token-providers";
19
19
 
20
- interface ResultContainer<TValue> {
20
+ export interface ResultContainer<TValue> {
21
21
  Id: string;
22
22
  ResultCode: 0 | 1;
23
23
  Result: TValue;
24
24
  }
25
25
 
26
- interface ResultsContainer<TValue> {
26
+ export interface ResultsContainer<TValue> {
27
27
  Value: ResultContainer<TValue>[];
28
28
  }
29
29
 
@@ -127,19 +127,23 @@ export class HaloInfiniteClient {
127
127
  public getPlaylistCsr = (
128
128
  playlistId: string,
129
129
  playerIds: string[],
130
+ seasonId?: string,
130
131
  init?: Omit<RequestInit, "body" | "method">
131
- ) =>
132
- this.executeResultsRequest<PlaylistCsrContainer>(
133
- `https://${HaloCoreEndpoints.SkillOrigin}.${
134
- HaloCoreEndpoints.ServiceDomain
135
- }/hi/playlist/${playlistId}/csrs?players=${playerIds
136
- .map(wrapPlayerId)
137
- .join(",")}`,
132
+ ) => {
133
+ const urlParams = new URLSearchParams({
134
+ players: playerIds.map(wrapPlayerId).join(","),
135
+ });
136
+ if (seasonId) {
137
+ urlParams.set("seasonId", seasonId);
138
+ }
139
+ return this.executeResultsRequest<PlaylistCsrContainer>(
140
+ `https://${HaloCoreEndpoints.SkillOrigin}.${HaloCoreEndpoints.ServiceDomain}/hi/playlist/${playlistId}/csrs?${urlParams}`,
138
141
  {
139
142
  ...init,
140
143
  method: "get",
141
144
  }
142
145
  );
146
+ };
143
147
 
144
148
  /** Get gamertag info for a player.
145
149
  * @param gamerTag - Gamertag to lookup.
package/src/index.ts CHANGED
@@ -1,40 +1,42 @@
1
+ export { HaloAuthenticationClient } from "./authentication/halo-authentication-client";
2
+ export {
3
+ RelyingParty,
4
+ XboxAuthenticationClient,
5
+ XboxAuthenticationToken,
6
+ } from "./authentication/xbox-authentication-client";
1
7
  export {
2
- HaloInfiniteClient,
3
8
  AssetKindTypeMap,
9
+ HaloInfiniteClient,
10
+ ResultContainer,
4
11
  } from "./core/halo-infinite-client";
5
- export { XboxClient } from "./core/xbox-client";
12
+ export { TokenPersister } from "./core/token-persisters/token-persister";
6
13
  export {
7
- XboxAuthenticationClient,
8
- RelyingParty,
9
- } from "./authentication/xbox-authentication-client";
10
- export { Playlist } from "./models/halo-infinite/playlist";
11
- export { PlaylistCsrContainer } from "./models/halo-infinite/playlist-csr-container";
12
- export { UserInfo } from "./models/halo-infinite/user-info";
13
- export { ServiceRecord } from "./models/halo-infinite/service-record";
14
- export { MatchType } from "./models/halo-infinite/match-type";
15
- export { GameVariantCategory } from "./models/halo-infinite/game-variant-category";
16
- export { MatchStats } from "./models/halo-infinite/match-stats";
17
- export { PlayerMatchHistory } from "./models/halo-infinite/player-match-history";
18
- export { Stats } from "./models/halo-infinite/stats";
14
+ AutoTokenProvider,
15
+ AutoTokenProvider as AutoXstsSpartanTokenProvider,
16
+ } from "./core/token-providers/auto-token-provider";
17
+ export { SpartanTokenProvider } from "./core/token-providers/spartan-token-providers";
18
+ export { StaticXstsTicketTokenSpartanTokenProvider } from "./core/token-providers/spartan-token-providers/static-xsts-ticket-token-spartan-token-provider";
19
+ export { XboxClient } from "./core/xbox-client";
19
20
  export {
21
+ Asset,
20
22
  MapAsset,
21
- UgcGameVariantAsset,
22
23
  PlaylistAsset,
23
- Asset,
24
+ UgcGameVariantAsset,
24
25
  } from "./models/halo-infinite/asset";
25
26
  export { AssetKind } from "./models/halo-infinite/asset-kind";
26
- export { MatchOutcome } from "./models/halo-infinite/match-outcome";
27
- export { MatchSkill } from "./models/halo-infinite/match-skill";
28
27
  export { AssetVersionLink } from "./models/halo-infinite/asset-version-link";
28
+ export { GameVariantCategory } from "./models/halo-infinite/game-variant-category";
29
29
  export { MatchInfo } from "./models/halo-infinite/match-info";
30
- export { SpartanTokenProvider } from "./core/token-providers/spartan-token-providers";
31
- export {
32
- AutoTokenProvider,
33
- AutoTokenProvider as AutoXstsSpartanTokenProvider,
34
- } from "./core/token-providers/auto-token-provider";
35
- export { StaticXstsTicketTokenSpartanTokenProvider } from "./core/token-providers/spartan-token-providers/static-xsts-ticket-token-spartan-token-provider";
36
- export { TokenPersister } from "./core/token-persisters/token-persister";
30
+ export { MatchOutcome } from "./models/halo-infinite/match-outcome";
31
+ export { MatchSkill } from "./models/halo-infinite/match-skill";
32
+ export { MatchStats } from "./models/halo-infinite/match-stats";
33
+ export { MatchType } from "./models/halo-infinite/match-type";
34
+ export { PlayerMatchHistory } from "./models/halo-infinite/player-match-history";
35
+ export { Playlist } from "./models/halo-infinite/playlist";
36
+ export { PlaylistCsr } from "./models/halo-infinite/playlist-csr";
37
+ export { PlaylistCsrContainer } from "./models/halo-infinite/playlist-csr-container";
37
38
  export { PlaylistExperience } from "./models/halo-infinite/playlist-experience";
39
+ export { ServiceRecord } from "./models/halo-infinite/service-record";
40
+ export { Stats } from "./models/halo-infinite/stats";
41
+ export { UserInfo } from "./models/halo-infinite/user-info";
38
42
  export { FetchFunction } from "./util/fetch-function";
39
- export { HaloAuthenticationClient } from "./authentication/halo-authentication-client";
40
- export { XboxAuthenticationToken } from "./authentication/xbox-authentication-client";
@@ -8,4 +8,6 @@ export interface PlaylistCsr {
8
8
  NextTierStart: number;
9
9
  NextSubTier: number;
10
10
  InitialMeasurementMatches: number;
11
+ DemotionProtectionMatchesRemaining: number;
12
+ InitialDemotionProtectionMatches: number;
11
13
  }