nhl-api-ts 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -6
- package/dist/api/edge.d.mts +25 -24
- package/dist/api/edge.mjs +69 -23
- package/dist/api/game-center.d.mts +16 -15
- package/dist/api/game-center.mjs +20 -8
- package/dist/api/helpers.d.mts +8 -7
- package/dist/api/helpers.mjs +6 -6
- package/dist/api/misc.d.mts +6 -6
- package/dist/api/misc.mjs +15 -5
- package/dist/api/players.d.mts +6 -5
- package/dist/api/players.mjs +6 -2
- package/dist/api/query/builder.d.mts +2 -0
- package/dist/api/query/builder.mjs +3 -1
- package/dist/api/query/index.d.mts +2 -2
- package/dist/api/query/index.mjs +1 -1
- package/dist/api/query/sorting/goalie-sorts.d.mts +55 -0
- package/dist/api/query/sorting/goalie-sorts.mjs +43 -48
- package/dist/api/query/sorting/sorting-options.d.mts +125 -0
- package/dist/api/query/sorting/sorting-options.mjs +3 -2
- package/dist/api/schedule.d.mts +22 -21
- package/dist/api/schedule.mjs +26 -14
- package/dist/api/standings.d.mts +5 -4
- package/dist/api/standings.mjs +4 -4
- package/dist/api/stats.d.mts +22 -17
- package/dist/api/stats.mjs +38 -16
- package/dist/api/teams.d.mts +9 -8
- package/dist/api/teams.mjs +10 -6
- package/dist/cli/colors.d.mts +2 -2
- package/dist/cli/colors.mjs +6 -2
- package/dist/cli/commands.mjs +36 -26
- package/dist/cli/run.mjs +7 -5
- package/dist/http-client.mjs +2 -2
- package/dist/index.d.mts +2 -1
- package/dist/nhl-client.d.mts +14 -10
- package/dist/nhl-client.mjs +9 -7
- package/dist/types/common.d.mts +80 -0
- package/dist/types/common.mjs +2 -0
- package/dist/types/edge.d.mts +1024 -0
- package/dist/types/edge.mjs +1 -0
- package/dist/types/game-center.d.mts +1137 -0
- package/dist/types/game-center.mjs +1 -0
- package/dist/types/helpers.d.mts +17 -0
- package/dist/types/helpers.mjs +1 -0
- package/dist/types/index.d.mts +10 -0
- package/dist/types/index.mjs +1 -0
- package/dist/types/misc.d.mts +68 -0
- package/dist/types/misc.mjs +2 -0
- package/dist/types/players.d.mts +41 -0
- package/dist/types/players.mjs +1 -0
- package/dist/types/schedule.d.mts +428 -0
- package/dist/types/schedule.mjs +1 -0
- package/dist/types/standings.d.mts +103 -0
- package/dist/types/standings.mjs +1 -0
- package/dist/types/stats.d.mts +1082 -0
- package/dist/types/stats.mjs +1 -0
- package/dist/types/teams.d.mts +29 -0
- package/dist/types/teams.mjs +1 -0
- package/dist/utils.d.mts +1 -2
- package/dist/utils.mjs +3 -1
- package/package.json +7 -20
- package/dist/api/query/errors.d.mts +0 -3
- package/dist/api/query/errors.mjs +0 -6
- package/dist/api/query/filters/base.d.mts +0 -4
- package/dist/api/query/filters/base.mjs +0 -2
- package/dist/api/query/filters/decision.d.mts +0 -13
- package/dist/api/query/filters/decision.mjs +0 -26
- package/dist/api/query/filters/draft.d.mts +0 -15
- package/dist/api/query/filters/draft.mjs +0 -27
- package/dist/api/query/filters/experience.d.mts +0 -9
- package/dist/api/query/filters/experience.mjs +0 -17
- package/dist/api/query/filters/franchise.d.mts +0 -9
- package/dist/api/query/filters/franchise.mjs +0 -15
- package/dist/api/query/filters/game-type.d.mts +0 -10
- package/dist/api/query/filters/game-type.mjs +0 -16
- package/dist/api/query/filters/goalie-sorts.d.mts +0 -3
- package/dist/api/query/filters/goalie-sorts.mjs +0 -55
- package/dist/api/query/filters/home-road.d.mts +0 -9
- package/dist/api/query/filters/home-road.mjs +0 -16
- package/dist/api/query/filters/index.d.mts +0 -14
- package/dist/api/query/filters/index.mjs +0 -14
- package/dist/api/query/filters/nationality.d.mts +0 -12
- package/dist/api/query/filters/nationality.mjs +0 -19
- package/dist/api/query/filters/opponent.d.mts +0 -10
- package/dist/api/query/filters/opponent.mjs +0 -16
- package/dist/api/query/filters/position.d.mts +0 -16
- package/dist/api/query/filters/position.mjs +0 -28
- package/dist/api/query/filters/season.d.mts +0 -14
- package/dist/api/query/filters/season.mjs +0 -24
- package/dist/api/query/filters/shoot-catch.d.mts +0 -9
- package/dist/api/query/filters/shoot-catch.mjs +0 -16
- package/dist/api/query/filters/status.d.mts +0 -20
- package/dist/api/query/filters/status.mjs +0 -28
- package/dist/logging.d.mts +0 -14
- package/dist/logging.mjs +0 -13
|
@@ -0,0 +1,1024 @@
|
|
|
1
|
+
import type { GameOutcome, GameType, LocalizedString, PeriodDescriptor, PeriodType, PositionCode, ShootsCatches, TeamLogo } from '#src/types/common.mjs';
|
|
2
|
+
export interface EdgeLeagueAverage {
|
|
3
|
+
value: number;
|
|
4
|
+
}
|
|
5
|
+
export interface CatGoalieDetail {
|
|
6
|
+
player: GoalieDetailPlayer;
|
|
7
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
8
|
+
stats: GoalieDetailStats;
|
|
9
|
+
shotLocationSummary: CatGoalieLocationSummary[];
|
|
10
|
+
shotLocationDetails: CatGoalieLocationArea[];
|
|
11
|
+
}
|
|
12
|
+
export interface CatGoalieLocationArea {
|
|
13
|
+
area: string;
|
|
14
|
+
saves: number | null;
|
|
15
|
+
savesPercentile: number | null;
|
|
16
|
+
savePctg: number | null;
|
|
17
|
+
savePctgPercentile: number | null;
|
|
18
|
+
}
|
|
19
|
+
export interface CatGoalieLocationSummary {
|
|
20
|
+
locationCode: string;
|
|
21
|
+
goalsAgainst: number;
|
|
22
|
+
goalsAgainstPercentile: number;
|
|
23
|
+
goalsAgainstLeagueAvg: number;
|
|
24
|
+
saves: number;
|
|
25
|
+
savesPercentile: number;
|
|
26
|
+
savesLeagueAvg: number;
|
|
27
|
+
savePctg: number;
|
|
28
|
+
savePctgPercentile: number | null;
|
|
29
|
+
savePctgLeagueAvg: number;
|
|
30
|
+
}
|
|
31
|
+
export interface CatSkaterDetail {
|
|
32
|
+
player: SkaterDetailPlayer;
|
|
33
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
34
|
+
topShotSpeed: CatSkaterDetailTopShotSpeed;
|
|
35
|
+
skatingSpeed: CatSkaterDetailSkatingSpeed;
|
|
36
|
+
totalDistanceSkated: EdgePercentileMeasurement;
|
|
37
|
+
sogSummary: SkaterDetailSogSummary[];
|
|
38
|
+
sogDetails: SkaterDetailSogArea[];
|
|
39
|
+
zoneTimeDetails: CatSkaterDetailZoneTimeDetails;
|
|
40
|
+
}
|
|
41
|
+
export interface CatSkatingSpeedOverlay {
|
|
42
|
+
player: OverlayPlayer;
|
|
43
|
+
timeInPeriod: string;
|
|
44
|
+
}
|
|
45
|
+
export interface CatSkaterDetailTopShotSpeed {
|
|
46
|
+
imperial: number;
|
|
47
|
+
metric: number;
|
|
48
|
+
percentile: number;
|
|
49
|
+
leagueAvg: EdgeMeasurement;
|
|
50
|
+
overlay: Record<string, never>;
|
|
51
|
+
}
|
|
52
|
+
export interface CatSkaterDetailZoneTimeDetails {
|
|
53
|
+
offensiveZonePctg: number;
|
|
54
|
+
offensiveZonePercentile: number;
|
|
55
|
+
offensiveZoneLeagueAvg: number;
|
|
56
|
+
neutralZonePctg: number;
|
|
57
|
+
neutralZonePercentile: number;
|
|
58
|
+
neutralZoneLeagueAvg: number;
|
|
59
|
+
defensiveZonePctg: number;
|
|
60
|
+
defensiveZonePercentile: number;
|
|
61
|
+
defensiveZoneLeagueAvg: number;
|
|
62
|
+
}
|
|
63
|
+
export interface SkatingDistanceOverlay {
|
|
64
|
+
player: OverlayPlayer;
|
|
65
|
+
gameDate: string;
|
|
66
|
+
awayTeam: OverlayTeam;
|
|
67
|
+
homeTeam: OverlayTeam;
|
|
68
|
+
gameOutcome: GameOutcome;
|
|
69
|
+
periodDescriptor: OverlayPeriod;
|
|
70
|
+
gameType: GameType;
|
|
71
|
+
}
|
|
72
|
+
export interface EdgeRankedMeasurement {
|
|
73
|
+
imperial: number;
|
|
74
|
+
metric: number;
|
|
75
|
+
rank: number;
|
|
76
|
+
leagueAvg: EdgeMeasurement;
|
|
77
|
+
}
|
|
78
|
+
export interface Goalie5v5Detail {
|
|
79
|
+
savePctg5v5Last10: unknown[];
|
|
80
|
+
savePctg5v5Details: Goalie5v5Details;
|
|
81
|
+
}
|
|
82
|
+
export interface Goalie5v5Details {
|
|
83
|
+
savePctg: Goalie5v5Stat;
|
|
84
|
+
savePctgClose: Goalie5v5Stat;
|
|
85
|
+
shots: Goalie5v5Stat;
|
|
86
|
+
shotsPer60: Goalie5v5Stat;
|
|
87
|
+
}
|
|
88
|
+
export interface GoalieComparison {
|
|
89
|
+
player: GoalieDetailPlayer;
|
|
90
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
91
|
+
shotLocationSummary: GoalieComparisonLocationSummary[];
|
|
92
|
+
shotLocationDetails: GoalieComparisonLocationArea[];
|
|
93
|
+
savePctg5v5Last10: unknown[];
|
|
94
|
+
savePctg5v5Details: GoalieComparison5v5Details;
|
|
95
|
+
savePctgLast10: unknown[];
|
|
96
|
+
savePctgDetails: GoalieComparisonSaveDetails;
|
|
97
|
+
}
|
|
98
|
+
export interface GoalieComparison5v5Details {
|
|
99
|
+
savePctg: number;
|
|
100
|
+
savePctgClose: number;
|
|
101
|
+
shots: number;
|
|
102
|
+
shotsPer60: number;
|
|
103
|
+
}
|
|
104
|
+
export interface GoalieComparisonSaveDetails {
|
|
105
|
+
gamesAbove900: number;
|
|
106
|
+
pctgGamesAbove900: number;
|
|
107
|
+
pointPctg: number;
|
|
108
|
+
goalsAgainstAvg: number;
|
|
109
|
+
savePctg: number;
|
|
110
|
+
}
|
|
111
|
+
export interface GoalieComparisonLocationArea {
|
|
112
|
+
area: string;
|
|
113
|
+
goalsAgainst: number;
|
|
114
|
+
shotsAgainst: number;
|
|
115
|
+
saves: number;
|
|
116
|
+
savePctg: number;
|
|
117
|
+
}
|
|
118
|
+
export interface GoalieComparisonLocationSummary {
|
|
119
|
+
locationCode: string;
|
|
120
|
+
shotsAgainst: number;
|
|
121
|
+
goalsAgainst: number;
|
|
122
|
+
saves: number;
|
|
123
|
+
savePctg: number;
|
|
124
|
+
}
|
|
125
|
+
export interface GoalieDetail {
|
|
126
|
+
player: GoalieDetailPlayer;
|
|
127
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
128
|
+
stats: GoalieDetailStats;
|
|
129
|
+
shotLocationSummary: GoalieLocationSummary[];
|
|
130
|
+
shotLocationDetails: GoalieLocationArea[];
|
|
131
|
+
}
|
|
132
|
+
export interface GoalieDetailPlayer {
|
|
133
|
+
id: number;
|
|
134
|
+
firstName: LocalizedString;
|
|
135
|
+
lastName: LocalizedString;
|
|
136
|
+
birthDate: string;
|
|
137
|
+
shootsCatches: ShootsCatches;
|
|
138
|
+
sweaterNumber: number;
|
|
139
|
+
slug: string;
|
|
140
|
+
headshot: string;
|
|
141
|
+
wins: number;
|
|
142
|
+
losses: number;
|
|
143
|
+
overtimeLosses: number;
|
|
144
|
+
goalsAgainstAvg: number;
|
|
145
|
+
savePctg: number;
|
|
146
|
+
gamesPlayed: number;
|
|
147
|
+
team: EdgeTeamRef;
|
|
148
|
+
}
|
|
149
|
+
export interface GoalieLocationArea {
|
|
150
|
+
area: string;
|
|
151
|
+
saves: number | null;
|
|
152
|
+
savesPercentile: number | null;
|
|
153
|
+
savePctg: number | null;
|
|
154
|
+
savePctgPercentile: number | null;
|
|
155
|
+
}
|
|
156
|
+
export interface GoalieLocationSummary {
|
|
157
|
+
locationCode: string;
|
|
158
|
+
goalsAgainst: number;
|
|
159
|
+
goalsAgainstPercentile: number;
|
|
160
|
+
goalsAgainstLeagueAvg: number;
|
|
161
|
+
saves: number;
|
|
162
|
+
savesPercentile: number;
|
|
163
|
+
savesLeagueAvg: number;
|
|
164
|
+
savePctg: number;
|
|
165
|
+
savePctgPercentile: number;
|
|
166
|
+
savePctgLeagueAvg: number;
|
|
167
|
+
}
|
|
168
|
+
export interface GoalieDetailStats {
|
|
169
|
+
goalsAgainstAvg: EdgePercentileStat;
|
|
170
|
+
gamesAbove900: EdgePercentileStat;
|
|
171
|
+
goalDifferentialPer60: EdgePercentileStat;
|
|
172
|
+
goalSupportAvg: EdgePercentileStat;
|
|
173
|
+
pointPctg: EdgePercentileStat;
|
|
174
|
+
}
|
|
175
|
+
export interface GoalieLanding {
|
|
176
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
177
|
+
/** Regular season only */
|
|
178
|
+
minimumGamesPlayed?: number;
|
|
179
|
+
leaders: GoalieLandingLeaders;
|
|
180
|
+
/** Playoffs only */
|
|
181
|
+
minimumMinutesPlayed?: number;
|
|
182
|
+
}
|
|
183
|
+
export interface GoalieLandingLeaders {
|
|
184
|
+
highDangerSavePctg: HighDangerSavePctgLeader;
|
|
185
|
+
highDangerSaves: HighDangerSavesLeader;
|
|
186
|
+
highDangerGoalsAgainst: HighDangerGoalsAgainstLeader;
|
|
187
|
+
savePctg5v5: SavePctg5v5Leader;
|
|
188
|
+
gamesAbove900: GamesAbove900Leader;
|
|
189
|
+
}
|
|
190
|
+
export interface GoalieSavePercentageDetail {
|
|
191
|
+
savePctgLast10: GoalieSaveLast10Game[];
|
|
192
|
+
savePctgDetails: GoalieSaveDetails;
|
|
193
|
+
}
|
|
194
|
+
export interface GoalieSaveDetails {
|
|
195
|
+
gamesAbove900: EdgePercentileStat;
|
|
196
|
+
pctgGamesAbove900: EdgePercentileStat;
|
|
197
|
+
}
|
|
198
|
+
export interface GoalieSaveLast10Game {
|
|
199
|
+
gameCenterLink: string;
|
|
200
|
+
savePctg: number;
|
|
201
|
+
gameDate: string;
|
|
202
|
+
decision: string;
|
|
203
|
+
playerOnHomeTeam: boolean;
|
|
204
|
+
homeTeam: EdgeTeamRef;
|
|
205
|
+
awayTeam: EdgeTeamRef;
|
|
206
|
+
}
|
|
207
|
+
export interface GoalieShotLocationDetail {
|
|
208
|
+
shotLocationDetails: GoalieShotLocationArea[];
|
|
209
|
+
shotLocationTotals: GoalieShotLocationTotal[];
|
|
210
|
+
}
|
|
211
|
+
export interface GoalieShotLocationArea {
|
|
212
|
+
area: string;
|
|
213
|
+
shotsAgainst: number | null;
|
|
214
|
+
saves: number | null;
|
|
215
|
+
goalsAgainst: number | null;
|
|
216
|
+
savePctg: number | null;
|
|
217
|
+
shotsAgainstPercentile: number;
|
|
218
|
+
savesPercentile: number | null;
|
|
219
|
+
goalsAgainstPercentile: number;
|
|
220
|
+
savePctgPercentile: number | null;
|
|
221
|
+
}
|
|
222
|
+
export interface GoalieShotLocationTotal {
|
|
223
|
+
locationCode: string;
|
|
224
|
+
shotsAgainst: number;
|
|
225
|
+
goalsAgainst: number;
|
|
226
|
+
saves: number;
|
|
227
|
+
savePctg: number;
|
|
228
|
+
shotsAgainstPercentile: number;
|
|
229
|
+
goalsAgainstPercentile: number;
|
|
230
|
+
savesPercentile: number;
|
|
231
|
+
savePctgPercentile: number;
|
|
232
|
+
shotsAgainstLeagueAvg: number;
|
|
233
|
+
goalsAgainstLeagueAvg: number;
|
|
234
|
+
savesLeagueAvg: number;
|
|
235
|
+
savePctgLeagueAvg: number;
|
|
236
|
+
}
|
|
237
|
+
export interface EdgeGameTeam {
|
|
238
|
+
commonName: LocalizedString;
|
|
239
|
+
placeNameWithPreposition: LocalizedString;
|
|
240
|
+
abbrev: string;
|
|
241
|
+
teamLogo: TeamLogo;
|
|
242
|
+
slug: string;
|
|
243
|
+
}
|
|
244
|
+
export interface EdgeLeaderPlayer {
|
|
245
|
+
id: number;
|
|
246
|
+
firstName: LocalizedString;
|
|
247
|
+
lastName: LocalizedString;
|
|
248
|
+
sweaterNumber: number;
|
|
249
|
+
position: string;
|
|
250
|
+
slug: string;
|
|
251
|
+
headshot: string;
|
|
252
|
+
team: EdgeTeamRef;
|
|
253
|
+
}
|
|
254
|
+
export interface EdgeMeasurement {
|
|
255
|
+
imperial: number;
|
|
256
|
+
metric: number;
|
|
257
|
+
}
|
|
258
|
+
export interface HighDangerSavePctgArea {
|
|
259
|
+
area: string;
|
|
260
|
+
savePctg?: number;
|
|
261
|
+
savePctgPercentile?: number;
|
|
262
|
+
}
|
|
263
|
+
export interface HighDangerSavesArea {
|
|
264
|
+
area: string;
|
|
265
|
+
saves: number;
|
|
266
|
+
savesPercentile?: number;
|
|
267
|
+
}
|
|
268
|
+
export interface HighDangerSogArea {
|
|
269
|
+
area: string;
|
|
270
|
+
sog: number;
|
|
271
|
+
sogPercentile: number;
|
|
272
|
+
}
|
|
273
|
+
export interface TeamBurstsLeader {
|
|
274
|
+
team: EdgeLeaderTeam;
|
|
275
|
+
bursts: number;
|
|
276
|
+
}
|
|
277
|
+
export interface DistanceMaxGameLeader {
|
|
278
|
+
player: EdgeLeaderPlayer;
|
|
279
|
+
distanceSkated: EdgeMeasurement;
|
|
280
|
+
overlay: LandingDistanceOverlay;
|
|
281
|
+
}
|
|
282
|
+
export interface TeamDistanceLeader {
|
|
283
|
+
team: EdgeLeaderTeam;
|
|
284
|
+
distanceSkated: EdgeMeasurement;
|
|
285
|
+
}
|
|
286
|
+
export interface GamesAbove900Leader {
|
|
287
|
+
player: EdgeLeaderPlayer;
|
|
288
|
+
games: number;
|
|
289
|
+
}
|
|
290
|
+
export interface HardestShotLeader {
|
|
291
|
+
player: EdgeLeaderPlayer;
|
|
292
|
+
overlay: ShotSpeedOverlay;
|
|
293
|
+
shotSpeed: EdgeMeasurement;
|
|
294
|
+
}
|
|
295
|
+
export interface HighDangerGoalsAgainstLeader {
|
|
296
|
+
player: EdgeLeaderPlayer;
|
|
297
|
+
goalsAgainst: number;
|
|
298
|
+
}
|
|
299
|
+
export interface HighDangerSavePctgLeader {
|
|
300
|
+
player: EdgeLeaderPlayer;
|
|
301
|
+
savePctg: number;
|
|
302
|
+
shotLocationDetails: HighDangerSavePctgArea[];
|
|
303
|
+
}
|
|
304
|
+
export interface HighDangerSavesLeader {
|
|
305
|
+
player: EdgeLeaderPlayer;
|
|
306
|
+
saves: number;
|
|
307
|
+
shotLocationDetails: HighDangerSavesArea[];
|
|
308
|
+
}
|
|
309
|
+
export interface HighDangerSogLeader {
|
|
310
|
+
player: EdgeLeaderPlayer;
|
|
311
|
+
sog: number;
|
|
312
|
+
shotLocationDetails: HighDangerSogArea[];
|
|
313
|
+
}
|
|
314
|
+
export interface MaxSkatingSpeedLeader {
|
|
315
|
+
player: EdgeLeaderPlayer;
|
|
316
|
+
overlay: SkatingSpeedOverlay;
|
|
317
|
+
skatingSpeed: EdgeMeasurement;
|
|
318
|
+
}
|
|
319
|
+
export interface OffensiveZoneTimeLeader {
|
|
320
|
+
player: EdgeLeaderPlayer;
|
|
321
|
+
zoneTime: number;
|
|
322
|
+
}
|
|
323
|
+
export interface SavePctg5v5Leader {
|
|
324
|
+
player: EdgeLeaderPlayer;
|
|
325
|
+
savePctg: number;
|
|
326
|
+
}
|
|
327
|
+
export interface TeamShotAttemptsLeader {
|
|
328
|
+
team: EdgeLeaderTeam;
|
|
329
|
+
attempts: number;
|
|
330
|
+
}
|
|
331
|
+
export interface TotalDistanceLeader {
|
|
332
|
+
player: EdgeLeaderPlayer;
|
|
333
|
+
distanceSkated: EdgeMeasurement;
|
|
334
|
+
}
|
|
335
|
+
export interface OverlayTeam {
|
|
336
|
+
abbrev: string;
|
|
337
|
+
score: number;
|
|
338
|
+
}
|
|
339
|
+
export interface OverlayPeriod {
|
|
340
|
+
maxRegulationPeriods: number;
|
|
341
|
+
number: number;
|
|
342
|
+
periodType: PeriodType;
|
|
343
|
+
}
|
|
344
|
+
export interface OverlayPlayer {
|
|
345
|
+
firstName: LocalizedString;
|
|
346
|
+
lastName: LocalizedString;
|
|
347
|
+
}
|
|
348
|
+
export interface EdgeTeamRef {
|
|
349
|
+
commonName: LocalizedString;
|
|
350
|
+
placeNameWithPreposition: LocalizedString;
|
|
351
|
+
abbrev: string;
|
|
352
|
+
teamLogo: TeamLogo;
|
|
353
|
+
}
|
|
354
|
+
export interface Goalie5v5Stat {
|
|
355
|
+
value: number;
|
|
356
|
+
leagueAvg: number;
|
|
357
|
+
percentile: number;
|
|
358
|
+
}
|
|
359
|
+
export interface EdgeLeaderTeam {
|
|
360
|
+
id: number;
|
|
361
|
+
commonName: LocalizedString;
|
|
362
|
+
placeNameWithPreposition: LocalizedString;
|
|
363
|
+
abbrev: string;
|
|
364
|
+
teamLogo: TeamLogo;
|
|
365
|
+
slug: string;
|
|
366
|
+
wins: number;
|
|
367
|
+
losses: number;
|
|
368
|
+
otLosses: number;
|
|
369
|
+
}
|
|
370
|
+
export interface EdgeLeagueStat {
|
|
371
|
+
value: number;
|
|
372
|
+
leagueAvg: number;
|
|
373
|
+
}
|
|
374
|
+
export interface SkaterComparisonTopShot {
|
|
375
|
+
imperial: number;
|
|
376
|
+
metric: number;
|
|
377
|
+
overlay: ShotSpeedOverlay;
|
|
378
|
+
}
|
|
379
|
+
export interface EdgeRankedStat {
|
|
380
|
+
value: number;
|
|
381
|
+
rank: number;
|
|
382
|
+
}
|
|
383
|
+
export interface TeamTopShotSpeed {
|
|
384
|
+
imperial: number;
|
|
385
|
+
metric: number;
|
|
386
|
+
rank: number;
|
|
387
|
+
leagueAvg: EdgeMeasurement;
|
|
388
|
+
overlay: ShotSpeedOverlay;
|
|
389
|
+
}
|
|
390
|
+
export interface SkaterComparison {
|
|
391
|
+
player: SkaterComparisonPlayer;
|
|
392
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
393
|
+
shotSpeedDetails: SkaterComparisonShotSpeed;
|
|
394
|
+
skatingSpeedDetails: SkaterComparisonSpeed;
|
|
395
|
+
skatingDistanceLast10: SkaterComparisonDistanceGame[];
|
|
396
|
+
skatingDistanceDetails: SkaterComparisonDistance;
|
|
397
|
+
shotLocationDetails: SkaterComparisonLocationArea[];
|
|
398
|
+
shotLocationTotals: SkaterComparisonLocationTotal[];
|
|
399
|
+
zoneTimeDetails: SkaterComparisonZoneTime;
|
|
400
|
+
zoneStarts: SkaterComparisonZoneStarts;
|
|
401
|
+
}
|
|
402
|
+
export interface SkaterComparisonLocationArea {
|
|
403
|
+
area: string;
|
|
404
|
+
sog: number;
|
|
405
|
+
goals: number;
|
|
406
|
+
shootingPctg?: number;
|
|
407
|
+
}
|
|
408
|
+
export interface SkaterComparisonLocationTotal {
|
|
409
|
+
locationCode: string;
|
|
410
|
+
sog: number;
|
|
411
|
+
goals: number;
|
|
412
|
+
shootingPctg: number;
|
|
413
|
+
}
|
|
414
|
+
export interface SkaterComparisonShotSpeed {
|
|
415
|
+
topShotSpeed: SkaterComparisonTopShot;
|
|
416
|
+
avgShotSpeed: EdgeMeasurement;
|
|
417
|
+
shotAttemptsOver100: number;
|
|
418
|
+
shotAttempts90To100: number;
|
|
419
|
+
shotAttempts80To90: number;
|
|
420
|
+
shotAttempts70To80: number;
|
|
421
|
+
}
|
|
422
|
+
export interface SkaterComparisonPlayer {
|
|
423
|
+
id: number;
|
|
424
|
+
firstName: LocalizedString;
|
|
425
|
+
lastName: LocalizedString;
|
|
426
|
+
birthDate: string;
|
|
427
|
+
shootsCatches: ShootsCatches;
|
|
428
|
+
sweaterNumber: number;
|
|
429
|
+
position: string;
|
|
430
|
+
slug: string;
|
|
431
|
+
headshot: string;
|
|
432
|
+
goals: number;
|
|
433
|
+
assists: number;
|
|
434
|
+
points: number;
|
|
435
|
+
gamesPlayed: number;
|
|
436
|
+
team: EdgeGameTeam;
|
|
437
|
+
}
|
|
438
|
+
export interface SkaterComparisonDistance {
|
|
439
|
+
distanceTotal: EdgeMeasurement;
|
|
440
|
+
distancePer60: EdgeMeasurement;
|
|
441
|
+
distanceMaxGame: SkaterComparisonDistanceMaxGame;
|
|
442
|
+
distanceMaxPeriod: SkaterComparisonDistanceMaxGame;
|
|
443
|
+
}
|
|
444
|
+
export interface SkaterComparisonDistanceGame {
|
|
445
|
+
gameCenterLink: string;
|
|
446
|
+
gameDate: string;
|
|
447
|
+
playerOnHomeTeam: boolean;
|
|
448
|
+
distanceSkated: EdgeMeasurement;
|
|
449
|
+
toi: number;
|
|
450
|
+
homeTeam: EdgeGameTeam;
|
|
451
|
+
awayTeam: EdgeGameTeam;
|
|
452
|
+
}
|
|
453
|
+
export interface SkaterComparisonSpeed {
|
|
454
|
+
maxSkatingSpeed: SkaterComparisonMaxSpeed;
|
|
455
|
+
burstsOver22: number;
|
|
456
|
+
bursts20To22: number;
|
|
457
|
+
bursts18To20: number;
|
|
458
|
+
}
|
|
459
|
+
export interface SkaterComparisonZoneStarts {
|
|
460
|
+
offensiveZoneStarts: number;
|
|
461
|
+
neutralZoneStarts: number;
|
|
462
|
+
defensiveZoneStarts: number;
|
|
463
|
+
}
|
|
464
|
+
export interface SkaterComparisonZoneTime {
|
|
465
|
+
offensiveZonePctg: number;
|
|
466
|
+
offensiveZoneLeagueAvg: number;
|
|
467
|
+
neutralZonePctg: number;
|
|
468
|
+
neutralZoneLeagueAvg: number;
|
|
469
|
+
defensiveZonePctg: number;
|
|
470
|
+
defensiveZoneLeagueAvg: number;
|
|
471
|
+
}
|
|
472
|
+
export interface SkaterDetail {
|
|
473
|
+
player: SkaterDetailPlayer;
|
|
474
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
475
|
+
topShotSpeed: SkaterDetailTopShotSpeed;
|
|
476
|
+
skatingSpeed: SkaterDetailSkatingSpeed;
|
|
477
|
+
totalDistanceSkated: EdgePercentileMeasurement;
|
|
478
|
+
distanceMaxGame: SkaterDetailDistanceMaxGame;
|
|
479
|
+
sogSummary: SkaterDetailSogSummary[];
|
|
480
|
+
sogDetails: SkaterDetailSogArea[];
|
|
481
|
+
zoneTimeDetails: SkaterDetailZoneTimeDetails;
|
|
482
|
+
}
|
|
483
|
+
export interface SkaterDetailDistanceMaxGame {
|
|
484
|
+
imperial: number;
|
|
485
|
+
metric: number;
|
|
486
|
+
percentile: number;
|
|
487
|
+
leagueAvg: EdgeMeasurement;
|
|
488
|
+
overlay: SkatingDistanceOverlay;
|
|
489
|
+
}
|
|
490
|
+
export interface SkaterDetailPlayer {
|
|
491
|
+
id: number;
|
|
492
|
+
firstName: LocalizedString;
|
|
493
|
+
lastName: LocalizedString;
|
|
494
|
+
birthDate: string;
|
|
495
|
+
shootsCatches: ShootsCatches;
|
|
496
|
+
sweaterNumber: number;
|
|
497
|
+
position: string;
|
|
498
|
+
slug: string;
|
|
499
|
+
headshot: string;
|
|
500
|
+
goals: number;
|
|
501
|
+
assists: number;
|
|
502
|
+
points: number;
|
|
503
|
+
gamesPlayed: number;
|
|
504
|
+
team: EdgeTeamRef;
|
|
505
|
+
}
|
|
506
|
+
export interface CatSkaterDetailSkatingSpeed {
|
|
507
|
+
speedMax: CatSkaterDetailMaxSpeed;
|
|
508
|
+
burstsOver20: SkaterBursts;
|
|
509
|
+
}
|
|
510
|
+
export interface SkaterDetailSkatingSpeed {
|
|
511
|
+
speedMax: SkaterDetailMaxSpeed;
|
|
512
|
+
burstsOver20: SkaterBursts;
|
|
513
|
+
}
|
|
514
|
+
export interface SkaterDetailSogArea {
|
|
515
|
+
area: string;
|
|
516
|
+
shots: number;
|
|
517
|
+
shotsPercentile: number;
|
|
518
|
+
}
|
|
519
|
+
export interface SkaterDetailSogSummary {
|
|
520
|
+
locationCode: string;
|
|
521
|
+
shots: number;
|
|
522
|
+
shotsPercentile: number;
|
|
523
|
+
shotsLeagueAvg: number;
|
|
524
|
+
goals: number;
|
|
525
|
+
goalsPercentile: number;
|
|
526
|
+
goalsLeagueAvg: number;
|
|
527
|
+
shootingPctg: number;
|
|
528
|
+
shootingPctgPercentile: number;
|
|
529
|
+
shootingPctgLeagueAvg: number;
|
|
530
|
+
}
|
|
531
|
+
export interface SkaterDetailTopShotSpeed {
|
|
532
|
+
imperial: number;
|
|
533
|
+
metric: number;
|
|
534
|
+
percentile: number;
|
|
535
|
+
leagueAvg: EdgeMeasurement;
|
|
536
|
+
overlay: ShotSpeedOverlay;
|
|
537
|
+
}
|
|
538
|
+
export interface SkaterDetailMaxSpeed {
|
|
539
|
+
imperial: number;
|
|
540
|
+
metric: number;
|
|
541
|
+
percentile: number;
|
|
542
|
+
leagueAvg: EdgeMeasurement;
|
|
543
|
+
overlay: SkatingSpeedOverlay;
|
|
544
|
+
}
|
|
545
|
+
export interface EdgePercentileMeasurement {
|
|
546
|
+
imperial: number;
|
|
547
|
+
metric: number;
|
|
548
|
+
percentile: number;
|
|
549
|
+
leagueAvg: EdgeMeasurement;
|
|
550
|
+
}
|
|
551
|
+
export interface SkaterDetailZoneTimeDetails {
|
|
552
|
+
offensiveZonePctg: number;
|
|
553
|
+
offensiveZonePercentile: number;
|
|
554
|
+
offensiveZoneLeagueAvg: number;
|
|
555
|
+
offensiveZoneEvPctg: number;
|
|
556
|
+
offensiveZoneEvPercentile: number;
|
|
557
|
+
offensiveZoneEvLeagueAvg: number;
|
|
558
|
+
neutralZonePctg: number;
|
|
559
|
+
neutralZonePercentile: number;
|
|
560
|
+
neutralZoneLeagueAvg: number;
|
|
561
|
+
defensiveZonePctg: number;
|
|
562
|
+
defensiveZonePercentile: number;
|
|
563
|
+
defensiveZoneLeagueAvg: number;
|
|
564
|
+
}
|
|
565
|
+
export interface SkaterLanding {
|
|
566
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
567
|
+
leaders: SkaterLandingLeaders;
|
|
568
|
+
}
|
|
569
|
+
export interface LandingDistanceOverlay {
|
|
570
|
+
player: OverlayPlayer;
|
|
571
|
+
gameDate: string;
|
|
572
|
+
awayTeam: OverlayTeam;
|
|
573
|
+
homeTeam: OverlayTeam;
|
|
574
|
+
gameOutcome: GameOutcome;
|
|
575
|
+
periodDescriptor: OverlayPeriod;
|
|
576
|
+
gameType: GameType;
|
|
577
|
+
}
|
|
578
|
+
export interface SkaterLandingLeaders {
|
|
579
|
+
hardestShot: HardestShotLeader;
|
|
580
|
+
maxSkatingSpeed: MaxSkatingSpeedLeader;
|
|
581
|
+
totalDistanceSkated: TotalDistanceLeader;
|
|
582
|
+
distanceMaxGame: DistanceMaxGameLeader;
|
|
583
|
+
highDangerSOG: HighDangerSogLeader;
|
|
584
|
+
offensiveZoneTime: OffensiveZoneTimeLeader;
|
|
585
|
+
defensiveZoneTime: OffensiveZoneTimeLeader;
|
|
586
|
+
}
|
|
587
|
+
export interface SkaterShotLocationDetail {
|
|
588
|
+
shotLocationDetails: SkaterShotLocationArea[];
|
|
589
|
+
shotLocationTotals: SkaterShotLocationTotal[];
|
|
590
|
+
}
|
|
591
|
+
export interface SkaterShotLocationArea {
|
|
592
|
+
area: string;
|
|
593
|
+
sog: number;
|
|
594
|
+
goals: number;
|
|
595
|
+
shootingPctg: number | null;
|
|
596
|
+
sogPercentile: number;
|
|
597
|
+
goalsPercentile: number;
|
|
598
|
+
shootingPctgPercentile: number | null;
|
|
599
|
+
}
|
|
600
|
+
export interface SkaterShotLocationTotal {
|
|
601
|
+
locationCode: string;
|
|
602
|
+
sog: number;
|
|
603
|
+
goals: number;
|
|
604
|
+
shootingPctg: number;
|
|
605
|
+
sogPercentile: number;
|
|
606
|
+
goalsPercentile: number;
|
|
607
|
+
shootingPctgPercentile: number;
|
|
608
|
+
sogLeagueAvg: number;
|
|
609
|
+
goalsLeagueAvg: number;
|
|
610
|
+
shootingPctgLeagueAvg: number;
|
|
611
|
+
}
|
|
612
|
+
export interface SkaterShotSpeedDetail {
|
|
613
|
+
hardestShots: SkaterHardestShot[];
|
|
614
|
+
shotSpeedDetails: SkaterShotSpeedBreakdown;
|
|
615
|
+
}
|
|
616
|
+
export interface SkaterHardestShot {
|
|
617
|
+
gameCenterLink: string;
|
|
618
|
+
gameDate: string;
|
|
619
|
+
gameType: GameType;
|
|
620
|
+
playerOnHomeTeam: boolean;
|
|
621
|
+
shotSpeed: EdgeMeasurement;
|
|
622
|
+
timeInPeriod: string;
|
|
623
|
+
periodDescriptor: PeriodDescriptor;
|
|
624
|
+
homeTeam: EdgeGameTeam;
|
|
625
|
+
awayTeam: EdgeGameTeam;
|
|
626
|
+
}
|
|
627
|
+
export interface SkaterShotSpeedBreakdown {
|
|
628
|
+
topShotSpeed: SkaterDetailTopShotSpeed;
|
|
629
|
+
avgShotSpeed: EdgePercentileMeasurement;
|
|
630
|
+
shotAttemptsOver100: EdgePercentileStat;
|
|
631
|
+
shotAttempts90To100: EdgePercentileStat;
|
|
632
|
+
shotAttempts80To90: EdgePercentileStat;
|
|
633
|
+
shotAttempts70To80: EdgePercentileStat;
|
|
634
|
+
}
|
|
635
|
+
export interface SkaterSkatingDistanceDetail {
|
|
636
|
+
skatingDistanceLast10: SkaterDistanceGame[];
|
|
637
|
+
skatingDistanceDetails: SkaterDistanceByStrength[];
|
|
638
|
+
}
|
|
639
|
+
export interface SkaterDistanceByStrength {
|
|
640
|
+
strengthCode: string;
|
|
641
|
+
distanceTotal: EdgePercentileMeasurement;
|
|
642
|
+
distancePer60: EdgePercentileMeasurement;
|
|
643
|
+
distanceMaxGame: SkaterDistanceMaxGame;
|
|
644
|
+
distanceMaxPeriod: SkaterDistanceMaxGame;
|
|
645
|
+
}
|
|
646
|
+
export interface SkaterDistanceGame {
|
|
647
|
+
gameCenterLink: string;
|
|
648
|
+
gameDate: string;
|
|
649
|
+
playerOnHomeTeam: boolean;
|
|
650
|
+
distanceSkatedAll: EdgeMeasurement;
|
|
651
|
+
toiAll: number;
|
|
652
|
+
distanceSkatedEven: EdgeMeasurement;
|
|
653
|
+
toiEven: number;
|
|
654
|
+
distanceSkatedPP?: EdgeMeasurement;
|
|
655
|
+
toiPP?: number;
|
|
656
|
+
distanceSkatedPK?: EdgeMeasurement;
|
|
657
|
+
toiPK?: number;
|
|
658
|
+
homeTeam: EdgeGameTeam;
|
|
659
|
+
awayTeam: EdgeGameTeam;
|
|
660
|
+
}
|
|
661
|
+
export interface SkaterSkatingSpeedDetail {
|
|
662
|
+
topSkatingSpeeds: SkaterTopSpeed[];
|
|
663
|
+
skatingSpeedDetails: SkaterSpeedBreakdown;
|
|
664
|
+
}
|
|
665
|
+
export interface SkaterSpeedBreakdown {
|
|
666
|
+
maxSkatingSpeed: SkaterDetailMaxSpeed;
|
|
667
|
+
burstsOver22: EdgePercentileStat;
|
|
668
|
+
bursts20To22: EdgePercentileStat;
|
|
669
|
+
bursts18To20: EdgePercentileStat;
|
|
670
|
+
}
|
|
671
|
+
export interface SkaterTopSpeed {
|
|
672
|
+
gameCenterLink: string;
|
|
673
|
+
gameDate: string;
|
|
674
|
+
gameType: GameType;
|
|
675
|
+
playerOnHomeTeam: boolean;
|
|
676
|
+
skatingSpeed: EdgeMeasurement;
|
|
677
|
+
timeInPeriod: string;
|
|
678
|
+
periodDescriptor: PeriodDescriptor;
|
|
679
|
+
homeTeam: EdgeGameTeam;
|
|
680
|
+
awayTeam: EdgeGameTeam;
|
|
681
|
+
}
|
|
682
|
+
export interface SkaterZoneTime {
|
|
683
|
+
zoneTimeDetails: SkaterZoneTimeByStrength[];
|
|
684
|
+
zoneStarts: SkaterZoneStarts;
|
|
685
|
+
}
|
|
686
|
+
export interface SkaterZoneStarts {
|
|
687
|
+
offensiveZoneStartsPctg: number;
|
|
688
|
+
offensiveZoneStartsPctgPercentile: number;
|
|
689
|
+
neutralZoneStartsPctg: number;
|
|
690
|
+
neutralZoneStartsPctgPercentile: number;
|
|
691
|
+
defensiveZoneStartsPctg: number;
|
|
692
|
+
defensiveZoneStartsPctgPercentile: number;
|
|
693
|
+
}
|
|
694
|
+
export interface SkaterZoneTimeByStrength {
|
|
695
|
+
strengthCode: string;
|
|
696
|
+
offensiveZonePctg: number;
|
|
697
|
+
offensiveZonePercentile: number;
|
|
698
|
+
offensiveZoneLeagueAvg: number;
|
|
699
|
+
neutralZonePctg: number;
|
|
700
|
+
neutralZonePercentile: number;
|
|
701
|
+
neutralZoneLeagueAvg: number;
|
|
702
|
+
defensiveZonePctg: number;
|
|
703
|
+
defensiveZonePercentile: number;
|
|
704
|
+
defensiveZoneLeagueAvg: number;
|
|
705
|
+
}
|
|
706
|
+
export interface SkaterDistanceMaxGame {
|
|
707
|
+
imperial: number;
|
|
708
|
+
metric: number;
|
|
709
|
+
percentile: number;
|
|
710
|
+
leagueAvg: EdgeMeasurement;
|
|
711
|
+
overlay: LandingDistanceOverlay;
|
|
712
|
+
}
|
|
713
|
+
export interface SkaterComparisonDistanceMaxGame {
|
|
714
|
+
imperial: number;
|
|
715
|
+
metric: number;
|
|
716
|
+
overlay: SkatingDistanceOverlay;
|
|
717
|
+
}
|
|
718
|
+
export interface SkaterBursts {
|
|
719
|
+
value: number;
|
|
720
|
+
percentile: number;
|
|
721
|
+
leagueAvg: EdgeLeagueAverage;
|
|
722
|
+
}
|
|
723
|
+
export interface EdgeRankedLeagueStat {
|
|
724
|
+
value: number;
|
|
725
|
+
rank: number;
|
|
726
|
+
leagueAvg: number;
|
|
727
|
+
}
|
|
728
|
+
export interface SkaterComparisonMaxSpeed {
|
|
729
|
+
imperial: number;
|
|
730
|
+
metric: number;
|
|
731
|
+
overlay: SkatingSpeedOverlay;
|
|
732
|
+
}
|
|
733
|
+
export interface CatSkaterDetailMaxSpeed {
|
|
734
|
+
imperial: number;
|
|
735
|
+
metric: number;
|
|
736
|
+
percentile: number;
|
|
737
|
+
leagueAvg: EdgeMeasurement;
|
|
738
|
+
overlay: CatSkatingSpeedOverlay;
|
|
739
|
+
}
|
|
740
|
+
export interface SkatingSpeedOverlay {
|
|
741
|
+
player: OverlayPlayer;
|
|
742
|
+
gameDate: string;
|
|
743
|
+
awayTeam: OverlayTeam;
|
|
744
|
+
homeTeam: OverlayTeam;
|
|
745
|
+
gameOutcome: GameOutcome;
|
|
746
|
+
periodDescriptor: OverlayPeriod;
|
|
747
|
+
timeInPeriod: string;
|
|
748
|
+
gameType: GameType;
|
|
749
|
+
}
|
|
750
|
+
export interface EdgePercentileStat {
|
|
751
|
+
value: number;
|
|
752
|
+
percentile: number;
|
|
753
|
+
leagueAvg: number;
|
|
754
|
+
}
|
|
755
|
+
export interface TeamDetail {
|
|
756
|
+
team: TeamDetailInfo;
|
|
757
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
758
|
+
shotSpeed: TeamDetailShotSpeed;
|
|
759
|
+
skatingSpeed: TeamDetailSkatingSpeed;
|
|
760
|
+
distanceSkated: TeamDetailDistanceSkated;
|
|
761
|
+
sogSummary: TeamDetailSogSummary[];
|
|
762
|
+
sogDetails: TeamDetailSogArea[];
|
|
763
|
+
zoneTimeDetails: TeamDetailZoneTimeDetails;
|
|
764
|
+
}
|
|
765
|
+
export interface TeamDetailDistanceSkated {
|
|
766
|
+
total: EdgeRankedMeasurement;
|
|
767
|
+
}
|
|
768
|
+
export interface EdgeSeasonAvailability {
|
|
769
|
+
id: number;
|
|
770
|
+
gameTypes: GameType[];
|
|
771
|
+
}
|
|
772
|
+
export interface TeamDetailShotSpeed {
|
|
773
|
+
shotAttemptsOver90: EdgeRankedStat;
|
|
774
|
+
topShotSpeed: TeamTopShotSpeed;
|
|
775
|
+
}
|
|
776
|
+
export interface TeamSpeedMax {
|
|
777
|
+
imperial: number;
|
|
778
|
+
metric: number;
|
|
779
|
+
rank: number;
|
|
780
|
+
leagueAvg: EdgeMeasurement;
|
|
781
|
+
overlay: SkatingSpeedOverlay;
|
|
782
|
+
}
|
|
783
|
+
export interface TeamDetailSkatingSpeed {
|
|
784
|
+
burstsOver22: EdgeRankedStat;
|
|
785
|
+
burstsOver20: TeamBursts;
|
|
786
|
+
speedMax: TeamSpeedMax;
|
|
787
|
+
}
|
|
788
|
+
export interface TeamBursts {
|
|
789
|
+
value: number;
|
|
790
|
+
rank: number;
|
|
791
|
+
leagueAvg: EdgeLeagueAverage;
|
|
792
|
+
}
|
|
793
|
+
export interface TeamDetailSogArea {
|
|
794
|
+
area: string;
|
|
795
|
+
shots: number;
|
|
796
|
+
shotsRank: number;
|
|
797
|
+
}
|
|
798
|
+
export interface TeamDetailSogSummary {
|
|
799
|
+
locationCode: string;
|
|
800
|
+
shots: number;
|
|
801
|
+
shotsRank: number;
|
|
802
|
+
shotsLeagueAvg: number;
|
|
803
|
+
shootingPctg: number;
|
|
804
|
+
shootingPctgRank: number;
|
|
805
|
+
shootingPctgLeagueAvg: number;
|
|
806
|
+
goals: number;
|
|
807
|
+
goalsRank: number;
|
|
808
|
+
goalsLeagueAvg: number;
|
|
809
|
+
}
|
|
810
|
+
export interface TeamDetailInfo {
|
|
811
|
+
id: number;
|
|
812
|
+
commonName: LocalizedString;
|
|
813
|
+
placeNameWithPreposition: LocalizedString;
|
|
814
|
+
abbrev: string;
|
|
815
|
+
teamLogo: TeamLogo;
|
|
816
|
+
slug: string;
|
|
817
|
+
conference: string;
|
|
818
|
+
division: string;
|
|
819
|
+
wins: number;
|
|
820
|
+
losses: number;
|
|
821
|
+
otLosses: number;
|
|
822
|
+
gamesPlayed: number;
|
|
823
|
+
points: number;
|
|
824
|
+
}
|
|
825
|
+
export interface TeamDetailZoneTimeDetails {
|
|
826
|
+
offensiveZonePctg: number;
|
|
827
|
+
offensiveZoneRank: number;
|
|
828
|
+
offensiveZoneLeagueAvg: number;
|
|
829
|
+
offensiveZoneEvPctg: number;
|
|
830
|
+
offensiveZoneEvRank: number;
|
|
831
|
+
offensiveZoneEvLeagueAvg: number;
|
|
832
|
+
neutralZonePctg: number;
|
|
833
|
+
neutralZoneRank: number;
|
|
834
|
+
neutralZoneLeagueAvg: number;
|
|
835
|
+
defensiveZonePctg: number;
|
|
836
|
+
defensiveZoneRank: number;
|
|
837
|
+
defensiveZoneLeagueAvg: number;
|
|
838
|
+
}
|
|
839
|
+
export interface TeamLanding {
|
|
840
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
841
|
+
leaders: TeamLandingLeaders;
|
|
842
|
+
}
|
|
843
|
+
export interface TeamHighDangerSogArea {
|
|
844
|
+
area: string;
|
|
845
|
+
sog: number;
|
|
846
|
+
rank: number;
|
|
847
|
+
}
|
|
848
|
+
export interface TeamLandingLeaders {
|
|
849
|
+
shotAttemptsOver90: TeamShotAttemptsLeader;
|
|
850
|
+
burstsOver22: TeamBurstsLeader;
|
|
851
|
+
distancePer60: TeamDistanceLeader;
|
|
852
|
+
highDangerSOG: TeamHighDangerSogLeader;
|
|
853
|
+
offensiveZoneTime: TeamOffensiveZoneTimeLeader;
|
|
854
|
+
neutralZoneTime: TeamOffensiveZoneTimeLeader;
|
|
855
|
+
defensiveZoneTime: TeamOffensiveZoneTimeLeader;
|
|
856
|
+
}
|
|
857
|
+
export interface TeamHighDangerSogLeader {
|
|
858
|
+
team: EdgeLeaderTeam;
|
|
859
|
+
sog: number;
|
|
860
|
+
shotLocationDetails: TeamHighDangerSogArea[];
|
|
861
|
+
}
|
|
862
|
+
export interface TeamOffensiveZoneTimeLeader {
|
|
863
|
+
team: EdgeLeaderTeam;
|
|
864
|
+
zoneTime: number;
|
|
865
|
+
}
|
|
866
|
+
export interface TeamShotLocationDetail {
|
|
867
|
+
shotLocationDetails: TeamShotLocationArea[];
|
|
868
|
+
shotLocationTotals: TeamShotLocationTotal[];
|
|
869
|
+
}
|
|
870
|
+
export interface TeamShotLocationArea {
|
|
871
|
+
area: string;
|
|
872
|
+
sog: number;
|
|
873
|
+
sogRank: number;
|
|
874
|
+
goals: number;
|
|
875
|
+
goalsRank: number;
|
|
876
|
+
shootingPctg: number | null;
|
|
877
|
+
shootingPctgRank: number | null;
|
|
878
|
+
}
|
|
879
|
+
export interface TeamShotLocationTotal {
|
|
880
|
+
locationCode: string;
|
|
881
|
+
position: string;
|
|
882
|
+
sog: number;
|
|
883
|
+
sogRank: number;
|
|
884
|
+
sogLeagueAvg: number;
|
|
885
|
+
goals: number;
|
|
886
|
+
goalsRank: number;
|
|
887
|
+
goalsLeagueAvg: number;
|
|
888
|
+
shootingPctg: number;
|
|
889
|
+
shootingPctgRank: number;
|
|
890
|
+
shootingPctgLeagueAvg: number;
|
|
891
|
+
}
|
|
892
|
+
export interface TeamShotSpeedDetail {
|
|
893
|
+
hardestShots: TeamHardestShot[];
|
|
894
|
+
shotSpeedDetails: TeamShotSpeedBreakdown[];
|
|
895
|
+
}
|
|
896
|
+
export interface TeamHardestShot {
|
|
897
|
+
player: TeamHardestShotPlayer;
|
|
898
|
+
gameCenterLink: string;
|
|
899
|
+
gameDate: string;
|
|
900
|
+
gameType: GameType;
|
|
901
|
+
isHomeTeam: boolean;
|
|
902
|
+
shotSpeed: EdgeMeasurement;
|
|
903
|
+
timeInPeriod: string;
|
|
904
|
+
periodDescriptor: PeriodDescriptor;
|
|
905
|
+
homeTeam: TeamShotTeamRef;
|
|
906
|
+
awayTeam: TeamShotTeamRef;
|
|
907
|
+
}
|
|
908
|
+
export interface TeamShotTeamRef {
|
|
909
|
+
commonName: LocalizedString;
|
|
910
|
+
placeNameWithPreposition: LocalizedString;
|
|
911
|
+
teamLogo: TeamLogo;
|
|
912
|
+
}
|
|
913
|
+
export interface TeamHardestShotPlayer {
|
|
914
|
+
id: number;
|
|
915
|
+
firstName: LocalizedString;
|
|
916
|
+
lastName: LocalizedString;
|
|
917
|
+
slug: string;
|
|
918
|
+
}
|
|
919
|
+
export interface TeamShotSpeedBreakdown {
|
|
920
|
+
position: string;
|
|
921
|
+
topShotSpeed: TeamTopShotSpeed;
|
|
922
|
+
avgShotSpeed: EdgeRankedMeasurement;
|
|
923
|
+
shotAttemptsOver100: EdgeRankedLeagueStat;
|
|
924
|
+
shotAttempts90To100: EdgeRankedLeagueStat;
|
|
925
|
+
shotAttempts80To90: EdgeLeagueStat;
|
|
926
|
+
shotAttempts70To80: EdgeLeagueStat;
|
|
927
|
+
}
|
|
928
|
+
export interface TeamSkatingDistanceDetail {
|
|
929
|
+
skatingDistanceLast10: TeamDistanceGame[];
|
|
930
|
+
skatingDistanceDetails: TeamDistanceByStrength[];
|
|
931
|
+
}
|
|
932
|
+
export interface TeamDistanceOverlay {
|
|
933
|
+
gameDate: string;
|
|
934
|
+
awayTeam: OverlayTeam;
|
|
935
|
+
homeTeam: OverlayTeam;
|
|
936
|
+
gameOutcome: GameOutcome;
|
|
937
|
+
periodDescriptor: OverlayPeriod;
|
|
938
|
+
gameType: GameType;
|
|
939
|
+
}
|
|
940
|
+
export interface TeamDistanceByStrength {
|
|
941
|
+
strengthCode: string;
|
|
942
|
+
positionCode: PositionCode;
|
|
943
|
+
distanceTotal: EdgeRankedMeasurement;
|
|
944
|
+
distancePer60: EdgeRankedMeasurement;
|
|
945
|
+
distanceMaxGame: TeamDistanceMaxGame;
|
|
946
|
+
distanceMaxPeriod: TeamDistanceMaxGame;
|
|
947
|
+
}
|
|
948
|
+
export interface TeamDistanceMaxGame {
|
|
949
|
+
imperial: number;
|
|
950
|
+
metric: number;
|
|
951
|
+
rank: number;
|
|
952
|
+
leagueAvg: EdgeMeasurement;
|
|
953
|
+
overlay: TeamDistanceOverlay;
|
|
954
|
+
}
|
|
955
|
+
export interface TeamDistanceGame {
|
|
956
|
+
gameCenterLink: string;
|
|
957
|
+
gameDate: string;
|
|
958
|
+
isHomeTeam: boolean;
|
|
959
|
+
toiAll: number;
|
|
960
|
+
distanceSkatedAll: EdgeMeasurement;
|
|
961
|
+
toiEven: number;
|
|
962
|
+
distanceSkatedEven: EdgeMeasurement;
|
|
963
|
+
toiPP?: number;
|
|
964
|
+
distanceSkatedPP?: EdgeMeasurement;
|
|
965
|
+
toiPK?: number;
|
|
966
|
+
distanceSkatedPK?: EdgeMeasurement;
|
|
967
|
+
homeTeam: TeamShotTeamRef;
|
|
968
|
+
awayTeam: TeamShotTeamRef;
|
|
969
|
+
}
|
|
970
|
+
export interface TeamSkatingSpeedDetail {
|
|
971
|
+
topSkatingSpeeds: TeamTopSpeed[];
|
|
972
|
+
skatingSpeedDetails: TeamSpeedBreakdown[];
|
|
973
|
+
}
|
|
974
|
+
export interface TeamSpeedBreakdown {
|
|
975
|
+
positionCode: PositionCode;
|
|
976
|
+
maxSkatingSpeed: TeamSpeedMax;
|
|
977
|
+
burstsOver22: EdgeRankedLeagueStat;
|
|
978
|
+
bursts20To22: EdgeRankedLeagueStat;
|
|
979
|
+
bursts18To20: EdgeRankedLeagueStat;
|
|
980
|
+
}
|
|
981
|
+
export interface TeamTopSpeed {
|
|
982
|
+
player: TeamHardestShotPlayer;
|
|
983
|
+
gameCenterLink: string;
|
|
984
|
+
gameDate: string;
|
|
985
|
+
gameType: GameType;
|
|
986
|
+
isHomeTeam: boolean;
|
|
987
|
+
skatingSpeed: EdgeMeasurement;
|
|
988
|
+
timeInPeriod: string;
|
|
989
|
+
periodDescriptor: PeriodDescriptor;
|
|
990
|
+
homeTeam: TeamShotTeamRef;
|
|
991
|
+
awayTeam: TeamShotTeamRef;
|
|
992
|
+
}
|
|
993
|
+
export interface TeamZoneTimeDetails {
|
|
994
|
+
zoneTimeDetails: TeamZoneTimeByStrength[];
|
|
995
|
+
shotDifferential: TeamShotDifferential;
|
|
996
|
+
}
|
|
997
|
+
export interface TeamShotDifferential {
|
|
998
|
+
shotAttemptDifferential: number;
|
|
999
|
+
shotAttemptDifferentialRank: number;
|
|
1000
|
+
sogDifferential: number;
|
|
1001
|
+
sogDifferentialRank: number;
|
|
1002
|
+
}
|
|
1003
|
+
export interface TeamZoneTimeByStrength {
|
|
1004
|
+
strengthCode: string;
|
|
1005
|
+
offensiveZonePctg: number;
|
|
1006
|
+
offensiveZoneRank: number;
|
|
1007
|
+
offensiveZoneLeagueAvg: number;
|
|
1008
|
+
neutralZonePctg: number;
|
|
1009
|
+
neutralZoneRank: number;
|
|
1010
|
+
neutralZoneLeagueAvg: number;
|
|
1011
|
+
defensiveZonePctg: number;
|
|
1012
|
+
defensiveZoneRank: number;
|
|
1013
|
+
defensiveZoneLeagueAvg: number;
|
|
1014
|
+
}
|
|
1015
|
+
export interface ShotSpeedOverlay {
|
|
1016
|
+
player: OverlayPlayer;
|
|
1017
|
+
gameDate: string;
|
|
1018
|
+
awayTeam: OverlayTeam;
|
|
1019
|
+
homeTeam: OverlayTeam;
|
|
1020
|
+
gameOutcome: GameOutcome;
|
|
1021
|
+
periodDescriptor: OverlayPeriod;
|
|
1022
|
+
timeInPeriod: string;
|
|
1023
|
+
gameType: GameType;
|
|
1024
|
+
}
|