cfbd 5.26.3 → 5.27.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.
Binary file
package/dist/sdk.gen.d.ts CHANGED
@@ -222,23 +222,25 @@ export declare const getReturningProduction: <ThrowOnError extends boolean = fal
222
222
  */
223
223
  export declare const getTransferPortal: <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetTransferPortalData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<GetTransferPortalResponse, unknown, ThrowOnError>;
224
224
  /**
225
- * Returns enriched pass attempts.
225
+ * Returns enriched pass attempts with stored PPA, success, and location-analysis eligibility.
226
226
  */
227
227
  export declare const getPassingPlays: <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetPassingPlaysData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<GetPassingPlaysResponse, unknown, ThrowOnError>;
228
228
  /**
229
- * Returns passer production by season.
229
+ * Returns passer production, advanced metrics, and pass-location breakdowns by season.
230
230
  */
231
231
  export declare const getPlayerPassingBySeason: <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<GetPlayerPassingBySeasonData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<GetPlayerPassingBySeasonResponse, unknown, ThrowOnError>;
232
232
  /**
233
- * Returns passer production by game.
233
+ * Returns passer production, advanced metrics, and pass-location breakdowns by game.
234
234
  */
235
235
  export declare const getPlayerPassingByGame: <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetPlayerPassingByGameData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<GetPlayerPassingByGameResponse, unknown, ThrowOnError>;
236
236
  /**
237
- * Returns team passing production by season.
237
+ * Returns team passing production, advanced metrics, and pass-location
238
+ * breakdowns by season for offense and defense.
238
239
  */
239
240
  export declare const getTeamPassingBySeason: <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<GetTeamPassingBySeasonData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<GetTeamPassingBySeasonResponse, unknown, ThrowOnError>;
240
241
  /**
241
- * Returns team passing production by game.
242
+ * Returns team passing production, advanced metrics, and pass-location
243
+ * breakdowns by game for offense and defense.
242
244
  */
243
245
  export declare const getTeamPassingByGame: <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetTeamPassingByGameData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<GetTeamPassingByGameResponse, unknown, ThrowOnError>;
244
246
  /**
package/dist/sdk.gen.js CHANGED
@@ -437,7 +437,7 @@ var getTransferPortal = function (options) {
437
437
  };
438
438
  exports.getTransferPortal = getTransferPortal;
439
439
  /**
440
- * Returns enriched pass attempts.
440
+ * Returns enriched pass attempts with stored PPA, success, and location-analysis eligibility.
441
441
  */
442
442
  var getPassingPlays = function (options) {
443
443
  var _a;
@@ -445,7 +445,7 @@ var getPassingPlays = function (options) {
445
445
  };
446
446
  exports.getPassingPlays = getPassingPlays;
447
447
  /**
448
- * Returns passer production by season.
448
+ * Returns passer production, advanced metrics, and pass-location breakdowns by season.
449
449
  */
450
450
  var getPlayerPassingBySeason = function (options) {
451
451
  var _a;
@@ -453,7 +453,7 @@ var getPlayerPassingBySeason = function (options) {
453
453
  };
454
454
  exports.getPlayerPassingBySeason = getPlayerPassingBySeason;
455
455
  /**
456
- * Returns passer production by game.
456
+ * Returns passer production, advanced metrics, and pass-location breakdowns by game.
457
457
  */
458
458
  var getPlayerPassingByGame = function (options) {
459
459
  var _a;
@@ -461,7 +461,8 @@ var getPlayerPassingByGame = function (options) {
461
461
  };
462
462
  exports.getPlayerPassingByGame = getPlayerPassingByGame;
463
463
  /**
464
- * Returns team passing production by season.
464
+ * Returns team passing production, advanced metrics, and pass-location
465
+ * breakdowns by season for offense and defense.
465
466
  */
466
467
  var getTeamPassingBySeason = function (options) {
467
468
  var _a;
@@ -469,7 +470,8 @@ var getTeamPassingBySeason = function (options) {
469
470
  };
470
471
  exports.getTeamPassingBySeason = getTeamPassingBySeason;
471
472
  /**
472
- * Returns team passing production by game.
473
+ * Returns team passing production, advanced metrics, and pass-location
474
+ * breakdowns by game for offense and defense.
473
475
  */
474
476
  var getTeamPassingByGame = function (options) {
475
477
  var _a;
@@ -902,6 +902,89 @@ export type MatchupGame = {
902
902
  export type MediaType = 'tv' | 'radio' | 'web' | 'ppv' | 'mobile';
903
903
  export type PassDepth = 'short' | 'deep';
904
904
  export type PassDirection = 'left' | 'middle' | 'right';
905
+ /**
906
+ * Production for analysis-eligible attempts in one location bucket.
907
+ */
908
+ export type PassingLocationProduction = {
909
+ attempts: number;
910
+ completions: number;
911
+ incompletions: number;
912
+ interceptions: number;
913
+ completionRate: (number) | null;
914
+ /**
915
+ * Number of attempts with non-null air yards, including zero-yard values.
916
+ */
917
+ airYardsAttemptsAvailable: number;
918
+ totalAirYards: (number) | null;
919
+ averageDepthOfTarget: (number) | null;
920
+ /**
921
+ * Number of attempts with non-null total yards, including zero-yard
922
+ * incompletions and interceptions.
923
+ */
924
+ totalYardsAttemptsAvailable: number;
925
+ totalYards: (number) | null;
926
+ /**
927
+ * Number of completed attempts with valid total yards and air yards to
928
+ * calculate yards after catch, including zero-yard values.
929
+ */
930
+ yardsAfterCatchAttemptsAvailable: number;
931
+ totalYardsAfterCatch: (number) | null;
932
+ averageYardsAfterCatch: (number) | null;
933
+ /**
934
+ * Successful eligible attempts / all eligible attempts; zero if empty.
935
+ */
936
+ successRate: number;
937
+ /**
938
+ * Average available PPA on eligible attempts; zero if unavailable.
939
+ */
940
+ ppa: number;
941
+ /**
942
+ * Sum of available PPA on eligible attempts; zero if unavailable.
943
+ */
944
+ totalPpa: number;
945
+ /**
946
+ * Average available PPA on successful eligible attempts; zero if unavailable.
947
+ */
948
+ explosiveness: number;
949
+ /**
950
+ * Eligible attempts with non-null PPA, including zero and negative values.
951
+ */
952
+ ppaAttemptsAvailable: number;
953
+ /**
954
+ * Eligible attempts with non-null success. Missing success remains in the
955
+ * success-rate denominator but does not count as successful.
956
+ */
957
+ successAttemptsAvailable: number;
958
+ /**
959
+ * Eligible attempts with stored success equal to true.
960
+ */
961
+ successfulAttempts: number;
962
+ /**
963
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
964
+ */
965
+ successfulPpaAttemptsAvailable: number;
966
+ /**
967
+ * Total yards / attempts with total yards available; null if unavailable.
968
+ */
969
+ yardsPerAttempt: (number) | null;
970
+ /**
971
+ * Total air yards / attempts with air yards available; null if unavailable.
972
+ * Equivalent to averageDepthOfTarget. Yardage averages use one decimal.
973
+ */
974
+ airYardsPerAttempt: (number) | null;
975
+ };
976
+ export type PassingLocations = {
977
+ 'short left': PassingLocationProduction;
978
+ 'short middle': PassingLocationProduction;
979
+ 'short right': PassingLocationProduction;
980
+ 'deep left': PassingLocationProduction;
981
+ 'deep middle': PassingLocationProduction;
982
+ 'deep right': PassingLocationProduction;
983
+ /**
984
+ * Eligible attempts without both recognized depth and direction.
985
+ */
986
+ unknown: PassingLocationProduction;
987
+ };
905
988
  export type PassingPlay = {
906
989
  gameId: number;
907
990
  playId: string;
@@ -938,11 +1021,27 @@ export type PassingPlay = {
938
1021
  isThrowaway: boolean;
939
1022
  isIntentionalGrounding: boolean;
940
1023
  parseStatus: PassParseStatus;
1024
+ /**
1025
+ * Stored offensive PPA, including zero and negative values.
1026
+ */
1027
+ ppa: (number) | null;
1028
+ /**
1029
+ * Stored success classification; null means unavailable.
1030
+ */
1031
+ success: (boolean) | null;
1032
+ /**
1033
+ * Excludes spikes, intentional grounding, and invalid parses. Throwaways,
1034
+ * partial parses, and attempts with missing location or air yards qualify.
1035
+ */
1036
+ locationAnalysisEligible: boolean;
941
1037
  };
942
1038
  export type PassingPlayClock = {
943
1039
  minutes: number;
944
1040
  seconds: number;
945
1041
  };
1042
+ /**
1043
+ * Defense reports opponent production allowed without inverting PPA signs.
1044
+ */
946
1045
  export type PassingProduction = {
947
1046
  attempts: number;
948
1047
  completions: number;
@@ -968,6 +1067,52 @@ export type PassingProduction = {
968
1067
  yardsAfterCatchAttemptsAvailable: number;
969
1068
  totalYardsAfterCatch: (number) | null;
970
1069
  averageYardsAfterCatch: (number) | null;
1070
+ /**
1071
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1072
+ */
1073
+ successRate: number;
1074
+ /**
1075
+ * Average available PPA on eligible attempts; zero if unavailable.
1076
+ */
1077
+ ppa: number;
1078
+ /**
1079
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1080
+ */
1081
+ totalPpa: number;
1082
+ /**
1083
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1084
+ */
1085
+ explosiveness: number;
1086
+ /**
1087
+ * Eligible attempts with non-null PPA, including zero and negative values.
1088
+ */
1089
+ ppaAttemptsAvailable: number;
1090
+ /**
1091
+ * Eligible attempts with non-null success. Missing success remains in the
1092
+ * success-rate denominator but does not count as successful.
1093
+ */
1094
+ successAttemptsAvailable: number;
1095
+ /**
1096
+ * Eligible attempts with stored success equal to true.
1097
+ */
1098
+ successfulAttempts: number;
1099
+ /**
1100
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1101
+ */
1102
+ successfulPpaAttemptsAvailable: number;
1103
+ /**
1104
+ * Attempts eligible for advanced metrics and location analysis. Existing
1105
+ * overall production includes ineligible attempts; location buckets do not.
1106
+ */
1107
+ locationEligibleAttempts: number;
1108
+ /**
1109
+ * Eligible attempts with both recognized source depth and direction.
1110
+ */
1111
+ locationAvailableAttempts: number;
1112
+ /**
1113
+ * All seven buckets are present, including empty buckets.
1114
+ */
1115
+ locations: PassingLocations;
971
1116
  };
972
1117
  export type PassLocation = 'short left' | 'short middle' | 'short right' | 'deep left' | 'deep middle' | 'deep right';
973
1118
  export type PassOutcome = 'completion' | 'incompletion' | 'interception';
@@ -1070,6 +1215,52 @@ export type PlayerPassingGame = {
1070
1215
  yardsAfterCatchAttemptsAvailable: number;
1071
1216
  totalYardsAfterCatch: (number) | null;
1072
1217
  averageYardsAfterCatch: (number) | null;
1218
+ /**
1219
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1220
+ */
1221
+ successRate: number;
1222
+ /**
1223
+ * Average available PPA on eligible attempts; zero if unavailable.
1224
+ */
1225
+ ppa: number;
1226
+ /**
1227
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1228
+ */
1229
+ totalPpa: number;
1230
+ /**
1231
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1232
+ */
1233
+ explosiveness: number;
1234
+ /**
1235
+ * Eligible attempts with non-null PPA, including zero and negative values.
1236
+ */
1237
+ ppaAttemptsAvailable: number;
1238
+ /**
1239
+ * Eligible attempts with non-null success. Missing success remains in the
1240
+ * success-rate denominator but does not count as successful.
1241
+ */
1242
+ successAttemptsAvailable: number;
1243
+ /**
1244
+ * Eligible attempts with stored success equal to true.
1245
+ */
1246
+ successfulAttempts: number;
1247
+ /**
1248
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1249
+ */
1250
+ successfulPpaAttemptsAvailable: number;
1251
+ /**
1252
+ * Attempts eligible for advanced metrics and location analysis. Existing
1253
+ * overall production includes ineligible attempts; location buckets do not.
1254
+ */
1255
+ locationEligibleAttempts: number;
1256
+ /**
1257
+ * Eligible attempts with both recognized source depth and direction.
1258
+ */
1259
+ locationAvailableAttempts: number;
1260
+ /**
1261
+ * All seven buckets are present, including empty buckets.
1262
+ */
1263
+ locations: PassingLocations;
1073
1264
  gameId: number;
1074
1265
  season: number;
1075
1266
  week: number;
@@ -1105,6 +1296,52 @@ export type PlayerPassingSeason = {
1105
1296
  yardsAfterCatchAttemptsAvailable: number;
1106
1297
  totalYardsAfterCatch: (number) | null;
1107
1298
  averageYardsAfterCatch: (number) | null;
1299
+ /**
1300
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1301
+ */
1302
+ successRate: number;
1303
+ /**
1304
+ * Average available PPA on eligible attempts; zero if unavailable.
1305
+ */
1306
+ ppa: number;
1307
+ /**
1308
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1309
+ */
1310
+ totalPpa: number;
1311
+ /**
1312
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1313
+ */
1314
+ explosiveness: number;
1315
+ /**
1316
+ * Eligible attempts with non-null PPA, including zero and negative values.
1317
+ */
1318
+ ppaAttemptsAvailable: number;
1319
+ /**
1320
+ * Eligible attempts with non-null success. Missing success remains in the
1321
+ * success-rate denominator but does not count as successful.
1322
+ */
1323
+ successAttemptsAvailable: number;
1324
+ /**
1325
+ * Eligible attempts with stored success equal to true.
1326
+ */
1327
+ successfulAttempts: number;
1328
+ /**
1329
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1330
+ */
1331
+ successfulPpaAttemptsAvailable: number;
1332
+ /**
1333
+ * Attempts eligible for advanced metrics and location analysis. Existing
1334
+ * overall production includes ineligible attempts; location buckets do not.
1335
+ */
1336
+ locationEligibleAttempts: number;
1337
+ /**
1338
+ * Eligible attempts with both recognized source depth and direction.
1339
+ */
1340
+ locationAvailableAttempts: number;
1341
+ /**
1342
+ * All seven buckets are present, including empty buckets.
1343
+ */
1344
+ locations: PassingLocations;
1108
1345
  season: number;
1109
1346
  playerId: string;
1110
1347
  player: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cfbd",
3
- "version": "5.26.3",
3
+ "version": "5.27.0",
4
4
  "description": "This API is in limited Beta for Patreon subscribers. It may have bugs and is subject to changes. API keys can be acquired from the CollegeFootballData.com website.",
5
5
  "repository": {
6
6
  "type": "git",
package/src/sdk.gen.ts CHANGED
@@ -526,7 +526,7 @@ export const getTransferPortal = <ThrowOnError extends boolean = false>(options:
526
526
  };
527
527
 
528
528
  /**
529
- * Returns enriched pass attempts.
529
+ * Returns enriched pass attempts with stored PPA, success, and location-analysis eligibility.
530
530
  */
531
531
  export const getPassingPlays = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetPassingPlaysData, ThrowOnError>) => {
532
532
  return (options?.client ?? client).get<GetPassingPlaysResponse, GetPassingPlaysError, ThrowOnError>({
@@ -536,7 +536,7 @@ export const getPassingPlays = <ThrowOnError extends boolean = false>(options: O
536
536
  };
537
537
 
538
538
  /**
539
- * Returns passer production by season.
539
+ * Returns passer production, advanced metrics, and pass-location breakdowns by season.
540
540
  */
541
541
  export const getPlayerPassingBySeason = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<GetPlayerPassingBySeasonData, ThrowOnError>) => {
542
542
  return (options?.client ?? client).get<GetPlayerPassingBySeasonResponse, GetPlayerPassingBySeasonError, ThrowOnError>({
@@ -546,7 +546,7 @@ export const getPlayerPassingBySeason = <ThrowOnError extends boolean = false>(o
546
546
  };
547
547
 
548
548
  /**
549
- * Returns passer production by game.
549
+ * Returns passer production, advanced metrics, and pass-location breakdowns by game.
550
550
  */
551
551
  export const getPlayerPassingByGame = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetPlayerPassingByGameData, ThrowOnError>) => {
552
552
  return (options?.client ?? client).get<GetPlayerPassingByGameResponse, GetPlayerPassingByGameError, ThrowOnError>({
@@ -556,7 +556,8 @@ export const getPlayerPassingByGame = <ThrowOnError extends boolean = false>(opt
556
556
  };
557
557
 
558
558
  /**
559
- * Returns team passing production by season.
559
+ * Returns team passing production, advanced metrics, and pass-location
560
+ * breakdowns by season for offense and defense.
560
561
  */
561
562
  export const getTeamPassingBySeason = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<GetTeamPassingBySeasonData, ThrowOnError>) => {
562
563
  return (options?.client ?? client).get<GetTeamPassingBySeasonResponse, GetTeamPassingBySeasonError, ThrowOnError>({
@@ -566,7 +567,8 @@ export const getTeamPassingBySeason = <ThrowOnError extends boolean = false>(opt
566
567
  };
567
568
 
568
569
  /**
569
- * Returns team passing production by game.
570
+ * Returns team passing production, advanced metrics, and pass-location
571
+ * breakdowns by game for offense and defense.
570
572
  */
571
573
  export const getTeamPassingByGame = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetTeamPassingByGameData, ThrowOnError>) => {
572
574
  return (options?.client ?? client).get<GetTeamPassingByGameResponse, GetTeamPassingByGameError, ThrowOnError>({
package/src/types.gen.ts CHANGED
@@ -974,6 +974,91 @@ export type PassDepth = 'short' | 'deep';
974
974
 
975
975
  export type PassDirection = 'left' | 'middle' | 'right';
976
976
 
977
+ /**
978
+ * Production for analysis-eligible attempts in one location bucket.
979
+ */
980
+ export type PassingLocationProduction = {
981
+ attempts: number;
982
+ completions: number;
983
+ incompletions: number;
984
+ interceptions: number;
985
+ completionRate: (number) | null;
986
+ /**
987
+ * Number of attempts with non-null air yards, including zero-yard values.
988
+ */
989
+ airYardsAttemptsAvailable: number;
990
+ totalAirYards: (number) | null;
991
+ averageDepthOfTarget: (number) | null;
992
+ /**
993
+ * Number of attempts with non-null total yards, including zero-yard
994
+ * incompletions and interceptions.
995
+ */
996
+ totalYardsAttemptsAvailable: number;
997
+ totalYards: (number) | null;
998
+ /**
999
+ * Number of completed attempts with valid total yards and air yards to
1000
+ * calculate yards after catch, including zero-yard values.
1001
+ */
1002
+ yardsAfterCatchAttemptsAvailable: number;
1003
+ totalYardsAfterCatch: (number) | null;
1004
+ averageYardsAfterCatch: (number) | null;
1005
+ /**
1006
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1007
+ */
1008
+ successRate: number;
1009
+ /**
1010
+ * Average available PPA on eligible attempts; zero if unavailable.
1011
+ */
1012
+ ppa: number;
1013
+ /**
1014
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1015
+ */
1016
+ totalPpa: number;
1017
+ /**
1018
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1019
+ */
1020
+ explosiveness: number;
1021
+ /**
1022
+ * Eligible attempts with non-null PPA, including zero and negative values.
1023
+ */
1024
+ ppaAttemptsAvailable: number;
1025
+ /**
1026
+ * Eligible attempts with non-null success. Missing success remains in the
1027
+ * success-rate denominator but does not count as successful.
1028
+ */
1029
+ successAttemptsAvailable: number;
1030
+ /**
1031
+ * Eligible attempts with stored success equal to true.
1032
+ */
1033
+ successfulAttempts: number;
1034
+ /**
1035
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1036
+ */
1037
+ successfulPpaAttemptsAvailable: number;
1038
+ /**
1039
+ * Total yards / attempts with total yards available; null if unavailable.
1040
+ */
1041
+ yardsPerAttempt: (number) | null;
1042
+ /**
1043
+ * Total air yards / attempts with air yards available; null if unavailable.
1044
+ * Equivalent to averageDepthOfTarget. Yardage averages use one decimal.
1045
+ */
1046
+ airYardsPerAttempt: (number) | null;
1047
+ };
1048
+
1049
+ export type PassingLocations = {
1050
+ 'short left': PassingLocationProduction;
1051
+ 'short middle': PassingLocationProduction;
1052
+ 'short right': PassingLocationProduction;
1053
+ 'deep left': PassingLocationProduction;
1054
+ 'deep middle': PassingLocationProduction;
1055
+ 'deep right': PassingLocationProduction;
1056
+ /**
1057
+ * Eligible attempts without both recognized depth and direction.
1058
+ */
1059
+ unknown: PassingLocationProduction;
1060
+ };
1061
+
977
1062
  export type PassingPlay = {
978
1063
  gameId: number;
979
1064
  playId: string;
@@ -1010,6 +1095,19 @@ export type PassingPlay = {
1010
1095
  isThrowaway: boolean;
1011
1096
  isIntentionalGrounding: boolean;
1012
1097
  parseStatus: PassParseStatus;
1098
+ /**
1099
+ * Stored offensive PPA, including zero and negative values.
1100
+ */
1101
+ ppa: (number) | null;
1102
+ /**
1103
+ * Stored success classification; null means unavailable.
1104
+ */
1105
+ success: (boolean) | null;
1106
+ /**
1107
+ * Excludes spikes, intentional grounding, and invalid parses. Throwaways,
1108
+ * partial parses, and attempts with missing location or air yards qualify.
1109
+ */
1110
+ locationAnalysisEligible: boolean;
1013
1111
  };
1014
1112
 
1015
1113
  export type PassingPlayClock = {
@@ -1017,6 +1115,9 @@ export type PassingPlayClock = {
1017
1115
  seconds: number;
1018
1116
  };
1019
1117
 
1118
+ /**
1119
+ * Defense reports opponent production allowed without inverting PPA signs.
1120
+ */
1020
1121
  export type PassingProduction = {
1021
1122
  attempts: number;
1022
1123
  completions: number;
@@ -1042,6 +1143,52 @@ export type PassingProduction = {
1042
1143
  yardsAfterCatchAttemptsAvailable: number;
1043
1144
  totalYardsAfterCatch: (number) | null;
1044
1145
  averageYardsAfterCatch: (number) | null;
1146
+ /**
1147
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1148
+ */
1149
+ successRate: number;
1150
+ /**
1151
+ * Average available PPA on eligible attempts; zero if unavailable.
1152
+ */
1153
+ ppa: number;
1154
+ /**
1155
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1156
+ */
1157
+ totalPpa: number;
1158
+ /**
1159
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1160
+ */
1161
+ explosiveness: number;
1162
+ /**
1163
+ * Eligible attempts with non-null PPA, including zero and negative values.
1164
+ */
1165
+ ppaAttemptsAvailable: number;
1166
+ /**
1167
+ * Eligible attempts with non-null success. Missing success remains in the
1168
+ * success-rate denominator but does not count as successful.
1169
+ */
1170
+ successAttemptsAvailable: number;
1171
+ /**
1172
+ * Eligible attempts with stored success equal to true.
1173
+ */
1174
+ successfulAttempts: number;
1175
+ /**
1176
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1177
+ */
1178
+ successfulPpaAttemptsAvailable: number;
1179
+ /**
1180
+ * Attempts eligible for advanced metrics and location analysis. Existing
1181
+ * overall production includes ineligible attempts; location buckets do not.
1182
+ */
1183
+ locationEligibleAttempts: number;
1184
+ /**
1185
+ * Eligible attempts with both recognized source depth and direction.
1186
+ */
1187
+ locationAvailableAttempts: number;
1188
+ /**
1189
+ * All seven buckets are present, including empty buckets.
1190
+ */
1191
+ locations: PassingLocations;
1045
1192
  };
1046
1193
 
1047
1194
  export type PassLocation = 'short left' | 'short middle' | 'short right' | 'deep left' | 'deep middle' | 'deep right';
@@ -1152,6 +1299,52 @@ export type PlayerPassingGame = {
1152
1299
  yardsAfterCatchAttemptsAvailable: number;
1153
1300
  totalYardsAfterCatch: (number) | null;
1154
1301
  averageYardsAfterCatch: (number) | null;
1302
+ /**
1303
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1304
+ */
1305
+ successRate: number;
1306
+ /**
1307
+ * Average available PPA on eligible attempts; zero if unavailable.
1308
+ */
1309
+ ppa: number;
1310
+ /**
1311
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1312
+ */
1313
+ totalPpa: number;
1314
+ /**
1315
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1316
+ */
1317
+ explosiveness: number;
1318
+ /**
1319
+ * Eligible attempts with non-null PPA, including zero and negative values.
1320
+ */
1321
+ ppaAttemptsAvailable: number;
1322
+ /**
1323
+ * Eligible attempts with non-null success. Missing success remains in the
1324
+ * success-rate denominator but does not count as successful.
1325
+ */
1326
+ successAttemptsAvailable: number;
1327
+ /**
1328
+ * Eligible attempts with stored success equal to true.
1329
+ */
1330
+ successfulAttempts: number;
1331
+ /**
1332
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1333
+ */
1334
+ successfulPpaAttemptsAvailable: number;
1335
+ /**
1336
+ * Attempts eligible for advanced metrics and location analysis. Existing
1337
+ * overall production includes ineligible attempts; location buckets do not.
1338
+ */
1339
+ locationEligibleAttempts: number;
1340
+ /**
1341
+ * Eligible attempts with both recognized source depth and direction.
1342
+ */
1343
+ locationAvailableAttempts: number;
1344
+ /**
1345
+ * All seven buckets are present, including empty buckets.
1346
+ */
1347
+ locations: PassingLocations;
1155
1348
  gameId: number;
1156
1349
  season: number;
1157
1350
  week: number;
@@ -1188,6 +1381,52 @@ export type PlayerPassingSeason = {
1188
1381
  yardsAfterCatchAttemptsAvailable: number;
1189
1382
  totalYardsAfterCatch: (number) | null;
1190
1383
  averageYardsAfterCatch: (number) | null;
1384
+ /**
1385
+ * Successful eligible attempts / all eligible attempts; zero if empty.
1386
+ */
1387
+ successRate: number;
1388
+ /**
1389
+ * Average available PPA on eligible attempts; zero if unavailable.
1390
+ */
1391
+ ppa: number;
1392
+ /**
1393
+ * Sum of available PPA on eligible attempts; zero if unavailable.
1394
+ */
1395
+ totalPpa: number;
1396
+ /**
1397
+ * Average available PPA on successful eligible attempts; zero if unavailable.
1398
+ */
1399
+ explosiveness: number;
1400
+ /**
1401
+ * Eligible attempts with non-null PPA, including zero and negative values.
1402
+ */
1403
+ ppaAttemptsAvailable: number;
1404
+ /**
1405
+ * Eligible attempts with non-null success. Missing success remains in the
1406
+ * success-rate denominator but does not count as successful.
1407
+ */
1408
+ successAttemptsAvailable: number;
1409
+ /**
1410
+ * Eligible attempts with stored success equal to true.
1411
+ */
1412
+ successfulAttempts: number;
1413
+ /**
1414
+ * Successful eligible attempts with non-null PPA; explosiveness denominator.
1415
+ */
1416
+ successfulPpaAttemptsAvailable: number;
1417
+ /**
1418
+ * Attempts eligible for advanced metrics and location analysis. Existing
1419
+ * overall production includes ineligible attempts; location buckets do not.
1420
+ */
1421
+ locationEligibleAttempts: number;
1422
+ /**
1423
+ * Eligible attempts with both recognized source depth and direction.
1424
+ */
1425
+ locationAvailableAttempts: number;
1426
+ /**
1427
+ * All seven buckets are present, including empty buckets.
1428
+ */
1429
+ locations: PassingLocations;
1191
1430
  season: number;
1192
1431
  playerId: string;
1193
1432
  player: string;
package/cfbd-5.26.3.tgz DELETED
Binary file