nhle-api 0.5.2 → 0.5.4
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/CHANGELOG.md +55 -1
- package/README.md +161 -80
- package/lib/index.cjs +967 -253
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +2135 -435
- package/lib/index.d.ts +2135 -435
- package/lib/index.js +967 -254
- package/lib/index.js.map +1 -1
- package/package.json +6 -4
package/lib/index.d.cts
CHANGED
|
@@ -4,76 +4,6 @@ import * as arktype_internal_variants_object_ts from 'arktype/internal/variants/
|
|
|
4
4
|
import * as arktype from 'arktype';
|
|
5
5
|
import * as arktype_internal_attributes_ts from 'arktype/internal/attributes.ts';
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Error handling module for NHL Sports Data API wrapper
|
|
9
|
-
* Provides structured error classification and logging for API interactions
|
|
10
|
-
*/
|
|
11
|
-
declare const ErrorCategory: {
|
|
12
|
-
/** Network-level errors (connection refused, timeout, etc.) */
|
|
13
|
-
readonly NETWORK: "NETWORK";
|
|
14
|
-
/** HTTP 4xx client errors (invalid params, not found, etc.) */
|
|
15
|
-
readonly CLIENT: "CLIENT";
|
|
16
|
-
/** HTTP 5xx server errors */
|
|
17
|
-
readonly SERVER: "SERVER";
|
|
18
|
-
/** Rate limiting (HTTP 429) */
|
|
19
|
-
readonly RATE_LIMIT: "RATE_LIMIT";
|
|
20
|
-
/** Valid HTTP response but with error payload */
|
|
21
|
-
readonly API_ERROR: "API_ERROR";
|
|
22
|
-
/** Response parsing/validation failures */
|
|
23
|
-
readonly PARSE: "PARSE";
|
|
24
|
-
/** Invalid user input or configuration */
|
|
25
|
-
readonly VALIDATION: "VALIDATION";
|
|
26
|
-
};
|
|
27
|
-
type ErrorCategory = (typeof ErrorCategory)[keyof typeof ErrorCategory];
|
|
28
|
-
interface ErrorContext {
|
|
29
|
-
/** HTTP status code if applicable */
|
|
30
|
-
statusCode?: number;
|
|
31
|
-
/** Original error object */
|
|
32
|
-
cause?: unknown;
|
|
33
|
-
/** Request URL or endpoint */
|
|
34
|
-
endpoint?: string;
|
|
35
|
-
/** Request method */
|
|
36
|
-
method?: string;
|
|
37
|
-
/** Request parameters */
|
|
38
|
-
params?: Record<string, unknown>;
|
|
39
|
-
/** Response body if available */
|
|
40
|
-
responseBody?: unknown;
|
|
41
|
-
/** Timestamp of error */
|
|
42
|
-
timestamp?: Date;
|
|
43
|
-
/** Additional metadata */
|
|
44
|
-
metadata?: Record<string, unknown>;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Base error class for all NHL API errors
|
|
48
|
-
*/
|
|
49
|
-
declare class NHLError extends Error {
|
|
50
|
-
readonly category: ErrorCategory;
|
|
51
|
-
readonly context: ErrorContext;
|
|
52
|
-
constructor(message: string, category: ErrorCategory, context?: ErrorContext);
|
|
53
|
-
/**
|
|
54
|
-
* Serialize error to JSON
|
|
55
|
-
*/
|
|
56
|
-
toJSON(): {
|
|
57
|
-
stack?: string;
|
|
58
|
-
name: string;
|
|
59
|
-
message: string;
|
|
60
|
-
category: ErrorCategory;
|
|
61
|
-
context: ErrorContext;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* NHL API Client Type Definitions
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
type APIResponse<T> = {
|
|
70
|
-
status: 'success';
|
|
71
|
-
data: T;
|
|
72
|
-
} | {
|
|
73
|
-
status: 'error';
|
|
74
|
-
error: NHLError;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
7
|
/** Categories for save location top-10 list */
|
|
78
8
|
declare const SaveLocationCategoryEnum: {
|
|
79
9
|
/** Save Percentage */
|
|
@@ -199,6 +129,64 @@ declare const ZoneTimeSortEnum: {
|
|
|
199
129
|
readonly NZ: "neutral";
|
|
200
130
|
};
|
|
201
131
|
|
|
132
|
+
/**
|
|
133
|
+
* Error handling module for NHL Sports Data API wrapper
|
|
134
|
+
* Provides structured error classification and logging for API interactions
|
|
135
|
+
*/
|
|
136
|
+
declare const ErrorCategory: {
|
|
137
|
+
/** Network-level errors (connection refused, timeout, etc.) */
|
|
138
|
+
readonly NETWORK: "NETWORK";
|
|
139
|
+
/** HTTP 4xx client errors (invalid params, not found, etc.) */
|
|
140
|
+
readonly CLIENT: "CLIENT";
|
|
141
|
+
/** HTTP 5xx server errors */
|
|
142
|
+
readonly SERVER: "SERVER";
|
|
143
|
+
/** Rate limiting (HTTP 429) */
|
|
144
|
+
readonly RATE_LIMIT: "RATE_LIMIT";
|
|
145
|
+
/** Valid HTTP response but with error payload */
|
|
146
|
+
readonly API_ERROR: "API_ERROR";
|
|
147
|
+
/** Response parsing/validation failures */
|
|
148
|
+
readonly PARSE: "PARSE";
|
|
149
|
+
/** Invalid user input or configuration */
|
|
150
|
+
readonly VALIDATION: "VALIDATION";
|
|
151
|
+
};
|
|
152
|
+
type ErrorCategory = (typeof ErrorCategory)[keyof typeof ErrorCategory];
|
|
153
|
+
interface ErrorContext {
|
|
154
|
+
/** HTTP status code if applicable */
|
|
155
|
+
statusCode?: number;
|
|
156
|
+
/** Original error object */
|
|
157
|
+
cause?: unknown;
|
|
158
|
+
/** Request URL or endpoint */
|
|
159
|
+
endpoint?: string;
|
|
160
|
+
/** Request method */
|
|
161
|
+
method?: string;
|
|
162
|
+
/** Request parameters */
|
|
163
|
+
params?: Record<string, unknown>;
|
|
164
|
+
/** Response body if available */
|
|
165
|
+
responseBody?: unknown;
|
|
166
|
+
/** Timestamp of error */
|
|
167
|
+
timestamp?: Date;
|
|
168
|
+
/** Additional metadata */
|
|
169
|
+
metadata?: Record<string, unknown>;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Base error class for all NHL API errors
|
|
173
|
+
*/
|
|
174
|
+
declare class NHLError extends Error {
|
|
175
|
+
readonly category: ErrorCategory;
|
|
176
|
+
readonly context: ErrorContext;
|
|
177
|
+
constructor(message: string, category: ErrorCategory, context?: ErrorContext);
|
|
178
|
+
/**
|
|
179
|
+
* Serialize error to JSON
|
|
180
|
+
*/
|
|
181
|
+
toJSON(): {
|
|
182
|
+
stack?: string;
|
|
183
|
+
name: string;
|
|
184
|
+
message: string;
|
|
185
|
+
category: ErrorCategory;
|
|
186
|
+
context: ErrorContext;
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
|
|
202
190
|
declare const Year$1: arktype.BaseType<number | ((In: string) => arktype_internal_attributes_ts.To<number>), {}>;
|
|
203
191
|
declare const NHLMonth$1: arktype_internal_variants_object_ts.ObjectType<(In: string | Date) => arktype.Out<string>, {}>;
|
|
204
192
|
declare const NHLDate$1: arktype_internal_variants_object_ts.ObjectType<(In: string | Date) => arktype.Out<string>, {}>;
|
|
@@ -210,7 +198,7 @@ declare const GameNumber$1: arktype_internal_variants_object_ts.ObjectType<(In:
|
|
|
210
198
|
declare const DraftRound$1: arktype_internal_variants_object_ts.ObjectType<(In: string | number) => arktype.Out<string>, {}>;
|
|
211
199
|
declare const EventId$1: arktype.BaseType<number | ((In: string) => arktype_internal_attributes_ts.To<number>), {}>;
|
|
212
200
|
declare const GameId$1: arktype.BaseType<number | ((In: string) => arktype_internal_attributes_ts.To<number>), {}>;
|
|
213
|
-
declare const SeriesLetter$
|
|
201
|
+
declare const SeriesLetter$2: arktype_internal_variants_string_ts.StringType<"A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O", {}>;
|
|
214
202
|
declare const GameState$2: arktype_internal_variants_string_ts.StringType<"FUT" | "LIV" | "FIN", {}>;
|
|
215
203
|
declare const CountryCode$2: arktype_internal_variants_object_ts.ObjectType<(In: string) => arktype.Out<string>, {}>;
|
|
216
204
|
declare const PostalCode$1: arktype_internal_variants_string_ts.StringType<string, {}>;
|
|
@@ -272,7 +260,7 @@ type NHLMonth = typeof NHLMonth$1.inferIn;
|
|
|
272
260
|
/**
|
|
273
261
|
* Represents a valid NHL series letter (A-O)
|
|
274
262
|
*/
|
|
275
|
-
type SeriesLetter = typeof SeriesLetter$
|
|
263
|
+
type SeriesLetter$1 = typeof SeriesLetter$2.inferIn;
|
|
276
264
|
/**
|
|
277
265
|
* Represents the playoff rounds in an NHL season (1-4)
|
|
278
266
|
*/
|
|
@@ -317,30 +305,355 @@ type SkatingDistanceSort = keyof typeof SkatingDistanceSortEnum;
|
|
|
317
305
|
/** Sort options for zone time top-10 lists. */
|
|
318
306
|
type ZoneTimeSort = keyof typeof ZoneTimeSortEnum;
|
|
319
307
|
|
|
308
|
+
/**
|
|
309
|
+
* ======================================================================
|
|
310
|
+
* API endpoints for goalie-related data.
|
|
311
|
+
* Base url: api-web.nhle.com/v1/edge
|
|
312
|
+
*
|
|
313
|
+
* Notes:
|
|
314
|
+
* - Convenience endpoints using 'now' for season have been
|
|
315
|
+
* excluded in favor of using calculated current season. You can optionally
|
|
316
|
+
* configure the switch over date for how current season is calculated.
|
|
317
|
+
* See README for details.
|
|
318
|
+
* - There is an extra endpoint that appears to duplicate
|
|
319
|
+
* the functionality of /skater-detail at `v1/cat/edge/skater-detail`
|
|
320
|
+
* As such, it has been excluded from this implementation.
|
|
321
|
+
* ======================================================================
|
|
322
|
+
*/
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Goalie Edge Advanced Stats API helpers.
|
|
326
|
+
*
|
|
327
|
+
* Lightweight wrapper exposing functions that call the underlying nhlClient
|
|
328
|
+
* for goalie-related endpoints. Each method returns the raw Promise from the
|
|
329
|
+
* client.get call.
|
|
330
|
+
*/
|
|
331
|
+
/**
|
|
332
|
+
* Get goalie detail for a player.
|
|
333
|
+
* @param playerId - The player's numeric id.
|
|
334
|
+
* @param season - Optional season (numeric season format or 'now' via argParse).
|
|
335
|
+
* @param gameType - Optional game type id.
|
|
336
|
+
* @returns Promise resolving to the raw API response.
|
|
337
|
+
*/
|
|
338
|
+
declare function player$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
339
|
+
/**
|
|
340
|
+
* Get goalie comparison data for a player.
|
|
341
|
+
* @param playerId - The player's numeric id.
|
|
342
|
+
* @param season - Optional season (numeric season format or 'now' via argParse).
|
|
343
|
+
* @param gameType - Optional game type id.
|
|
344
|
+
* @returns Promise resolving to the raw API response.
|
|
345
|
+
*/
|
|
346
|
+
declare function compare$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
347
|
+
/**
|
|
348
|
+
* Get goalie landing / leaders for a season.
|
|
349
|
+
* @param season - Optional season (numeric season format or 'now' via argParse).
|
|
350
|
+
* @param gameType - Optional game type id.
|
|
351
|
+
* @returns Promise resolving to the raw API response.
|
|
352
|
+
*/
|
|
353
|
+
declare function leaders$2(season?: Season, gameType?: GameType): Promise<unknown>;
|
|
354
|
+
/**
|
|
355
|
+
* Get 5v5 save percentage details for a goalie.
|
|
356
|
+
* @param playerId - The player's numeric id.
|
|
357
|
+
* @param season - Optional season (numeric season format or 'now' via argParse).
|
|
358
|
+
* @param gameType - Optional game type id.
|
|
359
|
+
* @returns Promise resolving to the raw API response.
|
|
360
|
+
*/
|
|
361
|
+
declare function savePercentage5v5(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
362
|
+
/**
|
|
363
|
+
* Get save percentage details for a goalie.
|
|
364
|
+
* @param playerId - The player's numeric id.
|
|
365
|
+
* @param season - Optional season (numeric season format or 'now' via argParse).
|
|
366
|
+
* @param gameType - Optional game type id.
|
|
367
|
+
* @returns Promise resolving to the raw API response.
|
|
368
|
+
*/
|
|
369
|
+
declare function savePercentage(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
370
|
+
/**
|
|
371
|
+
* Get save location details for a goalie.
|
|
372
|
+
* @param playerId - The player's numeric id.
|
|
373
|
+
* @param season - Optional season (numeric season format or 'now' via argParse).
|
|
374
|
+
* @param gameType - Optional game type id.
|
|
375
|
+
* @returns Promise resolving to the raw API response.
|
|
376
|
+
*/
|
|
377
|
+
declare function saveLocation(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
378
|
+
/**
|
|
379
|
+
* Accessor for top-10 leaderboards.
|
|
380
|
+
* @returns Object with methods to fetch various top-10 lists.
|
|
381
|
+
*/
|
|
382
|
+
declare const top10$2: {
|
|
383
|
+
savePercentage: typeof top10SavePercentage;
|
|
384
|
+
savePercentage5v5: typeof top10SavePercentage5v5;
|
|
385
|
+
saveLocation: typeof top10SaveLocation;
|
|
386
|
+
};
|
|
387
|
+
/**
|
|
388
|
+
* Top-10 edge save percentage lists.
|
|
389
|
+
* @param sortBy - Sorting key for the leaderboard.
|
|
390
|
+
* @param season - Optional season (numeric or 'now').
|
|
391
|
+
* @param gameType - Optional game type id.
|
|
392
|
+
* @returns Promise resolving to the raw API response.
|
|
393
|
+
*/
|
|
394
|
+
declare function top10SavePercentage(season?: Season, gameType?: GameType, sortBy?: SavePercentageSort): Promise<unknown>;
|
|
395
|
+
/**
|
|
396
|
+
* Top-10 5v5 save percentage lists.
|
|
397
|
+
* @param sortBy - Sorting key for the leaderboard.
|
|
398
|
+
* @param season - Optional season (numeric or 'now').
|
|
399
|
+
* @param gameType - Optional game type id.
|
|
400
|
+
* @returns Promise resolving to the raw API response.
|
|
401
|
+
*/
|
|
402
|
+
declare function top10SavePercentage5v5(season?: Season, gameType?: GameType, sortBy?: SavePercentage5v5Sort): Promise<unknown>;
|
|
403
|
+
/**
|
|
404
|
+
* Top-10 save location lists.
|
|
405
|
+
* @param category - Category key (see SaveLocationCategoryEnum).
|
|
406
|
+
* @param sortBy - Sorting key for the leaderboard (see SaveLocationSortEnum).
|
|
407
|
+
* @param season - Optional season (e.g. 20242025).
|
|
408
|
+
* @param gameType - Optional game type.
|
|
409
|
+
* @returns Promise resolving to the raw API response.
|
|
410
|
+
*/
|
|
411
|
+
declare function top10SaveLocation(season?: Season, gameType?: GameType, category?: SaveLocationCategory, sortBy?: SaveLocationSort): Promise<unknown>;
|
|
412
|
+
|
|
413
|
+
declare const goalies_saveLocation: typeof saveLocation;
|
|
414
|
+
declare const goalies_savePercentage: typeof savePercentage;
|
|
415
|
+
declare const goalies_savePercentage5v5: typeof savePercentage5v5;
|
|
416
|
+
declare namespace goalies {
|
|
417
|
+
export { compare$1 as compare, leaders$2 as leaders, player$1 as player, goalies_saveLocation as saveLocation, goalies_savePercentage as savePercentage, goalies_savePercentage5v5 as savePercentage5v5, top10$2 as top10 };
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* ======================================================================
|
|
422
|
+
* API endpoints for skater-related data.
|
|
423
|
+
* Base url: api-web.nhle.com/v1/edge
|
|
424
|
+
*
|
|
425
|
+
* Notes:
|
|
426
|
+
* - Convenience endpoints using 'now' for season have been
|
|
427
|
+
* excluded in favor of using calculated current season. You can optionally
|
|
428
|
+
* configure the switch over date for how current season is calculated.
|
|
429
|
+
* See README for details.
|
|
430
|
+
* - There is an extra endpoint that appears to duplicate
|
|
431
|
+
* the functionality of /skater-detail at `v1/cat/edge/skater-detail`
|
|
432
|
+
* As such, it has been excluded from this implementation.
|
|
433
|
+
* =====================================================================
|
|
434
|
+
*/
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Skater Edge Advanced Stats API helpers.
|
|
438
|
+
*
|
|
439
|
+
* Lightweight wrapper exposing functions that call the underlying nhlClient
|
|
440
|
+
* for skater-related endpoints. Each method returns the raw Promise from the
|
|
441
|
+
* client.get call.
|
|
442
|
+
*/
|
|
443
|
+
/** Get skater detail for a player. */
|
|
444
|
+
declare function detail(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
445
|
+
/** Get skater shot location details for a player. */
|
|
446
|
+
declare function shotLocation$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
447
|
+
/** Get skater shot speed details for a player. */
|
|
448
|
+
declare function shotSpeed$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
449
|
+
/** Get skater skating distance details for a player. */
|
|
450
|
+
declare function skatingDistance$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
451
|
+
/** Get skater skating speed details for a player. */
|
|
452
|
+
declare function skatingSpeed$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
453
|
+
/** Get skater zone time for a player. */
|
|
454
|
+
declare function zoneTime$1(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
455
|
+
/** Get skater comparison data for a player. */
|
|
456
|
+
declare function comparison(playerId: PlayerId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
457
|
+
/** Get skater landing / leaders for a season. */
|
|
458
|
+
declare function leaders$1(season?: Season, gameType?: GameType): Promise<unknown>;
|
|
459
|
+
declare const top10$1: {
|
|
460
|
+
distance: typeof top10Distance;
|
|
461
|
+
shotLocation: typeof top10ShotLocation$1;
|
|
462
|
+
shotSpeed: typeof top10ShotSpeed$1;
|
|
463
|
+
speed: typeof top10Speed;
|
|
464
|
+
zoneTime: typeof top10ZoneTime$1;
|
|
465
|
+
};
|
|
466
|
+
/** Top-10 skating distance lists. */
|
|
467
|
+
declare function top10Distance(season?: Season, gameType?: GameType, position?: PositionFilter, strength?: SkatersStrength, sortBy?: SkatingDistanceSort): Promise<unknown>;
|
|
468
|
+
/** Top-10 shot location lists. */
|
|
469
|
+
declare function top10ShotLocation$1(season?: Season, gameType?: GameType, position?: PositionFilter, category?: ShotLocationCategory, sortBy?: ShotLocationSort): Promise<unknown>;
|
|
470
|
+
/** Top-10 shot speed lists. */
|
|
471
|
+
declare function top10ShotSpeed$1(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: ShotSpeedSort): Promise<unknown>;
|
|
472
|
+
/** Top-10 skating speed lists. */
|
|
473
|
+
declare function top10Speed(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: SkatingSpeedSort): Promise<unknown>;
|
|
474
|
+
/** Top-10 zone time lists. */
|
|
475
|
+
declare function top10ZoneTime$1(season?: Season, gameType?: GameType, position?: PositionFilter, strength?: SkatersStrength, sortBy?: ZoneTimeSort): Promise<unknown>;
|
|
476
|
+
|
|
477
|
+
declare const skaters_comparison: typeof comparison;
|
|
478
|
+
declare const skaters_detail: typeof detail;
|
|
479
|
+
declare namespace skaters {
|
|
480
|
+
export { skaters_comparison as comparison, skaters_detail as detail, leaders$1 as leaders, shotLocation$1 as shotLocation, shotSpeed$1 as shotSpeed, skatingDistance$1 as skatingDistance, skatingSpeed$1 as skatingSpeed, top10$1 as top10, zoneTime$1 as zoneTime };
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* NHL API Client Type Definitions
|
|
485
|
+
*/
|
|
486
|
+
|
|
487
|
+
type APIResponse<T> = {
|
|
488
|
+
success: true;
|
|
489
|
+
data: T;
|
|
490
|
+
} | {
|
|
491
|
+
success: false;
|
|
492
|
+
error: NHLError;
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Edge Advanced Stats API helpers.
|
|
497
|
+
*
|
|
498
|
+
* Lightweight wrapper exposing functions that call the underlying nhlClient
|
|
499
|
+
* for related endpoints. Each method returns the raw Promise from the
|
|
500
|
+
* client.get call.
|
|
501
|
+
*/
|
|
502
|
+
/**
|
|
503
|
+
* Get the "by the numbers" data for the current day, updated daily with
|
|
504
|
+
* insights from the previous days games.
|
|
505
|
+
* @returns A promise that resolves to the "by the numbers" data.
|
|
506
|
+
*/
|
|
507
|
+
declare function byTheNumbers(): Promise<APIResponse<unknown>>;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* ======================================================================
|
|
511
|
+
* API endpoints for team-related data.
|
|
512
|
+
* Base url: api-web.nhle.com/v1/edge
|
|
513
|
+
*
|
|
514
|
+
* note: the season and game-type params on any endpoint can
|
|
515
|
+
* be replaced with 'now' to get current season data.
|
|
516
|
+
* ex. `/team-detail/{team-id}/now`
|
|
517
|
+
* ======================================================================
|
|
518
|
+
*/
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* Team Edge Advanced Stats API helpers.
|
|
522
|
+
*
|
|
523
|
+
* Lightweight wrapper exposing functions that call the underlying nhlClient
|
|
524
|
+
* for team-related endpoints. Each method returns the raw Promise from the
|
|
525
|
+
* client.get call.
|
|
526
|
+
*/
|
|
527
|
+
/**
|
|
528
|
+
* Get team detail stats for a team.
|
|
529
|
+
* @param teamId - Team numeric id.
|
|
530
|
+
* @param season - Optional season (numeric season format or 'now').
|
|
531
|
+
* @param gameType - Optional game type id (defaults to Regular Season).
|
|
532
|
+
*/
|
|
533
|
+
declare function stats$1(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
534
|
+
/**
|
|
535
|
+
* Get team comparison data for a single team.
|
|
536
|
+
*/
|
|
537
|
+
declare function compare(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
538
|
+
/**
|
|
539
|
+
* Get team landing/leaders for a season.
|
|
540
|
+
*/
|
|
541
|
+
declare function leaders(season?: Season, gameType?: GameType): Promise<unknown>;
|
|
542
|
+
/**
|
|
543
|
+
* Get shot location details for a team.
|
|
544
|
+
*/
|
|
545
|
+
declare function shotLocation(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
546
|
+
/**
|
|
547
|
+
* Get shot speed details for a team.
|
|
548
|
+
*/
|
|
549
|
+
declare function shotSpeed(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
550
|
+
/**
|
|
551
|
+
* Get skating distance details for a team.
|
|
552
|
+
*/
|
|
553
|
+
declare function skatingDistance(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
554
|
+
/**
|
|
555
|
+
* Get skating speed details for a team.
|
|
556
|
+
*/
|
|
557
|
+
declare function skatingSpeed(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
558
|
+
/**
|
|
559
|
+
* Get zone time details for a team.
|
|
560
|
+
*/
|
|
561
|
+
declare function zoneTime(teamId: TeamId, season?: Season, gameType?: GameType): Promise<unknown>;
|
|
562
|
+
declare const top10: {
|
|
563
|
+
shotLocation: typeof top10ShotLocation;
|
|
564
|
+
shotSpeed: typeof top10ShotSpeed;
|
|
565
|
+
skatingDistance: typeof top10SkatingDistance;
|
|
566
|
+
skatingSpeed: typeof top10SkatingSpeed;
|
|
567
|
+
zoneTime: typeof top10ZoneTime;
|
|
568
|
+
};
|
|
569
|
+
/**
|
|
570
|
+
* Top-10 team shot location lists.
|
|
571
|
+
*/
|
|
572
|
+
declare function top10ShotLocation(season?: Season, gameType?: GameType, position?: PositionFilter, category?: ShotLocationCategory, sortBy?: ShotLocationSort): Promise<unknown>;
|
|
573
|
+
/**
|
|
574
|
+
* Top-10 team shot speed lists.
|
|
575
|
+
*/
|
|
576
|
+
declare function top10ShotSpeed(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: ShotSpeedSort): Promise<unknown>;
|
|
577
|
+
/**
|
|
578
|
+
* Top-10 team skating distance lists.
|
|
579
|
+
*/
|
|
580
|
+
declare function top10SkatingDistance(season?: Season, gameType?: GameType, position?: PositionFilter, strength?: SkatersStrength, sortBy?: SkatingDistanceSort): Promise<unknown>;
|
|
581
|
+
/**
|
|
582
|
+
* Top-10 team skating speed lists.
|
|
583
|
+
*/
|
|
584
|
+
declare function top10SkatingSpeed(season?: Season, gameType?: GameType, position?: PositionFilter, sortBy?: SkatingSpeedSort): Promise<unknown>;
|
|
585
|
+
/**
|
|
586
|
+
* Top-10 team zone time lists.
|
|
587
|
+
*/
|
|
588
|
+
declare function top10ZoneTime(season?: Season, gameType?: GameType, strength?: SkatersStrength, sortBy?: ZoneTimeSort): Promise<unknown>;
|
|
589
|
+
|
|
590
|
+
declare const teams_compare: typeof compare;
|
|
591
|
+
declare const teams_leaders: typeof leaders;
|
|
592
|
+
declare const teams_shotLocation: typeof shotLocation;
|
|
593
|
+
declare const teams_shotSpeed: typeof shotSpeed;
|
|
594
|
+
declare const teams_skatingDistance: typeof skatingDistance;
|
|
595
|
+
declare const teams_skatingSpeed: typeof skatingSpeed;
|
|
596
|
+
declare const teams_top10: typeof top10;
|
|
597
|
+
declare const teams_zoneTime: typeof zoneTime;
|
|
598
|
+
declare namespace teams {
|
|
599
|
+
export { teams_compare as compare, teams_leaders as leaders, teams_shotLocation as shotLocation, teams_shotSpeed as shotSpeed, teams_skatingDistance as skatingDistance, teams_skatingSpeed as skatingSpeed, stats$1 as stats, teams_top10 as top10, teams_zoneTime as zoneTime };
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* ========================================================================
|
|
604
|
+
* NHL Edge Advanced Stats API Module Exports
|
|
605
|
+
* Base URL: https://api.nhle.com/stats/rest
|
|
606
|
+
* ========================================================================
|
|
607
|
+
* Complete NHL Edge Advanced Stats API implementation with modules for:
|
|
608
|
+
* - Players (skaters, goalies)
|
|
609
|
+
* - Teams and franchises
|
|
610
|
+
* - Advanced statistical numbers
|
|
611
|
+
* ========================================================================
|
|
612
|
+
*/
|
|
613
|
+
|
|
614
|
+
declare const index$1_byTheNumbers: typeof byTheNumbers;
|
|
615
|
+
declare const index$1_goalies: typeof goalies;
|
|
616
|
+
declare const index$1_skaters: typeof skaters;
|
|
617
|
+
declare const index$1_teams: typeof teams;
|
|
618
|
+
declare namespace index$1 {
|
|
619
|
+
export { index$1_byTheNumbers as byTheNumbers, index$1_goalies as goalies, index$1_skaters as skaters, index$1_teams as teams };
|
|
620
|
+
}
|
|
621
|
+
|
|
320
622
|
/**
|
|
321
623
|
* Common types used in Gamecenter API responses
|
|
322
624
|
*/
|
|
323
|
-
|
|
324
|
-
/** GameState - The current state of the game. */
|
|
625
|
+
/** The current state of the game. */
|
|
325
626
|
type GameState = 'OFF' | 'FUT' | 'LIVE' | 'PRE' | 'CRIT' | 'FINAL';
|
|
326
|
-
/**
|
|
327
|
-
type GameScheduleState =
|
|
328
|
-
/**
|
|
627
|
+
/** The current state of the game. */
|
|
628
|
+
type GameScheduleState = 'OK' | 'TBD' | 'CNCL' | (string & {});
|
|
629
|
+
/** The type of period in the game. */
|
|
329
630
|
type PeriodType = 'REG' | 'OT' | 'SO';
|
|
330
|
-
/**
|
|
331
|
-
type
|
|
332
|
-
/**
|
|
631
|
+
/** Abbreviated day of the week. (MON = Monday, TUE = Tuesday ...) */
|
|
632
|
+
type DayAbbrev = 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN';
|
|
633
|
+
/** The type of penalty. (MIN = Minor, BEN = Bench, MAJ = Major ...) */
|
|
634
|
+
type PenaltyTypeCode = 'MIN' | 'BEN' | 'MAJ' | (string & {});
|
|
635
|
+
/** The market for this broadcast. (H = Home, A = Away, N = National, S = Satellite Radio) */
|
|
333
636
|
type Market = 'H' | 'A' | 'N' | 'S';
|
|
334
|
-
/**
|
|
637
|
+
/** The country code for this broadcast. (CA = Canada, US = United States) */
|
|
335
638
|
type CountryCode = 'CA' | 'US';
|
|
336
|
-
/**
|
|
337
|
-
type PositionCode = 'C' | 'LW' | 'RW' | 'D' | 'G';
|
|
338
|
-
/**
|
|
339
|
-
type Position$1 = 'C' | 'L' | 'R' | 'D' | 'G';
|
|
340
|
-
/** ShootsCatches - Player's shooting/catching handedness. (L = Left, R = Right) */
|
|
639
|
+
/** The position code for a player. (C = Center, L[W] = Left Wing, R[W] = Right Wing, D = Defenseman, G = Goalie) */
|
|
640
|
+
type PositionCode = 'C' | 'LW' | 'L' | 'RW' | 'R' | 'D' | 'G';
|
|
641
|
+
/** Player's shooting/catching handedness. (L = Left, R = Right) */
|
|
341
642
|
type ShootsCatches = 'L' | 'R';
|
|
342
|
-
|
|
343
|
-
|
|
643
|
+
type HexColorCode = `#${string}`;
|
|
644
|
+
type UTCOffset = `+${number}:${number}` | `-${number}:${number}`;
|
|
645
|
+
type GoalModifier = 'none' | 'empty-net' | 'awarded-empty-net';
|
|
646
|
+
type DefendingSide = 'left' | 'right';
|
|
647
|
+
type Strength = 'ev' | 'pp' | 'sh';
|
|
648
|
+
type ZoneCode = 'N' | 'D' | 'O';
|
|
649
|
+
type ShotType = 'backhand' | 'bat' | 'between-legs' | 'deflected' | 'poke' | 'slap' | 'snap' | 'tip-in' | 'wrap-around' | 'wrist' | (string & {});
|
|
650
|
+
type PenaltyDescKey = 'tripping' | 'hooking' | 'interference' | 'high-sticking' | 'roughing' | 'unsportsmanlike-conduct' | 'slashing' | 'delaying-game-puck-over-glass' | 'holding' | 'holding-the-stick' | 'too-many-men-on-the-ice' | 'fighting' | 'minor' | 'cross-checking' | (string & {});
|
|
651
|
+
type Reason = 'blocked' | 'failed-bank-attempt' | 'wide-right' | 'goalie-stopped-after-sog' | 'offside' | 'teammate-blocked' | 'icing' | 'puck-in-netting' | 'wide-left' | 'high-and-wide-left' | 'puck-frozen' | 'above-crossbar' | 'tv-timeout' | 'hand-pass' | 'skater-puck-frozen' | 'high-stick' | 'high-and-wide-right' | 'hit-crossbar' | 'puck-in-benches' | 'hit-right-post' | 'short' | 'referee-or-linesman' | 'puck-in-crowd' | 'hit-left-post' | 'player-equipment' | 'net-dislodged-defensive-skater' | 'home-timeout' | 'chlg-hm-goal-interference' | 'video-review' | 'chlg-league-missed-stoppage' | 'visitor-timeout' | 'official-injury' | (string & {});
|
|
652
|
+
type EventTypeDescKey = 'period-start' | 'faceoff' | 'blocked-shot' | 'goal' | 'hit' | 'giveaway' | 'missed-shot' | 'shot-on-goal' | 'stoppage' | 'takeaway' | 'penalty' | 'period-end' | 'delayed-penalty' | 'game-end' | (string & {});
|
|
653
|
+
/** An object containing a default string an optional localized strings. */
|
|
654
|
+
interface LocalizedText {
|
|
655
|
+
/** Default */
|
|
656
|
+
default: string;
|
|
344
657
|
/** French */
|
|
345
658
|
fr?: string;
|
|
346
659
|
/** Czech */
|
|
@@ -355,12 +668,8 @@ interface Default {
|
|
|
355
668
|
sk?: string;
|
|
356
669
|
/** Swedish */
|
|
357
670
|
sv?: string;
|
|
358
|
-
/** Additional languages */
|
|
359
|
-
[key: string]: string | undefined;
|
|
360
671
|
}
|
|
361
|
-
|
|
362
|
-
type ZoneCode = 'N' | 'D' | 'O';
|
|
363
|
-
interface TvBroadcast$3 {
|
|
672
|
+
interface TvBroadcast {
|
|
364
673
|
id: number;
|
|
365
674
|
market: Market;
|
|
366
675
|
countryCode: CountryCode;
|
|
@@ -368,29 +677,151 @@ interface TvBroadcast$3 {
|
|
|
368
677
|
sequenceNumber: number;
|
|
369
678
|
}
|
|
370
679
|
|
|
371
|
-
interface
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
680
|
+
interface GamecenterBoxscore {
|
|
681
|
+
id: number;
|
|
682
|
+
season: number;
|
|
683
|
+
gameType: number;
|
|
684
|
+
limitedScoring: boolean;
|
|
685
|
+
gameDate: string;
|
|
686
|
+
venue: LocalizedText;
|
|
687
|
+
venueLocation: LocalizedText;
|
|
688
|
+
startTimeUTC: string;
|
|
689
|
+
easternUTCOffset: UTCOffset;
|
|
690
|
+
venueUTCOffset: UTCOffset;
|
|
691
|
+
tvBroadcasts: TvBroadcast[];
|
|
692
|
+
gameState: GameState;
|
|
693
|
+
gameScheduleState: GameScheduleState;
|
|
694
|
+
periodDescriptor?: PeriodDescriptor$9;
|
|
695
|
+
regPeriods: number;
|
|
696
|
+
awayTeam: Team$a;
|
|
697
|
+
homeTeam: Team$a;
|
|
698
|
+
clock: Clock$4;
|
|
699
|
+
playerByGameStats?: PlayerByGameStats;
|
|
700
|
+
summary?: Summary$3;
|
|
701
|
+
gameOutcome?: GameOutcome$5;
|
|
702
|
+
situation?: Situation$2;
|
|
378
703
|
}
|
|
379
|
-
interface
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
704
|
+
interface Team$a {
|
|
705
|
+
id: number;
|
|
706
|
+
commonName: LocalizedText;
|
|
707
|
+
abbrev: TeamAbbrev;
|
|
708
|
+
score?: number;
|
|
709
|
+
sog?: number;
|
|
710
|
+
logo: string;
|
|
711
|
+
darkLogo: string;
|
|
712
|
+
placeName: LocalizedText;
|
|
713
|
+
placeNameWithPreposition: LocalizedText;
|
|
714
|
+
radioLink?: string;
|
|
715
|
+
}
|
|
716
|
+
interface Clock$4 {
|
|
717
|
+
timeRemaining: string;
|
|
718
|
+
secondsRemaining: number;
|
|
719
|
+
running: boolean;
|
|
720
|
+
inIntermission: boolean;
|
|
721
|
+
}
|
|
722
|
+
interface GameOutcome$5 {
|
|
723
|
+
lastPeriodType: string;
|
|
724
|
+
otPeriods?: number;
|
|
725
|
+
}
|
|
726
|
+
interface PeriodDescriptor$9 {
|
|
727
|
+
number: number;
|
|
728
|
+
periodType: string;
|
|
729
|
+
maxRegulationPeriods: number;
|
|
730
|
+
}
|
|
731
|
+
interface PlayerByGameStats {
|
|
732
|
+
awayTeam: PlayerByGameStatsTeam;
|
|
733
|
+
homeTeam: PlayerByGameStatsTeam;
|
|
734
|
+
}
|
|
735
|
+
interface PlayerByGameStatsTeam {
|
|
736
|
+
forwards: Forward$2[];
|
|
737
|
+
defense: Defense[];
|
|
738
|
+
goalies: Goalie$4[];
|
|
739
|
+
}
|
|
740
|
+
interface BasePlayer {
|
|
741
|
+
playerId: number;
|
|
742
|
+
sweaterNumber: number;
|
|
743
|
+
name: LocalizedText;
|
|
744
|
+
position: PositionCode;
|
|
745
|
+
}
|
|
746
|
+
interface Skater$2 extends BasePlayer {
|
|
747
|
+
position: Exclude<PositionCode, 'G'>;
|
|
748
|
+
goals: number;
|
|
749
|
+
assists: number;
|
|
750
|
+
points: number;
|
|
751
|
+
plusMinus: number;
|
|
752
|
+
pim: number;
|
|
753
|
+
hits: number;
|
|
754
|
+
powerPlayGoals: number;
|
|
755
|
+
sog: number;
|
|
756
|
+
faceoffWinningPctg: number;
|
|
757
|
+
toi: string;
|
|
758
|
+
blockedShots: number;
|
|
759
|
+
shifts: number;
|
|
760
|
+
giveaways: number;
|
|
761
|
+
takeaways: number;
|
|
762
|
+
}
|
|
763
|
+
interface Forward$2 extends Skater$2 {
|
|
764
|
+
position: Exclude<PositionCode, 'D' | 'G'>;
|
|
765
|
+
}
|
|
766
|
+
interface Defense extends Skater$2 {
|
|
767
|
+
position: 'D';
|
|
768
|
+
}
|
|
769
|
+
interface Goalie$4 extends BasePlayer {
|
|
770
|
+
position: 'G';
|
|
771
|
+
evenStrengthShotsAgainst: string;
|
|
772
|
+
powerPlayShotsAgainst: string;
|
|
773
|
+
shorthandedShotsAgainst: string;
|
|
774
|
+
saveShotsAgainst: string;
|
|
775
|
+
savePctg?: number;
|
|
776
|
+
evenStrengthGoalsAgainst: number;
|
|
777
|
+
powerPlayGoalsAgainst: number;
|
|
778
|
+
shorthandedGoalsAgainst: number;
|
|
779
|
+
pim?: number;
|
|
780
|
+
goalsAgainst: number;
|
|
781
|
+
toi: string;
|
|
782
|
+
starter?: boolean;
|
|
783
|
+
decision?: Decision$1;
|
|
784
|
+
shotsAgainst: number;
|
|
785
|
+
saves: number;
|
|
786
|
+
}
|
|
787
|
+
type Decision$1 = 'W' | 'L' | 'O';
|
|
788
|
+
interface Situation$2 {
|
|
789
|
+
homeTeam: SituationDetails;
|
|
790
|
+
awayTeam: SituationDetails;
|
|
791
|
+
situationCode: string;
|
|
792
|
+
timeRemaining: string;
|
|
793
|
+
secondsRemaining: number;
|
|
794
|
+
}
|
|
795
|
+
interface SituationDetails {
|
|
796
|
+
abbrev: string;
|
|
797
|
+
situationDescriptions?: string[];
|
|
798
|
+
strength: number;
|
|
799
|
+
}
|
|
800
|
+
type Summary$3 = Record<string, unknown>;
|
|
801
|
+
|
|
802
|
+
interface DraftPicks {
|
|
803
|
+
broadcastStartTimeUTC: string;
|
|
804
|
+
draftYear: number;
|
|
805
|
+
draftYears: number[];
|
|
806
|
+
selectableRounds: number[];
|
|
807
|
+
state: string;
|
|
808
|
+
picks: Pick$1[];
|
|
809
|
+
}
|
|
810
|
+
interface Pick$1 {
|
|
811
|
+
round: number;
|
|
812
|
+
pickInRound: number;
|
|
813
|
+
overallPick: number;
|
|
383
814
|
teamId: number;
|
|
384
815
|
teamAbbrev: TeamAbbrev;
|
|
385
|
-
teamName:
|
|
386
|
-
teamCommonName:
|
|
387
|
-
teamPlaceNameWithPreposition:
|
|
388
|
-
displayAbbrev:
|
|
816
|
+
teamName: LocalizedText;
|
|
817
|
+
teamCommonName: LocalizedText;
|
|
818
|
+
teamPlaceNameWithPreposition: LocalizedText;
|
|
819
|
+
displayAbbrev: LocalizedText;
|
|
389
820
|
teamLogoLight: string;
|
|
390
821
|
teamLogoDark: string;
|
|
391
822
|
teamPickHistory: string;
|
|
392
|
-
firstName:
|
|
393
|
-
lastName:
|
|
823
|
+
firstName: LocalizedText;
|
|
824
|
+
lastName: LocalizedText;
|
|
394
825
|
positionCode: PositionCode;
|
|
395
826
|
countryCode: string;
|
|
396
827
|
height: number;
|
|
@@ -404,10 +835,10 @@ interface DraftRankings {
|
|
|
404
835
|
categoryId: number;
|
|
405
836
|
categoryKey: Key;
|
|
406
837
|
draftYears: number[];
|
|
407
|
-
categories: Category[];
|
|
838
|
+
categories: Category$3[];
|
|
408
839
|
rankings: Ranking[];
|
|
409
840
|
}
|
|
410
|
-
interface Category {
|
|
841
|
+
interface Category$3 {
|
|
411
842
|
id: number;
|
|
412
843
|
name: Name;
|
|
413
844
|
consumerKey: Key;
|
|
@@ -434,7 +865,7 @@ interface Ranking {
|
|
|
434
865
|
interface DraftTracker {
|
|
435
866
|
currentDraftDate: Date;
|
|
436
867
|
broadcastStartTimeUTC: Date;
|
|
437
|
-
tvBroadcasts: TvBroadcast
|
|
868
|
+
tvBroadcasts: TvBroadcast[];
|
|
438
869
|
logoUrl: string;
|
|
439
870
|
logoFrUrl: string;
|
|
440
871
|
uiAccentColor: HexColorCode;
|
|
@@ -447,253 +878,441 @@ interface Pick {
|
|
|
447
878
|
overallPick: number;
|
|
448
879
|
teamId: number;
|
|
449
880
|
teamAbbrev: TeamAbbrev;
|
|
450
|
-
teamFullName:
|
|
451
|
-
teamCommonName:
|
|
452
|
-
teamPlaceNameWithPreposition:
|
|
881
|
+
teamFullName: LocalizedText;
|
|
882
|
+
teamCommonName: LocalizedText;
|
|
883
|
+
teamPlaceNameWithPreposition: LocalizedText;
|
|
453
884
|
teamLogoLight: string;
|
|
454
885
|
teamLogoDark: string;
|
|
455
886
|
state: string;
|
|
456
|
-
lastName:
|
|
457
|
-
firstName:
|
|
887
|
+
lastName: LocalizedText;
|
|
888
|
+
firstName: LocalizedText;
|
|
458
889
|
positionCode: PositionCode;
|
|
459
890
|
}
|
|
460
|
-
type HexColorCode = `#${string}`;
|
|
461
|
-
interface TvBroadcast$2 {
|
|
462
|
-
id: number;
|
|
463
|
-
market: Market;
|
|
464
|
-
countryCode: CountryCode;
|
|
465
|
-
network: string;
|
|
466
|
-
sequenceNumber: number;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
interface NetworkTVSchedule {
|
|
470
|
-
date: string;
|
|
471
|
-
startDate: string;
|
|
472
|
-
endDate: string;
|
|
473
|
-
broadcasts: Broadcast[];
|
|
474
|
-
}
|
|
475
|
-
interface Broadcast {
|
|
476
|
-
startTime: string;
|
|
477
|
-
endTime: string;
|
|
478
|
-
durationSeconds: number;
|
|
479
|
-
title: string;
|
|
480
|
-
description: string;
|
|
481
|
-
houseNumber: string;
|
|
482
|
-
broadcastType: 'HD' | string;
|
|
483
|
-
broadcastStatus: 'LIVE' | '' | string;
|
|
484
|
-
broadcastImageUrl: string;
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
interface WhereToWatch {
|
|
488
|
-
id: string;
|
|
489
|
-
active: boolean;
|
|
490
|
-
countryCode: string;
|
|
491
|
-
countryName: string;
|
|
492
|
-
streamingName?: string;
|
|
493
|
-
streamingSiteUrl?: string;
|
|
494
|
-
streamingLogoUrl?: string;
|
|
495
|
-
primaryBroadcastName?: string;
|
|
496
|
-
primaryBroadcastSiteUrl?: string;
|
|
497
|
-
primaryBroadcastLogoUrl?: string;
|
|
498
|
-
secondaryBroadcastName?: string;
|
|
499
|
-
secondaryBroadcastSiteUrl?: string;
|
|
500
|
-
secondaryBroadcastLogoUrl?: string;
|
|
501
|
-
}
|
|
502
891
|
|
|
503
|
-
interface
|
|
892
|
+
interface GamecenterLanding {
|
|
504
893
|
id: number;
|
|
505
894
|
season: number;
|
|
506
895
|
gameType: number;
|
|
507
896
|
limitedScoring: boolean;
|
|
508
897
|
gameDate: string;
|
|
509
|
-
venue:
|
|
510
|
-
venueLocation:
|
|
898
|
+
venue: LocalizedText;
|
|
899
|
+
venueLocation: LocalizedText;
|
|
511
900
|
startTimeUTC: string;
|
|
512
901
|
easternUTCOffset: UTCOffset;
|
|
513
902
|
venueUTCOffset: UTCOffset;
|
|
514
|
-
|
|
903
|
+
venueTimezone: string;
|
|
904
|
+
periodDescriptor?: PeriodDescriptor$8;
|
|
905
|
+
tvBroadcasts: TvBroadcast[];
|
|
515
906
|
gameState: GameState;
|
|
516
907
|
gameScheduleState: GameScheduleState;
|
|
517
|
-
|
|
908
|
+
awayTeam: LandingTeam;
|
|
909
|
+
homeTeam: LandingTeam;
|
|
910
|
+
shootoutInUse: boolean;
|
|
911
|
+
maxPeriods: number;
|
|
518
912
|
regPeriods: number;
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
913
|
+
otInUse: boolean;
|
|
914
|
+
tiesInUse: boolean;
|
|
915
|
+
summary?: Summary$2;
|
|
916
|
+
clock?: Clock$3;
|
|
917
|
+
ticketsLink?: string;
|
|
918
|
+
ticketsLinkFr?: string;
|
|
919
|
+
matchup?: Matchup;
|
|
525
920
|
situation?: Situation$1;
|
|
526
921
|
}
|
|
527
|
-
interface
|
|
922
|
+
interface LandingTeam {
|
|
528
923
|
id: number;
|
|
529
|
-
commonName:
|
|
924
|
+
commonName: LocalizedText;
|
|
530
925
|
abbrev: TeamAbbrev;
|
|
926
|
+
placeName: LocalizedText;
|
|
927
|
+
placeNameWithPreposition: LocalizedText;
|
|
531
928
|
score?: number;
|
|
532
929
|
sog?: number;
|
|
533
930
|
logo: string;
|
|
534
931
|
darkLogo: string;
|
|
535
|
-
|
|
536
|
-
placeNameWithPreposition: Default;
|
|
932
|
+
record?: string;
|
|
537
933
|
radioLink?: string;
|
|
538
934
|
}
|
|
539
|
-
interface Clock$
|
|
935
|
+
interface Clock$3 {
|
|
540
936
|
timeRemaining: string;
|
|
541
937
|
secondsRemaining: number;
|
|
542
938
|
running: boolean;
|
|
543
939
|
inIntermission: boolean;
|
|
544
940
|
}
|
|
545
|
-
interface
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
homeTeam:
|
|
941
|
+
interface Matchup {
|
|
942
|
+
season: number;
|
|
943
|
+
gameType: number;
|
|
944
|
+
skaterComparison: SkaterComparison;
|
|
945
|
+
goalieComparison: GoalieComparison$1;
|
|
946
|
+
skaterSeasonStats: SkaterSeasonStats;
|
|
947
|
+
goalieSeasonStats: GoalieSeasonStats;
|
|
948
|
+
}
|
|
949
|
+
interface GoalieComparison$1 {
|
|
950
|
+
contextLabel: string;
|
|
951
|
+
contextSeason: number;
|
|
952
|
+
homeTeam: ComparisonTeamDetails;
|
|
953
|
+
awayTeam: ComparisonTeamDetails;
|
|
954
|
+
}
|
|
955
|
+
interface ComparisonTeamDetails {
|
|
956
|
+
teamTotals: TeamTotals;
|
|
957
|
+
leaders: TeamLeader$1[];
|
|
958
|
+
}
|
|
959
|
+
interface TeamLeader$1 {
|
|
960
|
+
playerId: number;
|
|
961
|
+
name: LocalizedText;
|
|
962
|
+
firstName: LocalizedText;
|
|
963
|
+
lastName: LocalizedText;
|
|
964
|
+
sweaterNumber: number;
|
|
965
|
+
headshot: string;
|
|
966
|
+
positionCode: PositionCode;
|
|
967
|
+
gamesPlayed: number;
|
|
968
|
+
seasonPoints: number;
|
|
969
|
+
record: string;
|
|
970
|
+
gaa: number;
|
|
971
|
+
savePctg: number;
|
|
972
|
+
shutouts: number;
|
|
973
|
+
}
|
|
974
|
+
interface TeamTotals {
|
|
975
|
+
record: string;
|
|
976
|
+
gaa: number;
|
|
977
|
+
savePctg: number;
|
|
978
|
+
shutouts: number;
|
|
979
|
+
gamesPlayed: number;
|
|
557
980
|
}
|
|
558
|
-
interface
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
goalies:
|
|
981
|
+
interface GoalieSeasonStats {
|
|
982
|
+
contextLabel: string;
|
|
983
|
+
contextSeason: number;
|
|
984
|
+
goalies: GoalieSeasonStatsGoalie[];
|
|
562
985
|
}
|
|
563
|
-
interface
|
|
986
|
+
interface GoalieSeasonStatsGoalie {
|
|
564
987
|
playerId: number;
|
|
988
|
+
teamId: number;
|
|
565
989
|
sweaterNumber: number;
|
|
566
|
-
name:
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
powerPlayGoals: number;
|
|
578
|
-
sog: number;
|
|
579
|
-
faceoffWinningPctg: number;
|
|
990
|
+
name: LocalizedText;
|
|
991
|
+
gamesPlayed: number;
|
|
992
|
+
wins: number;
|
|
993
|
+
losses: number;
|
|
994
|
+
otLosses: number;
|
|
995
|
+
shotsAgainst: number;
|
|
996
|
+
goalsAgainst: number;
|
|
997
|
+
goalsAgainstAvg: number;
|
|
998
|
+
savePctg: number;
|
|
999
|
+
shutouts: number;
|
|
1000
|
+
saves: number;
|
|
580
1001
|
toi: string;
|
|
581
|
-
blockedShots: number;
|
|
582
|
-
shifts: number;
|
|
583
|
-
giveaways: number;
|
|
584
|
-
takeaways: number;
|
|
585
1002
|
}
|
|
586
|
-
interface
|
|
587
|
-
|
|
1003
|
+
interface SkaterComparison {
|
|
1004
|
+
contextLabel: string;
|
|
1005
|
+
contextSeason: number;
|
|
1006
|
+
leaders: SkaterComparisonLeader[];
|
|
588
1007
|
}
|
|
589
|
-
interface
|
|
590
|
-
|
|
1008
|
+
interface SkaterComparisonLeader {
|
|
1009
|
+
category: Category$2;
|
|
1010
|
+
awayLeader: Leader$1;
|
|
1011
|
+
homeLeader: Leader$1;
|
|
591
1012
|
}
|
|
592
|
-
interface
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
1013
|
+
interface Leader$1 {
|
|
1014
|
+
playerId: number;
|
|
1015
|
+
name: LocalizedText;
|
|
1016
|
+
firstName: LocalizedText;
|
|
1017
|
+
lastName: LocalizedText;
|
|
1018
|
+
sweaterNumber: number;
|
|
1019
|
+
positionCode: PositionCode;
|
|
1020
|
+
headshot: string;
|
|
1021
|
+
value: number;
|
|
1022
|
+
}
|
|
1023
|
+
type Category$2 = 'points' | 'goals' | 'assists';
|
|
1024
|
+
interface SkaterSeasonStats {
|
|
1025
|
+
contextLabel: string;
|
|
1026
|
+
contextSeason: number;
|
|
1027
|
+
skaters: Skater$1[];
|
|
1028
|
+
}
|
|
1029
|
+
interface Skater$1 {
|
|
1030
|
+
playerId: number;
|
|
1031
|
+
teamId: number;
|
|
1032
|
+
sweaterNumber: number;
|
|
1033
|
+
name: LocalizedText;
|
|
1034
|
+
position: Exclude<PositionCode, 'G'>;
|
|
1035
|
+
gamesPlayed?: number;
|
|
1036
|
+
goals?: number;
|
|
1037
|
+
assists?: number;
|
|
1038
|
+
points?: number;
|
|
1039
|
+
plusMinus?: number;
|
|
602
1040
|
pim?: number;
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
1041
|
+
avgPoints?: number;
|
|
1042
|
+
avgTimeOnIce?: string;
|
|
1043
|
+
gameWinningGoals?: number;
|
|
1044
|
+
shots?: number;
|
|
1045
|
+
shootingPctg?: number;
|
|
1046
|
+
faceoffWinningPctg?: number;
|
|
1047
|
+
powerPlayGoals?: number;
|
|
1048
|
+
blockedShots?: number;
|
|
1049
|
+
hits?: number;
|
|
1050
|
+
}
|
|
1051
|
+
interface PeriodDescriptor$8 {
|
|
1052
|
+
number: number;
|
|
1053
|
+
periodType: PeriodType;
|
|
1054
|
+
maxRegulationPeriods: number;
|
|
609
1055
|
}
|
|
610
|
-
type Decision = 'W' | 'L' | 'O';
|
|
611
1056
|
interface Situation$1 {
|
|
612
|
-
homeTeam:
|
|
613
|
-
awayTeam:
|
|
1057
|
+
homeTeam: SituationTeam;
|
|
1058
|
+
awayTeam: SituationTeam;
|
|
614
1059
|
situationCode: string;
|
|
615
1060
|
timeRemaining: string;
|
|
616
1061
|
secondsRemaining: number;
|
|
617
1062
|
}
|
|
618
|
-
interface
|
|
1063
|
+
interface SituationTeam {
|
|
619
1064
|
abbrev: string;
|
|
620
|
-
situationDescriptions
|
|
1065
|
+
situationDescriptions?: string[];
|
|
621
1066
|
strength: number;
|
|
622
1067
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
sequenceNumber: number;
|
|
1068
|
+
interface Summary$2 {
|
|
1069
|
+
scoring: Scoring$1[];
|
|
1070
|
+
shootout: unknown[];
|
|
1071
|
+
threeStars: ThreeStar$1[];
|
|
1072
|
+
penalties: SummaryPenalty[];
|
|
1073
|
+
iceSurface?: IceSurface$1;
|
|
630
1074
|
}
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
season: number;
|
|
635
|
-
gameType: number;
|
|
636
|
-
limitedScoring: boolean;
|
|
637
|
-
gameDate: string;
|
|
638
|
-
venue: Default;
|
|
639
|
-
venueLocation: Default;
|
|
640
|
-
startTimeUTC: string;
|
|
641
|
-
easternUTCOffset: UTCOffset;
|
|
642
|
-
venueUTCOffset: UTCOffset;
|
|
643
|
-
tvBroadcasts: TvBroadcast$3[];
|
|
644
|
-
gameState: GameState;
|
|
645
|
-
gameScheduleState: GameScheduleState;
|
|
646
|
-
periodDescriptor?: PeriodDescriptor$1;
|
|
647
|
-
awayTeam: Team$3;
|
|
648
|
-
homeTeam: Team$3;
|
|
649
|
-
shootoutInUse: boolean;
|
|
650
|
-
otInUse: boolean;
|
|
651
|
-
clock: Clock;
|
|
652
|
-
displayPeriod: number;
|
|
653
|
-
maxPeriods: number;
|
|
654
|
-
gameOutcome?: GameOutcome$1;
|
|
655
|
-
plays: Play[];
|
|
656
|
-
rosterSpots: RosterSpot[];
|
|
657
|
-
regPeriods: number;
|
|
658
|
-
summary?: Summary;
|
|
659
|
-
situation?: Situation;
|
|
1075
|
+
interface IceSurface$1 {
|
|
1076
|
+
awayTeam: IceSurfaceTeam;
|
|
1077
|
+
homeTeam: IceSurfaceTeam;
|
|
660
1078
|
}
|
|
661
|
-
interface
|
|
662
|
-
|
|
663
|
-
|
|
1079
|
+
interface IceSurfaceTeam {
|
|
1080
|
+
forwards: IceSurfaceForward[];
|
|
1081
|
+
defensemen: IceSurfaceDefense[];
|
|
1082
|
+
goalies: IceSurfaceGoalie[];
|
|
1083
|
+
penaltyBox: IceSurfacePlayer[];
|
|
1084
|
+
}
|
|
1085
|
+
interface IceSurfacePlayer {
|
|
1086
|
+
playerId: number;
|
|
1087
|
+
name: LocalizedText;
|
|
1088
|
+
sweaterNumber: number;
|
|
1089
|
+
positionCode: PositionCode;
|
|
1090
|
+
headshot: string;
|
|
1091
|
+
totalSOI?: number;
|
|
1092
|
+
secondsRemaining?: number;
|
|
1093
|
+
}
|
|
1094
|
+
interface IceSurfaceForward extends IceSurfacePlayer {
|
|
1095
|
+
positionCode: Exclude<PositionCode, 'D'>;
|
|
1096
|
+
}
|
|
1097
|
+
interface IceSurfaceDefense extends IceSurfacePlayer {
|
|
1098
|
+
positionCode: 'D';
|
|
1099
|
+
}
|
|
1100
|
+
interface IceSurfaceGoalie extends IceSurfacePlayer {
|
|
1101
|
+
positionCode: 'G';
|
|
1102
|
+
}
|
|
1103
|
+
interface SummaryPenalty {
|
|
1104
|
+
periodDescriptor: PeriodDescriptor$8;
|
|
1105
|
+
penalties: Penalty[];
|
|
1106
|
+
}
|
|
1107
|
+
interface Penalty {
|
|
1108
|
+
timeInPeriod: string;
|
|
1109
|
+
type: PenaltyTypeCode;
|
|
1110
|
+
duration: number;
|
|
1111
|
+
committedByPlayer: PenaltyPlayer;
|
|
1112
|
+
teamAbbrev: LocalizedText;
|
|
1113
|
+
drawnBy?: PenaltyPlayer;
|
|
1114
|
+
descKey: string;
|
|
1115
|
+
}
|
|
1116
|
+
interface PenaltyPlayer {
|
|
1117
|
+
firstName: LocalizedText;
|
|
1118
|
+
lastName: LocalizedText;
|
|
1119
|
+
sweaterNumber: number;
|
|
1120
|
+
}
|
|
1121
|
+
interface Scoring$1 {
|
|
1122
|
+
periodDescriptor: PeriodDescriptor$8;
|
|
1123
|
+
goals: Goal$2[];
|
|
1124
|
+
}
|
|
1125
|
+
interface Goal$2 {
|
|
1126
|
+
situationCode: string;
|
|
1127
|
+
eventId: number;
|
|
1128
|
+
strength: Strength;
|
|
1129
|
+
playerId: number;
|
|
1130
|
+
firstName: LocalizedText;
|
|
1131
|
+
lastName: LocalizedText;
|
|
1132
|
+
name: LocalizedText;
|
|
1133
|
+
teamAbbrev: LocalizedText;
|
|
1134
|
+
headshot: string;
|
|
1135
|
+
highlightClipSharingUrl?: string;
|
|
1136
|
+
highlightClipSharingUrlFr?: string;
|
|
1137
|
+
highlightClip?: number;
|
|
1138
|
+
highlightClipFr?: number;
|
|
1139
|
+
discreteClip?: number;
|
|
1140
|
+
discreteClipFr: number;
|
|
1141
|
+
goalsToDate: number;
|
|
1142
|
+
awayScore: number;
|
|
1143
|
+
homeScore: number;
|
|
1144
|
+
leadingTeamAbbrev?: LocalizedText;
|
|
1145
|
+
timeInPeriod: string;
|
|
1146
|
+
shotType: ShotType;
|
|
1147
|
+
goalModifier: GoalModifier;
|
|
1148
|
+
assists: AssistedBy[];
|
|
1149
|
+
pptReplayUrl: string;
|
|
1150
|
+
homeTeamDefendingSide: DefendingSide;
|
|
1151
|
+
isHome: boolean;
|
|
1152
|
+
}
|
|
1153
|
+
interface AssistedBy {
|
|
1154
|
+
playerId: number;
|
|
1155
|
+
firstName: LocalizedText;
|
|
1156
|
+
lastName: LocalizedText;
|
|
1157
|
+
name: LocalizedText;
|
|
1158
|
+
assistsToDate: number;
|
|
1159
|
+
sweaterNumber: number;
|
|
1160
|
+
}
|
|
1161
|
+
interface ThreeStar$1 {
|
|
1162
|
+
star: 1 | 2 | 3;
|
|
1163
|
+
playerId: number;
|
|
1164
|
+
teamAbbrev: TeamAbbrev;
|
|
1165
|
+
headshot: string;
|
|
1166
|
+
name: LocalizedText;
|
|
1167
|
+
sweaterNo: number;
|
|
1168
|
+
position: PositionCode;
|
|
1169
|
+
goals?: number;
|
|
1170
|
+
assists?: number;
|
|
1171
|
+
points?: number;
|
|
1172
|
+
goalsAgainstAverage?: number;
|
|
1173
|
+
savePctg?: number;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
type NHLSeasons = Array<Season>;
|
|
1177
|
+
interface PlayoffSeriesMeta {
|
|
1178
|
+
seriesTitle: string;
|
|
1179
|
+
teams: Teams;
|
|
1180
|
+
}
|
|
1181
|
+
interface Teams {
|
|
1182
|
+
topSeed: Seed$1;
|
|
1183
|
+
bottomSeed: Seed$1;
|
|
1184
|
+
}
|
|
1185
|
+
interface Seed$1 {
|
|
1186
|
+
name: LocalizedText;
|
|
1187
|
+
commonName: LocalizedText;
|
|
1188
|
+
tricode: string;
|
|
1189
|
+
teamSlug: string;
|
|
1190
|
+
}
|
|
1191
|
+
interface GameMeta {
|
|
1192
|
+
teams: Team$9[];
|
|
1193
|
+
seasonStates: SeasonStates;
|
|
1194
|
+
gameState: string;
|
|
1195
|
+
}
|
|
1196
|
+
interface SeasonStates {
|
|
1197
|
+
date: string;
|
|
1198
|
+
gameType: number;
|
|
1199
|
+
season: number;
|
|
1200
|
+
}
|
|
1201
|
+
interface Team$9 {
|
|
1202
|
+
name: LocalizedText;
|
|
1203
|
+
tricode: string;
|
|
1204
|
+
teamId: number;
|
|
1205
|
+
teamSlug: string;
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
interface NetworkTVSchedule {
|
|
1209
|
+
date: string;
|
|
1210
|
+
startDate: string;
|
|
1211
|
+
endDate: string;
|
|
1212
|
+
broadcasts: Broadcast[];
|
|
1213
|
+
}
|
|
1214
|
+
interface Broadcast {
|
|
1215
|
+
startTime: string;
|
|
1216
|
+
endTime: string;
|
|
1217
|
+
durationSeconds: number;
|
|
1218
|
+
title: string;
|
|
1219
|
+
description: string;
|
|
1220
|
+
houseNumber: string;
|
|
1221
|
+
broadcastType: 'HD' | (string & {});
|
|
1222
|
+
broadcastStatus: 'LIVE' | '' | (string & {});
|
|
1223
|
+
broadcastImageUrl: string;
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
interface PartnerGameInfo {
|
|
1227
|
+
currentOddsDate: string;
|
|
1228
|
+
lastUpdatedUTC: string;
|
|
1229
|
+
bettingPartner?: BettingPartner;
|
|
1230
|
+
games: Game$5[];
|
|
1231
|
+
}
|
|
1232
|
+
interface BettingPartner {
|
|
1233
|
+
partnerId: number;
|
|
1234
|
+
country: string;
|
|
1235
|
+
name: string;
|
|
1236
|
+
imageUrl: string;
|
|
1237
|
+
siteUrl: string;
|
|
1238
|
+
bgColor: string;
|
|
1239
|
+
textColor: string;
|
|
1240
|
+
accentColor: string;
|
|
1241
|
+
}
|
|
1242
|
+
interface Game$5 {
|
|
1243
|
+
gameId: number;
|
|
1244
|
+
gameType: number;
|
|
1245
|
+
startTimeUTC: string;
|
|
1246
|
+
homeTeam: Team$8;
|
|
1247
|
+
awayTeam: Team$8;
|
|
1248
|
+
}
|
|
1249
|
+
interface Team$8 {
|
|
1250
|
+
id: number;
|
|
1251
|
+
name: LocalizedText;
|
|
1252
|
+
abbrev: string;
|
|
1253
|
+
logo: string;
|
|
1254
|
+
odds: Odd$2[];
|
|
1255
|
+
}
|
|
1256
|
+
interface Odd$2 {
|
|
1257
|
+
description: Description;
|
|
1258
|
+
value: number;
|
|
1259
|
+
qualifier: string;
|
|
1260
|
+
}
|
|
1261
|
+
type Description = 'MONEY_LINE_2_WAY' | 'OVER_UNDER' | 'PUCK_LINE' | 'MONEY_LINE_3_WAY';
|
|
1262
|
+
|
|
1263
|
+
interface GamecenterPlayByPlay {
|
|
1264
|
+
id: number;
|
|
1265
|
+
season: number;
|
|
1266
|
+
gameType: number;
|
|
1267
|
+
limitedScoring: boolean;
|
|
1268
|
+
gameDate: string;
|
|
1269
|
+
venue: LocalizedText;
|
|
1270
|
+
venueLocation: LocalizedText;
|
|
1271
|
+
startTimeUTC: string;
|
|
1272
|
+
easternUTCOffset: UTCOffset;
|
|
1273
|
+
venueUTCOffset: UTCOffset;
|
|
1274
|
+
tvBroadcasts: TvBroadcast[];
|
|
1275
|
+
gameState: GameState;
|
|
1276
|
+
gameScheduleState: GameScheduleState;
|
|
1277
|
+
periodDescriptor?: PeriodDescriptor$7;
|
|
1278
|
+
awayTeam: Team$7;
|
|
1279
|
+
homeTeam: Team$7;
|
|
1280
|
+
shootoutInUse: boolean;
|
|
1281
|
+
otInUse: boolean;
|
|
1282
|
+
clock: Clock$2;
|
|
1283
|
+
displayPeriod: number;
|
|
1284
|
+
maxPeriods: number;
|
|
1285
|
+
gameOutcome?: GameOutcome$4;
|
|
1286
|
+
plays: Event[];
|
|
1287
|
+
rosterSpots: RosterSpot[];
|
|
1288
|
+
regPeriods: number;
|
|
1289
|
+
summary?: Summary$1;
|
|
1290
|
+
situation?: Situation;
|
|
1291
|
+
}
|
|
1292
|
+
interface Clock$2 {
|
|
1293
|
+
timeRemaining: string;
|
|
1294
|
+
secondsRemaining: number;
|
|
664
1295
|
running: boolean;
|
|
665
1296
|
inIntermission: boolean;
|
|
666
1297
|
}
|
|
667
|
-
interface GameOutcome$
|
|
1298
|
+
interface GameOutcome$4 {
|
|
668
1299
|
lastPeriodType: PeriodType;
|
|
669
1300
|
otPeriods?: number;
|
|
670
1301
|
}
|
|
671
|
-
interface
|
|
672
|
-
id: number;
|
|
673
|
-
commonName: Default;
|
|
674
|
-
abbrev: TeamAbbrev;
|
|
675
|
-
score: number;
|
|
676
|
-
sog?: number;
|
|
677
|
-
logo: string;
|
|
678
|
-
darkLogo: string;
|
|
679
|
-
placeName: Default;
|
|
680
|
-
placeNameWithPreposition: Default;
|
|
681
|
-
radioLink?: string;
|
|
682
|
-
}
|
|
683
|
-
interface PeriodDescriptor$1 {
|
|
1302
|
+
interface PeriodDescriptor$7 {
|
|
684
1303
|
number: number;
|
|
685
1304
|
periodType: PeriodType;
|
|
686
1305
|
maxRegulationPeriods: number;
|
|
687
1306
|
}
|
|
688
|
-
interface
|
|
1307
|
+
interface Event {
|
|
689
1308
|
eventId: number;
|
|
690
|
-
periodDescriptor: PeriodDescriptor$
|
|
1309
|
+
periodDescriptor: PeriodDescriptor$7;
|
|
691
1310
|
timeInPeriod: string;
|
|
692
1311
|
timeRemaining: string;
|
|
693
1312
|
situationCode: string;
|
|
694
|
-
homeTeamDefendingSide:
|
|
1313
|
+
homeTeamDefendingSide: DefendingSide;
|
|
695
1314
|
typeCode: number;
|
|
696
|
-
typeDescKey:
|
|
1315
|
+
typeDescKey: EventTypeDescKey;
|
|
697
1316
|
sortOrder: number;
|
|
698
1317
|
details?: Details;
|
|
699
1318
|
pptReplayUrl?: string;
|
|
@@ -737,45 +1356,40 @@ interface Details {
|
|
|
737
1356
|
drawnByPlayerId?: number;
|
|
738
1357
|
servedByPlayerId?: number;
|
|
739
1358
|
}
|
|
740
|
-
type PenaltyDescKey = 'tripping' | 'hooking' | 'interference' | 'high-sticking' | 'roughing' | 'unsportsmanlike-conduct' | 'slashing' | 'delaying-game-puck-over-glass' | 'holding' | 'holding-the-stick' | 'too-many-men-on-the-ice' | 'fighting' | 'minor' | 'cross-checking';
|
|
741
|
-
type Reason = 'blocked' | 'failed-bank-attempt' | 'wide-right' | 'goalie-stopped-after-sog' | 'offside' | 'teammate-blocked' | 'icing' | 'puck-in-netting' | 'wide-left' | 'high-and-wide-left' | 'puck-frozen' | 'above-crossbar' | 'tv-timeout' | 'hand-pass' | 'skater-puck-frozen' | 'high-stick' | 'high-and-wide-right' | 'hit-crossbar' | 'puck-in-benches' | 'hit-right-post' | 'short' | 'referee-or-linesman' | 'puck-in-crowd' | 'hit-left-post' | 'player-equipment' | 'net-dislodged-defensive-skater' | 'home-timeout' | 'chlg-hm-goal-interference' | 'video-review' | 'chlg-league-missed-stoppage' | 'visitor-timeout' | 'official-injury';
|
|
742
|
-
type ShotType = 'wrist' | 'tip-in' | 'slap' | 'snap' | 'deflected' | 'backhand' | 'poke' | 'bat' | 'between-legs' | 'wrap-around';
|
|
743
|
-
type HomeTeamDefendingSide = 'left' | 'right';
|
|
744
|
-
type TypeDescKey = 'period-start' | 'faceoff' | 'blocked-shot' | 'goal' | 'hit' | 'giveaway' | 'missed-shot' | 'shot-on-goal' | 'stoppage' | 'takeaway' | 'penalty' | 'period-end' | 'delayed-penalty' | 'game-end';
|
|
745
1359
|
interface RosterSpot {
|
|
746
1360
|
teamId: number;
|
|
747
1361
|
playerId: number;
|
|
748
|
-
firstName:
|
|
749
|
-
lastName:
|
|
1362
|
+
firstName: LocalizedText;
|
|
1363
|
+
lastName: LocalizedText;
|
|
750
1364
|
sweaterNumber: number;
|
|
751
1365
|
positionCode: Position;
|
|
752
1366
|
headshot: string;
|
|
753
1367
|
}
|
|
754
1368
|
interface Situation {
|
|
755
|
-
homeTeam: Team$
|
|
756
|
-
awayTeam: Team$
|
|
1369
|
+
homeTeam: Team$7;
|
|
1370
|
+
awayTeam: Team$7;
|
|
757
1371
|
situationCode: string;
|
|
758
1372
|
timeRemaining: string;
|
|
759
1373
|
secondsRemaining: number;
|
|
760
1374
|
}
|
|
761
|
-
interface Team$
|
|
1375
|
+
interface Team$7 {
|
|
762
1376
|
id: number;
|
|
763
|
-
commonName:
|
|
1377
|
+
commonName: LocalizedText;
|
|
764
1378
|
abbrev: TeamAbbrev;
|
|
765
1379
|
score: number;
|
|
766
1380
|
sog?: number;
|
|
767
1381
|
logo: string;
|
|
768
1382
|
darkLogo: string;
|
|
769
|
-
placeName:
|
|
770
|
-
placeNameWithPreposition:
|
|
1383
|
+
placeName: LocalizedText;
|
|
1384
|
+
placeNameWithPreposition: LocalizedText;
|
|
771
1385
|
radioLink?: string;
|
|
772
1386
|
}
|
|
773
|
-
interface Team$
|
|
1387
|
+
interface Team$7 {
|
|
774
1388
|
abbrev: TeamAbbrev;
|
|
775
1389
|
strength: number;
|
|
776
1390
|
situationDescriptions?: string[];
|
|
777
1391
|
}
|
|
778
|
-
interface Summary {
|
|
1392
|
+
interface Summary$1 {
|
|
779
1393
|
iceSurface?: IceSurface;
|
|
780
1394
|
}
|
|
781
1395
|
interface IceSurface {
|
|
@@ -790,7 +1404,7 @@ interface IceSurfaceAwayTeam {
|
|
|
790
1404
|
}
|
|
791
1405
|
interface PenaltyBoxElement {
|
|
792
1406
|
playerId: number;
|
|
793
|
-
name:
|
|
1407
|
+
name: LocalizedText;
|
|
794
1408
|
sweaterNumber: number;
|
|
795
1409
|
positionCode: Position;
|
|
796
1410
|
headshot: string;
|
|
@@ -799,7 +1413,7 @@ interface PenaltyBoxElement {
|
|
|
799
1413
|
}
|
|
800
1414
|
interface GoalieElement {
|
|
801
1415
|
playerId: number;
|
|
802
|
-
name:
|
|
1416
|
+
name: LocalizedText;
|
|
803
1417
|
sweaterNumber: number;
|
|
804
1418
|
positionCode: Position;
|
|
805
1419
|
headshot: string;
|
|
@@ -813,7 +1427,7 @@ interface IceSurfaceHomeTeam {
|
|
|
813
1427
|
}
|
|
814
1428
|
interface PurpleDefenseman {
|
|
815
1429
|
playerId: number;
|
|
816
|
-
name:
|
|
1430
|
+
name: LocalizedText;
|
|
817
1431
|
sweaterNumber: number;
|
|
818
1432
|
positionCode: ZoneCode;
|
|
819
1433
|
headshot: string;
|
|
@@ -821,90 +1435,867 @@ interface PurpleDefenseman {
|
|
|
821
1435
|
}
|
|
822
1436
|
interface PurpleForward {
|
|
823
1437
|
playerId: number;
|
|
824
|
-
name:
|
|
1438
|
+
name: LocalizedText;
|
|
825
1439
|
sweaterNumber: number;
|
|
826
1440
|
positionCode: Position;
|
|
827
1441
|
headshot: string;
|
|
828
1442
|
totalSOI?: number;
|
|
829
1443
|
}
|
|
830
1444
|
|
|
831
|
-
interface
|
|
832
|
-
|
|
833
|
-
|
|
1445
|
+
interface PlayerSpotlight {
|
|
1446
|
+
playerId: number;
|
|
1447
|
+
name: LocalizedText;
|
|
1448
|
+
playerSlug: string;
|
|
1449
|
+
position: Position;
|
|
1450
|
+
sweaterNumber: number;
|
|
1451
|
+
teamId: number;
|
|
1452
|
+
headshot: string;
|
|
1453
|
+
teamTriCode: TeamAbbrev;
|
|
1454
|
+
teamLogo: string;
|
|
1455
|
+
sortId: number;
|
|
834
1456
|
}
|
|
835
|
-
interface
|
|
836
|
-
|
|
1457
|
+
interface PlayerLanding {
|
|
1458
|
+
playerId: number;
|
|
1459
|
+
isActive: boolean;
|
|
1460
|
+
firstName: LocalizedText;
|
|
1461
|
+
lastName: LocalizedText;
|
|
1462
|
+
badges: Badge[];
|
|
1463
|
+
sweaterNumber: number;
|
|
1464
|
+
position: Position;
|
|
1465
|
+
headshot: string;
|
|
1466
|
+
heroImage: string;
|
|
1467
|
+
heightInInches: number;
|
|
1468
|
+
heightInCentimeters: number;
|
|
1469
|
+
weightInPounds: number;
|
|
1470
|
+
weightInKilograms: number;
|
|
1471
|
+
birthDate: string;
|
|
1472
|
+
birthCity: LocalizedText;
|
|
1473
|
+
birthStateProvince?: LocalizedText;
|
|
1474
|
+
birthCountry: string;
|
|
1475
|
+
shootsCatches: Position;
|
|
1476
|
+
draftDetails?: DraftDetails;
|
|
1477
|
+
playerSlug: string;
|
|
1478
|
+
inTop100AllTime: number;
|
|
1479
|
+
inHHOF: number;
|
|
1480
|
+
featuredStats: FeaturedStats;
|
|
1481
|
+
careerTotals: CareerTotals;
|
|
1482
|
+
shopLink: '#TODO';
|
|
1483
|
+
twitterLink: '#TODO';
|
|
1484
|
+
watchLink: '#TODO';
|
|
1485
|
+
last5Games: Last5Game[];
|
|
1486
|
+
seasonTotals: SeasonTotal[];
|
|
1487
|
+
awards?: Award[];
|
|
1488
|
+
currentTeamId?: number;
|
|
1489
|
+
currentTeamAbbrev?: string;
|
|
1490
|
+
fullTeamName?: LocalizedText;
|
|
1491
|
+
teamCommonName?: LocalizedText;
|
|
1492
|
+
teamPlaceNameWithPreposition?: LocalizedText;
|
|
1493
|
+
teamLogo?: string;
|
|
1494
|
+
currentTeamRoster?: CurrentTeamRoster[];
|
|
1495
|
+
}
|
|
1496
|
+
interface Award {
|
|
1497
|
+
trophy: LocalizedText;
|
|
1498
|
+
seasons: {
|
|
1499
|
+
[key: string]: number;
|
|
1500
|
+
}[];
|
|
1501
|
+
}
|
|
1502
|
+
interface Badge {
|
|
1503
|
+
logoUrl: LocalizedText;
|
|
1504
|
+
title: LocalizedText;
|
|
1505
|
+
}
|
|
1506
|
+
interface CareerTotals {
|
|
1507
|
+
regularSeason: CareerStats;
|
|
1508
|
+
playoffs: CareerStats;
|
|
1509
|
+
}
|
|
1510
|
+
interface CareerStats {
|
|
1511
|
+
assists?: number;
|
|
1512
|
+
gamesPlayed: number;
|
|
1513
|
+
gamesStarted?: number;
|
|
1514
|
+
goals?: number;
|
|
1515
|
+
goalsAgainst?: number;
|
|
1516
|
+
goalsAgainstAvg?: number;
|
|
1517
|
+
losses?: number;
|
|
1518
|
+
pim?: number;
|
|
1519
|
+
savePctg?: number;
|
|
1520
|
+
shotsAgainst?: number;
|
|
1521
|
+
shutouts?: number;
|
|
1522
|
+
timeOnIce?: string;
|
|
1523
|
+
wins?: number;
|
|
1524
|
+
gameWinningGoals?: number;
|
|
1525
|
+
otGoals?: number;
|
|
1526
|
+
points?: number;
|
|
1527
|
+
powerPlayGoals?: number;
|
|
1528
|
+
powerPlayPoints?: number;
|
|
1529
|
+
shorthandedGoals?: number;
|
|
1530
|
+
shorthandedPoints?: number;
|
|
1531
|
+
plusMinus?: number;
|
|
1532
|
+
shootingPctg?: number;
|
|
1533
|
+
shots?: number;
|
|
1534
|
+
ties?: number;
|
|
1535
|
+
otLosses?: number;
|
|
1536
|
+
}
|
|
1537
|
+
interface CurrentTeamRoster {
|
|
1538
|
+
playerId: number;
|
|
1539
|
+
lastName: LocalizedText;
|
|
1540
|
+
firstName: LocalizedText;
|
|
1541
|
+
playerSlug: string;
|
|
1542
|
+
}
|
|
1543
|
+
interface DraftDetails {
|
|
1544
|
+
year: number;
|
|
1545
|
+
teamAbbrev: string;
|
|
1546
|
+
round: number;
|
|
1547
|
+
pickInRound: number;
|
|
1548
|
+
overallPick: number;
|
|
1549
|
+
}
|
|
1550
|
+
interface FeaturedStats {
|
|
1551
|
+
season: number;
|
|
1552
|
+
regularSeason: FeaturedStatsType;
|
|
1553
|
+
playoffs?: FeaturedStatsType;
|
|
1554
|
+
}
|
|
1555
|
+
interface FeaturedStatsType {
|
|
1556
|
+
subSeason: CareerStats;
|
|
1557
|
+
career: CareerStats;
|
|
1558
|
+
}
|
|
1559
|
+
interface Last5Game {
|
|
1560
|
+
decision?: Decision;
|
|
1561
|
+
gameDate: string;
|
|
1562
|
+
gameId: number;
|
|
1563
|
+
gameTypeId: number;
|
|
1564
|
+
gamesStarted?: number;
|
|
1565
|
+
goalsAgainst?: number;
|
|
1566
|
+
homeRoadFlag: HomeRoadFlag;
|
|
1567
|
+
opponentAbbrev: string;
|
|
1568
|
+
penaltyMins?: number;
|
|
1569
|
+
savePctg?: number;
|
|
1570
|
+
shotsAgainst?: number;
|
|
1571
|
+
teamAbbrev: string;
|
|
1572
|
+
toi?: string;
|
|
1573
|
+
assists?: number;
|
|
1574
|
+
goals?: number;
|
|
1575
|
+
pim?: number;
|
|
1576
|
+
plusMinus?: number;
|
|
1577
|
+
points?: number;
|
|
1578
|
+
powerPlayGoals?: number;
|
|
1579
|
+
shorthandedGoals?: number;
|
|
1580
|
+
shots?: number;
|
|
1581
|
+
shifts?: number;
|
|
1582
|
+
}
|
|
1583
|
+
type Decision = 'L' | 'W' | 'T' | 'O';
|
|
1584
|
+
type HomeRoadFlag = 'R' | 'H';
|
|
1585
|
+
interface SeasonTotal {
|
|
1586
|
+
gameTypeId: number;
|
|
1587
|
+
gamesPlayed?: number;
|
|
1588
|
+
goalsAgainst?: number;
|
|
1589
|
+
goalsAgainstAvg?: number;
|
|
1590
|
+
leagueAbbrev: string;
|
|
1591
|
+
season: number;
|
|
1592
|
+
sequence: number;
|
|
1593
|
+
shutouts?: number;
|
|
1594
|
+
teamName: LocalizedText;
|
|
1595
|
+
timeOnIce?: string;
|
|
1596
|
+
losses?: number;
|
|
1597
|
+
ties?: number;
|
|
1598
|
+
wins?: number;
|
|
1599
|
+
teamCommonName?: LocalizedText;
|
|
1600
|
+
teamPlaceNameWithPreposition?: LocalizedText;
|
|
1601
|
+
assists?: number;
|
|
1602
|
+
gamesStarted?: number;
|
|
1603
|
+
goals?: number;
|
|
1604
|
+
pim?: number;
|
|
1605
|
+
savePctg?: number;
|
|
1606
|
+
shotsAgainst?: number;
|
|
1607
|
+
otLosses?: number;
|
|
1608
|
+
points?: number;
|
|
1609
|
+
gameWinningGoals?: number;
|
|
1610
|
+
otGoals?: number;
|
|
1611
|
+
powerPlayGoals?: number;
|
|
1612
|
+
powerPlayPoints?: number;
|
|
1613
|
+
shorthandedGoals?: number;
|
|
1614
|
+
shorthandedPoints?: number;
|
|
1615
|
+
plusMinus?: number;
|
|
1616
|
+
shootingPctg?: number;
|
|
1617
|
+
shots?: number;
|
|
1618
|
+
avgToi?: string;
|
|
1619
|
+
faceoffWinningPctg?: number;
|
|
1620
|
+
}
|
|
1621
|
+
interface PlayerGameLog {
|
|
1622
|
+
seasonId: number;
|
|
1623
|
+
gameTypeId: number;
|
|
1624
|
+
playerStatsSeasons: PlayerStatsSeason[];
|
|
1625
|
+
gameLog?: GameLog[];
|
|
1626
|
+
}
|
|
1627
|
+
interface GameLog {
|
|
1628
|
+
gameId: number;
|
|
1629
|
+
teamAbbrev: TeamAbbrev;
|
|
1630
|
+
homeRoadFlag: HomeRoadFlag;
|
|
1631
|
+
gameDate: string;
|
|
1632
|
+
goals: number;
|
|
1633
|
+
assists: number;
|
|
1634
|
+
commonName: LocalizedText;
|
|
1635
|
+
opponentCommonName: LocalizedText;
|
|
1636
|
+
gamesStarted: number;
|
|
1637
|
+
decision: Decision;
|
|
1638
|
+
shotsAgainst: number;
|
|
1639
|
+
goalsAgainst: number;
|
|
1640
|
+
savePctg: number;
|
|
1641
|
+
shutouts: number;
|
|
1642
|
+
opponentAbbrev: string;
|
|
1643
|
+
pim: number;
|
|
1644
|
+
toi: string;
|
|
1645
|
+
}
|
|
1646
|
+
interface PlayerStatsSeason {
|
|
1647
|
+
season: number;
|
|
1648
|
+
gameTypes: (2 | 3)[];
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
interface SkaterStatsLeaders {
|
|
1652
|
+
goalsSh: SkaterLeader[];
|
|
1653
|
+
plusMinus: SkaterLeader[];
|
|
1654
|
+
assists: SkaterLeader[];
|
|
1655
|
+
goalsPp: SkaterLeader[];
|
|
1656
|
+
faceoffLeaders: SkaterLeader[];
|
|
1657
|
+
penaltyMins: SkaterLeader[];
|
|
1658
|
+
goals: SkaterLeader[];
|
|
1659
|
+
points: SkaterLeader[];
|
|
1660
|
+
toi: SkaterLeader[];
|
|
1661
|
+
}
|
|
1662
|
+
interface SkaterLeader {
|
|
1663
|
+
id: number;
|
|
1664
|
+
firstName: LocalizedText;
|
|
1665
|
+
lastName: LocalizedText;
|
|
1666
|
+
sweaterNumber: number;
|
|
1667
|
+
headshot: string;
|
|
1668
|
+
teamAbbrev: TeamAbbrev;
|
|
1669
|
+
teamName: LocalizedText;
|
|
1670
|
+
teamLogo: string;
|
|
1671
|
+
position: PositionCode;
|
|
1672
|
+
value: number;
|
|
1673
|
+
}
|
|
1674
|
+
interface GoalieStatsLeaders {
|
|
1675
|
+
wins: GoalieLeader[];
|
|
1676
|
+
shutouts: GoalieLeader[];
|
|
1677
|
+
savePctg: GoalieLeader[];
|
|
1678
|
+
goalsAgainstAverage: GoalieLeader[];
|
|
1679
|
+
}
|
|
1680
|
+
interface GoalieLeader {
|
|
1681
|
+
id: number;
|
|
1682
|
+
firstName: LocalizedText;
|
|
1683
|
+
lastName: LocalizedText;
|
|
1684
|
+
sweaterNumber: number;
|
|
1685
|
+
headshot: string;
|
|
1686
|
+
teamAbbrev: TeamAbbrev;
|
|
1687
|
+
teamName: LocalizedText;
|
|
1688
|
+
teamLogo: string;
|
|
1689
|
+
position: 'G';
|
|
1690
|
+
value: number;
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
interface PlayoffSeries {
|
|
1694
|
+
seasonId: number;
|
|
1695
|
+
currentRound: number;
|
|
1696
|
+
rounds: Round[];
|
|
1697
|
+
}
|
|
1698
|
+
interface Round {
|
|
1699
|
+
roundNumber: number;
|
|
1700
|
+
roundLabel: Label;
|
|
1701
|
+
roundAbbrev: RoundAbbrev;
|
|
1702
|
+
series: Series[];
|
|
1703
|
+
}
|
|
1704
|
+
type RoundAbbrev = 'NHLF' | 'SCF' | 'SCSF' | 'NHLSF' | 'QF' | 'SF' | 'PRLM' | 'DSF' | 'DF' | 'CF' | 'CQF' | 'CSF' | 'F' | 'R1' | 'R2' | 'SCQ';
|
|
1705
|
+
type Label = 'nhl-final' | 'stanley-cup-final' | 'stanley-cup-semifinal' | 'nhl-semifinal' | 'quarterfinals' | 'semifinals' | 'preliminary-round' | 'division-semifinals' | 'division-finals' | 'conference-finals' | 'conference-quarterfinals' | 'conference-semifinals' | 'semifinal' | 'final' | '1st-round' | '2nd-round' | 'stanley-cup-qualifiers' | 'stanley-cup-semifinals' | 'quarterfinal';
|
|
1706
|
+
interface Series {
|
|
1707
|
+
seriesLetter: SeriesLetter;
|
|
1708
|
+
roundNumber: number;
|
|
1709
|
+
seriesLabel: Label;
|
|
1710
|
+
seriesLink: string;
|
|
837
1711
|
bottomSeed: Seed;
|
|
1712
|
+
topSeed: Seed;
|
|
1713
|
+
neededToWin: number;
|
|
1714
|
+
winningTeamId?: number;
|
|
1715
|
+
losingTeamId?: number;
|
|
838
1716
|
}
|
|
839
1717
|
interface Seed {
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
1718
|
+
id: number;
|
|
1719
|
+
abbrev: string;
|
|
1720
|
+
wins: number;
|
|
1721
|
+
logo?: string;
|
|
1722
|
+
darkLogo?: string;
|
|
844
1723
|
}
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
1724
|
+
type SeriesLetter = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
|
|
1725
|
+
interface PlayoffBracket {
|
|
1726
|
+
bracketLogo: string;
|
|
1727
|
+
bracketLogoFr: string;
|
|
1728
|
+
series: BracketSeries[];
|
|
1729
|
+
}
|
|
1730
|
+
interface BracketSeries {
|
|
1731
|
+
seriesUrl: string;
|
|
1732
|
+
seriesTitle: SeriesTitle;
|
|
1733
|
+
seriesAbbrev: SeriesAbbrev;
|
|
1734
|
+
seriesLetter: SeriesLetter;
|
|
1735
|
+
playoffRound: number;
|
|
1736
|
+
topSeedRank: number;
|
|
1737
|
+
topSeedRankAbbrev: SeedRankAbbrev;
|
|
1738
|
+
topSeedWins: number;
|
|
1739
|
+
bottomSeedRank: number;
|
|
1740
|
+
bottomSeedRankAbbrev: SeedRankAbbrev;
|
|
1741
|
+
bottomSeedWins: number;
|
|
1742
|
+
winningTeamId: number;
|
|
1743
|
+
losingTeamId: number;
|
|
1744
|
+
topSeedTeam: SeedTeam;
|
|
1745
|
+
bottomSeedTeam: SeedTeam;
|
|
1746
|
+
seriesLogo?: string;
|
|
1747
|
+
seriesLogoFr?: string;
|
|
1748
|
+
conferenceAbbrev?: ConferenceAbbrev$1;
|
|
1749
|
+
conferenceName?: ConferenceName$1;
|
|
1750
|
+
}
|
|
1751
|
+
interface SeedTeam {
|
|
1752
|
+
id: number;
|
|
1753
|
+
abbrev: TeamAbbrev;
|
|
1754
|
+
name: LocalizedText;
|
|
1755
|
+
commonName: LocalizedText;
|
|
1756
|
+
placeNameWithPreposition: LocalizedText;
|
|
1757
|
+
logo: string;
|
|
1758
|
+
darkLogo: string;
|
|
1759
|
+
}
|
|
1760
|
+
type ConferenceAbbrev$1 = 'E' | 'W';
|
|
1761
|
+
type ConferenceName$1 = 'Western' | 'Eastern';
|
|
1762
|
+
type SeriesAbbrev = 'NHLF' | 'SCF' | 'SCSF' | 'NHLSF' | 'QF' | 'SF' | 'PRLM' | 'DSF' | 'DF' | 'CF' | 'WCF' | 'ECF' | 'CQF' | 'CSF' | 'R1' | 'R2' | 'SCQ';
|
|
1763
|
+
type SeriesTitle = 'NHL Final' | 'Stanley Cup Final' | 'Stanley Cup Semifinal' | 'NHL Semifinal' | 'Quarterfinals' | 'Semifinals' | 'Preliminary Round' | 'Division Semifinals' | 'Division Finals' | 'Conference Finals' | 'Western Conference Finals' | 'Eastern Conference Finals' | 'Conference Quarterfinals' | 'Conference Semifinals' | '1st Round' | '2nd Round' | 'Stanley Cup Qualifiers' | 'Stanley Cup Semifinals';
|
|
1764
|
+
type SeedRankAbbrev = 'C1' | 'C2' | 'C3' | 'C4' | 'C5' | 'C6' | 'C7' | 'C8' | 'C9' | 'C10' | 'C11' | 'C12' | 'D1' | 'D2' | 'D3' | 'D4' | 'L1' | 'L2' | 'L3' | 'L4' | 'L5' | 'L6' | 'L7' | 'L8' | 'L9' | 'L10' | 'L11' | 'L12' | 'L13' | 'L14' | 'L15' | 'L16' | 'WC1' | 'WC2' | 'PCHA1' | 'WCHL1';
|
|
1765
|
+
interface PlayoffSeriesSchedule {
|
|
1766
|
+
round: number;
|
|
1767
|
+
roundAbbrev: string;
|
|
1768
|
+
roundLabel: string;
|
|
1769
|
+
seriesLetter: string;
|
|
1770
|
+
seriesLogo: string;
|
|
1771
|
+
seriesLogoFr: string;
|
|
1772
|
+
neededToWin: number;
|
|
1773
|
+
length: number;
|
|
1774
|
+
bottomSeedTeam: ScheduleSeedTeam;
|
|
1775
|
+
topSeedTeam: ScheduleSeedTeam;
|
|
1776
|
+
games: Game$4[];
|
|
1777
|
+
fullCoverageUrl: FullCoverageURL;
|
|
1778
|
+
}
|
|
1779
|
+
interface ScheduleSeedTeam {
|
|
1780
|
+
id: number;
|
|
1781
|
+
/** Note: this is incorrectly named in the API, should be `commonName` */
|
|
1782
|
+
name: LocalizedText;
|
|
1783
|
+
abbrev: TeamAbbrev;
|
|
1784
|
+
placeName: LocalizedText;
|
|
1785
|
+
placeNameWithPreposition: LocalizedText;
|
|
1786
|
+
conference: Conference;
|
|
1787
|
+
record: string;
|
|
1788
|
+
seriesWins: number;
|
|
1789
|
+
divisionAbbrev: string;
|
|
1790
|
+
seed: number;
|
|
1791
|
+
logo: string;
|
|
1792
|
+
darkLogo: string;
|
|
1793
|
+
}
|
|
1794
|
+
interface Conference {
|
|
1795
|
+
name: string;
|
|
1796
|
+
abbrev: string;
|
|
1797
|
+
}
|
|
1798
|
+
type FullCoverageURL = Omit<LocalizedText, 'default'> & {
|
|
1799
|
+
en: LocalizedText['default'];
|
|
1800
|
+
};
|
|
1801
|
+
interface Game$4 {
|
|
1802
|
+
id: number;
|
|
1803
|
+
season: number;
|
|
1804
|
+
gameType: number;
|
|
1805
|
+
gameNumber: number;
|
|
1806
|
+
ifNecessary: boolean;
|
|
1807
|
+
venue: LocalizedText;
|
|
1808
|
+
neutralSite: boolean;
|
|
1809
|
+
startTimeUTC: string;
|
|
1810
|
+
easternUTCOffset: string;
|
|
1811
|
+
venueUTCOffset: string;
|
|
1812
|
+
venueTimezone: string;
|
|
848
1813
|
gameState: string;
|
|
1814
|
+
gameScheduleState: string;
|
|
1815
|
+
tvBroadcasts: TvBroadcast[];
|
|
1816
|
+
awayTeam: Team$6;
|
|
1817
|
+
homeTeam: Team$6;
|
|
1818
|
+
gameCenterLink: string;
|
|
1819
|
+
periodDescriptor: PeriodDescriptor$6;
|
|
1820
|
+
seriesStatus: SeriesStatus$1;
|
|
1821
|
+
gameOutcome: GameOutcome$3;
|
|
1822
|
+
}
|
|
1823
|
+
interface Team$6 {
|
|
1824
|
+
id: number;
|
|
1825
|
+
commonName: LocalizedText;
|
|
1826
|
+
placeName: LocalizedText;
|
|
1827
|
+
placeNameWithPreposition: LocalizedText;
|
|
1828
|
+
abbrev: TeamAbbrev;
|
|
1829
|
+
score: number;
|
|
849
1830
|
}
|
|
850
|
-
interface
|
|
851
|
-
|
|
1831
|
+
interface GameOutcome$3 {
|
|
1832
|
+
lastPeriodType: string;
|
|
1833
|
+
}
|
|
1834
|
+
interface PeriodDescriptor$6 {
|
|
1835
|
+
number: number;
|
|
1836
|
+
periodType: string;
|
|
1837
|
+
maxRegulationPeriods: number;
|
|
1838
|
+
}
|
|
1839
|
+
interface SeriesStatus$1 {
|
|
1840
|
+
topSeedWins: number;
|
|
1841
|
+
bottomSeedWins: number;
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
type PostalCodeInfo = Array<{
|
|
1845
|
+
stateProvince: string;
|
|
1846
|
+
networkType?: string;
|
|
1847
|
+
county?: string;
|
|
1848
|
+
teamName: LocalizedText;
|
|
1849
|
+
postalCode: string;
|
|
1850
|
+
country: string;
|
|
1851
|
+
city: string;
|
|
1852
|
+
}>;
|
|
1853
|
+
interface LocationInfo {
|
|
1854
|
+
country: string;
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
interface PPTReplayGoal extends BasePPTReplay {
|
|
1858
|
+
goal: Goal$1;
|
|
1859
|
+
}
|
|
1860
|
+
interface PPTReplayEvent extends BasePPTReplay {
|
|
1861
|
+
}
|
|
1862
|
+
interface BasePPTReplay {
|
|
1863
|
+
id: number;
|
|
1864
|
+
gameDate: string;
|
|
1865
|
+
awayTeam: Team$5;
|
|
1866
|
+
homeTeam: Team$5;
|
|
1867
|
+
gameState: GameState;
|
|
1868
|
+
gameType: number;
|
|
1869
|
+
}
|
|
1870
|
+
interface Team$5 {
|
|
1871
|
+
id: number;
|
|
1872
|
+
name: LocalizedText;
|
|
1873
|
+
abbrev: string;
|
|
1874
|
+
placeName: LocalizedText;
|
|
1875
|
+
placeNameWithPreposition: LocalizedText;
|
|
1876
|
+
logo: string;
|
|
1877
|
+
darkLogo: string;
|
|
1878
|
+
}
|
|
1879
|
+
interface Goal$1 {
|
|
1880
|
+
periodDescriptor: PeriodDescriptor$5;
|
|
1881
|
+
situationCode: string;
|
|
1882
|
+
strength: Strength;
|
|
1883
|
+
playerId: number;
|
|
1884
|
+
firstName: LocalizedText;
|
|
1885
|
+
lastName: LocalizedText;
|
|
1886
|
+
name: LocalizedText;
|
|
1887
|
+
teamAbbrev: LocalizedText;
|
|
1888
|
+
headshot: string;
|
|
1889
|
+
logoUrl: string;
|
|
1890
|
+
goalsToDate: number;
|
|
1891
|
+
sweaterNumber: number;
|
|
1892
|
+
awayScore: number;
|
|
1893
|
+
homeScore: number;
|
|
1894
|
+
leadingTeamAbbrev?: LocalizedText;
|
|
1895
|
+
timeInPeriod: string;
|
|
1896
|
+
shotType: string;
|
|
1897
|
+
goalModifier: GoalModifier;
|
|
1898
|
+
assists: Player$1[];
|
|
1899
|
+
pptReplayUrl: string;
|
|
1900
|
+
homeTeamDefendingSide: DefendingSide;
|
|
1901
|
+
isHome: boolean;
|
|
1902
|
+
eventId: number;
|
|
1903
|
+
highlightClip?: number;
|
|
1904
|
+
highlightClipFr?: number;
|
|
1905
|
+
highlightClipSharingUrl?: string;
|
|
1906
|
+
highlightClipSharingUrlFr?: string;
|
|
1907
|
+
}
|
|
1908
|
+
interface Player$1 {
|
|
1909
|
+
playerId: number;
|
|
1910
|
+
firstName: LocalizedText;
|
|
1911
|
+
lastName: LocalizedText;
|
|
1912
|
+
name: LocalizedText;
|
|
1913
|
+
assistsToDate: number;
|
|
1914
|
+
sweaterNumber: number;
|
|
1915
|
+
}
|
|
1916
|
+
interface PeriodDescriptor$5 {
|
|
1917
|
+
number: number;
|
|
1918
|
+
periodType: PeriodType;
|
|
1919
|
+
maxRegulationPeriods: number;
|
|
1920
|
+
}
|
|
1921
|
+
|
|
1922
|
+
interface GamecenterReports {
|
|
1923
|
+
seasonSeries: SeasonSeriesGame[];
|
|
1924
|
+
seasonSeriesWins: {
|
|
1925
|
+
awayTeamWins: number;
|
|
1926
|
+
homeTeamWins: number;
|
|
1927
|
+
};
|
|
1928
|
+
gameInfo: GameInfo;
|
|
1929
|
+
teamSeasonStats?: TeamSeasonStats$1;
|
|
1930
|
+
last10Record?: Last10Record;
|
|
1931
|
+
gameVideo?: GameVideo;
|
|
1932
|
+
linescore?: Linescore;
|
|
1933
|
+
shotsByPeriod?: ByPeriod[];
|
|
1934
|
+
teamGameStats?: TeamGameStat$1[];
|
|
1935
|
+
gameReports?: GameReports;
|
|
1936
|
+
}
|
|
1937
|
+
interface GameInfo {
|
|
1938
|
+
referees: LocalizedText[];
|
|
1939
|
+
linesmen: LocalizedText[];
|
|
1940
|
+
awayTeam: TeamInfo;
|
|
1941
|
+
homeTeam: TeamInfo;
|
|
1942
|
+
}
|
|
1943
|
+
interface TeamInfo {
|
|
1944
|
+
headCoach: LocalizedText;
|
|
1945
|
+
scratches: ScratchedPlayer[];
|
|
1946
|
+
}
|
|
1947
|
+
interface ScratchedPlayer {
|
|
1948
|
+
id: number;
|
|
1949
|
+
firstName: LocalizedText;
|
|
1950
|
+
lastName: LocalizedText;
|
|
1951
|
+
}
|
|
1952
|
+
interface GameReports {
|
|
1953
|
+
gameSummary: string;
|
|
1954
|
+
eventSummary: string;
|
|
1955
|
+
playByPlay: string;
|
|
1956
|
+
faceoffSummary: string;
|
|
1957
|
+
faceoffComparison: string;
|
|
1958
|
+
rosters: string;
|
|
1959
|
+
shotSummary: string;
|
|
1960
|
+
shiftChart?: string;
|
|
1961
|
+
toiAway: string;
|
|
1962
|
+
toiHome: string;
|
|
1963
|
+
shootoutSummary?: string;
|
|
1964
|
+
}
|
|
1965
|
+
interface GameVideo {
|
|
1966
|
+
threeMinRecap: number;
|
|
1967
|
+
threeMinRecapFr: number;
|
|
1968
|
+
condensedGame: number;
|
|
1969
|
+
condensedGameFr: number;
|
|
1970
|
+
}
|
|
1971
|
+
interface Last10Record {
|
|
1972
|
+
contextLabel: 'last_10_games';
|
|
1973
|
+
contextSeason: number;
|
|
1974
|
+
awayTeam: Last10RecordAwayTeam;
|
|
1975
|
+
homeTeam: Last10RecordAwayTeam;
|
|
1976
|
+
}
|
|
1977
|
+
interface Last10RecordAwayTeam {
|
|
1978
|
+
record: string;
|
|
1979
|
+
streakType: StreakType;
|
|
1980
|
+
streak: number;
|
|
1981
|
+
pastGameResults: PastGameResult[];
|
|
1982
|
+
}
|
|
1983
|
+
interface PastGameResult {
|
|
1984
|
+
opponentAbbrev: string;
|
|
1985
|
+
gameResult: GameResult;
|
|
1986
|
+
}
|
|
1987
|
+
type GameResult = 'L' | 'OTW' | 'W' | 'OTL' | 'SOL' | 'SOW';
|
|
1988
|
+
type StreakType = 'L' | 'O' | 'W';
|
|
1989
|
+
interface Linescore {
|
|
1990
|
+
byPeriod: ByPeriod[];
|
|
1991
|
+
totals: Totals;
|
|
1992
|
+
shootout?: Shootout$1;
|
|
1993
|
+
}
|
|
1994
|
+
interface ByPeriod {
|
|
1995
|
+
periodDescriptor: PeriodDescriptor$4;
|
|
1996
|
+
away: number;
|
|
1997
|
+
home: number;
|
|
1998
|
+
}
|
|
1999
|
+
interface PeriodDescriptor$4 {
|
|
2000
|
+
number: number;
|
|
2001
|
+
periodType: PeriodType;
|
|
2002
|
+
maxRegulationPeriods: number;
|
|
2003
|
+
}
|
|
2004
|
+
interface Shootout$1 {
|
|
2005
|
+
awayDecidingGoal: number;
|
|
2006
|
+
awayConversions: number;
|
|
2007
|
+
awayAttempts: number;
|
|
2008
|
+
homeDecidingGoal: number;
|
|
2009
|
+
homeConversions: number;
|
|
2010
|
+
homeAttempts: number;
|
|
2011
|
+
}
|
|
2012
|
+
interface Totals {
|
|
2013
|
+
away: number;
|
|
2014
|
+
home: number;
|
|
2015
|
+
}
|
|
2016
|
+
interface SeasonSeriesGame {
|
|
2017
|
+
id: number;
|
|
2018
|
+
season: number;
|
|
852
2019
|
gameType: number;
|
|
2020
|
+
gameDate: string;
|
|
2021
|
+
startTimeUTC: string;
|
|
2022
|
+
easternUTCOffset: UTCOffset;
|
|
2023
|
+
venueUTCOffset: UTCOffset;
|
|
2024
|
+
gameState: GameState;
|
|
2025
|
+
gameScheduleState: GameScheduleState;
|
|
2026
|
+
awayTeam: TeamDetail;
|
|
2027
|
+
homeTeam: TeamDetail;
|
|
2028
|
+
periodDescriptor?: PeriodDescriptor$4;
|
|
2029
|
+
gameCenterLink: string;
|
|
2030
|
+
gameOutcome: GameOutcome$2;
|
|
2031
|
+
clock?: Clock$1;
|
|
2032
|
+
}
|
|
2033
|
+
interface TeamDetail {
|
|
2034
|
+
id: number;
|
|
2035
|
+
abbrev: string;
|
|
2036
|
+
logo: string;
|
|
2037
|
+
score?: number;
|
|
2038
|
+
}
|
|
2039
|
+
interface Clock$1 {
|
|
2040
|
+
timeRemaining: string;
|
|
2041
|
+
secondsRemaining: number;
|
|
2042
|
+
running: boolean;
|
|
2043
|
+
inIntermission: boolean;
|
|
2044
|
+
}
|
|
2045
|
+
interface GameOutcome$2 {
|
|
2046
|
+
lastPeriodType: PeriodType;
|
|
2047
|
+
otPeriods?: number;
|
|
2048
|
+
}
|
|
2049
|
+
interface TeamGameStat$1 {
|
|
2050
|
+
category: Category$1;
|
|
2051
|
+
awayValue: number | string;
|
|
2052
|
+
homeValue: number | string;
|
|
2053
|
+
}
|
|
2054
|
+
type Category$1 = 'sog' | 'faceoffWinningPctg' | 'faceoffWins' | 'powerPlay' | 'powerPlayPctg' | 'pim' | 'hits' | 'blockedShots' | 'giveaways' | 'takeaways';
|
|
2055
|
+
interface TeamSeasonStats$1 {
|
|
2056
|
+
contextLabel: 'regular_season';
|
|
2057
|
+
contextSeason: number;
|
|
2058
|
+
awayTeam: TeamSeasonStatsDetail$1;
|
|
2059
|
+
homeTeam: TeamSeasonStatsDetail$1;
|
|
2060
|
+
}
|
|
2061
|
+
interface TeamSeasonStatsDetail$1 {
|
|
2062
|
+
ppPctg: number;
|
|
2063
|
+
pkPctg: number;
|
|
2064
|
+
faceoffWinningPctg: number;
|
|
2065
|
+
goalsForPerGamePlayed: number;
|
|
2066
|
+
goalsAgainstPerGamePlayed: number;
|
|
2067
|
+
ppPctgRank: number;
|
|
2068
|
+
pkPctgRank: number;
|
|
2069
|
+
faceoffWinningPctgRank: number;
|
|
2070
|
+
goalsForPerGamePlayedRank: number;
|
|
2071
|
+
goalsAgainstPerGamePlayedRank: number;
|
|
2072
|
+
}
|
|
2073
|
+
|
|
2074
|
+
interface LeagueSchedule {
|
|
2075
|
+
nextStartDate: string;
|
|
2076
|
+
previousStartDate: string;
|
|
2077
|
+
gameWeek: GameWeek$1[];
|
|
2078
|
+
oddsPartners: OddsPartner$1[];
|
|
2079
|
+
preSeasonStartDate: string;
|
|
2080
|
+
regularSeasonStartDate: string;
|
|
2081
|
+
regularSeasonEndDate: string;
|
|
2082
|
+
playoffEndDate: string;
|
|
2083
|
+
numberOfGames: number;
|
|
2084
|
+
}
|
|
2085
|
+
interface GameWeek$1 {
|
|
2086
|
+
date: string;
|
|
2087
|
+
dayAbbrev: DayAbbrev;
|
|
2088
|
+
numberOfGames: number;
|
|
2089
|
+
datePromo: unknown[];
|
|
2090
|
+
games: Game$3[];
|
|
2091
|
+
}
|
|
2092
|
+
interface Game$3 {
|
|
2093
|
+
id: number;
|
|
853
2094
|
season: number;
|
|
2095
|
+
gameType: number;
|
|
2096
|
+
venue: LocalizedText;
|
|
2097
|
+
neutralSite: boolean;
|
|
2098
|
+
startTimeUTC: string;
|
|
2099
|
+
easternUTCOffset: UTCOffset;
|
|
2100
|
+
venueUTCOffset: UTCOffset;
|
|
2101
|
+
venueTimezone: string;
|
|
2102
|
+
gameState: GameState;
|
|
2103
|
+
gameScheduleState: GameScheduleState;
|
|
2104
|
+
tvBroadcasts: TvBroadcast[];
|
|
2105
|
+
awayTeam: Team$4;
|
|
2106
|
+
homeTeam: Team$4;
|
|
2107
|
+
periodDescriptor: PeriodDescriptor$3;
|
|
2108
|
+
ticketsLink?: string;
|
|
2109
|
+
ticketsLinkFr?: string;
|
|
2110
|
+
gameCenterLink: string;
|
|
2111
|
+
gameOutcome?: GameOutcome$1;
|
|
2112
|
+
winningGoalie?: WinningGoalie;
|
|
2113
|
+
winningGoalScorer?: WinningGoalScorer;
|
|
2114
|
+
threeMinRecap?: string;
|
|
2115
|
+
threeMinRecapFr?: string;
|
|
2116
|
+
condensedGame?: string;
|
|
2117
|
+
condensedGameFr?: string;
|
|
854
2118
|
}
|
|
855
|
-
interface Team$
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
2119
|
+
interface Team$4 {
|
|
2120
|
+
id: number;
|
|
2121
|
+
commonName: LocalizedText;
|
|
2122
|
+
placeName: LocalizedText;
|
|
2123
|
+
placeNameWithPreposition: LocalizedText;
|
|
2124
|
+
abbrev: TeamAbbrev;
|
|
2125
|
+
logo: string;
|
|
2126
|
+
darkLogo: string;
|
|
2127
|
+
awaySplitSquad: boolean;
|
|
2128
|
+
radioLink?: string;
|
|
2129
|
+
odds?: Odd$1[];
|
|
2130
|
+
score?: number;
|
|
2131
|
+
}
|
|
2132
|
+
interface Odd$1 {
|
|
2133
|
+
providerId: number;
|
|
2134
|
+
value: string;
|
|
2135
|
+
}
|
|
2136
|
+
interface GameOutcome$1 {
|
|
2137
|
+
lastPeriodType: PeriodType;
|
|
2138
|
+
}
|
|
2139
|
+
interface PeriodDescriptor$3 {
|
|
2140
|
+
number: number;
|
|
2141
|
+
periodType: PeriodType;
|
|
2142
|
+
maxRegulationPeriods: number;
|
|
2143
|
+
}
|
|
2144
|
+
interface WinningGoalScorer {
|
|
2145
|
+
playerId: number;
|
|
2146
|
+
firstInitial: LocalizedText;
|
|
2147
|
+
lastName: LocalizedText;
|
|
2148
|
+
}
|
|
2149
|
+
interface WinningGoalie {
|
|
2150
|
+
playerId: number;
|
|
2151
|
+
firstInitial: LocalizedText;
|
|
2152
|
+
lastName: LocalizedText;
|
|
2153
|
+
}
|
|
2154
|
+
interface OddsPartner$1 {
|
|
2155
|
+
partnerId: number;
|
|
2156
|
+
country: string;
|
|
2157
|
+
name: string;
|
|
2158
|
+
imageUrl: string;
|
|
2159
|
+
siteUrl: string;
|
|
2160
|
+
bgColor: HexColorCode;
|
|
2161
|
+
textColor: HexColorCode;
|
|
2162
|
+
accentColor: HexColorCode;
|
|
2163
|
+
}
|
|
2164
|
+
interface ScheduleCalendar {
|
|
2165
|
+
endDate: string;
|
|
2166
|
+
nextStartDate: string;
|
|
2167
|
+
previousStartDate: string;
|
|
2168
|
+
startDate: string;
|
|
2169
|
+
teams: CalendarTeam[];
|
|
2170
|
+
}
|
|
2171
|
+
interface CalendarTeam {
|
|
2172
|
+
id: number;
|
|
2173
|
+
seasonId: number;
|
|
2174
|
+
commonName: LocalizedText;
|
|
2175
|
+
abbrev: string;
|
|
2176
|
+
name: LocalizedText;
|
|
2177
|
+
placeNameWithPreposition: LocalizedText;
|
|
2178
|
+
placeName: LocalizedText;
|
|
2179
|
+
logo: string;
|
|
2180
|
+
darkLogo: string;
|
|
2181
|
+
french: boolean;
|
|
860
2182
|
}
|
|
861
2183
|
|
|
862
|
-
interface
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
2184
|
+
interface Score {
|
|
2185
|
+
prevDate: string;
|
|
2186
|
+
currentDate: string;
|
|
2187
|
+
nextDate: string;
|
|
2188
|
+
gameWeek: GameWeek[];
|
|
2189
|
+
oddsPartners: OddsPartner[];
|
|
2190
|
+
games: Game$2[];
|
|
2191
|
+
}
|
|
2192
|
+
interface GameWeek {
|
|
2193
|
+
date: string;
|
|
2194
|
+
dayAbbrev: string;
|
|
2195
|
+
numberOfGames: number;
|
|
2196
|
+
}
|
|
2197
|
+
interface Game$2 {
|
|
2198
|
+
id: number;
|
|
2199
|
+
season: number;
|
|
2200
|
+
gameType: number;
|
|
2201
|
+
gameDate: string;
|
|
2202
|
+
venue: LocalizedText;
|
|
2203
|
+
startTimeUTC: string;
|
|
2204
|
+
easternUTCOffset: UTCOffset;
|
|
2205
|
+
venueUTCOffset: UTCOffset;
|
|
2206
|
+
tvBroadcasts: TvBroadcast[];
|
|
2207
|
+
gameState: GameState;
|
|
2208
|
+
gameScheduleState: GameScheduleState;
|
|
2209
|
+
awayTeam: Team$3;
|
|
2210
|
+
homeTeam: Team$3;
|
|
2211
|
+
gameCenterLink: string;
|
|
2212
|
+
neutralSite: boolean;
|
|
2213
|
+
venueTimezone: string;
|
|
2214
|
+
ticketsLink: string;
|
|
2215
|
+
ticketsLinkFr: string;
|
|
2216
|
+
teamLeaders: TeamLeader[];
|
|
2217
|
+
}
|
|
2218
|
+
interface Team$3 {
|
|
2219
|
+
id: number;
|
|
2220
|
+
name: LocalizedText;
|
|
2221
|
+
abbrev: TeamAbbrev;
|
|
2222
|
+
record: string;
|
|
2223
|
+
logo: string;
|
|
2224
|
+
odds: Odd[];
|
|
2225
|
+
}
|
|
2226
|
+
interface Odd {
|
|
2227
|
+
providerId: number;
|
|
2228
|
+
value: string;
|
|
2229
|
+
}
|
|
2230
|
+
interface TeamLeader {
|
|
2231
|
+
id: number;
|
|
2232
|
+
firstName: LocalizedText;
|
|
2233
|
+
lastName: LocalizedText;
|
|
2234
|
+
headshot: string;
|
|
2235
|
+
teamAbbrev: TeamAbbrev;
|
|
2236
|
+
sweaterNumber: number;
|
|
2237
|
+
position: PositionCode;
|
|
2238
|
+
category: LeaderCategory;
|
|
2239
|
+
value: number;
|
|
867
2240
|
}
|
|
868
|
-
|
|
2241
|
+
type LeaderCategory = 'goals' | 'assists' | 'wins';
|
|
2242
|
+
interface OddsPartner {
|
|
869
2243
|
partnerId: number;
|
|
870
2244
|
country: string;
|
|
871
2245
|
name: string;
|
|
872
2246
|
imageUrl: string;
|
|
873
2247
|
siteUrl: string;
|
|
874
|
-
bgColor:
|
|
875
|
-
textColor:
|
|
876
|
-
accentColor:
|
|
2248
|
+
bgColor: HexColorCode;
|
|
2249
|
+
textColor: HexColorCode;
|
|
2250
|
+
accentColor: HexColorCode;
|
|
2251
|
+
}
|
|
2252
|
+
|
|
2253
|
+
interface Scoreboard {
|
|
2254
|
+
focusedDate: string;
|
|
2255
|
+
focusedDateCount: number;
|
|
2256
|
+
gamesByDate: GamesByDate[];
|
|
2257
|
+
}
|
|
2258
|
+
interface GamesByDate {
|
|
2259
|
+
date: string;
|
|
2260
|
+
games: Game$1[];
|
|
877
2261
|
}
|
|
878
2262
|
interface Game$1 {
|
|
879
|
-
|
|
2263
|
+
id: number;
|
|
2264
|
+
season: number;
|
|
880
2265
|
gameType: number;
|
|
2266
|
+
gameDate: string;
|
|
2267
|
+
gameCenterLink: string;
|
|
2268
|
+
venue: LocalizedText;
|
|
881
2269
|
startTimeUTC: string;
|
|
882
|
-
|
|
883
|
-
|
|
2270
|
+
easternUTCOffset: UTCOffset;
|
|
2271
|
+
venueUTCOffset: UTCOffset;
|
|
2272
|
+
tvBroadcasts: TvBroadcast[];
|
|
2273
|
+
gameState: GameState;
|
|
2274
|
+
gameScheduleState: GameScheduleState;
|
|
2275
|
+
awayTeam: Team$2;
|
|
2276
|
+
homeTeam: Team$2;
|
|
2277
|
+
ticketsLink: string;
|
|
2278
|
+
ticketsLinkFr: string;
|
|
2279
|
+
period?: number;
|
|
2280
|
+
periodDescriptor?: PeriodDescriptor$2;
|
|
2281
|
+
threeMinRecap?: string;
|
|
2282
|
+
threeMinRecapFr?: string;
|
|
884
2283
|
}
|
|
885
|
-
interface Team$
|
|
2284
|
+
interface Team$2 {
|
|
886
2285
|
id: number;
|
|
887
|
-
name:
|
|
888
|
-
|
|
2286
|
+
name: LocalizedText;
|
|
2287
|
+
commonName: LocalizedText;
|
|
2288
|
+
placeNameWithPreposition: LocalizedText;
|
|
2289
|
+
abbrev: TeamAbbrev;
|
|
2290
|
+
score?: number;
|
|
889
2291
|
logo: string;
|
|
890
|
-
|
|
2292
|
+
record?: string;
|
|
891
2293
|
}
|
|
892
|
-
interface
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
2294
|
+
interface PeriodDescriptor$2 {
|
|
2295
|
+
number: number;
|
|
2296
|
+
periodType: PeriodType;
|
|
2297
|
+
maxRegulationPeriods: number;
|
|
896
2298
|
}
|
|
897
|
-
type Description = 'MONEY_LINE_2_WAY' | 'OVER_UNDER' | 'PUCK_LINE' | 'MONEY_LINE_3_WAY';
|
|
898
|
-
|
|
899
|
-
type PostalCodeInfo = Array<{
|
|
900
|
-
stateProvince: string;
|
|
901
|
-
networkType?: string;
|
|
902
|
-
county?: string;
|
|
903
|
-
teamName: Default;
|
|
904
|
-
postalCode: string;
|
|
905
|
-
country: string;
|
|
906
|
-
city: string;
|
|
907
|
-
}>;
|
|
908
2299
|
|
|
909
2300
|
interface NHLStandings {
|
|
910
2301
|
wildCardIndicator: boolean;
|
|
@@ -960,7 +2351,7 @@ interface TeamStanding {
|
|
|
960
2351
|
leagueSequence: number;
|
|
961
2352
|
losses: number;
|
|
962
2353
|
otLosses: number;
|
|
963
|
-
placeName:
|
|
2354
|
+
placeName: LocalizedText;
|
|
964
2355
|
pointPctg: number;
|
|
965
2356
|
points: number;
|
|
966
2357
|
regulationPlusOtWinPctg: number;
|
|
@@ -983,9 +2374,9 @@ interface TeamStanding {
|
|
|
983
2374
|
shootoutWins: number;
|
|
984
2375
|
streakCode: StreakCode;
|
|
985
2376
|
streakCount: number;
|
|
986
|
-
teamName:
|
|
987
|
-
teamCommonName:
|
|
988
|
-
teamAbbrev:
|
|
2377
|
+
teamName: LocalizedText;
|
|
2378
|
+
teamCommonName: LocalizedText;
|
|
2379
|
+
teamAbbrev: LocalizedText;
|
|
989
2380
|
teamLogo: string;
|
|
990
2381
|
ties: number;
|
|
991
2382
|
waiversSequence: number;
|
|
@@ -1000,7 +2391,6 @@ type ConferenceName = 'Eastern' | 'Western' | 'Prince of Wales' | 'Clarence Camp
|
|
|
1000
2391
|
type DivisionAbbrev = 'A' | 'C' | 'P' | 'M' | 'E' | 'W' | 'CEN' | 'ATL' | 'NE' | 'PAC' | 'NW' | 'SE' | 'ADM' | 'SMY' | 'PTK' | 'NRS' | 'EST' | 'WST' | 'NTH' | 'CDN' | 'AMR';
|
|
1001
2392
|
type DivisionName = 'Atlantic' | 'Central' | 'Pacific' | 'Metropolitan' | 'East' | 'West' | 'Northeast' | 'Northwest' | 'Southeast' | 'Adams' | 'Smythe' | 'Patrick' | 'Norris' | 'Discover Central' | 'MassMutual East' | 'Honda West' | 'Scotia North' | 'Canadian' | 'American';
|
|
1002
2393
|
type StreakCode = 'W' | 'L' | 'OT' | 'T';
|
|
1003
|
-
|
|
1004
2394
|
interface NHLStandingsSeason {
|
|
1005
2395
|
currentDate: string;
|
|
1006
2396
|
seasons: SeasonDetails[];
|
|
@@ -1022,15 +2412,15 @@ interface SeasonDetails {
|
|
|
1022
2412
|
}
|
|
1023
2413
|
|
|
1024
2414
|
interface TeamProspects {
|
|
1025
|
-
forwards: Forward[];
|
|
1026
|
-
defensemen: Defenseman[];
|
|
1027
|
-
goalies: Goalie[];
|
|
2415
|
+
forwards: Forward$1[];
|
|
2416
|
+
defensemen: Defenseman$1[];
|
|
2417
|
+
goalies: Goalie$3[];
|
|
1028
2418
|
}
|
|
1029
|
-
interface
|
|
2419
|
+
interface BaseProspect {
|
|
1030
2420
|
id: number;
|
|
1031
2421
|
headshot: string;
|
|
1032
|
-
firstName:
|
|
1033
|
-
lastName:
|
|
2422
|
+
firstName: LocalizedText;
|
|
2423
|
+
lastName: LocalizedText;
|
|
1034
2424
|
sweaterNumber?: number;
|
|
1035
2425
|
shootsCatches: ShootsCatches;
|
|
1036
2426
|
heightInInches: number;
|
|
@@ -1038,17 +2428,50 @@ interface PlayerBase {
|
|
|
1038
2428
|
heightInCentimeters: number;
|
|
1039
2429
|
weightInKilograms: number;
|
|
1040
2430
|
birthDate: string;
|
|
1041
|
-
birthCity?:
|
|
2431
|
+
birthCity?: LocalizedText;
|
|
1042
2432
|
birthCountry: string;
|
|
1043
|
-
birthStateProvince?:
|
|
2433
|
+
birthStateProvince?: LocalizedText;
|
|
1044
2434
|
}
|
|
1045
|
-
interface Defenseman extends
|
|
2435
|
+
interface Defenseman$1 extends BaseProspect {
|
|
1046
2436
|
positionCode: 'D';
|
|
1047
2437
|
}
|
|
1048
|
-
interface Forward extends
|
|
2438
|
+
interface Forward$1 extends BaseProspect {
|
|
2439
|
+
positionCode: Exclude<PositionCode, 'D' | 'G'>;
|
|
2440
|
+
}
|
|
2441
|
+
interface Goalie$3 extends BaseProspect {
|
|
2442
|
+
positionCode: 'G';
|
|
2443
|
+
}
|
|
2444
|
+
|
|
2445
|
+
type TeamRosterSeasons = Array<Season>;
|
|
2446
|
+
interface TeamRoster {
|
|
2447
|
+
forwards: Forward[];
|
|
2448
|
+
defensemen: Defenseman[];
|
|
2449
|
+
goalies: Goalie$2[];
|
|
2450
|
+
}
|
|
2451
|
+
interface Player {
|
|
2452
|
+
id: number;
|
|
2453
|
+
headshot: string;
|
|
2454
|
+
firstName: LocalizedText;
|
|
2455
|
+
lastName: LocalizedText;
|
|
2456
|
+
sweaterNumber?: number;
|
|
2457
|
+
positionCode: PositionCode;
|
|
2458
|
+
shootsCatches?: ShootsCatches;
|
|
2459
|
+
heightInInches?: number;
|
|
2460
|
+
weightInPounds?: number;
|
|
2461
|
+
heightInCentimeters?: number;
|
|
2462
|
+
weightInKilograms?: number;
|
|
2463
|
+
birthDate: string;
|
|
2464
|
+
birthCity?: LocalizedText;
|
|
2465
|
+
birthCountry: string;
|
|
2466
|
+
birthStateProvince?: LocalizedText;
|
|
2467
|
+
}
|
|
2468
|
+
interface Forward extends Player {
|
|
1049
2469
|
positionCode: Exclude<PositionCode, 'D' | 'G'>;
|
|
1050
2470
|
}
|
|
1051
|
-
interface
|
|
2471
|
+
interface Defenseman extends Player {
|
|
2472
|
+
positionCode: 'D';
|
|
2473
|
+
}
|
|
2474
|
+
interface Goalie$2 extends Player {
|
|
1052
2475
|
positionCode: 'G';
|
|
1053
2476
|
}
|
|
1054
2477
|
|
|
@@ -1081,7 +2504,7 @@ interface Game {
|
|
|
1081
2504
|
season: number;
|
|
1082
2505
|
gameType: number;
|
|
1083
2506
|
gameDate: string;
|
|
1084
|
-
venue:
|
|
2507
|
+
venue: LocalizedText;
|
|
1085
2508
|
neutralSite: boolean;
|
|
1086
2509
|
startTimeUTC: string;
|
|
1087
2510
|
easternUTCOffset: string;
|
|
@@ -1090,9 +2513,9 @@ interface Game {
|
|
|
1090
2513
|
gameState: GameState;
|
|
1091
2514
|
gameScheduleState: GameScheduleState;
|
|
1092
2515
|
tvBroadcasts: TvBroadcast[];
|
|
1093
|
-
awayTeam: Team;
|
|
1094
|
-
homeTeam: Team;
|
|
1095
|
-
periodDescriptor: PeriodDescriptor;
|
|
2516
|
+
awayTeam: Team$1;
|
|
2517
|
+
homeTeam: Team$1;
|
|
2518
|
+
periodDescriptor: PeriodDescriptor$1;
|
|
1096
2519
|
gameOutcome?: GameOutcome;
|
|
1097
2520
|
winningGoalie?: WinningGoal;
|
|
1098
2521
|
gameCenterLink?: string;
|
|
@@ -1108,11 +2531,11 @@ interface Game {
|
|
|
1108
2531
|
ticketsLinkFr?: string;
|
|
1109
2532
|
alternateBroadcasts?: AlternateBroadcast[];
|
|
1110
2533
|
}
|
|
1111
|
-
interface Team {
|
|
2534
|
+
interface Team$1 {
|
|
1112
2535
|
id: number;
|
|
1113
|
-
commonName:
|
|
1114
|
-
placeName:
|
|
1115
|
-
placeNameWithPreposition:
|
|
2536
|
+
commonName: LocalizedText;
|
|
2537
|
+
placeName: LocalizedText;
|
|
2538
|
+
placeNameWithPreposition: LocalizedText;
|
|
1116
2539
|
abbrev: TeamAbbrev;
|
|
1117
2540
|
logo?: string;
|
|
1118
2541
|
darkLogo?: string;
|
|
@@ -1130,7 +2553,7 @@ interface Team {
|
|
|
1130
2553
|
interface GameOutcome {
|
|
1131
2554
|
lastPeriodType: PeriodType;
|
|
1132
2555
|
}
|
|
1133
|
-
interface PeriodDescriptor {
|
|
2556
|
+
interface PeriodDescriptor$1 {
|
|
1134
2557
|
number?: number;
|
|
1135
2558
|
periodType: PeriodType;
|
|
1136
2559
|
maxRegulationPeriods: number;
|
|
@@ -1138,67 +2561,340 @@ interface PeriodDescriptor {
|
|
|
1138
2561
|
}
|
|
1139
2562
|
interface SpecialEvent {
|
|
1140
2563
|
parentId: number;
|
|
1141
|
-
name:
|
|
1142
|
-
lightLogoUrl?:
|
|
2564
|
+
name: LocalizedText;
|
|
2565
|
+
lightLogoUrl?: LocalizedText;
|
|
1143
2566
|
}
|
|
1144
2567
|
interface SeriesStatus {
|
|
1145
2568
|
round: number;
|
|
1146
2569
|
seriesAbbrev: string;
|
|
1147
2570
|
seriesTitle: string;
|
|
1148
|
-
seriesLetter: SeriesLetter;
|
|
2571
|
+
seriesLetter: SeriesLetter$1;
|
|
1149
2572
|
neededToWin: number;
|
|
1150
2573
|
topSeedWins: number;
|
|
1151
2574
|
bottomSeedWins: number;
|
|
1152
2575
|
gameNumberOfSeries: number;
|
|
1153
2576
|
}
|
|
1154
|
-
interface TvBroadcast {
|
|
1155
|
-
id: number;
|
|
1156
|
-
market: Market;
|
|
1157
|
-
countryCode: CountryCode;
|
|
1158
|
-
network: string;
|
|
1159
|
-
sequenceNumber: number;
|
|
1160
|
-
}
|
|
1161
2577
|
interface WinningGoal {
|
|
1162
2578
|
playerId: number;
|
|
1163
|
-
firstInitial:
|
|
1164
|
-
lastName:
|
|
2579
|
+
firstInitial: LocalizedText;
|
|
2580
|
+
lastName: LocalizedText;
|
|
1165
2581
|
}
|
|
1166
2582
|
interface AlternateBroadcast {
|
|
1167
2583
|
country: CountryCode;
|
|
1168
|
-
descriptions:
|
|
2584
|
+
descriptions: LocalizedText[];
|
|
1169
2585
|
}
|
|
1170
2586
|
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
2587
|
+
interface TeamStats {
|
|
2588
|
+
season: string;
|
|
2589
|
+
gameType: number;
|
|
2590
|
+
skaters: Skater[];
|
|
2591
|
+
goalies: Goalie$1[];
|
|
2592
|
+
}
|
|
2593
|
+
interface Goalie$1 {
|
|
2594
|
+
playerId: number;
|
|
2595
|
+
headshot: string;
|
|
2596
|
+
firstName: LocalizedText;
|
|
2597
|
+
lastName: LocalizedText;
|
|
2598
|
+
gamesPlayed: number;
|
|
2599
|
+
gamesStarted: number;
|
|
2600
|
+
wins: number;
|
|
2601
|
+
losses: number;
|
|
2602
|
+
overtimeLosses: number;
|
|
2603
|
+
goalsAgainstAverage: number;
|
|
2604
|
+
savePercentage: number;
|
|
2605
|
+
shotsAgainst: number;
|
|
2606
|
+
saves: number;
|
|
2607
|
+
goalsAgainst: number;
|
|
2608
|
+
shutouts: number;
|
|
2609
|
+
goals: number;
|
|
2610
|
+
assists: number;
|
|
2611
|
+
points: number;
|
|
2612
|
+
penaltyMinutes: number;
|
|
2613
|
+
timeOnIce: number;
|
|
2614
|
+
}
|
|
2615
|
+
interface Skater {
|
|
2616
|
+
playerId: number;
|
|
2617
|
+
headshot: string;
|
|
2618
|
+
firstName: LocalizedText;
|
|
2619
|
+
lastName: LocalizedText;
|
|
2620
|
+
positionCode: PositionCode;
|
|
2621
|
+
gamesPlayed: number;
|
|
2622
|
+
goals: number;
|
|
2623
|
+
assists: number;
|
|
2624
|
+
points: number;
|
|
2625
|
+
plusMinus: number;
|
|
2626
|
+
penaltyMinutes: number;
|
|
2627
|
+
powerPlayGoals: number;
|
|
2628
|
+
shorthandedGoals: number;
|
|
2629
|
+
gameWinningGoals: number;
|
|
2630
|
+
overtimeGoals: number;
|
|
2631
|
+
shots: number;
|
|
2632
|
+
shootingPctg: number;
|
|
2633
|
+
avgTimeOnIcePerGame: number;
|
|
2634
|
+
avgShiftsPerGame: number;
|
|
2635
|
+
faceoffWinPctg: number;
|
|
2636
|
+
}
|
|
2637
|
+
interface TeamStatsSeason {
|
|
2638
|
+
season: number;
|
|
2639
|
+
gameTypes: (2 | 3)[];
|
|
2640
|
+
}
|
|
1184
2641
|
|
|
1185
|
-
interface
|
|
1186
|
-
|
|
2642
|
+
interface WhereToWatch {
|
|
2643
|
+
id: string;
|
|
2644
|
+
active: boolean;
|
|
2645
|
+
countryCode: string;
|
|
2646
|
+
countryName: string;
|
|
2647
|
+
streamingName?: string;
|
|
2648
|
+
streamingSiteUrl?: string;
|
|
2649
|
+
streamingLogoUrl?: string;
|
|
2650
|
+
primaryBroadcastName?: string;
|
|
2651
|
+
primaryBroadcastSiteUrl?: string;
|
|
2652
|
+
primaryBroadcastLogoUrl?: string;
|
|
2653
|
+
secondaryBroadcastName?: string;
|
|
2654
|
+
secondaryBroadcastSiteUrl?: string;
|
|
2655
|
+
secondaryBroadcastLogoUrl?: string;
|
|
1187
2656
|
}
|
|
1188
2657
|
|
|
1189
|
-
type
|
|
1190
|
-
|
|
2658
|
+
type Category = 'points' | 'goals' | 'assists' | 'plusMinus';
|
|
2659
|
+
interface WSCGameStory {
|
|
2660
|
+
id: number;
|
|
2661
|
+
season: number;
|
|
2662
|
+
gameType: number;
|
|
2663
|
+
limitedScoring: boolean;
|
|
2664
|
+
gameDate: string;
|
|
2665
|
+
venue: LocalizedText;
|
|
2666
|
+
venueLocation: LocalizedText;
|
|
2667
|
+
startTimeUTC: string;
|
|
2668
|
+
easternUTCOffset: UTCOffset;
|
|
2669
|
+
venueUTCOffset: UTCOffset;
|
|
2670
|
+
venueTimezone: string;
|
|
2671
|
+
tvBroadcasts: TvBroadcast[];
|
|
2672
|
+
gameState: GameState;
|
|
2673
|
+
gameScheduleState: 'OK';
|
|
2674
|
+
awayTeam: Team;
|
|
2675
|
+
homeTeam: Team;
|
|
2676
|
+
shootoutInUse: boolean;
|
|
2677
|
+
maxPeriods: number;
|
|
2678
|
+
regPeriods: number;
|
|
2679
|
+
otInUse: boolean;
|
|
2680
|
+
tiesInUse: boolean;
|
|
2681
|
+
preGameMatchup?: PreGameMatchup;
|
|
2682
|
+
summary?: Summary;
|
|
2683
|
+
periodDescriptor?: PeriodDescriptor;
|
|
2684
|
+
clock?: Clock;
|
|
2685
|
+
}
|
|
2686
|
+
interface Team {
|
|
2687
|
+
id: number;
|
|
2688
|
+
name: LocalizedText;
|
|
2689
|
+
abbrev: string;
|
|
2690
|
+
placeName: LocalizedText;
|
|
2691
|
+
logo: string;
|
|
2692
|
+
record?: string;
|
|
2693
|
+
score?: number;
|
|
2694
|
+
sog?: number;
|
|
2695
|
+
radioLink?: string;
|
|
2696
|
+
}
|
|
2697
|
+
interface Clock {
|
|
2698
|
+
timeRemaining: string;
|
|
2699
|
+
secondsRemaining: number;
|
|
2700
|
+
running: boolean;
|
|
2701
|
+
inIntermission: boolean;
|
|
2702
|
+
}
|
|
2703
|
+
interface PeriodDescriptor {
|
|
2704
|
+
number: number;
|
|
2705
|
+
periodType: PeriodType;
|
|
2706
|
+
maxRegulationPeriods: number;
|
|
2707
|
+
}
|
|
2708
|
+
interface PreGameMatchup {
|
|
2709
|
+
skatingLeaders: SkatingLeaders;
|
|
2710
|
+
goalieComparison: GoalieComparison;
|
|
2711
|
+
teamSeasonStats: TeamSeasonStats;
|
|
2712
|
+
}
|
|
2713
|
+
interface GoalieComparison {
|
|
2714
|
+
season: number;
|
|
2715
|
+
gameTypes: number[];
|
|
2716
|
+
awayTeam: Goalie[];
|
|
2717
|
+
homeTeam: Goalie[];
|
|
2718
|
+
}
|
|
2719
|
+
interface Goalie {
|
|
2720
|
+
playerId: number;
|
|
2721
|
+
name: LocalizedText;
|
|
2722
|
+
firstName: LocalizedText;
|
|
2723
|
+
lastName: LocalizedText;
|
|
2724
|
+
sweaterNumber: number;
|
|
2725
|
+
headshot: string;
|
|
2726
|
+
positionCode: PositionCode;
|
|
2727
|
+
gamesPlayed?: number;
|
|
2728
|
+
seasonPoints?: number;
|
|
2729
|
+
record?: string;
|
|
2730
|
+
gaa?: number;
|
|
2731
|
+
savePctg?: number;
|
|
2732
|
+
shutouts?: number;
|
|
2733
|
+
}
|
|
2734
|
+
interface SkatingLeaders {
|
|
2735
|
+
season: number;
|
|
2736
|
+
gameTypes: number[];
|
|
2737
|
+
gameLimit: number;
|
|
2738
|
+
leaders: Leader[];
|
|
2739
|
+
}
|
|
2740
|
+
interface Leader {
|
|
2741
|
+
category: Category;
|
|
2742
|
+
awayLeader: LeaderDetail;
|
|
2743
|
+
homeLeader: LeaderDetail;
|
|
2744
|
+
}
|
|
2745
|
+
interface LeaderDetail {
|
|
2746
|
+
playerId: number;
|
|
2747
|
+
name: LocalizedText;
|
|
2748
|
+
firstName: LocalizedText;
|
|
2749
|
+
lastName: LocalizedText;
|
|
2750
|
+
sweaterNumber: number;
|
|
2751
|
+
positionCode: PositionCode;
|
|
2752
|
+
headshot: string;
|
|
2753
|
+
value: number;
|
|
2754
|
+
}
|
|
2755
|
+
interface TeamSeasonStats {
|
|
2756
|
+
awayTeam: TeamSeasonStatsDetail;
|
|
2757
|
+
homeTeam: TeamSeasonStatsDetail;
|
|
2758
|
+
}
|
|
2759
|
+
interface TeamSeasonStatsDetail {
|
|
2760
|
+
ppPctg: number;
|
|
2761
|
+
pkPctg: number;
|
|
2762
|
+
faceoffWinningPctg: number;
|
|
2763
|
+
goalsForPerGamePlayed: number;
|
|
2764
|
+
goalsAgainstPerGamePlayed: number;
|
|
2765
|
+
ppPctgRank: number;
|
|
2766
|
+
pkPctgRank: number;
|
|
2767
|
+
faceoffWinningPctgRank: number;
|
|
2768
|
+
goalsForPerGamePlayedRank: number;
|
|
2769
|
+
goalsAgainstPerGamePlayedRank: number;
|
|
2770
|
+
}
|
|
2771
|
+
interface Summary {
|
|
2772
|
+
scoring: Scoring[];
|
|
2773
|
+
shootout: Shootout[];
|
|
2774
|
+
threeStars: ThreeStar[];
|
|
2775
|
+
teamGameStats: TeamGameStat[];
|
|
2776
|
+
}
|
|
2777
|
+
interface Scoring {
|
|
2778
|
+
periodDescriptor: PeriodDescriptor;
|
|
2779
|
+
goals: Goal[];
|
|
2780
|
+
}
|
|
2781
|
+
interface Goal {
|
|
2782
|
+
situationCode: string;
|
|
2783
|
+
eventId: number;
|
|
2784
|
+
strength: Strength;
|
|
2785
|
+
playerId: number;
|
|
2786
|
+
firstName: LocalizedText;
|
|
2787
|
+
lastName: LocalizedText;
|
|
2788
|
+
name: LocalizedText;
|
|
2789
|
+
teamAbbrev: LocalizedText;
|
|
2790
|
+
headshot: string;
|
|
2791
|
+
highlightClipSharingUrl?: string;
|
|
2792
|
+
highlightClip?: number;
|
|
2793
|
+
discreteClip?: number;
|
|
2794
|
+
goalsToDate: number;
|
|
2795
|
+
awayScore: number;
|
|
2796
|
+
homeScore: number;
|
|
2797
|
+
leadingTeamAbbrev?: LocalizedText;
|
|
2798
|
+
timeInPeriod: string;
|
|
2799
|
+
shotType: ShotType;
|
|
2800
|
+
goalModifier: GoalModifier;
|
|
2801
|
+
assists: Assist[];
|
|
2802
|
+
homeTeamDefendingSide: DefendingSide;
|
|
2803
|
+
isHome: boolean;
|
|
2804
|
+
highlightClipSharingUrlFr?: string;
|
|
2805
|
+
highlightClipFr?: number;
|
|
2806
|
+
discreteClipFr?: number;
|
|
2807
|
+
}
|
|
2808
|
+
interface Assist {
|
|
2809
|
+
playerId: number;
|
|
2810
|
+
firstName: LocalizedText;
|
|
2811
|
+
lastName: LocalizedText;
|
|
2812
|
+
name: LocalizedText;
|
|
2813
|
+
assistsToDate: number;
|
|
2814
|
+
sweaterNumber: number;
|
|
2815
|
+
}
|
|
2816
|
+
interface Shootout {
|
|
2817
|
+
sequence: number;
|
|
2818
|
+
playerId: number;
|
|
2819
|
+
teamAbbrev: LocalizedText;
|
|
2820
|
+
firstName: LocalizedText;
|
|
2821
|
+
lastName: LocalizedText;
|
|
2822
|
+
shotType: ShotType;
|
|
2823
|
+
result: 'save' | 'goal';
|
|
2824
|
+
headshot: string;
|
|
2825
|
+
gameWinner: boolean;
|
|
2826
|
+
discreteClip?: number;
|
|
2827
|
+
discreteClipFr?: number;
|
|
2828
|
+
}
|
|
2829
|
+
interface TeamGameStat {
|
|
2830
|
+
category: string;
|
|
2831
|
+
awayValue: number | string;
|
|
2832
|
+
homeValue: number | string;
|
|
2833
|
+
}
|
|
2834
|
+
interface ThreeStar {
|
|
2835
|
+
star: number;
|
|
2836
|
+
playerId: number;
|
|
2837
|
+
teamAbbrev: string;
|
|
2838
|
+
headshot: string;
|
|
2839
|
+
name: string;
|
|
2840
|
+
sweaterNo: number;
|
|
2841
|
+
position: PositionCode;
|
|
2842
|
+
goals?: number;
|
|
2843
|
+
assists?: number;
|
|
2844
|
+
points?: number;
|
|
2845
|
+
goalsAgainstAverage?: number;
|
|
2846
|
+
savePctg?: number;
|
|
2847
|
+
}
|
|
2848
|
+
type WSCPlayByPlay = Array<WSCPlayByPlayEvent>;
|
|
2849
|
+
interface WSCPlayByPlayEvent {
|
|
2850
|
+
id: number;
|
|
2851
|
+
eventId: number;
|
|
2852
|
+
period: number;
|
|
2853
|
+
timeInPeriod: string;
|
|
2854
|
+
secondsRemaining: number;
|
|
2855
|
+
situationCode: string;
|
|
2856
|
+
typeCode: number;
|
|
2857
|
+
typeDescKey: EventTypeDescKey;
|
|
2858
|
+
homeTeamDefendingSide: DefendingSide;
|
|
2859
|
+
sortOrder: number;
|
|
2860
|
+
utc: string;
|
|
2861
|
+
eventOwnerTeamId?: number;
|
|
2862
|
+
losingPlayerId?: number;
|
|
2863
|
+
winningPlayerId?: number;
|
|
2864
|
+
xCoord?: number;
|
|
2865
|
+
yCoord?: number;
|
|
2866
|
+
zoneCode?: ZoneCode;
|
|
2867
|
+
playerId?: number;
|
|
2868
|
+
reason?: Reason;
|
|
2869
|
+
shotType?: ShotType;
|
|
2870
|
+
shootingPlayerId?: number;
|
|
2871
|
+
goalieInNetId?: number;
|
|
2872
|
+
blockingPlayerId?: number;
|
|
2873
|
+
awaySOG?: number;
|
|
2874
|
+
homeSOG?: number;
|
|
2875
|
+
hittingPlayerId?: number;
|
|
2876
|
+
hitteePlayerId?: number;
|
|
2877
|
+
penaltyTypeCode?: PenaltyTypeCode;
|
|
2878
|
+
descKey?: string;
|
|
2879
|
+
duration?: number;
|
|
2880
|
+
committedByPlayerId?: number;
|
|
2881
|
+
drawnByPlayerId?: number;
|
|
2882
|
+
goalModifier?: GoalModifier;
|
|
2883
|
+
strength?: Strength;
|
|
2884
|
+
scoringPlayerId?: number;
|
|
2885
|
+
assist1PlayerId?: number;
|
|
2886
|
+
awayScore?: number;
|
|
2887
|
+
homeScore?: number;
|
|
2888
|
+
strengthCode?: number;
|
|
2889
|
+
goalCode?: number;
|
|
2890
|
+
scoringPlayerTotal?: number;
|
|
2891
|
+
assist1PlayerTotal?: number;
|
|
2892
|
+
assist2PlayerId?: number;
|
|
2893
|
+
assist2PlayerTotal?: number;
|
|
2894
|
+
servedByPlayerId?: number;
|
|
2895
|
+
}
|
|
1191
2896
|
|
|
1192
|
-
type TeamStats = Record<string, unknown>;
|
|
1193
|
-
type TeamStatsSeason = Record<string, unknown>;
|
|
1194
|
-
type PlayerLanding = Record<string, unknown>;
|
|
1195
|
-
type PlayerGameLog = Record<string, unknown>;
|
|
1196
|
-
type PlayerSpotlight = Record<string, unknown>;
|
|
1197
2897
|
type PlayerSearchResult = Record<string, unknown>;
|
|
1198
|
-
type SkaterStatsLeaders = Record<string, unknown>;
|
|
1199
|
-
type GoalieStatsLeaders = Record<string, unknown>;
|
|
1200
|
-
type NHLScore = Record<string, unknown>;
|
|
1201
|
-
type NHLScoreboard = Record<string, unknown>;
|
|
1202
2898
|
|
|
1203
2899
|
/**
|
|
1204
2900
|
* @module api/gamecenter/draft
|
|
@@ -1430,7 +3126,8 @@ declare function playoffSeries(season?: Season): Promise<APIResponse<PlayoffSeri
|
|
|
1430
3126
|
* playoffSeriesSchedule('A', 20232024).then((data) => console.log(data));
|
|
1431
3127
|
* ```
|
|
1432
3128
|
*/
|
|
1433
|
-
declare function playoffSeriesSchedule(seriesLetter: SeriesLetter, season?: Season): Promise<APIResponse<PlayoffSeriesSchedule>>;
|
|
3129
|
+
declare function playoffSeriesSchedule(seriesLetter: SeriesLetter$1, season?: Season): Promise<APIResponse<PlayoffSeriesSchedule>>;
|
|
3130
|
+
declare function playoffSeriesSchedule(seriesLetter: string, season?: Season): Promise<APIResponse<PlayoffSeriesSchedule>>;
|
|
1434
3131
|
/**
|
|
1435
3132
|
* Get information about where games are available to watch
|
|
1436
3133
|
* @returns Promise resolving to streaming and broadcast availability information
|
|
@@ -1510,7 +3207,8 @@ declare function metaGame(gameId: GameId): Promise<APIResponse<GameMeta>>;
|
|
|
1510
3207
|
* meta.playoffSeries('A', 2023).then((data) => console.log(data));
|
|
1511
3208
|
* ```
|
|
1512
3209
|
*/
|
|
1513
|
-
declare function metaPlayoffSeries(seriesLetter: SeriesLetter, year?: Year): Promise<APIResponse<PlayoffSeriesMeta>>;
|
|
3210
|
+
declare function metaPlayoffSeries(seriesLetter: SeriesLetter$1, year?: Year): Promise<APIResponse<PlayoffSeriesMeta>>;
|
|
3211
|
+
declare function metaPlayoffSeries(seriesLetter: string, year?: Year): Promise<APIResponse<PlayoffSeriesMeta>>;
|
|
1514
3212
|
/**
|
|
1515
3213
|
* Lookup information based on postal/zip code
|
|
1516
3214
|
*
|
|
@@ -1582,6 +3280,7 @@ declare function landing(playerId: number | string): Promise<APIResponse<PlayerL
|
|
|
1582
3280
|
* ```
|
|
1583
3281
|
*/
|
|
1584
3282
|
declare function gameLog(playerId: number | string, season?: Season, gameType?: GameType): Promise<APIResponse<PlayerGameLog>>;
|
|
3283
|
+
declare function gameLog(playerId: number | string, season?: Season, gameType?: number | string): Promise<APIResponse<PlayerGameLog>>;
|
|
1585
3284
|
/**
|
|
1586
3285
|
* Get player spotlight featuring highlighted players
|
|
1587
3286
|
* @returns Promise resolving to featured/spotlight players
|
|
@@ -1590,17 +3289,18 @@ declare function gameLog(playerId: number | string, season?: Season, gameType?:
|
|
|
1590
3289
|
* spotlight().then((data) => console.log(data));
|
|
1591
3290
|
* ```
|
|
1592
3291
|
*/
|
|
1593
|
-
declare function spotlight(): Promise<APIResponse<PlayerSpotlight>>;
|
|
3292
|
+
declare function spotlight(): Promise<APIResponse<PlayerSpotlight[]>>;
|
|
1594
3293
|
/**
|
|
1595
3294
|
* Search for players by name
|
|
1596
3295
|
* @param query - The search query string (player name)
|
|
1597
3296
|
* @returns Promise resolving to player search results
|
|
3297
|
+
* @deprecated This endpoint is deprecated and may be removed in future versions. Use the NHL Stats API player endpoint instead.
|
|
1598
3298
|
* @example
|
|
1599
3299
|
* ```ts
|
|
1600
3300
|
* search('McDavid').then((data) => console.log(data));
|
|
1601
3301
|
* ```
|
|
1602
3302
|
*/
|
|
1603
|
-
declare function search(query: string): Promise<APIResponse<PlayerSearchResult>>;
|
|
3303
|
+
declare function search(query: string): Promise<APIResponse<PlayerSearchResult[] | undefined>>;
|
|
1604
3304
|
/**
|
|
1605
3305
|
* Access stats leaders endpoints for skaters and goalies
|
|
1606
3306
|
* @description Get statistical leaders across various categories
|
|
@@ -1654,7 +3354,7 @@ declare namespace player {
|
|
|
1654
3354
|
* score('2023-11-15').then((data) => console.log(data));
|
|
1655
3355
|
* ```
|
|
1656
3356
|
*/
|
|
1657
|
-
declare function score(date?: Date | string): Promise<APIResponse<
|
|
3357
|
+
declare function score(date?: Date | string): Promise<APIResponse<Score>>;
|
|
1658
3358
|
/**
|
|
1659
3359
|
* Get current scoreboard information
|
|
1660
3360
|
* @returns Promise resolving to current scoreboard with live and recent game data
|
|
@@ -1663,10 +3363,10 @@ declare function score(date?: Date | string): Promise<APIResponse<NHLScore>>;
|
|
|
1663
3363
|
* scoreboard().then((data) => console.log(data));
|
|
1664
3364
|
* ```
|
|
1665
3365
|
*/
|
|
1666
|
-
declare function scoreboard(): Promise<APIResponse<
|
|
3366
|
+
declare function scoreboard(): Promise<APIResponse<Scoreboard>>;
|
|
1667
3367
|
declare namespace scoreboard {
|
|
1668
|
-
var team: (team: TeamAbbrev) => Promise<APIResponse<
|
|
1669
|
-
var date: (date: Date | string) => Promise<APIResponse<
|
|
3368
|
+
var team: (team: TeamAbbrev) => Promise<APIResponse<Scoreboard>>;
|
|
3369
|
+
var date: (date: Date | string) => Promise<APIResponse<Scoreboard>>;
|
|
1670
3370
|
}
|
|
1671
3371
|
|
|
1672
3372
|
/**
|
|
@@ -2195,4 +3895,4 @@ declare const EDGE: {
|
|
|
2195
3895
|
};
|
|
2196
3896
|
};
|
|
2197
3897
|
|
|
2198
|
-
export { type
|
|
3898
|
+
export { type CountryCode$1 as CountryCode, type DraftPicks, type DraftRankings, type DraftRound, type DraftTracker, EDGE, type EventId, type GameId, type GameMeta, type GameNumber, type GameState$1 as GameState, type GameType, type GamecenterBoxscore, type GamecenterLanding, type GamecenterPlayByPlay, type GamecenterReports, type GoalieStatsLeaders, type LeagueSchedule, type LocationInfo, nhl as NHL, type NHLDate, type NHLMonth, type NHLSeasons, type NHLStandings, type NHLStandingsSeason, type NetworkTVSchedule, type PPTReplayEvent, type PPTReplayGoal, type PartnerGameInfo, type PlayerGameLog, type PlayerId, type PlayerLanding, type PlayerSearchResult, type PlayerSpotlight, type PlayoffBracket, type PlayoffRound, type PlayoffSeries, type PlayoffSeriesMeta, type PlayoffSeriesSchedule, type PositionFilter, type PostalCode, type PostalCodeInfo, type SaveLocationCategory, type SaveLocationSort, type SavePercentage5v5Sort, type SavePercentageSort, type ScheduleCalendar, type Score, type Scoreboard, type Season, type SeriesLetter$1 as SeriesLetter, type ShotLocationCategory, type ShotLocationSort, type ShotSpeedSort, type SkaterStatsLeaders, type SkatersStrength, type SkatingDistanceSort, type SkatingSpeedSort, type TeamAbbrev, type TeamId, type TeamProspects, type TeamRoster, type TeamRosterSeasons, type TeamScheduleMonth, type TeamScheduleSeason, type TeamScheduleWeek, type TeamStats, type TeamStatsSeason, type WSCGameStory, type WSCPlayByPlay, type WSCPlayByPlayEvent, type WhereToWatch, type Year, type ZoneTimeSort, index$1 as adv, index as gc };
|