types

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action added in v0.1.0

type Action struct {
	ActionNumber            int      `json:"actionNumber"`
	ActionType              string   `json:"actionType"`
	AssistPersonID          int      `json:"assistPersonId,omitempty"`
	AssistPlayerNameInitial string   `json:"assistPlayerNameInitial,omitempty"`
	AssistTotal             int      `json:"assistTotal,omitempty"`
	BlockPersonID           int      `json:"blockPersonId,omitempty"`
	BlockPlayerName         string   `json:"blockPlayerName,omitempty"`
	Clock                   string   `json:"clock"`
	Description             string   `json:"description,omitempty"`
	Descriptor              string   `json:"descriptor,omitempty"`
	Edited                  string   `json:"edited,omitempty"`
	FoulDrawnPersonID       int      `json:"foulDrawnPersonId,omitempty"`
	FoulDrawnPlayerName     string   `json:"foulDrawnPlayerName,omitempty"`
	FoulPersonalTotal       int      `json:"foulPersonalTotal,omitempty"`
	FoulTechnicalTotal      int      `json:"foulTechnicalTotal,omitempty"`
	IsFieldGoal             int      `json:"isFieldGoal,omitempty"`
	JumpBallLostPersonID    int      `json:"jumpBallLostPersonId,omitempty"`
	JumpBallLostPlayerName  string   `json:"jumpBallLostPlayerName,omitempty"`
	JumpBallRecoveredName   string   `json:"jumpBallRecoveredName,omitempty"`
	JumpBallWonPersonID     int      `json:"jumpBallWonPersonId,omitempty"`
	JumpBallWonPlayerName   string   `json:"jumpBallWonPlayerName,omitempty"`
	OfficialID              int      `json:"officialId,omitempty"`
	OrderNumber             int      `json:"orderNumber,omitempty"`
	Period                  int      `json:"period"`
	PeriodType              string   `json:"periodType,omitempty"`
	PersonID                int      `json:"personId,omitempty"`
	PersonIdsFilter         []int    `json:"personIdsFilter,omitempty"`
	PlayerName              string   `json:"playerName,omitempty"`
	PlayerNameI             string   `json:"playerNameI,omitempty"`
	PointsTotal             int      `json:"pointsTotal,omitempty"`
	Possession              int      `json:"possession,omitempty"`
	Qualifiers              []string `json:"qualifiers,omitempty"`
	ReboundDefensiveTotal   int      `json:"reboundDefensiveTotal,omitempty"`
	ReboundOffensiveTotal   int      `json:"reboundOffensiveTotal,omitempty"`
	ReboundTotal            int      `json:"reboundTotal,omitempty"`
	ScoreAway               string   `json:"scoreAway,omitempty"`
	ScoreHome               string   `json:"scoreHome,omitempty"`
	ShotActionNumber        int      `json:"shotActionNumber,omitempty"`
	ShotDistance            float64  `json:"shotDistance,omitempty"`
	ShotResult              string   `json:"shotResult,omitempty"`
	Side                    string   `json:"side,omitempty"`
	StealPersonID           int      `json:"stealPersonId,omitempty"`
	StealPlayerName         string   `json:"stealPlayerName,omitempty"`
	SubType                 string   `json:"subType,omitempty"`
	TeamID                  int      `json:"teamId,omitempty"`
	TeamTricode             string   `json:"teamTricode,omitempty"`
	TimeActual              string   `json:"timeActual,omitempty"`
	TurnoverTotal           int      `json:"turnoverTotal,omitempty"`
	X                       float64  `json:"x,omitempty"`
	XLegacy                 int      `json:"xLegacy,omitempty"`
	Y                       float64  `json:"y,omitempty"`
	YLegacy                 int      `json:"yLegacy,omitempty"`
}

type Arena added in v0.1.0

type Arena struct {
	ArenaId       int    `json:"arenaId"`
	ArenaName     string `json:"arenaName"`
	ArenaCity     string `json:"arenaCity"`
	ArenaState    string `json:"arenaState"`
	ArenaCountry  string `json:"arenaCountry"`
	ArenaTimezone string `json:"arenaTimezone"`
}

type BoxScoreParams added in v0.1.0

type BoxScoreParams struct {
	// !required
	GameID string
}

type Broadcaster added in v0.2.0

type Broadcaster struct {
	BroadcasterScope        string `json:"broadcasterScope"`
	BroadcasterMedia        string `json:"broadcasterMedia"`
	BroadcasterID           int    `json:"broadcasterId"`
	BroadcasterDisplay      string `json:"broadcasterDisplay"`
	BroadcasterAbbreviation string `json:"broadcasterAbbreviation"`
	BroadcasterDescription  string `json:"broadcasterDescription"`
	TapeDelayComments       string `json:"tapeDelayComments"`
	BroadcasterVideoLink    string `json:"broadcasterVideoLink"`
	BroadcasterTeamID       int    `json:"broadcasterTeamId"`
	BroadcasterRanking      *int   `json:"broadcasterRanking"`
	LocalizationRegion      string `json:"localizationRegion"`
}

type Broadcasters added in v0.2.0

type Broadcasters struct {
	NationalBroadcasters      []Broadcaster `json:"nationalBroadcasters"`
	NationalRadioBroadcasters []Broadcaster `json:"nationalRadioBroadcasters"`
	NationalOttBroadcasters   []Broadcaster `json:"nationalOttBroadcasters"`
	HomeTvBroadcasters        []Broadcaster `json:"homeTvBroadcasters"`
	HomeRadioBroadcasters     []Broadcaster `json:"homeRadioBroadcasters"`
	HomeOttBroadcasters       []Broadcaster `json:"homeOttBroadcasters"`
	AwayTvBroadcasters        []Broadcaster `json:"awayTvBroadcasters"`
	AwayRadioBroadcasters     []Broadcaster `json:"awayRadioBroadcasters"`
	AwayOttBroadcasters       []Broadcaster `json:"awayOttBroadcasters"`
}

type CommonBoxScoreStatistic added in v0.1.0

type CommonBoxScoreStatistic struct {
	Minutes           string   `json:"minutes"`
	MinutesCalculated *string  `json:"minutesCalculated"`
	Ast               *int     `json:"assists"`
	Blk               *int     `json:"blocks"`
	BlkReceived       *int     `json:"blocksReceived"`
	FgA               *int     `json:"fieldGoalsAttempted"`
	FgM               *int     `json:"fieldGoalsMade"`
	FgPct             *float64 `json:"fieldGoalsPercentage"`
	PFOffensive       *int     `json:"foulsOffensive"`
	PFDrawn           *int     `json:"foulsDrawn"`
	PF                *int     `json:"foulsPersonal"`
	PFTechnical       *int     `json:"foulsTechnical"`
	FtA               *int     `json:"freeThrowsAttempted"`
	FtM               *int     `json:"freeThrowsMade"`
	FtPct             *float64 `json:"freeThrowsPercentage"`
	Pts               *int     `json:"points"`
	PtsFastBreak      *int     `json:"pointsFastBreak"`
	PtsInPaint        *int     `json:"pointsInThePaint"`
	PtsSecondChance   *int     `json:"pointsSecondChance"`
	DReb              *int     `json:"reboundsDefensive"`
	OReb              *int     `json:"reboundsOffensive"`
	Reb               *int     `json:"reboundsTotal"`
	Stl               *int     `json:"steals"`
	Fg3A              *int     `json:"threePointersAttempted"`
	Fg3M              *int     `json:"threePointersMade"`
	Fg3Pct            *float64 `json:"threePointersPercentage"`
	Tov               *int     `json:"turnovers"`
	Fg2A              *int     `json:"twoPointersAttempted"`
	Fg2M              *int     `json:"twoPointersMade"`
	Fg2Pct            *float64 `json:"twoPointersPercentage"`
}

func (*CommonBoxScoreStatistic) Min added in v0.2.0

func (c *CommonBoxScoreStatistic) Min() (float64, bool)

parse & calculated minutes

PT36M30.00S -> 36.5

func (*CommonBoxScoreStatistic) MinutesClock added in v0.2.0

func (c *CommonBoxScoreStatistic) MinutesClock() string

parse minutes

PT07M11.01S -> 07:11.01

type DraftCombineStatsParams added in v0.3.0

type DraftCombineStatsParams struct {
	LeagueID   string `url:"LeagueID,omitempty"`
	SeasonYear string `url:"SeasonYear,omitempty"`
}

type DraftCombineStatsRecord added in v0.3.0

type DraftCombineStatsRecord struct {
	Season              string   `json:"season"`
	PlayerID            int      `json:"playerId"`
	FirstName           string   `json:"firstName"`
	LastName            string   `json:"lastName"`
	PlayerName          string   `json:"playerName"`
	Position            string   `json:"position"`
	HeightWoShoes       *float64 `json:"heightWoShoes"`
	HeightWShoes        *float64 `json:"heightWShoes"`
	Weight              *float64 `json:"weight"`
	Wingspan            *float64 `json:"wingspan"`
	StandingReach       *float64 `json:"standingReach"`
	BodyFatPct          *float64 `json:"bodyFatPct"`
	HandLength          *float64 `json:"handLength"`
	HandWidth           *float64 `json:"handWidth"`
	StandingVertical    *float64 `json:"standingVerticalLeap"`
	MaxVertical         *float64 `json:"maxVerticalLeap"`
	LaneAgility         *float64 `json:"laneAgilityTime"`
	ModifiedLaneAgility *float64 `json:"modifiedLaneAgilityTime"`
	ThreeQuarterSprint  *float64 `json:"threeQuarterSprint"`
	BenchPress          *int     `json:"benchPress"`
}

type DraftCombineStatsResponseContent added in v0.3.1

type DraftCombineStatsResponseContent struct {
	CombineStats []DraftCombineStatsRecord `json:"combineStats"`
}

type Game

type Game struct {
	GameId            string      `json:"gameId"`
	GameCode          string      `json:"gameCode"`
	GameStatus        int         `json:"gameStatus"`
	GameStatusText    string      `json:"gameStatusText"`
	Period            int         `json:"period"`
	GameClock         string      `json:"gameClock"`
	GameTimeUTC       time.Time   `json:"gameTimeUTC"`
	GameEt            time.Time   `json:"gameEt"`
	RegulationPeriods int         `json:"regulationPeriods"`
	IfNecessary       bool        `json:"ifNecessary"`
	SeriesGameNumber  string      `json:"seriesGameNumber"`
	GameLabel         string      `json:"gameLabel"`
	GameSubLabel      string      `json:"gameSubLabel"`
	SeriesText        string      `json:"seriesText"`
	SeriesConference  string      `json:"seriesConference"`
	PoRoundDesc       string      `json:"poRoundDesc"`
	GameSubtype       string      `json:"gameSubtype"`
	IsNeutral         bool        `json:"isNeutral"`
	HomeTeam          Team        `json:"homeTeam"`
	AwayTeam          Team        `json:"awayTeam"`
	GameLeaders       GameLeaders `json:"gameLeaders"`
	PbOdds            PbOdds      `json:"pbOdds"`
	Arena             *Arena      `json:"arena"`
	Officials         *[]Official `json:"officials"`
}

func (*Game) Clock added in v0.2.0

func (g *Game) Clock() string

parse clock PT07M11.01S -> 07:11.01

func (*Game) ClockMinutes added in v0.2.0

func (g *Game) ClockMinutes() (float64, bool)

func (*Game) ClockSeconds added in v0.2.0

func (g *Game) ClockSeconds() (float64, bool)

func (*Game) IsFinished

func (g *Game) IsFinished() bool

if the game is finished or not

func (*Game) IsGameStart added in v0.2.0

func (g *Game) IsGameStart() bool

IsGameStart returns true if the game has started.

func (*Game) IsOverTime added in v0.2.0

func (g *Game) IsOverTime() bool

IsOverTime returns true if the game is in overtime.

func (*Game) OverTimeNum added in v0.2.0

func (g *Game) OverTimeNum() int

OverTimeNum returns the number of overtime periods.

type GameDate added in v0.2.0

type GameDate struct {
	GameDate string         `json:"gameDate"`
	Games    []ScheduleGame `json:"games"`
}

type GameLeaders

type GameLeaders struct {
	HomeLeaders Leader `json:"homeLeaders"`
	AwayLeaders Leader `json:"awayLeaders"`
}

type GnsConfig added in v0.1.0

type GnsConfig struct {
	// default is 10s
	Timeout time.Duration

	// default is empty string
	ProxyUrl string
}

type GnsError

type GnsError struct {
	Message string `json:"message"`
}

func NewGnsError

func NewGnsError(message string, fields ...any) *GnsError

func (*GnsError) Error

func (e *GnsError) Error() string

type IstStandingsGame added in v0.2.0

type IstStandingsGame struct {
	GameID                   string `json:"gameId"`
	GameNumber               int    `json:"gameNumber"`
	OpponentTeamAbbreviation string `json:"opponentTeamAbbreviation"`
	Location                 string `json:"location"`
	GameStatus               int    `json:"gameStatus"`
	GameStatusText           string `json:"gameStatusText"`
	Outcome                  string `json:"outcome"`
}

type IstStandingsParams added in v0.2.0

type IstStandingsParams struct {
	// optional default "00"
	LeagueID string `url:"LeagueID"`

	// optional default "2025-26"
	Season string `url:"Season"`

	// optional default "group"
	// group or wildcard
	Section string `url:"Section"`
}

type IstStandingsResponseContent added in v0.2.0

type IstStandingsResponseContent struct {
	LeagueID      string             `json:"leagueId"`
	SeasonYear    string             `json:"seasonYear"`
	UnixTimeStamp int64              `json:"unixTimeStamp"`
	TimeStampUtc  string             `json:"timeStampUtc"`
	Teams         []IstStandingsTeam `json:"teams"`
}

type IstStandingsTeam added in v0.2.0

type IstStandingsTeam struct {
	TeamID              int                `json:"teamId"`
	TeamCity            string             `json:"teamCity"`
	TeamName            string             `json:"teamName"`
	TeamAbbreviation    string             `json:"teamAbbreviation"`
	TeamSlug            string             `json:"teamSlug"`
	Conference          string             `json:"conference"`
	IstGroup            string             `json:"istGroup"`
	ClinchIndicator     string             `json:"clinchIndicator"`
	ClinchedIstKnockout int                `json:"clinchedIstKnockout"`
	ClinchedIstGroup    int                `json:"clinchedIstGroup"`
	ClinchedIstWildcard int                `json:"clinchedIstWildcard"`
	IstWildcardRank     int                `json:"istWildcardRank"`
	IstGroupRank        int                `json:"istGroupRank"`
	IstKnockoutRank     *int               `json:"istKnockoutRank"`
	Wins                int                `json:"wins"`
	Losses              int                `json:"losses"`
	Pct                 float64            `json:"pct"`
	IstGroupGb          float64            `json:"istGroupGb"`
	IstWildcardGb       float64            `json:"istWildcardGb"`
	Diff                int                `json:"diff"`
	Pts                 int                `json:"pts"`
	OppPts              int                `json:"oppPts"`
	Games               []IstStandingsGame `json:"games"`
}

type Leader

type Leader struct {
	PersonId    int     `json:"personId"`
	Name        string  `json:"name"`
	JerseyNum   string  `json:"jerseyNum"`
	Position    string  `json:"position"`
	TeamTricode string  `json:"teamTricode"`
	PlayerSlug  *string `json:"playerSlug"`
	Points      int     `json:"points"`
	Rebounds    int     `json:"rebounds"`
	Assists     int     `json:"assists"`
}

type LeagueSchedule added in v0.2.0

type LeagueSchedule struct {
	SeasonYear string     `json:"seasonYear"`
	LeagueID   string     `json:"leagueId"`
	GameDates  []GameDate `json:"gameDates"`
}

type LeagueStandingsParams added in v0.2.0

type LeagueStandingsParams struct {
	// optional default "00"
	LeagueID string `url:"LeagueID"`

	// optional default "2025-26"
	Season string `url:"Season"`

	// optional default "Regular Season"
	// "Regular Season" or "Pre Season"
	SeasonType string `url:"SeasonType"`

	// optional
	SeasonYear string `url:"SeasonYear"`
}

type LeagueStandingsRecord added in v0.2.0

type LeagueStandingsRecord struct {
	LeagueID                string  `json:"leagueID"`
	SeasonID                string  `json:"seasonID"`
	TeamID                  int     `json:"teamID"`
	TeamCity                string  `json:"teamCity"`
	TeamName                string  `json:"teamName"`
	Conference              string  `json:"conference"`
	ConferenceRecord        string  `json:"conferenceRecord"`
	PlayoffRank             int     `json:"playoffRank"`
	ClinchIndicator         string  `json:"clinchIndicator"`
	Division                string  `json:"division"`
	DivisionRecord          string  `json:"divisionRecord"`
	DivisionRank            int     `json:"divisionRank"`
	Wins                    int     `json:"wins"`
	Losses                  int     `json:"losses"`
	WinPct                  float64 `json:"winPct"`
	LeagueRank              int     `json:"leagueRank"`
	Record                  string  `json:"record"`
	Home                    string  `json:"home"`
	Road                    string  `json:"road"`
	L10                     string  `json:"l10"`
	Last10Home              string  `json:"last10Home"`
	Last10Road              string  `json:"last10Road"`
	OT                      string  `json:"ot"`
	ThreePTSOrLess          string  `json:"threePTSOrLess"`
	TenPTSOrMore            string  `json:"tenPTSOrMore"`
	LongHomeStreak          int     `json:"longHomeStreak"`
	StrLongHomeStreak       string  `json:"strLongHomeStreak"`
	LongRoadStreak          int     `json:"longRoadStreak"`
	StrLongRoadStreak       string  `json:"strLongRoadStreak"`
	LongWinStreak           int     `json:"longWinStreak"`
	LongLossStreak          int     `json:"longLossStreak"`
	CurrentHomeStreak       int     `json:"currentHomeStreak"`
	StrCurrentHomeStreak    string  `json:"strCurrentHomeStreak"`
	CurrentRoadStreak       int     `json:"currentRoadStreak"`
	StrCurrentRoadStreak    string  `json:"strCurrentRoadStreak"`
	CurrentStreak           int     `json:"currentStreak"`
	StrCurrentStreak        string  `json:"strCurrentStreak"`
	ConferenceGamesBack     float64 `json:"conferenceGamesBack"`
	DivisionGamesBack       float64 `json:"divisionGamesBack"`
	ClinchedConferenceTitle *string `json:"clinchedConferenceTitle"`
	ClinchedDivisionTitle   *string `json:"clinchedDivisionTitle"`
	ClinchedPlayoffBirth    *string `json:"clinchedPlayoffBirth"`
	EliminatedConference    *string `json:"eliminatedConference"`
	EliminatedDivision      *string `json:"eliminatedDivision"`
	AheadAtHalf             string  `json:"aheadAtHalf"`
	BehindAtHalf            string  `json:"behindAtHalf"`
	TiedAtHalf              string  `json:"tiedAtHalf"`
	AheadAtThird            string  `json:"aheadAtThird"`
	BehindAtThird           string  `json:"behindAtThird"`
	TiedAtThird             string  `json:"tiedAtThird"`
	Score100PTS             string  `json:"score100PTS"`
	OppScore100PTS          string  `json:"oppScore100PTS"`
	OppOver500              string  `json:"oppOver500"`
	LeadInFGPCT             string  `json:"leadInFGPCT"`
	LeadInReb               string  `json:"leadInReb"`
	FewerTurnovers          string  `json:"fewerTurnovers"`
	PointsPG                float64 `json:"pointsPG"`
	OppPointsPG             float64 `json:"oppPointsPG"`
	DiffPointsPG            float64 `json:"diffPointsPG"`
	VsEast                  string  `json:"vsEast"`
	VsAtlantic              string  `json:"vsAtlantic"`
	VsCentral               string  `json:"vsCentral"`
	VsSoutheast             string  `json:"vsSoutheast"`
	VsWest                  string  `json:"vsWest"`
	VsNorthwest             string  `json:"vsNorthwest"`
	VsPacific               string  `json:"vsPacific"`
	VsSouthwest             string  `json:"vsSouthwest"`
	Jan                     *string `json:"jan"`
	Feb                     *string `json:"feb"`
	Mar                     *string `json:"mar"`
	Apr                     *string `json:"apr"`
	May                     *string `json:"may"`
	Jun                     *string `json:"jun"`
	Jul                     *string `json:"jul"`
	Aug                     *string `json:"aug"`
	Sep                     *string `json:"sep"`
	Oct                     *string `json:"oct"`
	Nov                     *string `json:"nov"`
	Dec                     *string `json:"dec"`
	PreAS                   *string `json:"preAS"`
	PostAS                  *string `json:"postAS"`
}

type LeagueStandingsResponseContent added in v0.2.0

type LeagueStandingsResponseContent struct {
	SeasonYear string                  `json:"seasonYear"`
	Standings  []LeagueStandingsRecord `json:"standings"`
}

type LiveBoxScoreResponse added in v0.1.0

type LiveBoxScoreResponse struct {
	Meta Meta `json:"meta"`
	Game Game `json:"game"`
}

type LivePlayByPlayResponse added in v0.1.0

type LivePlayByPlayResponse struct {
	Meta Meta           `json:"meta"`
	Game PlayByPlayGame `json:"game"`
}

type LiveScoreBoardResponse

type LiveScoreBoardResponse struct {
	Meta       Meta       `json:"meta"`
	Scoreboard Scoreboard `json:"scoreboard"`
}

type Meta

type Meta struct {
	Version int    `json:"version"`
	Request string `json:"request"`
	Time    string `json:"time"`
	Code    int    `json:"code"`
}

type Official added in v0.1.0

type Official struct {
	PersonID   int    `json:"personId"`
	Name       string `json:"name"`
	NameI      string `json:"nameI"`
	FirstName  string `json:"firstName"`
	FamilyName string `json:"familyName"`
	JerseyNum  string `json:"jerseyNum"`
	Assignment string `json:"assignment"`
}

type PbOdds

type PbOdds struct {
	Team      *string `json:"team"`
	Odds      float64 `json:"odds"`
	Suspended int     `json:"suspended"`
}

type Period

type Period struct {
	Period     int    `json:"period"`
	PeriodType string `json:"periodType"`
	Score      int    `json:"score"`
}

type PlayByPlayGame added in v0.1.0

type PlayByPlayGame struct {
	GameID  string   `json:"gameId"`
	Actions []Action `json:"actions"`
}

type PlayByPlayParams added in v0.1.0

type PlayByPlayParams struct {
	// !required
	GameID string
}

type Player added in v0.1.0

type Player struct {
	Status     string `json:"status"`
	Order      int    `json:"order"`
	PersonID   int    `json:"personId"`
	JerseyNum  string `json:"jerseyNum"`
	Starter    string `json:"starter"`
	OnCourt    string `json:"onCourt"`
	Played     string `json:"played"`
	Name       string `json:"name"`
	NameI      string `json:"nameI"`
	FirstName  string `json:"firstName"`
	FamilyName string `json:"familyName"`

	// if requested box score
	Statistics *PlayerBoxScoreStatistic `json:"statistics"`
}

func (Player) IsOnCourt added in v0.1.0

func (p Player) IsOnCourt() bool

func (Player) IsPlayed added in v0.1.0

func (p Player) IsPlayed() bool

func (Player) IsStarter added in v0.1.0

func (p Player) IsStarter() bool

type PlayerBoxScoreStatistic added in v0.1.0

type PlayerBoxScoreStatistic struct {
	CommonBoxScoreStatistic
	Minus     *float64 `json:"minus"`
	Plus      *float64 `json:"plus"`
	PlusMinus *float64 `json:"plusMinusPoints"`
}

type PlayerCareerRankingsRecord

type PlayerCareerRankingsRecord struct {
	PlayerID        int    `json:"playerId"`
	SeasonID        string `json:"seasonId"`
	LeagueID        string `json:"leagueId"`
	TeamID          int    `json:"teamId"`
	TeamAbbeviation string `json:"teamAbbreviation"`
	/* means nothing
	PlayerAge       int    `json:"playerAge"`
	GP              int    `json:"gp"`
	GS              int    `json:"gs"`
	*/
	RankPgMin    *int `json:"rankPgMin"`
	RankPgPts    *int `json:"rankPgPts"`
	RankPgOReb   *int `json:"rankPgOreb"`
	RankPgDReb   *int `json:"rankPgDreb"`
	RankPgReb    *int `json:"rankPgReb"`
	RankPgAst    *int `json:"rankPgAst"`
	RankPgStl    *int `json:"rankPgStl"`
	RankPgBlk    *int `json:"rankPgBlk"`
	RankPgTov    *int `json:"rankPgTov"`
	RankPgFgm    *int `json:"rankPgFgm"`
	RankPgFga    *int `json:"rankPgFga"`
	RankPgFgPct  *int `json:"rankPgFgPct"`
	RankPgFg3m   *int `json:"rankPgFg3m"`
	RankPgFg3a   *int `json:"rankPgFg3a"`
	RankPgFg3Pct *int `json:"rankPgFg3Pct"`
	RankPgFtm    *int `json:"rankPgFtm"`
	RankPgFta    *int `json:"rankPgFta"`
	RankPgFtPct  *int `json:"rankPgFtPct"`
	RankPgEff    *int `json:"rankPgEff"`
}

type PlayerCareerStatsParams

type PlayerCareerStatsParams struct {
	// !required
	PlayerID string `url:"PlayerID"`

	// optional default "00"
	LeagueID string `url:"LeagueID"`

	// optional default "PerGame"
	PerMode string `url:"PerMode"`
}

type PlayerCareerStatsRecord

type PlayerCareerStatsRecord struct {
	PlayerID        int      `json:"playerId"`
	SeasonID        string   `json:"seasonId"`
	LeagueID        string   `json:"leagueId"`
	TeamID          int      `json:"teamId"`
	TeamAbbeviation string   `json:"teamAbbreviation"`
	PlayerAge       int      `json:"playerAge"`
	GP              *int     `json:"gp"`
	GS              *int     `json:"gs"`
	Min             *float64 `json:"min"`
	Pts             *float64 `json:"pts"`
	FgM             *float64 `json:"fgm"`
	FgA             *float64 `json:"fga"`
	FgPct           *float64 `json:"fgPct"`
	Fg3M            *float64 `json:"fg3m"`
	Fg3A            *float64 `json:"fg3a"`
	Fg3Pct          *float64 `json:"fg3Pct"`
	FtM             *float64 `json:"ftm"`
	FtA             *float64 `json:"fta"`
	FtPct           *float64 `json:"ftPct"`
	OReb            *float64 `json:"oreb"`
	DReb            *float64 `json:"dreb"`
	Reb             *float64 `json:"reb"`
	Ast             *float64 `json:"ast"`
	Stl             *float64 `json:"stl"`
	Blk             *float64 `json:"blk"`
	Tov             *float64 `json:"tov"`
	PF              *float64 `json:"pf"`
}

type PlayerCareerStatsResponseContent

type PlayerCareerStatsResponseContent struct {
	// nba stats
	SeasonTotalsRegularSeason  []PlayerCareerStatsRecord `json:"seasonTotalsRegularSeason"`
	CareerTotalsRegularSeason  []PlayerCareerStatsRecord `json:"careerTotalsRegularSeason"`
	SeasonTotalsPostSeason     []PlayerCareerStatsRecord `json:"seasonTotalsPostSeason"`
	CareerTotalsPostSeason     []PlayerCareerStatsRecord `json:"careerTotalsPostSeason"`
	SeasonTotalsAllStarSeason  []PlayerCareerStatsRecord `json:"seasonTotalsAllStarSeason"`
	CareerTotalsAllStarSeason  []PlayerCareerStatsRecord `json:"careerTotalsAllStarSeason"`
	SeasonTotalsShowcaseSeason []PlayerCareerStatsRecord `json:"seasonTotalsShowcaseSeason"`
	CareerTotalsShowcaseSeason []PlayerCareerStatsRecord `json:"careerTotalsShowcaseSeason"`

	// college stats
	SeasonTotalsCollegeSeason []PlayerCollegeSeasonStatsRecord `json:"seasonTotalsCollegeSeason"`
	CareerTotalsCollegeSeason []PlayerCollegeSeasonStatsRecord `json:"careerTotalsCollegeSeason"`

	// rankings
	SeasonRankingsRegularSeason []PlayerCareerRankingsRecord `json:"seasonRankingsRegularSeason"`
	SeasonRankingsPostSeason    []PlayerCareerRankingsRecord `json:"seasonRankingsPostSeason"`

	// highs
	SeasonHighs []PlayerHighsRecord `json:"seasonHighs"`
	CareerHighs []PlayerHighsRecord `json:"careerHighs"`
}

type PlayerCollegeCareerStatsRecord

type PlayerCollegeCareerStatsRecord struct {
	PlayerID       int      `json:"playerId"`
	LeagueID       string   `json:"leagueId"`
	OrganizationID int      `json:"organizationId"`
	GP             *int     `json:"gp"`
	GS             *int     `json:"gs"`
	Min            *float64 `json:"min"`
	Pts            *float64 `json:"pts"`
	FgM            *float64 `json:"fgm"`
	FgA            *float64 `json:"fga"`
	FgPct          *float64 `json:"fgPct"`
	Fg3M           *float64 `json:"fg3m"`
	Fg3A           *float64 `json:"fg3a"`
	Fg3Pct         *float64 `json:"fg3Pct"`
	FtM            *float64 `json:"ftm"`
	FtA            *float64 `json:"fta"`
	FtPct          *float64 `json:"ftPct"`
	OReb           *float64 `json:"oreb"`
	DReb           *float64 `json:"dreb"`
	Reb            *float64 `json:"reb"`
	Ast            *float64 `json:"ast"`
	Stl            *float64 `json:"stl"`
	Blk            *float64 `json:"blk"`
	Tov            *float64 `json:"tov"`
	PF             *float64 `json:"pf"`
}

type PlayerCollegeSeasonStatsRecord

type PlayerCollegeSeasonStatsRecord struct {
	PlayerID       int      `json:"playerId"`
	SeasonID       string   `json:"seasonId"`
	LeagueID       string   `json:"leagueId"`
	OrganizationID int      `json:"organizationId"`
	SchoolName     string   `json:"schoolName"`
	GP             *int     `json:"gp"`
	GS             *int     `json:"gs"`
	Min            *float64 `json:"min"`
	Pts            *float64 `json:"pts"`
	FgM            *float64 `json:"fgm"`
	FgA            *float64 `json:"fga"`
	FgPct          *float64 `json:"fgPct"`
	Fg3M           *float64 `json:"fg3m"`
	Fg3A           *float64 `json:"fg3a"`
	Fg3Pct         *float64 `json:"fg3Pct"`
	FtM            *float64 `json:"ftm"`
	FtA            *float64 `json:"fta"`
	FtPct          *float64 `json:"ftPct"`
	OReb           *float64 `json:"oreb"`
	DReb           *float64 `json:"dreb"`
	Reb            *float64 `json:"reb"`
	Ast            *float64 `json:"ast"`
	Stl            *float64 `json:"stl"`
	Blk            *float64 `json:"blk"`
	Tov            *float64 `json:"tov"`
	PF             *float64 `json:"pf"`
}

type PlayerHighsRecord

type PlayerHighsRecord struct {
	PlayerID           int     `json:"playerId"`
	GameID             string  `json:"gameId"`
	GameDate           string  `json:"gameDate"`
	VsTeamID           int     `json:"vsTeamId"`
	VsTeamCity         string  `json:"vsTeamCity"`
	VsTeamName         string  `json:"vsTeamName"`
	VsTeamAbbreviation string  `json:"vsTeamAbbreviation"`
	Stat               string  `json:"stat"`
	StatValue          float64 `json:"statValue"`
	StatOrder          int     `json:"statOrder"`
	DateEst            string  `json:"dateEst"`
}

type PointsLeader added in v0.2.0

type PointsLeader struct {
	PersonID    int     `json:"personId"`
	FirstName   string  `json:"firstName"`
	LastName    string  `json:"lastName"`
	TeamID      int     `json:"teamId"`
	TeamCity    string  `json:"teamCity"`
	TeamName    string  `json:"teamName"`
	TeamTricode string  `json:"teamTricode"`
	Points      float64 `json:"points"`
}

type RawResponse

type RawResponse struct {
	Resource   string         `json:"resource"`
	Parameters map[string]any `json:"parameters"`
	ResultSets []ResultSet    `json:"resultSets"`
}

type Response

type Response[T any] struct {
	Contents   T     `json:"contents"`
	StatusCode int   `json:"status_code"`
	Error      error `json:"error"`
}

type ResultSet

type ResultSet struct {
	Name    string   `json:"name"`
	Headers []string `json:"headers"`
	RowSet  [][]any  `json:"rowSet"`
}

type ScheduleGame added in v0.2.0

type ScheduleGame struct {
	GameID           string         `json:"gameId"`
	GameCode         string         `json:"gameCode"`
	GameStatus       int            `json:"gameStatus"`
	GameStatusText   string         `json:"gameStatusText"`
	GameSequence     int            `json:"gameSequence"`
	GameDateEst      string         `json:"gameDateEst"`
	GameTimeEst      string         `json:"gameTimeEst"`
	GameDateTimeEst  string         `json:"gameDateTimeEst"`
	GameDateUTC      string         `json:"gameDateUTC"`
	GameTimeUTC      string         `json:"gameTimeUTC"`
	GameDateTimeUTC  string         `json:"gameDateTimeUTC"`
	AwayTeamTime     string         `json:"awayTeamTime"`
	HomeTeamTime     string         `json:"homeTeamTime"`
	Day              string         `json:"day"`
	MonthNum         int            `json:"monthNum"`
	WeekNumber       int            `json:"weekNumber"`
	WeekName         string         `json:"weekName"`
	IfNecessary      string         `json:"ifNecessary"` // "false"
	SeriesGameNumber string         `json:"seriesGameNumber"`
	GameLabel        string         `json:"gameLabel"`
	GameSubLabel     string         `json:"gameSubLabel"`
	SeriesText       string         `json:"seriesText"`
	ArenaName        string         `json:"arenaName"`
	ArenaState       string         `json:"arenaState"`
	ArenaCity        string         `json:"arenaCity"`
	PostponedStatus  string         `json:"postponedStatus"`
	BranchLink       string         `json:"branchLink"`
	GameSubtype      string         `json:"gameSubtype"`
	IsNeutral        bool           `json:"isNeutral"`
	Broadcasters     Broadcasters   `json:"broadcasters"`
	HomeTeam         ScheduleTeam   `json:"homeTeam"`
	AwayTeam         ScheduleTeam   `json:"awayTeam"`
	PointsLeaders    []PointsLeader `json:"pointsLeaders"`
}

type ScheduleLeagueV2Params added in v0.2.0

type ScheduleLeagueV2Params struct {
	// optional default "00"
	LeagueID string `url:"LeagueID"`

	// optional default "2025-26"
	Season string `url:"Season"`
}

type ScheduleLeagueV2Response added in v0.2.0

type ScheduleLeagueV2Response struct {
	Meta           Meta           `json:"meta"`
	LeagueSchedule LeagueSchedule `json:"leagueSchedule"`
}

type ScheduleTeam added in v0.2.0

type ScheduleTeam struct {
	TeamID      int    `json:"teamId"`
	TeamName    string `json:"teamName"`
	TeamCity    string `json:"teamCity"`
	TeamTricode string `json:"teamTricode"`
	TeamSlug    string `json:"teamSlug"`
	Wins        int    `json:"wins"`
	Losses      int    `json:"losses"`
	Score       int    `json:"score"`
	Seed        int    `json:"seed"` // Sometimes null? assume int for now
}

type ScoreBoardParams

type ScoreBoardParams struct {
	// optional default "00"
	LeagueID string
}

type Scoreboard

type Scoreboard struct {
	GameDate   string `json:"gameDate"`
	LeagueId   string `json:"leagueId"`
	LeagueName string `json:"leagueName"`
	Games      []Game `json:"games"`
}

type Team

type Team struct {
	TeamId            int                    `json:"teamId"`
	TeamName          string                 `json:"teamName"`
	TeamCity          string                 `json:"teamCity"`
	TeamTricode       string                 `json:"teamTricode"`
	Wins              int                    `json:"wins"`
	Losses            int                    `json:"losses"`
	Score             int                    `json:"score"`
	Seed              *int                   `json:"seed"`
	InBonus           *string                `json:"inBonus"`
	TimeoutsRemaining int                    `json:"timeoutsRemaining"`
	Periods           []Period               `json:"periods"`
	Players           *[]Player              `json:"players"`
	Statistics        *TeamBoxScoreStatistic `json:"statistics"`
}

type TeamBoxScoreStatistic added in v0.1.0

type TeamBoxScoreStatistic struct {
	CommonBoxScoreStatistic
	AstTovRatio            *float64 `json:"assistTurnoverRatio"`
	BenchPts               *int     `json:"benchPoints"`
	BiggestLead            *int     `json:"biggestLead"`
	BiggestScoringRunScore *string  `json:"biggestScoringRunScore"`
	PtsFromTov             *int     `json:"pointsFromTurnovers"`
	PtsInPaintM            *int     `json:"pointsInThePaintMade"`
	PtsInPaintA            *int     `json:"pointsInThePaintAttempted"`
	PtsInPaintPct          *float64 `json:"pointsInThePaintPercentage"`
	RebPersonal            *int     `json:"reboundsPersonal"`
	RebTeam                *int     `json:"reboundsTeam"`
	ORebTeam               *int     `json:"reboundsOffensiveTeam"`
	DRebTeam               *int     `json:"reboundsDefensiveTeam"`
	SecondChancePtsA       *int     `json:"secondChancePointsAttempted"`
	SecondChancePtsM       *int     `json:"secondChancePointsMade"`
	SecondChancePtsPct     *float64 `json:"secondChancePointsPercentage"`
	TeamFGA                *int     `json:"teamFieldGoalsAttempted"`
	TimeLeading            *string  `json:"timeLeading"`
	TimesTied              *int     `json:"timesTied"`
	TSA                    *float64 `json:"trueShootingAttempts"`
	TSM                    *float64 `json:"trueShootingMade"`
	TSPct                  *float64 `json:"trueShootingPercentage"`
	TovTeam                *int     `json:"turnoversTeam"`
	TovTotal               *int     `json:"turnoversTotal"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL