fitzroy 1.1.0 → 1.2.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/dist/index.d.ts CHANGED
@@ -594,17 +594,23 @@ declare function parseAflApiDate(iso: string): Date | null;
594
594
  * - `"Sat 16 Mar 2024"` (day-of-week, day, month-abbrev, year)
595
595
  * - `"16 Mar 2024"` (day, month-abbrev, year)
596
596
  * - `"16-Mar-2024"` (day-month-year with hyphens)
597
+ * - `"Thu 13 Mar 7:30pm"` (day-of-week, day, month, time — no year)
598
+ * - `"13 Mar"` (day, month — no year)
597
599
  *
598
600
  * @param dateStr - A FootyWire date string
599
- * @returns A Date object (midnight UTC), or null if parsing fails
601
+ * @param defaultYear - Year to use when the string lacks one (e.g. fixture pages)
602
+ * @returns A Date object (UTC), or null if parsing fails
600
603
  *
601
604
  * @example
602
605
  * ```ts
603
606
  * parseFootyWireDate("Sat 16 Mar 2024")
604
607
  * // => Date(2024-03-16T00:00:00.000Z)
608
+ *
609
+ * parseFootyWireDate("Thu 13 Mar 7:30pm", 2025)
610
+ * // => Date(2025-03-13T09:30:00.000Z) — time stored as AEST offset from UTC
605
611
  * ```
606
612
  */
607
- declare function parseFootyWireDate(dateStr: string): Date | null;
613
+ declare function parseFootyWireDate(dateStr: string, defaultYear?: number): Date | null;
608
614
  /**
609
615
  * Parse a date string from AFL Tables into a Date.
610
616
  *
@@ -1163,70 +1169,70 @@ type MatchItem = z2.infer<typeof MatchItemSchema>;
1163
1169
  type MatchItemList = z2.infer<typeof MatchItemListSchema>;
1164
1170
  /** Schema for stat values (clearances is nested). */
1165
1171
  declare const PlayerGameStatsSchema: z2.ZodObject<{
1166
- goals: z2.ZodOptional<z2.ZodNumber>;
1167
- behinds: z2.ZodOptional<z2.ZodNumber>;
1168
- kicks: z2.ZodOptional<z2.ZodNumber>;
1169
- handballs: z2.ZodOptional<z2.ZodNumber>;
1170
- disposals: z2.ZodOptional<z2.ZodNumber>;
1171
- marks: z2.ZodOptional<z2.ZodNumber>;
1172
- bounces: z2.ZodOptional<z2.ZodNumber>;
1173
- tackles: z2.ZodOptional<z2.ZodNumber>;
1174
- contestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1175
- uncontestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1176
- totalPossessions: z2.ZodOptional<z2.ZodNumber>;
1177
- inside50s: z2.ZodOptional<z2.ZodNumber>;
1178
- marksInside50: z2.ZodOptional<z2.ZodNumber>;
1179
- contestedMarks: z2.ZodOptional<z2.ZodNumber>;
1180
- hitouts: z2.ZodOptional<z2.ZodNumber>;
1181
- onePercenters: z2.ZodOptional<z2.ZodNumber>;
1182
- disposalEfficiency: z2.ZodOptional<z2.ZodNumber>;
1183
- clangers: z2.ZodOptional<z2.ZodNumber>;
1184
- freesFor: z2.ZodOptional<z2.ZodNumber>;
1185
- freesAgainst: z2.ZodOptional<z2.ZodNumber>;
1186
- dreamTeamPoints: z2.ZodOptional<z2.ZodNumber>;
1187
- clearances: z2.ZodOptional<z2.ZodObject<{
1188
- centreClearances: z2.ZodOptional<z2.ZodNumber>;
1189
- stoppageClearances: z2.ZodOptional<z2.ZodNumber>;
1190
- totalClearances: z2.ZodOptional<z2.ZodNumber>;
1191
- }, z2.core.$loose>>;
1192
- rebound50s: z2.ZodOptional<z2.ZodNumber>;
1193
- goalAssists: z2.ZodOptional<z2.ZodNumber>;
1194
- goalAccuracy: z2.ZodOptional<z2.ZodNumber>;
1195
- turnovers: z2.ZodOptional<z2.ZodNumber>;
1196
- intercepts: z2.ZodOptional<z2.ZodNumber>;
1197
- tacklesInside50: z2.ZodOptional<z2.ZodNumber>;
1198
- shotsAtGoal: z2.ZodOptional<z2.ZodNumber>;
1199
- metresGained: z2.ZodOptional<z2.ZodNumber>;
1200
- scoreInvolvements: z2.ZodOptional<z2.ZodNumber>;
1201
- ratingPoints: z2.ZodOptional<z2.ZodNumber>;
1202
- extendedStats: z2.ZodOptional<z2.ZodObject<{
1203
- effectiveDisposals: z2.ZodOptional<z2.ZodNumber>;
1204
- effectiveKicks: z2.ZodOptional<z2.ZodNumber>;
1205
- kickEfficiency: z2.ZodOptional<z2.ZodNumber>;
1206
- kickToHandballRatio: z2.ZodOptional<z2.ZodNumber>;
1207
- pressureActs: z2.ZodOptional<z2.ZodNumber>;
1208
- defHalfPressureActs: z2.ZodOptional<z2.ZodNumber>;
1209
- spoils: z2.ZodOptional<z2.ZodNumber>;
1210
- hitoutsToAdvantage: z2.ZodOptional<z2.ZodNumber>;
1211
- hitoutWinPercentage: z2.ZodOptional<z2.ZodNumber>;
1212
- hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNumber>;
1213
- groundBallGets: z2.ZodOptional<z2.ZodNumber>;
1214
- f50GroundBallGets: z2.ZodOptional<z2.ZodNumber>;
1215
- interceptMarks: z2.ZodOptional<z2.ZodNumber>;
1216
- marksOnLead: z2.ZodOptional<z2.ZodNumber>;
1217
- contestedPossessionRate: z2.ZodOptional<z2.ZodNumber>;
1218
- contestOffOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1219
- contestOffWins: z2.ZodOptional<z2.ZodNumber>;
1220
- contestOffWinsPercentage: z2.ZodOptional<z2.ZodNumber>;
1221
- contestDefOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1222
- contestDefLosses: z2.ZodOptional<z2.ZodNumber>;
1223
- contestDefLossPercentage: z2.ZodOptional<z2.ZodNumber>;
1224
- centreBounceAttendances: z2.ZodOptional<z2.ZodNumber>;
1225
- kickins: z2.ZodOptional<z2.ZodNumber>;
1226
- kickinsPlayon: z2.ZodOptional<z2.ZodNumber>;
1227
- ruckContests: z2.ZodOptional<z2.ZodNumber>;
1228
- scoreLaunches: z2.ZodOptional<z2.ZodNumber>;
1229
- }, z2.core.$loose>>;
1172
+ goals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1173
+ behinds: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1174
+ kicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1175
+ handballs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1176
+ disposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1177
+ marks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1178
+ bounces: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1179
+ tackles: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1180
+ contestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1181
+ uncontestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1182
+ totalPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1183
+ inside50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1184
+ marksInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1185
+ contestedMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1186
+ hitouts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1187
+ onePercenters: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1188
+ disposalEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1189
+ clangers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1190
+ freesFor: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1191
+ freesAgainst: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1192
+ dreamTeamPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1193
+ clearances: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1194
+ centreClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1195
+ stoppageClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1196
+ totalClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1197
+ }, z2.core.$loose>>>;
1198
+ rebound50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1199
+ goalAssists: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1200
+ goalAccuracy: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1201
+ turnovers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1202
+ intercepts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1203
+ tacklesInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1204
+ shotsAtGoal: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1205
+ metresGained: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1206
+ scoreInvolvements: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1207
+ ratingPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1208
+ extendedStats: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1209
+ effectiveDisposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1210
+ effectiveKicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1211
+ kickEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1212
+ kickToHandballRatio: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1213
+ pressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1214
+ defHalfPressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1215
+ spoils: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1216
+ hitoutsToAdvantage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1217
+ hitoutWinPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1218
+ hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1219
+ groundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1220
+ f50GroundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1221
+ interceptMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1222
+ marksOnLead: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1223
+ contestedPossessionRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1224
+ contestOffOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1225
+ contestOffWins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1226
+ contestOffWinsPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1227
+ contestDefOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1228
+ contestDefLosses: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1229
+ contestDefLossPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1230
+ centreBounceAttendances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1231
+ kickins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1232
+ kickinsPlayon: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1233
+ ruckContests: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1234
+ scoreLaunches: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1235
+ }, z2.core.$loose>>>;
1230
1236
  }, z2.core.$loose>;
1231
1237
  /** Schema for a single player's statistics in a match. */
1232
1238
  declare const PlayerStatsItemSchema: z2.ZodObject<{
@@ -1248,72 +1254,72 @@ declare const PlayerStatsItemSchema: z2.ZodObject<{
1248
1254
  teamId: z2.ZodString;
1249
1255
  playerStats: z2.ZodObject<{
1250
1256
  stats: z2.ZodObject<{
1251
- goals: z2.ZodOptional<z2.ZodNumber>;
1252
- behinds: z2.ZodOptional<z2.ZodNumber>;
1253
- kicks: z2.ZodOptional<z2.ZodNumber>;
1254
- handballs: z2.ZodOptional<z2.ZodNumber>;
1255
- disposals: z2.ZodOptional<z2.ZodNumber>;
1256
- marks: z2.ZodOptional<z2.ZodNumber>;
1257
- bounces: z2.ZodOptional<z2.ZodNumber>;
1258
- tackles: z2.ZodOptional<z2.ZodNumber>;
1259
- contestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1260
- uncontestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1261
- totalPossessions: z2.ZodOptional<z2.ZodNumber>;
1262
- inside50s: z2.ZodOptional<z2.ZodNumber>;
1263
- marksInside50: z2.ZodOptional<z2.ZodNumber>;
1264
- contestedMarks: z2.ZodOptional<z2.ZodNumber>;
1265
- hitouts: z2.ZodOptional<z2.ZodNumber>;
1266
- onePercenters: z2.ZodOptional<z2.ZodNumber>;
1267
- disposalEfficiency: z2.ZodOptional<z2.ZodNumber>;
1268
- clangers: z2.ZodOptional<z2.ZodNumber>;
1269
- freesFor: z2.ZodOptional<z2.ZodNumber>;
1270
- freesAgainst: z2.ZodOptional<z2.ZodNumber>;
1271
- dreamTeamPoints: z2.ZodOptional<z2.ZodNumber>;
1272
- clearances: z2.ZodOptional<z2.ZodObject<{
1273
- centreClearances: z2.ZodOptional<z2.ZodNumber>;
1274
- stoppageClearances: z2.ZodOptional<z2.ZodNumber>;
1275
- totalClearances: z2.ZodOptional<z2.ZodNumber>;
1276
- }, z2.core.$loose>>;
1277
- rebound50s: z2.ZodOptional<z2.ZodNumber>;
1278
- goalAssists: z2.ZodOptional<z2.ZodNumber>;
1279
- goalAccuracy: z2.ZodOptional<z2.ZodNumber>;
1280
- turnovers: z2.ZodOptional<z2.ZodNumber>;
1281
- intercepts: z2.ZodOptional<z2.ZodNumber>;
1282
- tacklesInside50: z2.ZodOptional<z2.ZodNumber>;
1283
- shotsAtGoal: z2.ZodOptional<z2.ZodNumber>;
1284
- metresGained: z2.ZodOptional<z2.ZodNumber>;
1285
- scoreInvolvements: z2.ZodOptional<z2.ZodNumber>;
1286
- ratingPoints: z2.ZodOptional<z2.ZodNumber>;
1287
- extendedStats: z2.ZodOptional<z2.ZodObject<{
1288
- effectiveDisposals: z2.ZodOptional<z2.ZodNumber>;
1289
- effectiveKicks: z2.ZodOptional<z2.ZodNumber>;
1290
- kickEfficiency: z2.ZodOptional<z2.ZodNumber>;
1291
- kickToHandballRatio: z2.ZodOptional<z2.ZodNumber>;
1292
- pressureActs: z2.ZodOptional<z2.ZodNumber>;
1293
- defHalfPressureActs: z2.ZodOptional<z2.ZodNumber>;
1294
- spoils: z2.ZodOptional<z2.ZodNumber>;
1295
- hitoutsToAdvantage: z2.ZodOptional<z2.ZodNumber>;
1296
- hitoutWinPercentage: z2.ZodOptional<z2.ZodNumber>;
1297
- hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNumber>;
1298
- groundBallGets: z2.ZodOptional<z2.ZodNumber>;
1299
- f50GroundBallGets: z2.ZodOptional<z2.ZodNumber>;
1300
- interceptMarks: z2.ZodOptional<z2.ZodNumber>;
1301
- marksOnLead: z2.ZodOptional<z2.ZodNumber>;
1302
- contestedPossessionRate: z2.ZodOptional<z2.ZodNumber>;
1303
- contestOffOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1304
- contestOffWins: z2.ZodOptional<z2.ZodNumber>;
1305
- contestOffWinsPercentage: z2.ZodOptional<z2.ZodNumber>;
1306
- contestDefOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1307
- contestDefLosses: z2.ZodOptional<z2.ZodNumber>;
1308
- contestDefLossPercentage: z2.ZodOptional<z2.ZodNumber>;
1309
- centreBounceAttendances: z2.ZodOptional<z2.ZodNumber>;
1310
- kickins: z2.ZodOptional<z2.ZodNumber>;
1311
- kickinsPlayon: z2.ZodOptional<z2.ZodNumber>;
1312
- ruckContests: z2.ZodOptional<z2.ZodNumber>;
1313
- scoreLaunches: z2.ZodOptional<z2.ZodNumber>;
1314
- }, z2.core.$loose>>;
1257
+ goals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1258
+ behinds: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1259
+ kicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1260
+ handballs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1261
+ disposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1262
+ marks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1263
+ bounces: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1264
+ tackles: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1265
+ contestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1266
+ uncontestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1267
+ totalPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1268
+ inside50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1269
+ marksInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1270
+ contestedMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1271
+ hitouts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1272
+ onePercenters: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1273
+ disposalEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1274
+ clangers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1275
+ freesFor: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1276
+ freesAgainst: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1277
+ dreamTeamPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1278
+ clearances: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1279
+ centreClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1280
+ stoppageClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1281
+ totalClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1282
+ }, z2.core.$loose>>>;
1283
+ rebound50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1284
+ goalAssists: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1285
+ goalAccuracy: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1286
+ turnovers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1287
+ intercepts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1288
+ tacklesInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1289
+ shotsAtGoal: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1290
+ metresGained: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1291
+ scoreInvolvements: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1292
+ ratingPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1293
+ extendedStats: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1294
+ effectiveDisposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1295
+ effectiveKicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1296
+ kickEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1297
+ kickToHandballRatio: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1298
+ pressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1299
+ defHalfPressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1300
+ spoils: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1301
+ hitoutsToAdvantage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1302
+ hitoutWinPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1303
+ hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1304
+ groundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1305
+ f50GroundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1306
+ interceptMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1307
+ marksOnLead: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1308
+ contestedPossessionRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1309
+ contestOffOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1310
+ contestOffWins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1311
+ contestOffWinsPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1312
+ contestDefOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1313
+ contestDefLosses: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1314
+ contestDefLossPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1315
+ centreBounceAttendances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1316
+ kickins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1317
+ kickinsPlayon: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1318
+ ruckContests: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1319
+ scoreLaunches: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1320
+ }, z2.core.$loose>>>;
1315
1321
  }, z2.core.$loose>;
1316
- timeOnGroundPercentage: z2.ZodOptional<z2.ZodNumber>;
1322
+ timeOnGroundPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1317
1323
  }, z2.core.$loose>;
1318
1324
  }, z2.core.$loose>;
1319
1325
  /** Schema for the player stats response. */
@@ -1337,72 +1343,72 @@ declare const PlayerStatsListSchema: z2.ZodObject<{
1337
1343
  teamId: z2.ZodString;
1338
1344
  playerStats: z2.ZodObject<{
1339
1345
  stats: z2.ZodObject<{
1340
- goals: z2.ZodOptional<z2.ZodNumber>;
1341
- behinds: z2.ZodOptional<z2.ZodNumber>;
1342
- kicks: z2.ZodOptional<z2.ZodNumber>;
1343
- handballs: z2.ZodOptional<z2.ZodNumber>;
1344
- disposals: z2.ZodOptional<z2.ZodNumber>;
1345
- marks: z2.ZodOptional<z2.ZodNumber>;
1346
- bounces: z2.ZodOptional<z2.ZodNumber>;
1347
- tackles: z2.ZodOptional<z2.ZodNumber>;
1348
- contestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1349
- uncontestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1350
- totalPossessions: z2.ZodOptional<z2.ZodNumber>;
1351
- inside50s: z2.ZodOptional<z2.ZodNumber>;
1352
- marksInside50: z2.ZodOptional<z2.ZodNumber>;
1353
- contestedMarks: z2.ZodOptional<z2.ZodNumber>;
1354
- hitouts: z2.ZodOptional<z2.ZodNumber>;
1355
- onePercenters: z2.ZodOptional<z2.ZodNumber>;
1356
- disposalEfficiency: z2.ZodOptional<z2.ZodNumber>;
1357
- clangers: z2.ZodOptional<z2.ZodNumber>;
1358
- freesFor: z2.ZodOptional<z2.ZodNumber>;
1359
- freesAgainst: z2.ZodOptional<z2.ZodNumber>;
1360
- dreamTeamPoints: z2.ZodOptional<z2.ZodNumber>;
1361
- clearances: z2.ZodOptional<z2.ZodObject<{
1362
- centreClearances: z2.ZodOptional<z2.ZodNumber>;
1363
- stoppageClearances: z2.ZodOptional<z2.ZodNumber>;
1364
- totalClearances: z2.ZodOptional<z2.ZodNumber>;
1365
- }, z2.core.$loose>>;
1366
- rebound50s: z2.ZodOptional<z2.ZodNumber>;
1367
- goalAssists: z2.ZodOptional<z2.ZodNumber>;
1368
- goalAccuracy: z2.ZodOptional<z2.ZodNumber>;
1369
- turnovers: z2.ZodOptional<z2.ZodNumber>;
1370
- intercepts: z2.ZodOptional<z2.ZodNumber>;
1371
- tacklesInside50: z2.ZodOptional<z2.ZodNumber>;
1372
- shotsAtGoal: z2.ZodOptional<z2.ZodNumber>;
1373
- metresGained: z2.ZodOptional<z2.ZodNumber>;
1374
- scoreInvolvements: z2.ZodOptional<z2.ZodNumber>;
1375
- ratingPoints: z2.ZodOptional<z2.ZodNumber>;
1376
- extendedStats: z2.ZodOptional<z2.ZodObject<{
1377
- effectiveDisposals: z2.ZodOptional<z2.ZodNumber>;
1378
- effectiveKicks: z2.ZodOptional<z2.ZodNumber>;
1379
- kickEfficiency: z2.ZodOptional<z2.ZodNumber>;
1380
- kickToHandballRatio: z2.ZodOptional<z2.ZodNumber>;
1381
- pressureActs: z2.ZodOptional<z2.ZodNumber>;
1382
- defHalfPressureActs: z2.ZodOptional<z2.ZodNumber>;
1383
- spoils: z2.ZodOptional<z2.ZodNumber>;
1384
- hitoutsToAdvantage: z2.ZodOptional<z2.ZodNumber>;
1385
- hitoutWinPercentage: z2.ZodOptional<z2.ZodNumber>;
1386
- hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNumber>;
1387
- groundBallGets: z2.ZodOptional<z2.ZodNumber>;
1388
- f50GroundBallGets: z2.ZodOptional<z2.ZodNumber>;
1389
- interceptMarks: z2.ZodOptional<z2.ZodNumber>;
1390
- marksOnLead: z2.ZodOptional<z2.ZodNumber>;
1391
- contestedPossessionRate: z2.ZodOptional<z2.ZodNumber>;
1392
- contestOffOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1393
- contestOffWins: z2.ZodOptional<z2.ZodNumber>;
1394
- contestOffWinsPercentage: z2.ZodOptional<z2.ZodNumber>;
1395
- contestDefOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1396
- contestDefLosses: z2.ZodOptional<z2.ZodNumber>;
1397
- contestDefLossPercentage: z2.ZodOptional<z2.ZodNumber>;
1398
- centreBounceAttendances: z2.ZodOptional<z2.ZodNumber>;
1399
- kickins: z2.ZodOptional<z2.ZodNumber>;
1400
- kickinsPlayon: z2.ZodOptional<z2.ZodNumber>;
1401
- ruckContests: z2.ZodOptional<z2.ZodNumber>;
1402
- scoreLaunches: z2.ZodOptional<z2.ZodNumber>;
1403
- }, z2.core.$loose>>;
1346
+ goals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1347
+ behinds: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1348
+ kicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1349
+ handballs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1350
+ disposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1351
+ marks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1352
+ bounces: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1353
+ tackles: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1354
+ contestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1355
+ uncontestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1356
+ totalPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1357
+ inside50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1358
+ marksInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1359
+ contestedMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1360
+ hitouts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1361
+ onePercenters: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1362
+ disposalEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1363
+ clangers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1364
+ freesFor: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1365
+ freesAgainst: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1366
+ dreamTeamPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1367
+ clearances: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1368
+ centreClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1369
+ stoppageClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1370
+ totalClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1371
+ }, z2.core.$loose>>>;
1372
+ rebound50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1373
+ goalAssists: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1374
+ goalAccuracy: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1375
+ turnovers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1376
+ intercepts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1377
+ tacklesInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1378
+ shotsAtGoal: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1379
+ metresGained: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1380
+ scoreInvolvements: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1381
+ ratingPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1382
+ extendedStats: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1383
+ effectiveDisposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1384
+ effectiveKicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1385
+ kickEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1386
+ kickToHandballRatio: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1387
+ pressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1388
+ defHalfPressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1389
+ spoils: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1390
+ hitoutsToAdvantage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1391
+ hitoutWinPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1392
+ hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1393
+ groundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1394
+ f50GroundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1395
+ interceptMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1396
+ marksOnLead: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1397
+ contestedPossessionRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1398
+ contestOffOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1399
+ contestOffWins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1400
+ contestOffWinsPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1401
+ contestDefOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1402
+ contestDefLosses: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1403
+ contestDefLossPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1404
+ centreBounceAttendances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1405
+ kickins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1406
+ kickinsPlayon: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1407
+ ruckContests: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1408
+ scoreLaunches: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1409
+ }, z2.core.$loose>>>;
1404
1410
  }, z2.core.$loose>;
1405
- timeOnGroundPercentage: z2.ZodOptional<z2.ZodNumber>;
1411
+ timeOnGroundPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1406
1412
  }, z2.core.$loose>;
1407
1413
  }, z2.core.$loose>>;
1408
1414
  awayTeamPlayerStats: z2.ZodArray<z2.ZodObject<{
@@ -1424,72 +1430,72 @@ declare const PlayerStatsListSchema: z2.ZodObject<{
1424
1430
  teamId: z2.ZodString;
1425
1431
  playerStats: z2.ZodObject<{
1426
1432
  stats: z2.ZodObject<{
1427
- goals: z2.ZodOptional<z2.ZodNumber>;
1428
- behinds: z2.ZodOptional<z2.ZodNumber>;
1429
- kicks: z2.ZodOptional<z2.ZodNumber>;
1430
- handballs: z2.ZodOptional<z2.ZodNumber>;
1431
- disposals: z2.ZodOptional<z2.ZodNumber>;
1432
- marks: z2.ZodOptional<z2.ZodNumber>;
1433
- bounces: z2.ZodOptional<z2.ZodNumber>;
1434
- tackles: z2.ZodOptional<z2.ZodNumber>;
1435
- contestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1436
- uncontestedPossessions: z2.ZodOptional<z2.ZodNumber>;
1437
- totalPossessions: z2.ZodOptional<z2.ZodNumber>;
1438
- inside50s: z2.ZodOptional<z2.ZodNumber>;
1439
- marksInside50: z2.ZodOptional<z2.ZodNumber>;
1440
- contestedMarks: z2.ZodOptional<z2.ZodNumber>;
1441
- hitouts: z2.ZodOptional<z2.ZodNumber>;
1442
- onePercenters: z2.ZodOptional<z2.ZodNumber>;
1443
- disposalEfficiency: z2.ZodOptional<z2.ZodNumber>;
1444
- clangers: z2.ZodOptional<z2.ZodNumber>;
1445
- freesFor: z2.ZodOptional<z2.ZodNumber>;
1446
- freesAgainst: z2.ZodOptional<z2.ZodNumber>;
1447
- dreamTeamPoints: z2.ZodOptional<z2.ZodNumber>;
1448
- clearances: z2.ZodOptional<z2.ZodObject<{
1449
- centreClearances: z2.ZodOptional<z2.ZodNumber>;
1450
- stoppageClearances: z2.ZodOptional<z2.ZodNumber>;
1451
- totalClearances: z2.ZodOptional<z2.ZodNumber>;
1452
- }, z2.core.$loose>>;
1453
- rebound50s: z2.ZodOptional<z2.ZodNumber>;
1454
- goalAssists: z2.ZodOptional<z2.ZodNumber>;
1455
- goalAccuracy: z2.ZodOptional<z2.ZodNumber>;
1456
- turnovers: z2.ZodOptional<z2.ZodNumber>;
1457
- intercepts: z2.ZodOptional<z2.ZodNumber>;
1458
- tacklesInside50: z2.ZodOptional<z2.ZodNumber>;
1459
- shotsAtGoal: z2.ZodOptional<z2.ZodNumber>;
1460
- metresGained: z2.ZodOptional<z2.ZodNumber>;
1461
- scoreInvolvements: z2.ZodOptional<z2.ZodNumber>;
1462
- ratingPoints: z2.ZodOptional<z2.ZodNumber>;
1463
- extendedStats: z2.ZodOptional<z2.ZodObject<{
1464
- effectiveDisposals: z2.ZodOptional<z2.ZodNumber>;
1465
- effectiveKicks: z2.ZodOptional<z2.ZodNumber>;
1466
- kickEfficiency: z2.ZodOptional<z2.ZodNumber>;
1467
- kickToHandballRatio: z2.ZodOptional<z2.ZodNumber>;
1468
- pressureActs: z2.ZodOptional<z2.ZodNumber>;
1469
- defHalfPressureActs: z2.ZodOptional<z2.ZodNumber>;
1470
- spoils: z2.ZodOptional<z2.ZodNumber>;
1471
- hitoutsToAdvantage: z2.ZodOptional<z2.ZodNumber>;
1472
- hitoutWinPercentage: z2.ZodOptional<z2.ZodNumber>;
1473
- hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNumber>;
1474
- groundBallGets: z2.ZodOptional<z2.ZodNumber>;
1475
- f50GroundBallGets: z2.ZodOptional<z2.ZodNumber>;
1476
- interceptMarks: z2.ZodOptional<z2.ZodNumber>;
1477
- marksOnLead: z2.ZodOptional<z2.ZodNumber>;
1478
- contestedPossessionRate: z2.ZodOptional<z2.ZodNumber>;
1479
- contestOffOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1480
- contestOffWins: z2.ZodOptional<z2.ZodNumber>;
1481
- contestOffWinsPercentage: z2.ZodOptional<z2.ZodNumber>;
1482
- contestDefOneOnOnes: z2.ZodOptional<z2.ZodNumber>;
1483
- contestDefLosses: z2.ZodOptional<z2.ZodNumber>;
1484
- contestDefLossPercentage: z2.ZodOptional<z2.ZodNumber>;
1485
- centreBounceAttendances: z2.ZodOptional<z2.ZodNumber>;
1486
- kickins: z2.ZodOptional<z2.ZodNumber>;
1487
- kickinsPlayon: z2.ZodOptional<z2.ZodNumber>;
1488
- ruckContests: z2.ZodOptional<z2.ZodNumber>;
1489
- scoreLaunches: z2.ZodOptional<z2.ZodNumber>;
1490
- }, z2.core.$loose>>;
1433
+ goals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1434
+ behinds: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1435
+ kicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1436
+ handballs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1437
+ disposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1438
+ marks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1439
+ bounces: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1440
+ tackles: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1441
+ contestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1442
+ uncontestedPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1443
+ totalPossessions: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1444
+ inside50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1445
+ marksInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1446
+ contestedMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1447
+ hitouts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1448
+ onePercenters: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1449
+ disposalEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1450
+ clangers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1451
+ freesFor: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1452
+ freesAgainst: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1453
+ dreamTeamPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1454
+ clearances: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1455
+ centreClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1456
+ stoppageClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1457
+ totalClearances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1458
+ }, z2.core.$loose>>>;
1459
+ rebound50s: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1460
+ goalAssists: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1461
+ goalAccuracy: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1462
+ turnovers: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1463
+ intercepts: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1464
+ tacklesInside50: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1465
+ shotsAtGoal: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1466
+ metresGained: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1467
+ scoreInvolvements: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1468
+ ratingPoints: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1469
+ extendedStats: z2.ZodOptional<z2.ZodNullable<z2.ZodObject<{
1470
+ effectiveDisposals: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1471
+ effectiveKicks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1472
+ kickEfficiency: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1473
+ kickToHandballRatio: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1474
+ pressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1475
+ defHalfPressureActs: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1476
+ spoils: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1477
+ hitoutsToAdvantage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1478
+ hitoutWinPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1479
+ hitoutToAdvantageRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1480
+ groundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1481
+ f50GroundBallGets: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1482
+ interceptMarks: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1483
+ marksOnLead: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1484
+ contestedPossessionRate: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1485
+ contestOffOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1486
+ contestOffWins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1487
+ contestOffWinsPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1488
+ contestDefOneOnOnes: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1489
+ contestDefLosses: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1490
+ contestDefLossPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1491
+ centreBounceAttendances: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1492
+ kickins: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1493
+ kickinsPlayon: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1494
+ ruckContests: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1495
+ scoreLaunches: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1496
+ }, z2.core.$loose>>>;
1491
1497
  }, z2.core.$loose>;
1492
- timeOnGroundPercentage: z2.ZodOptional<z2.ZodNumber>;
1498
+ timeOnGroundPercentage: z2.ZodOptional<z2.ZodNullable<z2.ZodNumber>>;
1493
1499
  }, z2.core.$loose>;
1494
1500
  }, z2.core.$loose>>;
1495
1501
  }, z2.core.$loose>;
@@ -1771,13 +1777,18 @@ declare class AflApiClient {
1771
1777
  private readonly fetchFn;
1772
1778
  private readonly tokenUrl;
1773
1779
  private cachedToken;
1780
+ private pendingAuth;
1774
1781
  constructor(options?: AflApiClientOptions);
1775
1782
  /**
1776
1783
  * Authenticate with the WMCTok token endpoint and cache the token.
1777
1784
  *
1785
+ * Concurrent callers share the same in-flight request to avoid
1786
+ * redundant token fetches (thundering herd prevention).
1787
+ *
1778
1788
  * @returns The access token on success, or an error Result.
1779
1789
  */
1780
1790
  authenticate(): Promise<Result<string, AflApiError>>;
1791
+ private doAuthenticate;
1781
1792
  /**
1782
1793
  * Whether the cached token is still valid (not expired).
1783
1794
  */