@sports-sdk/rolling-insights
Version:
A package for interacting with the Rolling Insights DataFeeds API
716 lines (713 loc) • 29.3 kB
JavaScript
import { nullish, SportsSdkClient, League } from '@sports-sdk/core';
import axios from 'axios';
import { z } from 'zod';
// src/client.ts
var RollingInsightsClient = class extends SportsSdkClient {
rscToken;
leaguesMap = {
[League.EPL]: "EPL",
[League.MLB]: "MLB",
[League.NBA]: "NBA",
[League.NFL]: "NFL",
[League.NCAAF]: "NCAAFB",
[League.NHL]: "NHL",
[League.NCAAM]: "NCAABB"
};
/**
* Creates a Rolling Insights client.
* @param rscToken - The RSC token for authenticating API requests. If not provided, it will look for `DATA_FEEDS_RSC_TOKEN` in the environment variables.
* @throws Will throw an error if the RSC token is not provided or found in the environment variables.
*/
constructor(rscToken) {
const endpoint = "http://rest.datafeeds.rolling-insights.com/api/v1";
const session = axios.create({
baseURL: endpoint,
headers: {
"Content-Type": "application/json"
},
validateStatus: function(status) {
return status < 300 || status == 304;
}
});
super(endpoint, session);
const token = rscToken || process.env.DATA_FEEDS_RSC_TOKEN;
if (!token) {
throw new Error("RSC token is required. Provide it as a parameter or set the environment variable DATA_FEEDS_RSC_TOKEN.");
}
this.rscToken = token;
}
/**
* Sends a GET request to the specified URL with the provided parameters.
* @param url - The URL to send the request to.
* @param additionalParams - Additional query parameters for the request.
* @param league - The league to extract from the response.
* @returns The response data from the API or undefined if the API returns 304
* @throws Will throw an error if the request fails.
*/
async request(url, additionalParams = {}, league) {
const { team_id, player_id } = additionalParams;
if (team_id && player_id) {
throw new Error("Both team_id and player_id cannot be provided simultaneously.");
}
const params = { RSC_token: this.rscToken, ...additionalParams };
const response = await this.session.get(`${url}?${Date.now()}`, { params });
if (response.status === 200) {
return league ? response.data.data[this.leaguesMap[league]] : response.data.data;
}
if (response.status === 304) {
return void 0;
}
throw new Error(`Failed to get a valid response: status code ${response.status}, response body ${response.data}`);
}
/**
* Builds the API path with optional date and leagues parameters.
* @param basePath - The base path of the API endpoint.
* @param date - Optional date parameter.
* @param leagues - Optional array of leagues or a single league.
* @returns The constructed API path.
*/
buildApiPath(basePath, date, leagues) {
let apiPath = basePath;
if (date) apiPath += `/${date}`;
if (leagues) {
if (Array.isArray(leagues)) {
apiPath += `/${leagues.map((league) => this.leaguesMap[league]).join("-")}`;
} else {
apiPath += `/${this.leaguesMap[leagues]}`;
}
}
return apiPath;
}
/**
* Builds additional parameters for API requests.
* @param teamId - Optional team ID parameter.
* @param gameId - Optional game ID parameter.
* @param playerId - Optional player ID parameter.
* @returns The constructed additional parameters.
*/
buildAdditionalParams(teamId, gameId, playerId) {
const additionalParams = {};
if (teamId) additionalParams.team_id = teamId;
if (gameId) additionalParams.game_id = gameId;
if (playerId) additionalParams.player_id = playerId;
return additionalParams;
}
/**
* Fetches the season schedule data.
* @param params - Object containing optional date, league, and teamId parameters.
* @returns The season schedule data.
*/
async getSeasonSchedule({ date, league, teamId }) {
const apiPath = this.buildApiPath("/schedule-season", date, league);
const additionalParams = this.buildAdditionalParams(teamId);
return await this.request(apiPath, additionalParams, league);
}
/**
* Fetches the weekly schedule data.
* @param params - Object containing optional date, league, and teamId parameters.
* @returns The weekly schedule data.
* @refreshable
*/
async getWeeklySchedule({ date = "now", league, teamId }) {
const apiPath = this.buildApiPath("/schedule-week", date, league);
const additionalParams = this.buildAdditionalParams(teamId);
return await this.request(apiPath, additionalParams, league);
}
/**
* Fetches the daily schedule data.
* @param params - Object containing optional date, league, teamId, and gameId parameters.
* @returns The daily schedule data.
* @refreshable
*/
async getDailySchedule({ date = "now", league, teamId, gameId }) {
const apiPath = this.buildApiPath("/schedule", date, league);
const additionalParams = this.buildAdditionalParams(teamId, gameId);
return await this.request(apiPath, additionalParams, league);
}
/**
* Fetches live data.
* @param params - Object containing optional date, league, teamId, and gameId parameters.
* @returns The live data.
*/
async getLive({ date = "now", league, teamId, gameId }) {
const apiPath = this.buildApiPath("/live", date, league);
const additionalParams = this.buildAdditionalParams(teamId, gameId);
return this.request(apiPath, additionalParams, league);
}
/**
* Fetches team information.
* @param params - Object containing optional league, teamId, and fromAssets parameters.
* @returns The team information.
* @refreshable
*/
async getTeamInfo({ league, teamId }) {
const apiPath = this.buildApiPath("/team-info", void 0, league);
const additionalParams = this.buildAdditionalParams(teamId);
return this.request(apiPath, additionalParams, league);
}
/**
* Fetches team season statistics.
* @param params - Object containing optional date, league, and teamId parameters.
* @returns The team season statistics.
* @refreshable
*/
async getTeamStats({ date, league, teamId }) {
const apiPath = this.buildApiPath("/team-stats", date, league);
const additionalParams = this.buildAdditionalParams(teamId);
return this.request(apiPath, additionalParams, league);
}
/**
* Fetches player information.
* @param params - Object containing optional league, teamId, and fromAssets parameters.
* @returns The player information.
* @refreshable
*/
async getPlayerInfo({ league, teamId }) {
const apiPath = this.buildApiPath("/player-info", void 0, league);
const additionalParams = this.buildAdditionalParams(teamId);
return this.request(apiPath, additionalParams, league);
}
/**
* Fetches player statistics.
* @param params - Object containing optional date, league, teamId, and playerId parameters.
* @returns The player statistics.
* @refreshable
*/
async getPlayerStats({ date, league, teamId, playerId }) {
const apiPath = this.buildApiPath("/player-stats", date, league);
const additionalParams = this.buildAdditionalParams(teamId, void 0, playerId);
return this.request(apiPath, additionalParams, league);
}
/**
* Fetches player injuries.
* @param params - Object containing optional league and teamId parameters.
* @returns The player injuries.
*/
async getPlayerInjuries({ league, teamId }) {
const apiPath = this.buildApiPath("/injuries", void 0, league);
const additionalParams = this.buildAdditionalParams(teamId);
return this.request(apiPath, additionalParams, league);
}
/**
* Fetches the team depth chart.
* @param params - Object containing optional league and teamId parameters.
* @returns The team depth chart.
*/
async getTeamDepthChart({ league, teamId }) {
const apiPath = this.buildApiPath("/depth-charts", void 0, league);
const additionalParams = this.buildAdditionalParams(teamId);
return this.request(apiPath, additionalParams, league);
}
};
var MlbScheduleSchema = z.object({
away_team: z.string(),
home_team: z.string(),
away_team_ID: z.number(),
home_team_ID: z.number(),
game_ID: z.string(),
game_time: z.string(),
season_type: z.string(),
season: z.string(),
away_pitcher: z.object({ player_id: z.number().nullable(), player: z.string() }),
home_pitcher: z.object({ player_id: z.number().nullable(), player: z.string() }),
status: z.string(),
event_name: z.string().nullable(),
round: z.string().nullable(),
city: z.string().nullable(),
state: z.string().nullable(),
country: z.string().nullable(),
postal_code: z.string().nullable(),
dome: z.number().nullable(),
field: z.string().nullable(),
latitude: z.number().nullable(),
longitude: z.number().nullable(),
arena: z.string().nullable()
});
var MlbPlayerInfoSchema = z.object({
player_id: z.number(),
player: z.string(),
team: z.string(),
team_id: z.number(),
number: z.number(),
position: z.string(),
position_category: z.string(),
status: z.string(),
height: z.string(),
weight: z.number(),
age: z.string(),
bats: z.string(),
throws: z.string(),
college: z.string().nullable(),
all_star: z.string().nullable()
});
var MlbBattingStatsSchema = z.object({
H: z.number(),
R: z.number(),
"1B": z.number(),
"2B": z.number(),
"3B": z.number(),
AB: z.number(),
BB: z.number(),
CS: z.number(),
HR: z.number(),
PO: z.number(),
SB: z.number(),
SO: z.number(),
HBP: z.number(),
IBB: z.number(),
RBI: z.number(),
Outs: z.number()
});
var MlbPitchingStatsSchema = z.object({
H: z.number(),
K: z.number(),
L: z.number(),
R: z.number(),
S: z.number(),
W: z.number(),
"1B": z.number(),
"2B": z.number(),
"3B": z.number(),
BB: z.number(),
BK: z.number(),
BS: z.number(),
CS: z.number(),
ER: z.number(),
HR: z.number(),
IP: z.string(),
PO: z.number(),
SB: z.number(),
WP: z.number(),
HBP: z.number(),
HLD: z.number(),
IBB: z.number(),
ERA: z.string()
}).optional();
var MlbPlayerSeasonStatsSchema = z.object({
E: z.number(),
PO: z.number(),
batting: MlbBattingStatsSchema,
pitching: MlbPitchingStatsSchema,
games_played: z.number()
});
var MlbPlayerStatsSchema = z.object({
player_id: z.number(),
player: z.string(),
position: z.string(),
position_category: z.string(),
team: z.string(),
team_id: z.number(),
regular_season: MlbPlayerSeasonStatsSchema.nullable(),
postseason: MlbPlayerSeasonStatsSchema.nullable()
});
var MlbTeamSeasonStatsSchema = z.object({
E: z.number(),
H: z.number(),
R: z.number(),
"2B": z.number(),
"3B": z.number(),
AB: z.number(),
BB: z.number(),
CS: z.number(),
HR: z.number(),
SB: z.number(),
SO: z.number(),
RBI: z.number(),
wins: z.number(),
losses: z.number(),
games_played: z.number()
}).optional();
var MlbTeamStatsSchema = z.object({
team_id: z.number(),
team: z.string(),
regular_season: MlbTeamSeasonStatsSchema.nullable(),
postseason: MlbTeamSeasonStatsSchema.nullable()
});
var MlbTeamInfoSchema = z.object({
team_id: z.number(),
team: z.string(),
conf: z.string(),
abbrv: z.string().nullable(),
mascot: z.string().nullable(),
location: z.string().nullable(),
city: z.string().nullable(),
state: z.string().nullable(),
arena: z.string().nullable(),
country: z.string().nullable(),
latitude: z.number().nullable(),
longitude: z.number().nullable(),
field: z.string().nullable(),
postal_code: z.string().nullable(),
dome: z.number().nullable()
});
var NbaTeamSeasonStatsSchema = z.object({
wins: z.number(),
fouls: z.number(),
blocks: z.number(),
losses: z.number(),
points: z.number(),
steals: z.number(),
assists: z.number(),
turnovers: z.number(),
games_played: z.number(),
total_rebounds: z.number(),
two_points_made: z.number(),
field_goals_made: z.number(),
free_throws_made: z.number(),
three_points_made: z.number(),
defensive_rebounds: z.number(),
offensive_rebounds: z.number(),
two_point_percentage: z.number().optional(),
two_points_attempted: z.number(),
field_goals_attempted: z.number(),
free_throws_attempted: z.number(),
three_points_attempted: z.number()
});
var NbaTeamStatsSchema = z.object({
team_id: z.number(),
team: z.string(),
regular_season: NbaTeamSeasonStatsSchema,
postseason: NbaTeamSeasonStatsSchema.nullable()
});
var NbaPlayerSeasonStatsSchema = z.object({
fouls: z.number(),
blocks: z.number(),
points: z.number(),
steals: z.number(),
assists: z.number(),
minutes: z.number(),
turnovers: z.number(),
games_played: z.number(),
total_rebounds: z.number(),
two_points_made: z.number(),
field_goals_made: z.number(),
free_throws_made: z.number(),
three_points_made: z.number(),
defensive_rebounds: z.number(),
offensive_rebounds: z.number(),
two_point_percentage: z.number(),
two_points_attempted: z.number(),
field_goals_attempted: z.number(),
free_throws_attempted: z.number(),
three_points_attempted: z.number()
});
var NbaPlayerStatsSchema = z.object({
player_id: z.number(),
player: z.string(),
team: z.string(),
team_id: z.number(),
regular_season: NbaPlayerSeasonStatsSchema,
postseason: NbaPlayerSeasonStatsSchema.nullable()
});
var NbaPlayerInfoSchema = z.object({
player_id: z.number(),
player: z.string(),
team_id: z.number(),
team: z.string(),
number: z.number(),
status: z.string(),
position: z.string(),
position_category: z.string(),
height: z.string(),
weight: z.number(),
age: z.string(),
college: z.string()
});
var NbaTeamInfoSchema = z.object({
team_id: z.number(),
team: z.string(),
abbrv: z.string(),
arena: z.string(),
mascot: z.string(),
conf: z.string(),
location: z.string()
});
var NbaScheduleSchema = z.object({
away_team: z.string(),
home_team: z.string(),
away_team_ID: z.number(),
home_team_ID: z.number(),
game_ID: z.string(),
game_time: z.string(),
season_type: z.string(),
event_name: z.string().nullable(),
round: z.number().nullable(),
season: z.string(),
status: z.string(),
broadcast: z.string()
});
var NflPlayerInfoSchema = z.object({
player_id: z.number(),
player: z.string(),
team: z.string(),
team_id: z.number(),
number: z.number(),
status: z.string(),
position: z.string(),
position_category: z.string(),
height: z.string(),
weight: z.number(),
age: z.string(),
college: z.string(),
img: z.string().nullable(),
all_star: z.any()
});
var NflPlayerSeasonStatsSchema = nullish(z.object({
completions: z.number().describe("The number of times a player completes a Pass."),
DK_fantasy_points: z.number().describe("Total fantasy points scored by a NFL player based on data from DraftKings"),
DK_fantasy_points_per_game: z.number().describe("Average fantasy points per game for NFL players on DraftKings"),
extra_points_attempted: z.number().describe("The number of extra points attempted. An extra point occurs immediately after a touchdown during which the scoring team is allowed to attempt to score one point by kicking the ball through the uprights in the manner of a field goal."),
extra_points_made: z.number().describe("The number of extra points made. An extra point is awarded after a touchdown when the scoring team has the option to attempt to score an extra point by kicking the ball through the uprights."),
field_goals_attempted: z.number().describe("The number of field goals that a team has attempted, including both 2-pointers and 3-pointers."),
field_goals_long: z.number().describe("The longest field goal for the player."),
field_goals_made: z.number().describe("The number of field goals made by a team. This includes both 2 pointers and 3 pointers."),
fumbles: z.number().describe("The total number of fumbles by a player. A fumble is any act, other than a Pass - or kick, which results in a loss of player possession."),
fumbles_lost: z.number().describe("The number of fumbles lost by a player."),
fumbles_recoveries: z.number().describe("The number of times a team's defense has recovered a fumble. A fumble is when a player loses control of the ball."),
games_played: z.number().describe("The total number of games played by a NFL football player."),
inside_20: z.number().describe("Number of punts landed inside the opponents 20 yard line."),
interceptions: z.number().describe("The number of times a player intercepts a Pass. An interception is when a player catches a Pass - from the opposing team\u2019s offense."),
kick_return_long: z.number().describe("The longest kick return by a player. A return specialist or kick returner is a player on the special teams unit who specializes in returning kickoffs."),
kick_return_touchdowns: z.number().describe("The number of touchdowns a player returns from a kickoff. Return specialists or kick returners are members of the special teams unit who specialize in returning kickoffs."),
kick_return_yards: z.number().describe("The number of yards returned by a player from a kick. A return specialist or kick returner is a player on the special teams unit who specializes in returning kickoffs."),
kick_returns: z.number().describe("The number of times a player returned a kick. A return specialist or kick returner is a player on the special teams unit who specializes in returning kickoffs."),
passer_rating: z.number().describe("The passer rating for a player."),
passing_attempts: z.number().describe("The total number of passing attempts completed by a player."),
passing_interceptions: z.number().describe("The number of times a NFL player throws an interception. An interception is when a defensive player catches a forward Pass - thrown by the offense resulting in a change of possession."),
passing_touchdowns: z.number().describe("The number of times a player throws the ball for a successful touchdown, worth six points."),
passing_yards: z.number().describe("The number of yards gained by a NFL football player on completed passes."),
punt_return_long: z.number().describe("The longest punt return by a player. A return specialist or kick returner is a player on the special teams unit who specializes in returning punts."),
punt_return_touchdowns: z.number().describe("The number of punt returns that were returned for a touchdown."),
punt_return_yards: z.number().describe("The total number of yards returned from punts by the player."),
punt_returns: z.number().describe("The number of punt returns by a player. A punt is a kick performed by dropping the ball from the hands and then kicking the ball before it hits the ground"),
punting_yards: z.number().describe("The total number of punting yards from a player."),
punts: z.number().describe("The number of punts by a punter. A punt is a kick performed by dropping the ball from the hands and then kicking the ball before it hits the ground."),
punts_long: z.number().describe("The longest punt for the player."),
receiving_long: z.number().describe("The longest reception by a player."),
receiving_touchdowns: z.number().describe("The number of receiving touchdowns caught by a player."),
receiving_yards: z.number().describe("The total number of receiving yards by a player."),
receptions: z.number().describe("The number of receptions made by a player."),
rushing_attempts: z.number().describe("The number of rushing attempts by a player."),
rushing_long: z.number().describe("The longest rushing play from the player."),
rushing_touchdowns: z.number().describe("The number of rushing touchdowns from the player."),
rushing_yards: z.number().describe("The total number of yards gained by a player from rushing."),
sacks: z.number().describe("The number of sacks by a defensive player. A sack occurs when the quarterback (or another offensive player acting as a passer) is tackled behind the line of scrimmage before he can throw a forward pass, when the quarterback is tackled behind the line of scrimmage in the 'pocket' and his intent is unclear, or when a passer runs out of bounds behind the line of scrimmage due to defensive pressure."),
tackles: z.number().describe("The number of tackles made by a player."),
two_point_conversion_pass_attempts: z.number().describe("The number of times a player attempts to Pass - for a 2 point conversion. A two point conversion is an offensive play from the defense\u2019s two-yard line to try to earn two additional points after scoring a touchdown."),
two_point_conversion_pass_completions: z.number().describe("The number of times a player completes a Pass - for a 2 point conversion. A two point conversion occurs after scoring a touchdown and is a play run from the defense\u2019s two-yard line to try to earn two additional points. The team earns the points if a runner carries the ball across the goal line or catches the ball within the end zone."),
two_point_conversion_reception_succeeded: z.number().describe("The number of times a NFL Football player receives a Pass - for a two point conversion. A two point conversion occurs after scoring a touchdown. An offense can opt to run one play from the defense\u2019s two-yard line to try to earn two additional points. The team earns the points if a runner carries the ball across the goal line or catches the ball within the end zone, just like scoring a touchdown."),
two_point_conversion_rush_attempts: z.number().describe("The number of times a player attempts to Rush - for 2 points. A two point conversion occurs after scoring a touchdown in American Football."),
two_point_conversion_rush_succeeded: z.number().describe("The number of times a player succeeds in rushing for a 2 point conversion. A two point conversion occurs after scoring a touchdown and if a runner carries the ball across the goal line or catches the ball within the end zone, just like scoring a touchdown.")
}));
var NflPlayerStatsSchema = z.object({
player: z.string().describe("The full name of a NFL Football player"),
player_id: z.string().describe("Unique identifier for each NFL Football Player"),
postseason: NflPlayerSeasonStatsSchema.describe("Statistic representing a NFL player's performance in the postseason (playoff games)").nullable(),
regular_season: NflPlayerSeasonStatsSchema.describe("This field represents the regular season stats of a NFL Football Player.").nullable(),
team: z.string().describe("The team name of a NFL football player."),
team_id: z.string().describe("Unique identifier for the team in the NFL Football Player Stats database.")
});
var NflTeamSeasonStatsSchema = z.object({
ties: z.number().nullable(),
wins: z.number().nullable(),
sacks: z.number().nullable(),
losses: z.number().nullable(),
points: z.number().nullable(),
safeties: z.number().nullable(),
penalties: z.number().nullable(),
turnovers: z.number().nullable(),
first_downs: z.number().nullable(),
total_plays: z.number().nullable(),
total_yards: z.number().nullable(),
games_played: z.number().nullable(),
blocked_kicks: z.number().nullable(),
blocked_punts: z.number().nullable(),
kicks_blocked: z.number().nullable(),
passing_yards: z.number().nullable(),
penalty_yards: z.number().nullable(),
punts_blocked: z.number().nullable(),
rushing_yards: z.number().nullable(),
DK_fantasy_points: z.number().nullable(),
defense_touchdowns: z.number().nullable(),
defense_interceptions: z.number().nullable(),
kick_return_touchdowns: z.number().nullable(),
punt_return_touchdowns: z.number().nullable(),
blocked_kick_touchdowns: z.number().nullable(),
blocked_punt_touchdowns: z.number().nullable(),
interception_touchdowns: z.number().nullable(),
fumble_return_touchdowns: z.number().nullable(),
defense_fumble_recoveries: z.number().nullable(),
field_goal_return_touchdowns: z.number().nullable(),
two_point_conversion_returns: z.number().nullable(),
two_point_conversion_attempts: z.number().nullable(),
two_point_conversion_succeeded: z.number().nullable(),
points_against_defense_special_teams: z.number().nullable(),
DK_fantasy_points_per_game: z.number().nullable()
}).partial();
var NflTeamStatsSchema = z.object({
bye: z.union([z.number(), z.string()]).describe("The week in the NFL schedule that a team does not play a game."),
regular_season: NflTeamSeasonStatsSchema.describe("This field represents the regular season stats of a NFL Football Team."),
postseason: NflTeamSeasonStatsSchema.describe("Statistic representing a NFL player's performance in the postseason (playoff games)").nullable(),
team: z.string().describe("Team Name and Identifier for NFL Football Teams."),
team_id: z.number().describe("The team ID is a numerical identifier for a NFL Football team.")
});
var NflTeamInfoSchema = z.object({
team_id: z.number(),
team: z.string(),
abbrv: z.string(),
mascot: z.string(),
conf: z.string(),
location: z.string(),
img: z.string(),
city: z.string(),
state: z.string(),
arena: z.string(),
country: z.string(),
latitude: z.number(),
longitude: z.number(),
field: z.string(),
postal_code: z.string(),
dome: z.number()
});
var NflScheduleSchema = z.object({
away_team: z.string(),
home_team: z.string(),
away_team_ID: z.number(),
home_team_ID: z.number(),
game_ID: z.string(),
game_time: z.string(),
season_type: z.string(),
event_name: z.string().nullable(),
round: z.number().nullable(),
season: z.string(),
week: z.number(),
status: z.string(),
city: z.string(),
state: z.string(),
arena: z.string(),
country: z.string(),
latitude: z.number(),
longitude: z.number(),
field: z.string(),
postal_code: z.string(),
dome: z.number()
});
var NhlScheduleSchema = z.object({
away_team: z.string(),
home_team: z.string(),
away_team_ID: z.number(),
home_team_ID: z.number(),
game_ID: z.string(),
game_time: z.string(),
season_type: z.string(),
event_name: z.string().nullable(),
round: z.number().nullable(),
season: z.string(),
status: z.string()
});
var NhlPlayerInfoSchema = z.object({
player_id: z.number(),
player: z.string(),
team_id: z.number(),
team: z.string(),
number: z.number(),
status: z.string(),
position: z.string(),
position_category: z.string(),
height: z.string(),
weight: z.number(),
age: z.string()
});
var NhlTeamInfoSchema = z.object({
team_id: z.number(),
team: z.string(),
abbrv: z.string(),
arena: z.string(),
mascot: z.string(),
conf: z.string(),
location: z.string()
});
var NhlPlayerSeasonStatsSchema = z.object({
hits: z.number(),
goals: z.number(),
blocks: z.number(),
assists: z.number(),
giveaways: z.number(),
takeaways: z.number(),
plus_minus: z.number(),
time_on_ice: z.number(),
faceoffs_won: z.number(),
games_played: z.number(),
faceoffs_lost: z.number(),
shots_on_goal: z.number(),
shootout_goals: z.number(),
penalty_minutes: z.number(),
power_play_goals: z.number(),
power_play_assists: z.number()
});
var NhlPlayerStatsSchema = z.object({
player_id: z.number(),
player: z.string(),
team: z.string(),
team_id: z.number(),
regular_season: NhlPlayerSeasonStatsSchema,
postseason: NhlPlayerSeasonStatsSchema.nullable()
});
var NhlTeamSeasonStatsSchema = z.object({
hits: z.number(),
wins: z.number(),
goals: z.number(),
saves: z.number(),
blocks: z.number(),
losses: z.number(),
assists: z.number(),
power_plays: z.number(),
faceoffs_won: z.number(),
games_played: z.number(),
faceoffs_lost: z.number(),
shots_on_goal: z.number(),
overtime_losses: z.number(),
penalty_minutes: z.number(),
power_plays_converted: z.number(),
short_handed_goals_scored: z.number(),
short_handed_goals_allowed: z.number()
}).partial();
var NhlTeamStatsSchema = z.object({
team_id: z.number(),
team: z.string(),
regular_season: NhlTeamSeasonStatsSchema,
postseason: NhlTeamSeasonStatsSchema.nullable()
});
var NcaafPlayerInfoSchema = z.object({
player_id: z.number(),
player: z.string(),
team: z.string(),
team_id: z.number(),
number: z.number(),
status: z.string(),
position: z.string(),
position_category: z.string(),
height: z.string(),
weight: z.string(),
class: z.string()
});
var NcaafTeamInfoSchema = z.object({
team_id: z.number(),
team: z.string(),
abbrv: z.string().nullable(),
mascot: z.string().nullable(),
rank: z.null().nullable(),
week: z.number().nullable(),
conf_ID: z.number().nullable(),
conf: z.string().nullable(),
city: z.string().nullable(),
state: z.string().nullable(),
arena: z.string().nullable(),
country: z.string().nullable(),
latitude: z.number().nullable(),
longitude: z.number().nullable(),
field: z.string().nullable(),
postal_code: z.string().nullable(),
dome: z.number().nullable()
});
export { MlbPlayerInfoSchema, MlbPlayerStatsSchema, MlbScheduleSchema, MlbTeamInfoSchema, MlbTeamStatsSchema, NbaPlayerInfoSchema, NbaPlayerStatsSchema, NbaScheduleSchema, NbaTeamInfoSchema, NbaTeamStatsSchema, NcaafPlayerInfoSchema, NcaafTeamInfoSchema, NflPlayerInfoSchema, NflPlayerStatsSchema, NflScheduleSchema, NflTeamInfoSchema, NflTeamStatsSchema, NhlPlayerInfoSchema, NhlPlayerStatsSchema, NhlScheduleSchema, NhlTeamInfoSchema, NhlTeamStatsSchema, RollingInsightsClient };