nhl-api-ts 0.2.0 → 0.3.0
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 +81 -9
- package/dist/api/draft.d.mts +61 -0
- package/dist/api/draft.mjs +68 -0
- package/dist/api/edge.d.mts +221 -24
- package/dist/api/edge.mjs +276 -27
- package/dist/api/game-center.d.mts +63 -15
- package/dist/api/game-center.mjs +67 -8
- package/dist/api/helpers.d.mts +6 -6
- package/dist/api/helpers.mjs +6 -6
- package/dist/api/misc.d.mts +120 -6
- package/dist/api/misc.mjs +162 -7
- package/dist/api/players.d.mts +59 -7
- package/dist/api/players.mjs +85 -4
- package/dist/api/query/cayenne.d.mts +4 -0
- package/dist/api/query/cayenne.mjs +13 -0
- package/dist/api/query/sorting/sorting-options.d.mts +8 -0
- package/dist/api/query/sorting/sorting-options.mjs +30 -0
- package/dist/api/schedule.d.mts +36 -23
- package/dist/api/schedule.mjs +40 -16
- package/dist/api/standings.d.mts +3 -3
- package/dist/api/standings.mjs +4 -4
- package/dist/api/stats.d.mts +105 -16
- package/dist/api/stats.mjs +145 -41
- package/dist/api/teams.d.mts +48 -8
- package/dist/api/teams.mjs +59 -7
- package/dist/cli/colors.d.mts +2 -2
- package/dist/cli/colors.mjs +6 -2
- package/dist/cli/commands.mjs +521 -46
- package/dist/cli/run.mjs +7 -5
- package/dist/http-client.d.mts +2 -1
- package/dist/http-client.mjs +10 -3
- package/dist/index.d.mts +8 -2
- package/dist/index.mjs +3 -0
- package/dist/nhl-client.d.mts +70 -15
- package/dist/nhl-client.mjs +40 -17
- package/dist/types/common.d.mts +0 -1
- package/dist/types/draft.d.mts +97 -0
- package/dist/types/draft.mjs +1 -0
- package/dist/types/edge.d.mts +301 -5
- package/dist/types/game-center.d.mts +277 -119
- package/dist/types/index.d.mts +1 -0
- package/dist/types/misc.d.mts +101 -0
- package/dist/types/misc.mjs +0 -1
- package/dist/types/players.d.mts +23 -2
- package/dist/types/schedule.d.mts +50 -62
- package/dist/types/standings.d.mts +1 -2
- package/dist/types/stats.d.mts +313 -111
- package/dist/types/teams.d.mts +29 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils.mjs +3 -1
- package/package.json +7 -28
package/dist/types/edge.d.mts
CHANGED
|
@@ -76,9 +76,18 @@ export interface EdgeRankedMeasurement {
|
|
|
76
76
|
leagueAvg: EdgeMeasurement;
|
|
77
77
|
}
|
|
78
78
|
export interface Goalie5v5Detail {
|
|
79
|
-
savePctg5v5Last10:
|
|
79
|
+
savePctg5v5Last10: Goalie5v5Last10Game[];
|
|
80
80
|
savePctg5v5Details: Goalie5v5Details;
|
|
81
81
|
}
|
|
82
|
+
export interface Goalie5v5Last10Game {
|
|
83
|
+
gameCenterLink: string;
|
|
84
|
+
savePctg: number;
|
|
85
|
+
gameDate: string;
|
|
86
|
+
decision: string;
|
|
87
|
+
playerOnHomeTeam: boolean;
|
|
88
|
+
homeTeam: EdgeGameTeam;
|
|
89
|
+
awayTeam: EdgeGameTeam;
|
|
90
|
+
}
|
|
82
91
|
export interface Goalie5v5Details {
|
|
83
92
|
savePctg: Goalie5v5Stat;
|
|
84
93
|
savePctgClose: Goalie5v5Stat;
|
|
@@ -90,11 +99,19 @@ export interface GoalieComparison {
|
|
|
90
99
|
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
91
100
|
shotLocationSummary: GoalieComparisonLocationSummary[];
|
|
92
101
|
shotLocationDetails: GoalieComparisonLocationArea[];
|
|
93
|
-
savePctg5v5Last10:
|
|
102
|
+
savePctg5v5Last10: GoalieComparisonLast10Game[];
|
|
94
103
|
savePctg5v5Details: GoalieComparison5v5Details;
|
|
95
|
-
savePctgLast10:
|
|
104
|
+
savePctgLast10: GoalieComparisonLast10Game[];
|
|
96
105
|
savePctgDetails: GoalieComparisonSaveDetails;
|
|
97
106
|
}
|
|
107
|
+
export interface GoalieComparisonLast10Game {
|
|
108
|
+
gameCenterLink: string;
|
|
109
|
+
savePctg: number;
|
|
110
|
+
gameDate: string;
|
|
111
|
+
playerOnHomeTeam: boolean;
|
|
112
|
+
homeTeam: EdgeTeamRef;
|
|
113
|
+
awayTeam: EdgeTeamRef;
|
|
114
|
+
}
|
|
98
115
|
export interface GoalieComparison5v5Details {
|
|
99
116
|
savePctg: number;
|
|
100
117
|
savePctgClose: number;
|
|
@@ -174,10 +191,10 @@ export interface GoalieDetailStats {
|
|
|
174
191
|
}
|
|
175
192
|
export interface GoalieLanding {
|
|
176
193
|
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
177
|
-
/**
|
|
194
|
+
/** Regular season only */
|
|
178
195
|
minimumGamesPlayed?: number;
|
|
179
196
|
leaders: GoalieLandingLeaders;
|
|
180
|
-
/**
|
|
197
|
+
/** Playoffs only */
|
|
181
198
|
minimumMinutesPlayed?: number;
|
|
182
199
|
}
|
|
183
200
|
export interface GoalieLandingLeaders {
|
|
@@ -1022,3 +1039,282 @@ export interface ShotSpeedOverlay {
|
|
|
1022
1039
|
timeInPeriod: string;
|
|
1023
1040
|
gameType: GameType;
|
|
1024
1041
|
}
|
|
1042
|
+
/** Player of an EDGE top-10 row. `goalieShotLocationTop10` rows use `EdgeLeaderPlayer`. */
|
|
1043
|
+
export interface EdgeTop10Player {
|
|
1044
|
+
firstName: LocalizedString;
|
|
1045
|
+
lastName: LocalizedString;
|
|
1046
|
+
slug: string;
|
|
1047
|
+
headshot: string;
|
|
1048
|
+
position: string;
|
|
1049
|
+
sweaterNumber: number;
|
|
1050
|
+
team: EdgeGameTeam;
|
|
1051
|
+
}
|
|
1052
|
+
/** Team of the team skating speed and shot location top-10 rows. The others use `EdgeGameTeam` (no `id`). */
|
|
1053
|
+
export interface EdgeTop10Team {
|
|
1054
|
+
id: number;
|
|
1055
|
+
commonName: LocalizedString;
|
|
1056
|
+
placeNameWithPreposition: LocalizedString;
|
|
1057
|
+
abbrev: string;
|
|
1058
|
+
teamLogo: TeamLogo;
|
|
1059
|
+
slug: string;
|
|
1060
|
+
}
|
|
1061
|
+
export interface EdgeTeamDistanceMax {
|
|
1062
|
+
imperial: number;
|
|
1063
|
+
metric: number;
|
|
1064
|
+
overlay: TeamDistanceOverlay;
|
|
1065
|
+
}
|
|
1066
|
+
export interface SkaterDistanceTop10Row {
|
|
1067
|
+
player: EdgeTop10Player;
|
|
1068
|
+
distanceTotal: EdgeMeasurement;
|
|
1069
|
+
distancePer60: EdgeMeasurement;
|
|
1070
|
+
distanceMaxPerGame: SkaterComparisonDistanceMaxGame;
|
|
1071
|
+
distanceMaxPerPeriod: SkaterComparisonDistanceMaxGame;
|
|
1072
|
+
}
|
|
1073
|
+
export interface SkaterSpeedTop10Row {
|
|
1074
|
+
player: EdgeTop10Player;
|
|
1075
|
+
maxSpeed: SkaterComparisonMaxSpeed;
|
|
1076
|
+
burstsOver22: number;
|
|
1077
|
+
bursts20To22: number;
|
|
1078
|
+
bursts18To20: number;
|
|
1079
|
+
}
|
|
1080
|
+
export interface SkaterZoneTimeTop10Row {
|
|
1081
|
+
player: EdgeTop10Player;
|
|
1082
|
+
/** Share of time on ice, e.g. 0.4957. */
|
|
1083
|
+
offensiveZoneTime: number;
|
|
1084
|
+
neutralZoneTime: number;
|
|
1085
|
+
defensiveZoneTime: number;
|
|
1086
|
+
}
|
|
1087
|
+
export interface SkaterShotSpeedTop10Row {
|
|
1088
|
+
player: EdgeTop10Player;
|
|
1089
|
+
hardestShot: SkaterComparisonTopShot;
|
|
1090
|
+
shotAttemptsOver100: number;
|
|
1091
|
+
shotAttempts90To100: number;
|
|
1092
|
+
shotAttempts80To90: number;
|
|
1093
|
+
shotAttempts70To80: number;
|
|
1094
|
+
}
|
|
1095
|
+
export interface SkaterShotLocationTop10Row {
|
|
1096
|
+
player: EdgeTop10Player;
|
|
1097
|
+
all: number;
|
|
1098
|
+
highDanger: number;
|
|
1099
|
+
midRange: number;
|
|
1100
|
+
longRange: number;
|
|
1101
|
+
}
|
|
1102
|
+
export interface Goalie5v5Top10Row {
|
|
1103
|
+
player: EdgeTop10Player;
|
|
1104
|
+
savePctg: number;
|
|
1105
|
+
savePctgClose: number;
|
|
1106
|
+
shots: number;
|
|
1107
|
+
shotsPer60: number;
|
|
1108
|
+
}
|
|
1109
|
+
export interface GoalieShotLocationTop10Row {
|
|
1110
|
+
player: EdgeLeaderPlayer;
|
|
1111
|
+
all: number;
|
|
1112
|
+
highDanger: number;
|
|
1113
|
+
midRange: number;
|
|
1114
|
+
longRange: number;
|
|
1115
|
+
}
|
|
1116
|
+
export interface GoalieSavePercentageTop10Row {
|
|
1117
|
+
player: EdgeTop10Player;
|
|
1118
|
+
gamesOver900: number;
|
|
1119
|
+
pctgGamesOver900: number;
|
|
1120
|
+
}
|
|
1121
|
+
export interface TeamSkatingDistanceTop10Row {
|
|
1122
|
+
team: EdgeGameTeam;
|
|
1123
|
+
distanceTotal: EdgeMeasurement;
|
|
1124
|
+
distancePer60: EdgeMeasurement;
|
|
1125
|
+
distanceMaxPerGame: EdgeTeamDistanceMax;
|
|
1126
|
+
distanceMaxPerPeriod: EdgeTeamDistanceMax;
|
|
1127
|
+
}
|
|
1128
|
+
export interface TeamSkatingSpeedTop10Row {
|
|
1129
|
+
team: EdgeTop10Team;
|
|
1130
|
+
/** `maxSpeed` on the skater leaderboard. */
|
|
1131
|
+
maxSkatingSpeed: SkaterComparisonMaxSpeed;
|
|
1132
|
+
burstsOver22: number;
|
|
1133
|
+
bursts20To22: number;
|
|
1134
|
+
bursts18To20: number;
|
|
1135
|
+
}
|
|
1136
|
+
export interface TeamZoneTimeTop10Row {
|
|
1137
|
+
team: EdgeGameTeam;
|
|
1138
|
+
/** Share of time on ice, e.g. 0.4957. */
|
|
1139
|
+
offensiveZoneTime: number;
|
|
1140
|
+
neutralZoneTime: number;
|
|
1141
|
+
defensiveZoneTime: number;
|
|
1142
|
+
}
|
|
1143
|
+
export interface TeamShotSpeedTop10Row {
|
|
1144
|
+
team: EdgeGameTeam;
|
|
1145
|
+
hardestShot: SkaterComparisonTopShot;
|
|
1146
|
+
shotAttemptsOver100: number;
|
|
1147
|
+
shotAttempts90To100: number;
|
|
1148
|
+
shotAttempts80To90: number;
|
|
1149
|
+
shotAttempts70To80: number;
|
|
1150
|
+
}
|
|
1151
|
+
export interface TeamShotLocationTop10Row {
|
|
1152
|
+
team: EdgeTop10Team;
|
|
1153
|
+
all: number;
|
|
1154
|
+
highDanger: number;
|
|
1155
|
+
midRange: number;
|
|
1156
|
+
longRange: number;
|
|
1157
|
+
}
|
|
1158
|
+
export interface TeamComparisonTeam {
|
|
1159
|
+
id: number;
|
|
1160
|
+
commonName: LocalizedString;
|
|
1161
|
+
placeNameWithPreposition: LocalizedString;
|
|
1162
|
+
abbrev: string;
|
|
1163
|
+
teamLogo: TeamLogo;
|
|
1164
|
+
slug: string;
|
|
1165
|
+
conference: string;
|
|
1166
|
+
division: string;
|
|
1167
|
+
wins: number;
|
|
1168
|
+
losses: number;
|
|
1169
|
+
otLosses: number;
|
|
1170
|
+
gamesPlayed: number;
|
|
1171
|
+
points: number;
|
|
1172
|
+
}
|
|
1173
|
+
export interface TeamComparisonDistanceGame {
|
|
1174
|
+
gameCenterLink: string;
|
|
1175
|
+
gameDate: string;
|
|
1176
|
+
isHomeTeam: boolean;
|
|
1177
|
+
distanceSkated: EdgeMeasurement;
|
|
1178
|
+
homeTeam: EdgeGameTeam;
|
|
1179
|
+
awayTeam: EdgeGameTeam;
|
|
1180
|
+
}
|
|
1181
|
+
export interface TeamComparisonDistance {
|
|
1182
|
+
distanceTotal: EdgeMeasurement;
|
|
1183
|
+
distancePer60: EdgeMeasurement;
|
|
1184
|
+
distanceMaxGame: EdgeTeamDistanceMax;
|
|
1185
|
+
distanceMaxPeriod: EdgeTeamDistanceMax;
|
|
1186
|
+
}
|
|
1187
|
+
export interface TeamComparisonShotDifferential {
|
|
1188
|
+
shotAttemptDifferential: number;
|
|
1189
|
+
sogDifferential: number;
|
|
1190
|
+
}
|
|
1191
|
+
export interface TeamComparison {
|
|
1192
|
+
team: TeamComparisonTeam;
|
|
1193
|
+
seasonsWithEdgeStats: EdgeSeasonAvailability[];
|
|
1194
|
+
shotSpeedDetails: SkaterComparisonShotSpeed;
|
|
1195
|
+
skatingSpeedDetails: SkaterComparisonSpeed;
|
|
1196
|
+
skatingDistanceLast10: TeamComparisonDistanceGame[];
|
|
1197
|
+
skatingDistanceDetails: TeamComparisonDistance;
|
|
1198
|
+
shotLocationDetails: SkaterComparisonLocationArea[];
|
|
1199
|
+
shotLocationTotals: SkaterComparisonLocationTotal[];
|
|
1200
|
+
zoneTimeDetails: SkaterComparisonZoneTime;
|
|
1201
|
+
shotDifferential: TeamComparisonShotDifferential;
|
|
1202
|
+
}
|
|
1203
|
+
export interface ByTheNumbersPlayer {
|
|
1204
|
+
birthDate: string;
|
|
1205
|
+
id: number;
|
|
1206
|
+
firstName: LocalizedString;
|
|
1207
|
+
lastName: LocalizedString;
|
|
1208
|
+
sweaterNumber: number;
|
|
1209
|
+
position: string;
|
|
1210
|
+
slug: string;
|
|
1211
|
+
headshot: string;
|
|
1212
|
+
shootsCatches: ShootsCatches;
|
|
1213
|
+
team: EdgeTeamRef;
|
|
1214
|
+
}
|
|
1215
|
+
export interface ByTheNumbersTeam {
|
|
1216
|
+
id: number;
|
|
1217
|
+
commonName: LocalizedString;
|
|
1218
|
+
placeNameWithPreposition: LocalizedString;
|
|
1219
|
+
abbrev: string;
|
|
1220
|
+
slug: string;
|
|
1221
|
+
teamLogo: TeamLogo;
|
|
1222
|
+
conference: string;
|
|
1223
|
+
division: string;
|
|
1224
|
+
}
|
|
1225
|
+
export interface ByTheNumbersHardestShot {
|
|
1226
|
+
player: ByTheNumbersPlayer;
|
|
1227
|
+
overlay: ShotSpeedOverlay;
|
|
1228
|
+
shotSpeed: EdgeMeasurement;
|
|
1229
|
+
}
|
|
1230
|
+
export interface ByTheNumbersMaxSkatingSpeed {
|
|
1231
|
+
player: ByTheNumbersPlayer;
|
|
1232
|
+
overlay: SkatingSpeedOverlay;
|
|
1233
|
+
skatingSpeed: EdgeMeasurement;
|
|
1234
|
+
}
|
|
1235
|
+
export interface ByTheNumbersDistanceSkater {
|
|
1236
|
+
player: ByTheNumbersPlayer;
|
|
1237
|
+
distanceSkated: SkaterComparisonDistanceMaxGame;
|
|
1238
|
+
}
|
|
1239
|
+
export interface ByTheNumbersDistanceGame {
|
|
1240
|
+
gameCenterLink: string;
|
|
1241
|
+
gameDate: string;
|
|
1242
|
+
isHomeTeam: boolean;
|
|
1243
|
+
homeTeam: ByTheNumbersTeam;
|
|
1244
|
+
awayTeam: ByTheNumbersTeam;
|
|
1245
|
+
distanceSkated: EdgeMeasurement;
|
|
1246
|
+
}
|
|
1247
|
+
export interface ByTheNumbersTopSkaterName {
|
|
1248
|
+
name: LocalizedString;
|
|
1249
|
+
}
|
|
1250
|
+
export interface ByTheNumbersTopSkater {
|
|
1251
|
+
gameCenterLink: string;
|
|
1252
|
+
gameDate: string;
|
|
1253
|
+
playerOnHomeTeam: boolean;
|
|
1254
|
+
distanceSkated: EdgeMeasurement;
|
|
1255
|
+
toi: number;
|
|
1256
|
+
homeTeam: ByTheNumbersTeam;
|
|
1257
|
+
awayTeam: ByTheNumbersTeam;
|
|
1258
|
+
player: ByTheNumbersTopSkaterName;
|
|
1259
|
+
}
|
|
1260
|
+
export interface ByTheNumbersDistanceTeam {
|
|
1261
|
+
team: ByTheNumbersTeam;
|
|
1262
|
+
game: ByTheNumbersDistanceGame;
|
|
1263
|
+
topFiveSkaters: ByTheNumbersTopSkater[];
|
|
1264
|
+
}
|
|
1265
|
+
export interface ByTheNumbersDistanceLeague {
|
|
1266
|
+
distanceSkated: EdgeMeasurement;
|
|
1267
|
+
topFiveSkaters: ByTheNumbersTopSkater[];
|
|
1268
|
+
}
|
|
1269
|
+
export interface ByTheNumbersTeamOverlay {
|
|
1270
|
+
team: ByTheNumbersTeam;
|
|
1271
|
+
gameDate: string;
|
|
1272
|
+
awayTeam: OverlayTeam;
|
|
1273
|
+
homeTeam: OverlayTeam;
|
|
1274
|
+
gameOutcome: GameOutcome;
|
|
1275
|
+
periodDescriptor: OverlayPeriod;
|
|
1276
|
+
gameType: GameType;
|
|
1277
|
+
}
|
|
1278
|
+
export interface ByTheNumbersSogArea {
|
|
1279
|
+
area: string;
|
|
1280
|
+
shots: number;
|
|
1281
|
+
}
|
|
1282
|
+
export interface ByTheNumbersSogTeam {
|
|
1283
|
+
overlay: ByTheNumbersTeamOverlay;
|
|
1284
|
+
team: ByTheNumbersTeam;
|
|
1285
|
+
shots: number;
|
|
1286
|
+
sogDetails: ByTheNumbersSogArea[];
|
|
1287
|
+
}
|
|
1288
|
+
export interface ByTheNumbersSavesArea {
|
|
1289
|
+
area: string;
|
|
1290
|
+
saves: number;
|
|
1291
|
+
}
|
|
1292
|
+
export interface ByTheNumbersHighDangerSaves {
|
|
1293
|
+
overlay: SkatingDistanceOverlay;
|
|
1294
|
+
player: ByTheNumbersPlayer;
|
|
1295
|
+
saves: number;
|
|
1296
|
+
shotLocationDetails: ByTheNumbersSavesArea[];
|
|
1297
|
+
}
|
|
1298
|
+
export interface ByTheNumbersDistanceMaxGame {
|
|
1299
|
+
player: ByTheNumbersPlayer;
|
|
1300
|
+
overlay: SkatingDistanceOverlay;
|
|
1301
|
+
distanceSkated: EdgeMeasurement;
|
|
1302
|
+
}
|
|
1303
|
+
/**
|
|
1304
|
+
* League-wide EDGE highlights. The `/now` form describes the latest game
|
|
1305
|
+
* night (`games`, `gameDate` and the nightly leaders); an explicit season
|
|
1306
|
+
* returns the season bests (`hardestShotSkater`, `maxSkatingSpeedSkater`,
|
|
1307
|
+
* `distanceMaxGame`).
|
|
1308
|
+
*/
|
|
1309
|
+
export interface ByTheNumbers {
|
|
1310
|
+
games?: number;
|
|
1311
|
+
gameDate?: string;
|
|
1312
|
+
hardestShotSkater: ByTheNumbersHardestShot;
|
|
1313
|
+
maxSkatingSpeedSkater: ByTheNumbersMaxSkatingSpeed;
|
|
1314
|
+
totalDistanceSkatedSkater?: ByTheNumbersDistanceSkater;
|
|
1315
|
+
totalDistanceSkatedTeam?: ByTheNumbersDistanceTeam;
|
|
1316
|
+
totalDistanceSkatedLeague?: ByTheNumbersDistanceLeague;
|
|
1317
|
+
sogTeam?: ByTheNumbersSogTeam;
|
|
1318
|
+
highDangerSavesGoalie?: ByTheNumbersHighDangerSaves;
|
|
1319
|
+
distanceMaxGame?: ByTheNumbersDistanceMaxGame;
|
|
1320
|
+
}
|