@bp1222/stats-api 0.0.1

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.
Files changed (82) hide show
  1. package/Makefile +26 -0
  2. package/openapitools.json +14 -0
  3. package/package.json +20 -0
  4. package/spec/components/parameters/parameters.yaml +21 -0
  5. package/spec/components/parameters/query/date.yaml +5 -0
  6. package/spec/components/parameters/query/endDate.yaml +5 -0
  7. package/spec/components/parameters/query/eventTypes.yaml +5 -0
  8. package/spec/components/parameters/query/fields.yaml +10 -0
  9. package/spec/components/parameters/query/gamePks.yaml +5 -0
  10. package/spec/components/parameters/query/gameTypes.yaml +5 -0
  11. package/spec/components/parameters/query/hydrate.yaml +5 -0
  12. package/spec/components/parameters/query/leagueId.yaml +5 -0
  13. package/spec/components/parameters/query/leagueIds.yaml +7 -0
  14. package/spec/components/parameters/query/opponentId.yaml +5 -0
  15. package/spec/components/parameters/query/scheduleType.yaml +5 -0
  16. package/spec/components/parameters/query/season.yaml +5 -0
  17. package/spec/components/parameters/query/sportId.yaml +6 -0
  18. package/spec/components/parameters/query/startDate.yaml +5 -0
  19. package/spec/components/parameters/query/teamId.yaml +5 -0
  20. package/spec/components/parameters/query/venueIds.yaml +5 -0
  21. package/spec/components/schemas/division.yaml +32 -0
  22. package/spec/components/schemas/game.yaml +157 -0
  23. package/spec/components/schemas/gameTeam.yaml +30 -0
  24. package/spec/components/schemas/league.yaml +62 -0
  25. package/spec/components/schemas/record.yaml +110 -0
  26. package/spec/components/schemas/schedule.yaml +41 -0
  27. package/spec/components/schemas/schemas.yaml +22 -0
  28. package/spec/components/schemas/season.yaml +53 -0
  29. package/spec/components/schemas/sport.yaml +21 -0
  30. package/spec/components/schemas/standings.yaml +24 -0
  31. package/spec/components/schemas/team.yaml +50 -0
  32. package/spec/components/schemas/venue.yaml +18 -0
  33. package/spec/openapi.yaml +32 -0
  34. package/spec/paths/allSeasons.yaml +23 -0
  35. package/spec/paths/schedule.yaml +20 -0
  36. package/spec/paths/season.yaml +18 -0
  37. package/spec/paths/standings.yaml +27 -0
  38. package/spec/paths/teams.yaml +33 -0
  39. package/src/.openapi-generator/FILES +27 -0
  40. package/src/.openapi-generator/VERSION +1 -0
  41. package/src/.openapi-generator-ignore +23 -0
  42. package/src/apis/MlbApi.ts +328 -0
  43. package/src/apis/index.ts +3 -0
  44. package/src/index.ts +5 -0
  45. package/src/models/Division.ts +164 -0
  46. package/src/models/Game.ts +385 -0
  47. package/src/models/GameContent.ts +60 -0
  48. package/src/models/GameTeam.ts +117 -0
  49. package/src/models/GameTeams.ts +77 -0
  50. package/src/models/League.ts +190 -0
  51. package/src/models/MLBDivision.ts +164 -0
  52. package/src/models/MLBGame.ts +385 -0
  53. package/src/models/MLBGameContent.ts +60 -0
  54. package/src/models/MLBGameStatus.ts +122 -0
  55. package/src/models/MLBGameTeam.ts +117 -0
  56. package/src/models/MLBGameTeams.ts +77 -0
  57. package/src/models/MLBLeague.ts +190 -0
  58. package/src/models/MLBLeagueDates.ts +132 -0
  59. package/src/models/MLBRecord.ts +337 -0
  60. package/src/models/MLBSchedule.ts +105 -0
  61. package/src/models/MLBScheduleDay.ts +108 -0
  62. package/src/models/MLBSeason.ts +226 -0
  63. package/src/models/MLBSeasons.ts +67 -0
  64. package/src/models/MLBSport.ts +110 -0
  65. package/src/models/MLBStandings.ts +130 -0
  66. package/src/models/MLBStandingsList.ts +67 -0
  67. package/src/models/MLBStreak.ts +74 -0
  68. package/src/models/MLBTeam.ts +248 -0
  69. package/src/models/MLBTeamRecord.ts +76 -0
  70. package/src/models/MLBTeamRecord1.ts +88 -0
  71. package/src/models/MLBTeams.ts +67 -0
  72. package/src/models/MLBVenue.ts +95 -0
  73. package/src/models/Record.ts +337 -0
  74. package/src/models/Schedule.ts +105 -0
  75. package/src/models/Season.ts +226 -0
  76. package/src/models/Sport.ts +110 -0
  77. package/src/models/Standings.ts +130 -0
  78. package/src/models/Team.ts +248 -0
  79. package/src/models/Venue.ts +95 -0
  80. package/src/models/index.ts +24 -0
  81. package/src/runtime.ts +426 -0
  82. package/tsconfig.json +108 -0
package/Makefile ADDED
@@ -0,0 +1,26 @@
1
+ # Colors
2
+ RESET=\033[0m
3
+ GREEN=\033[32m
4
+ YELLOW=\033[33m
5
+ CYAN=\033[36m
6
+
7
+ .PHONY: all
8
+ all: help
9
+
10
+ # Cite: https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
11
+ .PHONY: help
12
+ help: ## Display this help page
13
+ @grep -E '^[a-zA-Z0-9/_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
14
+ sort | \
15
+ awk ' \
16
+ BEGIN {FS = ":.*?## "; print "${GREEN}mlb-season help:\n"} \
17
+ {printf "${CYAN}%-30s${RESET} %s\n", $$1, $$2} \
18
+ END {print "\n${YELLOW}See README.md for more information${RESET}\n"}'
19
+
20
+ .PHONY: bundle
21
+ bundle: ## Builds the yaml bundle
22
+ npx --yes @redocly/cli bundle -o bundle.yaml spec/openapi.yaml
23
+
24
+ gen:
25
+ npx --yes @openapitools/openapi-generator-cli generate --generator-key v0-client
26
+
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
3
+ "spaces": 2,
4
+ "generator-cli": {
5
+ "version": "7.7.0",
6
+ "generators": {
7
+ "v0-client": {
8
+ "generatorName": "typescript-fetch",
9
+ "inputSpec": "bundle.yaml",
10
+ "output": "src"
11
+ }
12
+ }
13
+ }
14
+ }
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@bp1222/stats-api",
3
+ "version": "0.0.1",
4
+ "main": "src/index.js",
5
+ "module": "dist/index.mjs",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsup src/index.ts --format cjs,esm --dts"
9
+ },
10
+ "keywords": ["mlb", "stats-api"],
11
+ "author": "Dave Walker",
12
+ "license": "ISC",
13
+ "description": "Library for Typescript Client to query MLB StatsAPI",
14
+ "devDependencies": {
15
+ "@openapitools/openapi-generator-cli": "^2.13.5",
16
+ "@redocly/cli": "^1.22.1",
17
+ "tsup": "^8.2.4",
18
+ "typescript": "^5.5.3"
19
+ }
20
+ }
@@ -0,0 +1,21 @@
1
+ # ./query
2
+ Date:
3
+ $ref: "./query/date.yaml"
4
+ EndDate:
5
+ $ref: "./query/endDate.yaml"
6
+ Fields:
7
+ $ref: "./query/fields.yaml"
8
+ Hydrate:
9
+ $ref: "./query/hydrate.yaml"
10
+ LeagueId:
11
+ $ref: "./query/leagueId.yaml"
12
+ LeagueIds:
13
+ $ref: "./query/leagueIds.yaml"
14
+ Season:
15
+ $ref: "./query/season.yaml"
16
+ SportId:
17
+ $ref: "./query/sportId.yaml"
18
+ StartDate:
19
+ $ref: "./query/startDate.yaml"
20
+ TeamId:
21
+ $ref: "./query/teamId.yaml"
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: date
3
+ required: false
4
+ schema:
5
+ type: string
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: endDate
3
+ required: false
4
+ schema:
5
+ type: string
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,10 @@
1
+ in: query
2
+ name: fields
3
+ required: false
4
+ schema:
5
+ type: array
6
+ items:
7
+ type: string
8
+ style: form
9
+ explode: false
10
+
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: hydrate
3
+ required: false
4
+ schema:
5
+ type: string
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: leagueId
3
+ required: true
4
+ schema:
5
+ type: number
@@ -0,0 +1,7 @@
1
+ in: query
2
+ name: leagueIds
3
+ required: false
4
+ schema:
5
+ type: array
6
+ items:
7
+ type: number
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: season
3
+ required: true
4
+ schema:
5
+ type: string
@@ -0,0 +1,6 @@
1
+ in: query
2
+ name: sportId
3
+ required: true
4
+ schema:
5
+ type: number
6
+ default: 1
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: startDate
3
+ required: false
4
+ schema:
5
+ type: string
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,5 @@
1
+ in: query
2
+ name: teamId
3
+ required: false
4
+ schema:
5
+ type: number
@@ -0,0 +1,32 @@
1
+ title: MLBDivision
2
+ description: >
3
+ Division
4
+ type: object
5
+ required:
6
+ - id
7
+ - name
8
+ properties:
9
+ id:
10
+ type: number
11
+ name:
12
+ type: string
13
+ season:
14
+ type: string
15
+ nameShort:
16
+ type: string
17
+ link:
18
+ type: string
19
+ abbreviation:
20
+ type: string
21
+ league:
22
+ $ref: ./schemas.yaml#/MLBLeague
23
+ sport:
24
+ $ref: ./schemas.yaml#/MLBSport
25
+ hasWildcard:
26
+ type: boolean
27
+ sortOrder:
28
+ type: number
29
+ numPlayoffTeams:
30
+ type: number
31
+ active:
32
+ type: boolean
@@ -0,0 +1,157 @@
1
+ title: MLBGame
2
+ description: >
3
+ Game
4
+ type: object
5
+ required:
6
+ - gamePk
7
+ - gameGuid
8
+ - gameType
9
+ - season
10
+ - gameDate
11
+ - officialDate
12
+ - status
13
+ - teams
14
+ - gameNumber
15
+ - gamesInSeries
16
+ - seriesGameNumber
17
+ properties:
18
+ gamePk:
19
+ type: number
20
+ gameGuid:
21
+ type: string
22
+ link:
23
+ type: string
24
+ gameType:
25
+ type: string
26
+ enum:
27
+ - "E"
28
+ - "S"
29
+ - "R"
30
+ - "F"
31
+ - "D"
32
+ - "L"
33
+ - "W"
34
+ x-enum-varnames:
35
+ - Exhibition
36
+ - SpringTraining
37
+ - Regular
38
+ - WildCardSeries
39
+ - DivisionSeries
40
+ - LeagueChampionshipSeries
41
+ - WorldSeries
42
+ description: >
43
+ Game Type:
44
+ * `E` - Exhibition
45
+ * `S` - Spring Training
46
+ * `R` - Regular Season
47
+ * `F` - Wild Card Series
48
+ * `D` - Division Series
49
+ * `L` - League Championship Series
50
+ * `W` - World Series
51
+ season:
52
+ type: number
53
+ gameDate:
54
+ type: string
55
+ officialDate:
56
+ type: string
57
+ rescheduledTo:
58
+ type: number
59
+ rescheduledToDate:
60
+ type: string
61
+ rescheduledFrom:
62
+ type: number
63
+ rescheduledFromDate:
64
+ type: string
65
+ status:
66
+ title: MLBGameStatus
67
+ type: object
68
+ properties:
69
+ abstractGameState:
70
+ type: string
71
+ codedGameState:
72
+ type: string
73
+ enum:
74
+ - "F"
75
+ - "D"
76
+ - "S"
77
+ - "I"
78
+ - "P"
79
+ - "O"
80
+ x-enum-varnames:
81
+ - Final
82
+ - Postponed
83
+ - Scheduled
84
+ - InProgress
85
+ - Pregame
86
+ - GameOver
87
+ description: >
88
+ Coded Game State
89
+ * `F` - Final
90
+ * `D` - Delayed/Postponed
91
+ * `S` - Scheduled
92
+ * `I` - In Progress
93
+ * `P` - Pregame
94
+ * `O` - Game Over
95
+ detailedState:
96
+ type: string
97
+ statusCode:
98
+ type: string
99
+ startTimeTBD:
100
+ type: boolean
101
+ abstractGameCode:
102
+ type: string
103
+ teams:
104
+ type: object
105
+ required:
106
+ - away
107
+ - home
108
+ properties:
109
+ away:
110
+ $ref: ./schemas.yaml#/MLBGameTeam
111
+ home:
112
+ $ref: ./schemas.yaml#/MLBGameTeam
113
+ venue:
114
+ $ref: ./schemas.yaml#/MLBVenue
115
+ content: # What is this!?
116
+ type: object
117
+ properties:
118
+ link:
119
+ type: string
120
+ isTie:
121
+ type: boolean
122
+ gameNumber:
123
+ type: number
124
+ publicFacing:
125
+ type: boolean
126
+ doubleHeader:
127
+ type: string # enum?
128
+ gamedayType:
129
+ type: string # enum?
130
+ tiebreaker:
131
+ type: string # enum?
132
+ calendarEventID:
133
+ type: string
134
+ seasonDisplay:
135
+ type: string
136
+ dayNight:
137
+ type: string # enum?
138
+ description:
139
+ type: string
140
+ scheduledInnings:
141
+ type: number
142
+ reverseHomeAwayStatus:
143
+ type: boolean
144
+ inningBreakLength:
145
+ type: number
146
+ gamesInSeries:
147
+ type: number
148
+ seriesGameNumber:
149
+ type: number
150
+ seriesDescription:
151
+ type: string
152
+ recordSource:
153
+ type: string # enum
154
+ ifNecessary:
155
+ type: string # enum
156
+ ifNecessaryDescription:
157
+ type: string
@@ -0,0 +1,30 @@
1
+ title: MLBGameTeam
2
+ description: >
3
+ Game Team
4
+ type: object
5
+ required:
6
+ - leagueReccord
7
+ - score
8
+ - isWinner
9
+ - team
10
+ properties:
11
+ leagueRecord:
12
+ title: MLBTeamRecord
13
+ type: object
14
+ properties:
15
+ wins:
16
+ type: number
17
+ losses:
18
+ type: number
19
+ pct:
20
+ type: string
21
+ score:
22
+ type: number
23
+ team:
24
+ $ref: ./schemas.yaml#/MLBTeam
25
+ isWinner:
26
+ type: boolean
27
+ splitSquad:
28
+ type: boolean
29
+ seriesNumber:
30
+ type: number
@@ -0,0 +1,62 @@
1
+ title: MLBLeague
2
+ description: >
3
+ League
4
+ type: object
5
+ required:
6
+ - id
7
+ - name
8
+ properties:
9
+ id:
10
+ type: number
11
+ name:
12
+ type: string
13
+ link:
14
+ type: string
15
+ abbreviation:
16
+ type: string
17
+ nameShort:
18
+ type: string
19
+ seasonState:
20
+ type: string
21
+ hasWildCard:
22
+ type: boolean
23
+ hasSplitSeason:
24
+ type: boolean
25
+ hasPlayoffPoints:
26
+ type: boolean
27
+ seasonDateInfo:
28
+ title: MLBLeagueDates
29
+ type: object
30
+ properties:
31
+ seasonId:
32
+ type: string
33
+ preSeasonStartDate:
34
+ type: string
35
+ preSeasonEndDate:
36
+ type: string
37
+ seasonStartDate:
38
+ type: string
39
+ springStartDate:
40
+ type: string
41
+ springEndDate:
42
+ type: string
43
+ offseasonStartDate:
44
+ type: string
45
+ offseasonEndDate:
46
+ type: string
47
+ seasonLevelGamedayType:
48
+ type: string
49
+ gameLevelGamedayType:
50
+ type: string
51
+ season:
52
+ type: string
53
+ orgCode:
54
+ type: string
55
+ conferencesInUse:
56
+ type: boolean
57
+ divisionsInUse:
58
+ type: boolean
59
+ sortOrder:
60
+ type: number
61
+ active:
62
+ type: boolean
@@ -0,0 +1,110 @@
1
+ title: MLBRecord
2
+ description: >
3
+ Record
4
+ type: object
5
+ required:
6
+ - team
7
+ - season
8
+ - streak
9
+ - divisionRank
10
+ - leagueRank
11
+ - gamesBack
12
+ - leagueRecord
13
+ - wins
14
+ - losses
15
+ properties:
16
+ team:
17
+ $ref: ./schemas.yaml#/MLBTeam
18
+ season:
19
+ type: string
20
+ streak:
21
+ title: MLBStreak
22
+ type: object
23
+ properties:
24
+ streakType:
25
+ type: string
26
+ enum:
27
+ - "losses"
28
+ - "wins"
29
+ x-enum-varnames:
30
+ - Losing
31
+ - Winning
32
+ description: >
33
+ Streak Type:
34
+ * Losing Streak
35
+ * Winning Streak
36
+ divisionRank:
37
+ type: string
38
+ leagueRank:
39
+ type: string
40
+ sportRank:
41
+ type: string
42
+ gamesPlayed:
43
+ type: number
44
+ gamesBack:
45
+ type: string
46
+ wildCardGamesBack:
47
+ type: string
48
+ leagueGamesBack:
49
+ type: string
50
+ sportGamesBack:
51
+ type: string
52
+ divisionGamesBack:
53
+ type: string
54
+ conferenceGamesBack:
55
+ type: string
56
+ leagueRecord:
57
+ title: MLBTeamRecord
58
+ type: object
59
+ required:
60
+ - wins
61
+ - losses
62
+ - ties
63
+ - pct
64
+ properties:
65
+ wins:
66
+ type: number
67
+ losses:
68
+ type: number
69
+ ties:
70
+ type: number
71
+ pct:
72
+ type: string
73
+ lastUpdated:
74
+ type: string
75
+ # records: NEED TO FILL OUT MORE
76
+ # type: object
77
+ runsAllowed:
78
+ type: number
79
+ runsScored:
80
+ type: number
81
+ divisionChamp:
82
+ type: boolean
83
+ divisionLeader:
84
+ type: boolean
85
+ hasWildcard:
86
+ type: boolean
87
+ clinched:
88
+ type: boolean
89
+ eliminationNumber:
90
+ type: string
91
+ eliminationNumberSport:
92
+ type: string
93
+ eliminationNumberLeague:
94
+ type: string
95
+ eliminationNumberDivision:
96
+ type: string
97
+ eliminationNumberConference:
98
+ type: string
99
+ wildCardEliminationNumber:
100
+ type: string
101
+ magicNumber:
102
+ type: string
103
+ wins:
104
+ type: number
105
+ losses:
106
+ type: number
107
+ runDifferential:
108
+ type: number
109
+ winningPercentage:
110
+ type: string
@@ -0,0 +1,41 @@
1
+ title: MLBSchedule
2
+ description: >
3
+ Schedule
4
+ type: object
5
+ required:
6
+ - totalItems
7
+ - totalEvents
8
+ - totalGames
9
+ - totalGamesInProgress
10
+ - dates
11
+ properties:
12
+ totalItems:
13
+ type: number
14
+ totalEvents:
15
+ type: number
16
+ totalGames:
17
+ type: number
18
+ totalGamesInProgress:
19
+ type: number
20
+ dates:
21
+ type: array
22
+ items:
23
+ title: MLBScheduleDay
24
+ type: object
25
+ required:
26
+ - games
27
+ properties:
28
+ date:
29
+ type: string
30
+ totalItems:
31
+ type: number
32
+ totalEvents:
33
+ type: number
34
+ totalGames:
35
+ type: number
36
+ totalGamesInProgress:
37
+ type: number
38
+ games:
39
+ type: array
40
+ items:
41
+ $ref: ./schemas.yaml#/MLBGame
@@ -0,0 +1,22 @@
1
+ MLBDivision:
2
+ $ref: ./division.yaml
3
+ MLBGame:
4
+ $ref: ./game.yaml
5
+ MLBGameTeam:
6
+ $ref: ./gameTeam.yaml
7
+ MLBLeague:
8
+ $ref: ./league.yaml
9
+ MLBSeason:
10
+ $ref: ./season.yaml
11
+ MLBSchedule:
12
+ $ref: ./schedule.yaml
13
+ MLBSport:
14
+ $ref: ./sport.yaml
15
+ MLBStandings:
16
+ $ref: ./standings.yaml
17
+ MLBRecord:
18
+ $ref: ./record.yaml
19
+ MLBTeam:
20
+ $ref: ./team.yaml
21
+ MLBVenue:
22
+ $ref: ./venue.yaml