@sports-sdk/rotowire
Version:
A package for interacting with the RotoWire API
901 lines (893 loc) • 27.3 kB
JavaScript
'use strict';
var core = require('@sports-sdk/core');
var zod = require('zod');
// src/client.ts
var RotowireClient = class _RotowireClient extends core.SportsSdkClient {
/**
* Creates a Rotowire client.
* @param league - The league to get data from
* @param apiToken - The API token for authenticating API requests. If not provided, it will look for `ROTOWIRE_TOKEN` in the environment variables.
* @throws Will throw an error if the API token is not provided or found in the environment variables.
*/
constructor(league, apiToken) {
super(`https://api.rotowire.com${_RotowireClient.leagueMappings[league]}`);
this.league = league;
const token = apiToken || process.env.ROTOWIRE_TOKEN;
if (!token) {
throw new Error(
"Rotowire API token is required. Provide it as a parameter or set the environment variable ROTOWIRE_TOKEN."
);
}
this.apiToken = token;
}
apiToken;
static leagueMappings = {
[core.League.EPL]: "/Soccer/EPL",
[core.League.MLB]: "/Baseball/MLB",
[core.League.NBA]: "/Basketball/NBA",
[core.League.NCAAF]: "/Football/CFB",
[core.League.NFL]: "/Football/NFL",
[core.League.NHL]: "/Hockey/NHL"
};
/**
* Sends a GET request to the specified URL with the provided parameters.
* @param apiPath - The path to append to the url when sending the request.
* @param additionalParams - Additional query parameters for the request.
* @returns The response data from the API
* @throws Will throw an error if the request fails.
*/
async request({
apiPath,
additionalParams = {}
}) {
const params = { key: this.apiToken, format: "json", ...additionalParams };
const response = await this.session.get(apiPath, { params });
if (response.status !== 200) {
throw new Error(
`Failed to get a valid response: status code ${response.status}, response body ${response.data}`
);
}
return response.data;
}
/**
* Retrieves players for the selected league. The typing of the response is intentionally sparse as this endpoint is primarily useful for retrieving RW player ids.
* @supports ALL
*/
async getPlayers(letter) {
return this.request({
apiPath: "/Players.php",
additionalParams: letter ? {
letter
} : void 0
});
}
/**
* Retrieves news for the selected league.
* @supports ALL
*/
async getNews(params) {
return this.request({
apiPath: "/News.php",
additionalParams: params
});
}
/**
* Retrieves injuries for the selected league.
* @supports ALL
*/
async getInjuries() {
return this.request({
apiPath: "/Injuries.php"
});
}
/**
* Retrieves lineups for the selected league.
* @supports NBA, MLB, EPL
*/
async getLineups(params) {
if (!(this.league === core.League.NBA || this.league === core.League.MLB || this.league === core.League.EPL)) {
throw new Error("Only NBA, MLB, & EPL are supported!");
}
return this.request({
apiPath: `/${this.league === core.League.MLB ? "Expected" : ""}Lineups.php`,
additionalParams: params
});
}
};
var NewsParametersSchema = zod.z.object({
date: zod.z.string().optional(),
hours: zod.z.number().optional(),
max_priority: zod.z.union([
zod.z.literal(1),
zod.z.literal(2),
zod.z.literal(3),
zod.z.literal(4),
zod.z.literal(5)
]).optional(),
with_analysis: zod.z.boolean().optional()
});
var UpdatesSchema = zod.z.object({
Id: zod.z.number(),
DateTime: zod.z.string(),
Headline: zod.z.string(),
Notes: zod.z.string(),
Analysis: zod.z.string()
});
var InjurySideSchema = zod.z.union([
zod.z.literal("Not Specified"),
zod.z.literal("Left"),
zod.z.literal("Right")
]);
var BaseNewsResponseSchema = zod.z.object({
Date: zod.z.string(),
Updates: zod.z.array(UpdatesSchema)
});
zod.z.object({
Players: zod.z.array(zod.z.any())
});
// src/news/baseball.ts
NewsParametersSchema.extend({
team: zod.z.string().optional()
});
var MLBNewsPrioritySchema = zod.z.union([
zod.z.literal("1").describe("Biggest News"),
zod.z.literal("2").describe("Top Players"),
zod.z.literal("3").describe("Regular News"),
zod.z.literal("4").describe("Minor leagues"),
zod.z.literal("5").describe("Non-fantasy")
]);
var MLBTeamCodeSchema = zod.z.union([
zod.z.literal("ANA"),
zod.z.literal("ATL"),
zod.z.literal("AZ"),
zod.z.literal("BAL"),
zod.z.literal("BOS"),
zod.z.literal("CHI-N"),
zod.z.literal("CHI-A"),
zod.z.literal("CIN"),
zod.z.literal("CLE"),
zod.z.literal("COL"),
zod.z.literal("DET"),
zod.z.literal("HOU"),
zod.z.literal("KC"),
zod.z.literal("LA"),
zod.z.literal("MIA"),
zod.z.literal("MIL"),
zod.z.literal("MIN"),
zod.z.literal("NY-A"),
zod.z.literal("NY-N"),
zod.z.literal("OAK"),
zod.z.literal("PHI"),
zod.z.literal("PIT"),
zod.z.literal("SD"),
zod.z.literal("SF"),
zod.z.literal("SEA"),
zod.z.literal("STL"),
zod.z.literal("TB"),
zod.z.literal("TEX"),
zod.z.literal("TOR"),
zod.z.literal("WSH")
]);
var PositionSchema = zod.z.union([
zod.z.literal("C"),
zod.z.literal("1B"),
zod.z.literal("2B"),
zod.z.literal("SS"),
zod.z.literal("3B"),
zod.z.literal("OF"),
zod.z.literal("DH"),
zod.z.literal("P")
]);
var MLBInjuryStatusSchema = zod.z.union([
zod.z.literal("Day-To-Day"),
zod.z.literal("Out"),
zod.z.literal("7-Day IL"),
zod.z.literal("10-Day IL"),
zod.z.literal("15-Day IL"),
zod.z.literal("60-Day IL"),
zod.z.literal("Suspension"),
zod.z.literal("Paternity"),
zod.z.literal("Bereavement"),
zod.z.literal("COVID-19")
]);
var MLBInjuryTypeSchema = zod.z.union([
zod.z.literal("Abdomen"),
zod.z.literal("Abrasion"),
zod.z.literal("Academics"),
zod.z.literal("Achilles"),
zod.z.literal("Ankle"),
zod.z.literal("Arm"),
zod.z.literal("Back"),
zod.z.literal("Biceps"),
zod.z.literal("Bruise"),
zod.z.literal("Calf"),
zod.z.literal("Coach's Decision"),
zod.z.literal("Chest"),
zod.z.literal("Collarbone"),
zod.z.literal("Concussion"),
zod.z.literal("Contract Dispute"),
zod.z.literal("Ear"),
zod.z.literal("Elbow"),
zod.z.literal("Eye"),
zod.z.literal("Face"),
zod.z.literal("Finger"),
zod.z.literal("Foot"),
zod.z.literal("Forearm"),
zod.z.literal("Forehead"),
zod.z.literal("Fracture"),
zod.z.literal("Groin"),
zod.z.literal("Hamstring"),
zod.z.literal("Hand"),
zod.z.literal("Head"),
zod.z.literal("Heel"),
zod.z.literal("Hip"),
zod.z.literal("Illness"),
zod.z.literal("Infection"),
zod.z.literal("Impaired Vision"),
zod.z.literal("Jaw"),
zod.z.literal("Knee"),
zod.z.literal("Kneecap"),
zod.z.literal("Laceration"),
zod.z.literal("Leg"),
zod.z.literal("Lips"),
zod.z.literal("Lower Body"),
zod.z.literal("Lower Leg"),
zod.z.literal("Mouth"),
zod.z.literal("Neck"),
zod.z.literal("Nose"),
zod.z.literal("Not Injury Related"),
zod.z.literal("Oblique"),
zod.z.literal("Pectoral"),
zod.z.literal("Pelvis"),
zod.z.literal("Personal"),
zod.z.literal("Pinched Nerve"),
zod.z.literal("Quadriceps"),
zod.z.literal("Rest"),
zod.z.literal("Ribs"),
zod.z.literal("Shoulder"),
zod.z.literal("Side"),
zod.z.literal("Skull"),
zod.z.literal("Spasms"),
zod.z.literal("Sprain"),
zod.z.literal("Stinger"),
zod.z.literal("Strain"),
zod.z.literal("Suspension"),
zod.z.literal("Tear"),
zod.z.literal("Teeth"),
zod.z.literal("Thigh"),
zod.z.literal("Thumb"),
zod.z.literal("Temple"),
zod.z.literal("Toe"),
zod.z.literal("Triceps"),
zod.z.literal("Undisclosed"),
zod.z.literal("Upper Body"),
zod.z.literal("Upper Leg"),
zod.z.literal("Wrist"),
zod.z.literal("Opt Out")
]);
var MLBInjuryDetailSchema = zod.z.union([
zod.z.literal("Not Specified"),
zod.z.literal("Abrasion"),
zod.z.literal("Bone Spur"),
zod.z.literal("Bruise"),
zod.z.literal("Concussion"),
zod.z.literal("Cramps"),
zod.z.literal("Dislocated"),
zod.z.literal("Fracture"),
zod.z.literal("Impaired Vision"),
zod.z.literal("Infection"),
zod.z.literal("Inflammation"),
zod.z.literal("Jammed"),
zod.z.literal("Laceration"),
zod.z.literal("Mild"),
zod.z.literal("Moderate"),
zod.z.literal("Pinched Nerve"),
zod.z.literal("Plantar Fasciitis"),
zod.z.literal("Ruptured"),
zod.z.literal("Severe"),
zod.z.literal("Soreness"),
zod.z.literal("Spasms"),
zod.z.literal("Sprain"),
zod.z.literal("Stinger"),
zod.z.literal("Strain"),
zod.z.literal("Surgery"),
zod.z.literal("Tendinitis")
]);
var MLBInjurySchema = zod.z.object({
Status: MLBInjuryStatusSchema,
Type: MLBInjuryTypeSchema,
ReturnDate: zod.z.string(),
// Written in YYYY-MM-DD
Detail: MLBInjuryDetailSchema,
Side: InjurySideSchema
});
var MLBPlayerSchema = zod.z.object({
Id: zod.z.number(),
FirstName: zod.z.string(),
LastName: zod.z.string(),
Position: PositionSchema,
LeagueLevel: zod.z.union([
zod.z.literal("Majors"),
zod.z.literal("AAA"),
zod.z.literal("AA"),
zod.z.literal("A+"),
zod.z.literal("A"),
zod.z.literal("Rookie"),
zod.z.literal("NRI"),
zod.z.literal("Foreign"),
zod.z.literal("Free Agent")
]),
Link: zod.z.string(),
Injury: MLBInjurySchema
});
var MLBTeamSchema = zod.z.object({
Id: zod.z.number(),
Code: MLBTeamCodeSchema,
Name: zod.z.union([
zod.z.literal("Arizona Diamondbacks"),
zod.z.literal("Atlanta Braves"),
zod.z.literal("Baltimore Orioles"),
zod.z.literal("Boston Red Sox"),
zod.z.literal("Chicago White Sox"),
zod.z.literal("Chicago Cubs"),
zod.z.literal("Cincinnati Reds"),
zod.z.literal("Cleveland Indians"),
zod.z.literal("Colorado Rockies"),
zod.z.literal("Detroit Tigers"),
zod.z.literal("Houston Astros"),
zod.z.literal("Kansas City Royals"),
zod.z.literal("Los Angeles Angels"),
zod.z.literal("Los Angeles Dodgers"),
zod.z.literal("Miami Marlins"),
zod.z.literal("Milwaukee Brewers"),
zod.z.literal("Minnesota Twins"),
zod.z.literal("New York Yankees"),
zod.z.literal("New York Mets"),
zod.z.literal("Oakland Athletics"),
zod.z.literal("Philadelphia Phillies"),
zod.z.literal("Pittsburgh Pirates"),
zod.z.literal("San Diego Padres"),
zod.z.literal("San Francisco Giants"),
zod.z.literal("Seattle Mariners"),
zod.z.literal("St. Louis Cardinals"),
zod.z.literal("Tampa Bay Rays"),
zod.z.literal("Texas Rangers"),
zod.z.literal("Toronto Blue Jays"),
zod.z.literal("Washington Nationals")
]),
Nickname: zod.z.union([
zod.z.literal("Diamondbacks"),
zod.z.literal("Braves"),
zod.z.literal("Orioles"),
zod.z.literal("Red Sox"),
zod.z.literal("White Sox"),
zod.z.literal("Cubs"),
zod.z.literal("Reds"),
zod.z.literal("Indians"),
zod.z.literal("Rockies"),
zod.z.literal("Tigers"),
zod.z.literal("Astros"),
zod.z.literal("Royals"),
zod.z.literal("Angels"),
zod.z.literal("Dodgers"),
zod.z.literal("Marlins"),
zod.z.literal("Brewers"),
zod.z.literal("Twins"),
zod.z.literal("Yankees"),
zod.z.literal("Mets"),
zod.z.literal("Athletics"),
zod.z.literal("Phillies"),
zod.z.literal("Pirates"),
zod.z.literal("Padres"),
zod.z.literal("Giants"),
zod.z.literal("Mariners"),
zod.z.literal("Cardinals"),
zod.z.literal("Rays"),
zod.z.literal("Rangers"),
zod.z.literal("Blue Jays"),
zod.z.literal("Nationals")
])
});
var MLBUpdatesSchema = UpdatesSchema.extend({
Priority: MLBNewsPrioritySchema,
IsTransaction: zod.z.boolean(),
Player: MLBPlayerSchema,
Team: MLBTeamSchema
});
BaseNewsResponseSchema.extend({
Updates: zod.z.array(MLBUpdatesSchema)
});
zod.z.object({
Players: zod.z.array(MLBPlayerSchema.omit({ Link: true, LeagueLevel: true }).extend({
Team: MLBTeamSchema.omit({ Name: true, Nickname: true }),
OnDisabledList: zod.z.boolean().describe("1=Yes, 0= No")
}))
});
var LineupStatusSchema = zod.z.union([zod.z.literal("X"), zod.z.literal("C")]);
// src/lineups/baseball.ts
var MLBLineupsParametersSchema = zod.z.object({
date: zod.z.string().optional()
});
var MLBLineupPlayerSchema = MLBPlayerSchema.omit({ LeagueLevel: true, Injury: true }).extend({
BattingSpot: zod.z.number()
});
var MLBLineupTeamSchema = zod.z.object({
Id: zod.z.number(),
Code: MLBTeamCodeSchema,
IsHome: zod.z.boolean(),
LineupStatus: LineupStatusSchema,
Players: zod.z.array(MLBLineupPlayerSchema)
});
var MLBLineupGameSchema = zod.z.object({
DateTime: zod.z.string(),
Teams: zod.z.array(MLBLineupTeamSchema)
});
var MLBLineupsResponseSchema = zod.z.object({
Date: zod.z.string(),
Games: zod.z.array(MLBLineupGameSchema)
});
var NBANewsPrioritySchema = zod.z.union([
zod.z.literal("1").describe("Biggest News"),
zod.z.literal("2").describe("Substantive News"),
zod.z.literal("3").describe("Regular News"),
zod.z.literal("4").describe("G-league/summer league/foreign/exhibition"),
zod.z.literal("5").describe("Non-fantasy")
]);
var NBAInjuryStatusSchema = zod.z.union([
zod.z.literal("GTD"),
zod.z.literal("OUT"),
zod.z.literal("OFS")
]).describe("Injury status can be 'GTD', 'OUT', or 'OFS'");
var NBAInjuryTypeSchema = zod.z.union([
zod.z.literal("Abdomen"),
zod.z.literal("Abrasion"),
zod.z.literal("Academics"),
zod.z.literal("Achilles"),
zod.z.literal("Ankle"),
zod.z.literal("Arm"),
zod.z.literal("Back"),
zod.z.literal("Biceps"),
zod.z.literal("Bruise"),
zod.z.literal("Calf"),
zod.z.literal("Coach's Decision"),
zod.z.literal("Chest"),
zod.z.literal("Collarbone"),
zod.z.literal("Concussion"),
zod.z.literal("Contract Dispute"),
zod.z.literal("Ear"),
zod.z.literal("Elbow"),
zod.z.literal("Eye"),
zod.z.literal("Face"),
zod.z.literal("Finger"),
zod.z.literal("Foot"),
zod.z.literal("Forearm"),
zod.z.literal("Forehead"),
zod.z.literal("Fracture"),
zod.z.literal("Groin"),
zod.z.literal("Hamstring"),
zod.z.literal("Hand"),
zod.z.literal("Head"),
zod.z.literal("Heel"),
zod.z.literal("Hip"),
zod.z.literal("Illness"),
zod.z.literal("Infection"),
zod.z.literal("Impaired Vision"),
zod.z.literal("Jaw"),
zod.z.literal("Knee"),
zod.z.literal("Kneecap"),
zod.z.literal("Laceration"),
zod.z.literal("Leg"),
zod.z.literal("Lips"),
zod.z.literal("Lower Body"),
zod.z.literal("Lower Leg"),
zod.z.literal("Mouth"),
zod.z.literal("Neck"),
zod.z.literal("Nose"),
zod.z.literal("Not Injury Related"),
zod.z.literal("Oblique"),
zod.z.literal("Pectoral"),
zod.z.literal("Pelvis"),
zod.z.literal("Personal"),
zod.z.literal("Pinched Nerve"),
zod.z.literal("Quadriceps"),
zod.z.literal("Rest"),
zod.z.literal("Ribs"),
zod.z.literal("Shoulder"),
zod.z.literal("Side"),
zod.z.literal("Skull"),
zod.z.literal("Spasms"),
zod.z.literal("Sprain"),
zod.z.literal("Stinger"),
zod.z.literal("Strain"),
zod.z.literal("Suspension"),
zod.z.literal("Tear"),
zod.z.literal("Teeth"),
zod.z.literal("Thigh"),
zod.z.literal("Thumb"),
zod.z.literal("Temple"),
zod.z.literal("Toe"),
zod.z.literal("Triceps"),
zod.z.literal("Undisclosed"),
zod.z.literal("Upper Body"),
zod.z.literal("Upper Leg"),
zod.z.literal("Wrist")
]).describe("Types of injuries");
var NBAInjuryDetailSchema = zod.z.union([
zod.z.literal("None"),
zod.z.literal("Not Specified"),
zod.z.literal("Abrasion"),
zod.z.literal("Bone Spur"),
zod.z.literal("Bruise"),
zod.z.literal("Concussion"),
zod.z.literal("Cramps"),
zod.z.literal("Dislocated"),
zod.z.literal("Fracture"),
zod.z.literal("Impaired Vision"),
zod.z.literal("Infection"),
zod.z.literal("Inflammation"),
zod.z.literal("Jammed"),
zod.z.literal("Laceration"),
zod.z.literal("Mild"),
zod.z.literal("Moderate"),
zod.z.literal("Pinched Nerve"),
zod.z.literal("Plantar Fasciitis"),
zod.z.literal("Ruptured"),
zod.z.literal("Severe"),
zod.z.literal("Soreness"),
zod.z.literal("Spasms"),
zod.z.literal("Sprain"),
zod.z.literal("Stinger"),
zod.z.literal("Strain"),
zod.z.literal("Surgery"),
zod.z.literal("Tendinitis")
]).describe("Injury details");
var NBAInjuryLocationSchema = zod.z.union([
zod.z.literal("Head"),
zod.z.literal("Arm"),
zod.z.literal("Torso"),
zod.z.literal("Groin"),
zod.z.literal("Leg"),
zod.z.literal("Other"),
zod.z.literal("Not Specified")
]).describe("Location of the injury");
var InjurySideSchema2 = zod.z.union([
zod.z.literal("Not Specified"),
zod.z.literal("Left"),
zod.z.literal("Right")
]).describe("Side of the injury");
var NBAInjurySchema = zod.z.object({
Status: NBAInjuryStatusSchema,
Type: NBAInjuryTypeSchema,
Detail: NBAInjuryDetailSchema,
Location: NBAInjuryLocationSchema,
Side: InjurySideSchema2,
ReturnDate: zod.z.string().optional().describe("Our (RotoWire) best guess at the player's return to competition, typically their next game when in season. Expressed in YYYY-MM-DD.")
});
var NBATeamCodeSchema = zod.z.union([
zod.z.literal("FA"),
zod.z.literal("ATL"),
zod.z.literal("BOS"),
zod.z.literal("BRO"),
zod.z.literal("CHR"),
zod.z.literal("CHI"),
zod.z.literal("CLE"),
zod.z.literal("DAL"),
zod.z.literal("DEN"),
zod.z.literal("DET"),
zod.z.literal("GS"),
zod.z.literal("HOU"),
zod.z.literal("IND"),
zod.z.literal("LAC"),
zod.z.literal("LAL"),
zod.z.literal("MEM"),
zod.z.literal("MIA"),
zod.z.literal("MIL"),
zod.z.literal("MIN"),
zod.z.literal("NOR"),
zod.z.literal("NY"),
zod.z.literal("OKC"),
zod.z.literal("ORL"),
zod.z.literal("PHI"),
zod.z.literal("PHO"),
zod.z.literal("POR"),
zod.z.literal("SAC"),
zod.z.literal("SAN"),
zod.z.literal("TOR"),
zod.z.literal("UTA"),
zod.z.literal("WAS")
]).describe("NBA team codes");
var NBATeamSchema = zod.z.object({
Id: zod.z.number(),
Code: NBATeamCodeSchema,
Name: zod.z.union([
zod.z.literal("Atlanta Hawks"),
zod.z.literal("Boston Celtics"),
zod.z.literal("Brooklyn Nets"),
zod.z.literal("Charlotte Hornets"),
zod.z.literal("Chicago Bulls"),
zod.z.literal("Cleveland Cavaliers"),
zod.z.literal("Dallas Mavericks"),
zod.z.literal("Denver Nuggets"),
zod.z.literal("Golden State Warriors"),
zod.z.literal("Houston Rockets"),
zod.z.literal("Indiana Pacers"),
zod.z.literal("Los Angeles Clippers"),
zod.z.literal("Los Angeles Lakers"),
zod.z.literal("Memphis Grizzlies"),
zod.z.literal("Miami Heat"),
zod.z.literal("Milwaukee Bucks"),
zod.z.literal("Minnesota Timberwolves"),
zod.z.literal("New Orleans Pelicans"),
zod.z.literal("New York Knicks"),
zod.z.literal("Oklahoma City Thunder"),
zod.z.literal("Orlando Magic"),
zod.z.literal("Philadelphia 76ers"),
zod.z.literal("Phoenix Suns"),
zod.z.literal("Portland Trail Blazers"),
zod.z.literal("Sacramento Kings"),
zod.z.literal("San Antonio Spurs"),
zod.z.literal("Toronto Raptors"),
zod.z.literal("Utah Jazz"),
zod.z.literal("Washington Wizards"),
zod.z.literal(null)
]),
Nickname: zod.z.union([
zod.z.literal("Hawks"),
zod.z.literal("Celtics"),
zod.z.literal("Nets"),
zod.z.literal("Hornets"),
zod.z.literal("Bulls"),
zod.z.literal("Cavaliers"),
zod.z.literal("Mavericks"),
zod.z.literal("Nuggets"),
zod.z.literal("Pistons"),
zod.z.literal("Warriors"),
zod.z.literal("Rockets"),
zod.z.literal("Pacers"),
zod.z.literal("Clippers"),
zod.z.literal("Lakers"),
zod.z.literal("Grizzlies"),
zod.z.literal("Heat"),
zod.z.literal("Bucks"),
zod.z.literal("Timberwolves"),
zod.z.literal("Pelicans"),
zod.z.literal("Knicks"),
zod.z.literal("Thunder"),
zod.z.literal("Magic"),
zod.z.literal("76ers"),
zod.z.literal("Suns"),
zod.z.literal("Trail Blazers"),
zod.z.literal("Kings"),
zod.z.literal("Spurs"),
zod.z.literal("Raptors"),
zod.z.literal("Jazz"),
zod.z.literal("Wizards"),
zod.z.literal(null)
])
});
var NBAPlayerSchema = zod.z.object({
Id: zod.z.number(),
FirstName: zod.z.string(),
LastName: zod.z.string(),
Position: zod.z.union([zod.z.literal("G"), zod.z.literal("F"), zod.z.literal("C")]),
Link: zod.z.string(),
InjuryStatus: zod.z.union([zod.z.literal("GTD"), zod.z.literal("OUT"), zod.z.literal("OFS")])
});
var NBAPlayerInjurySchema = NBAPlayerSchema.extend({
Injury: NBAInjurySchema
});
var NBAUpdatesSchema = UpdatesSchema.extend({
Priority: NBANewsPrioritySchema,
Injury: NBAInjurySchema,
Player: NBAPlayerSchema,
Team: NBATeamSchema
});
BaseNewsResponseSchema.extend({
League: zod.z.literal("NBA"),
Updates: zod.z.array(NBAUpdatesSchema)
});
zod.z.object({
Players: zod.z.array(NBAPlayerInjurySchema.omit({ Link: true }))
});
// src/lineups/basketball.ts
var NBALineupsParametersSchema = zod.z.object({
date: zod.z.string().optional().describe("Optional date parameter"),
position: zod.z.string().optional().describe("Optional position parameter"),
team: zod.z.string().optional().describe("Optional team parameter")
});
var NBALineupPlayerSchema = NBAPlayerSchema.omit({ Link: true, InjuryStatus: true });
var NBALineupTeamSchema = zod.z.object({
Id: zod.z.number(),
Code: NBATeamCodeSchema,
Status: LineupStatusSchema,
IsHome: zod.z.boolean(),
Name: zod.z.string(),
Nickname: zod.z.string(),
Players: zod.z.array(NBALineupPlayerSchema),
Bench: zod.z.array(NBALineupPlayerSchema)
});
var NBALineupGameSchema = zod.z.object({
Id: zod.z.number(),
DateTime: zod.z.string(),
Teams: zod.z.array(NBALineupTeamSchema)
});
var NBALineupsResponseSchema = zod.z.object({
Date: zod.z.string(),
Games: zod.z.array(NBALineupGameSchema)
});
var SoccerNewsPrioritySchema = zod.z.union([
zod.z.literal("1").describe("Biggest News"),
zod.z.literal("2").describe("Top Players"),
zod.z.literal("3").describe("Regular News"),
zod.z.literal("4").describe("Depth/Backup Players"),
zod.z.literal("5").describe("Non-Fantasy")
]);
var PositionSchema2 = zod.z.union([
zod.z.literal("M"),
zod.z.literal("D"),
zod.z.literal("M/D"),
zod.z.literal("F"),
zod.z.literal("F/M"),
zod.z.literal("G")
]).describe("Player position");
var SoccerInjuryTypeSchema = zod.z.union([
zod.z.literal("None"),
zod.z.literal("Abdomen"),
zod.z.literal("Abrasion"),
zod.z.literal("Academics"),
zod.z.literal("Achilles"),
zod.z.literal("Ankle"),
zod.z.literal("Arm"),
zod.z.literal("Back"),
zod.z.literal("Biceps"),
zod.z.literal("Bruise"),
zod.z.literal("Calf"),
zod.z.literal("Coach's Decision"),
zod.z.literal("Chest"),
zod.z.literal("Collarbone"),
zod.z.literal("Concussion"),
zod.z.literal("Contract Dispute"),
zod.z.literal("Ear"),
zod.z.literal("Elbow"),
zod.z.literal("Eye"),
zod.z.literal("Face"),
zod.z.literal("Finger"),
zod.z.literal("Foot"),
zod.z.literal("Forearm"),
zod.z.literal("Forehead"),
zod.z.literal("Fracture"),
zod.z.literal("Groin"),
zod.z.literal("Hamstring"),
zod.z.literal("Hand"),
zod.z.literal("Head"),
zod.z.literal("Heel"),
zod.z.literal("Hip"),
zod.z.literal("Illness"),
zod.z.literal("Infection"),
zod.z.literal("Impaired Vision"),
zod.z.literal("Jaw"),
zod.z.literal("Knee"),
zod.z.literal("Kneecap"),
zod.z.literal("Laceration"),
zod.z.literal("Leg"),
zod.z.literal("Lips"),
zod.z.literal("Lower Body"),
zod.z.literal("Lower Leg"),
zod.z.literal("Mouth"),
zod.z.literal("Neck"),
zod.z.literal("Nose"),
zod.z.literal("Not Injury Related"),
zod.z.literal("Oblique"),
zod.z.literal("Orbital"),
zod.z.literal("Pectoral"),
zod.z.literal("Pelvis"),
zod.z.literal("Personal"),
zod.z.literal("Pinched Nerve"),
zod.z.literal("Quadriceps"),
zod.z.literal("Rest"),
zod.z.literal("Ribs"),
zod.z.literal("Shoulder"),
zod.z.literal("Side"),
zod.z.literal("Skull"),
zod.z.literal("Spasms"),
zod.z.literal("Sprain"),
zod.z.literal("Stinger"),
zod.z.literal("Suspension"),
zod.z.literal("Strain"),
zod.z.literal("Tear"),
zod.z.literal("Teeth"),
zod.z.literal("Thigh"),
zod.z.literal("Thumb"),
zod.z.literal("Temple"),
zod.z.literal("Toe"),
zod.z.literal("Triceps"),
zod.z.literal("Undisclosed"),
zod.z.literal("Upper Body"),
zod.z.literal("Upper Leg"),
zod.z.literal("Wrist")
]).describe("Injury types");
var SoccerInjuryStatusSchema = zod.z.union([
zod.z.literal("GTD"),
zod.z.literal("OUT"),
zod.z.literal("SUS")
]).describe("Injury status");
var SoccerInjurySchema = zod.z.object({
Type: SoccerInjuryTypeSchema,
Status: SoccerInjuryStatusSchema,
ReturnDate: zod.z.string().describe("Return date in YYYY-MM-DD format")
});
var SoccerPlayerSchema = zod.z.object({
Id: zod.z.number(),
FirstName: zod.z.string(),
LastName: zod.z.string(),
Position: PositionSchema2,
Link: zod.z.string()
});
var SoccerPlayerInjurySchema = SoccerPlayerSchema.omit({ Link: true }).extend({
Injury: SoccerInjurySchema
});
var SoccerTeamSchema = zod.z.object({
Id: zod.z.number(),
Name: zod.z.string()
});
var SoccerUpdatesSchema = UpdatesSchema.extend({
Priority: SoccerNewsPrioritySchema,
Player: SoccerPlayerSchema,
Team: SoccerTeamSchema
});
var SoccerNewsResponseSchema = BaseNewsResponseSchema.extend({
Updates: zod.z.array(SoccerUpdatesSchema)
});
var SoccerInjuriesResponseSchema = zod.z.object({
League: zod.z.string(),
Players: zod.z.array(SoccerPlayerInjurySchema)
});
SoccerNewsResponseSchema.extend({});
SoccerInjuriesResponseSchema.omit({ League: true }).extend({
League: zod.z.literal("EPL")
});
// src/lineups/soccer.ts
var SoccerLineupsParametersSchema = zod.z.object({
season: zod.z.number().optional().describe("Optional season parameter"),
week: zod.z.number().optional().describe("Optional week parameter")
});
var SoccerLineupPlayerSchema = zod.z.object({
Id: zod.z.number(),
FirstName: zod.z.string(),
LastName: zod.z.string(),
Position: PositionSchema2
});
var SoccerLineupTeamSchema = zod.z.object({
Name: zod.z.string(),
LineupStatus: LineupStatusSchema,
Players: zod.z.array(SoccerLineupPlayerSchema),
Id: zod.z.number(),
IsHome: zod.z.boolean()
});
var SoccerLineupGameSchema = zod.z.object({
Date: zod.z.string(),
Id: zod.z.number(),
Teams: zod.z.array(SoccerLineupTeamSchema)
});
var SoccerLineupsResponseSchema = zod.z.object({
Season: zod.z.number(),
Week: zod.z.number(),
Games: zod.z.array(SoccerLineupGameSchema)
});
exports.LineupStatusSchema = LineupStatusSchema;
exports.MLBLineupGameSchema = MLBLineupGameSchema;
exports.MLBLineupPlayerSchema = MLBLineupPlayerSchema;
exports.MLBLineupTeamSchema = MLBLineupTeamSchema;
exports.MLBLineupsParametersSchema = MLBLineupsParametersSchema;
exports.MLBLineupsResponseSchema = MLBLineupsResponseSchema;
exports.NBALineupGameSchema = NBALineupGameSchema;
exports.NBALineupPlayerSchema = NBALineupPlayerSchema;
exports.NBALineupTeamSchema = NBALineupTeamSchema;
exports.NBALineupsParametersSchema = NBALineupsParametersSchema;
exports.NBALineupsResponseSchema = NBALineupsResponseSchema;
exports.RotowireClient = RotowireClient;
exports.SoccerLineupGameSchema = SoccerLineupGameSchema;
exports.SoccerLineupPlayerSchema = SoccerLineupPlayerSchema;
exports.SoccerLineupTeamSchema = SoccerLineupTeamSchema;
exports.SoccerLineupsParametersSchema = SoccerLineupsParametersSchema;
exports.SoccerLineupsResponseSchema = SoccerLineupsResponseSchema;