fantasy-basketball-sdk 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +54 -10
  2. package/package.json +8 -2
  3. package/dist/core/index.d.ts +0 -3
  4. package/dist/core/index.d.ts.map +0 -1
  5. package/dist/core/index.js +0 -2
  6. package/dist/core/providers.d.ts +0 -2
  7. package/dist/core/providers.d.ts.map +0 -1
  8. package/dist/core/providers.js +0 -10
  9. package/dist/core/providers.js.map +0 -1
  10. package/dist/core/types.d.ts +0 -2
  11. package/dist/core/types.d.ts.map +0 -1
  12. package/dist/espn/client.d.ts +0 -37
  13. package/dist/espn/client.d.ts.map +0 -1
  14. package/dist/espn/client.js +0 -185
  15. package/dist/espn/client.js.map +0 -1
  16. package/dist/espn/constants.d.ts +0 -34
  17. package/dist/espn/constants.d.ts.map +0 -1
  18. package/dist/espn/constants.js +0 -185
  19. package/dist/espn/constants.js.map +0 -1
  20. package/dist/espn/errors.d.ts +0 -19
  21. package/dist/espn/errors.d.ts.map +0 -1
  22. package/dist/espn/errors.js +0 -36
  23. package/dist/espn/errors.js.map +0 -1
  24. package/dist/espn/index.d.ts +0 -18
  25. package/dist/espn/index.d.ts.map +0 -1
  26. package/dist/espn/index.js +0 -19
  27. package/dist/espn/index.js.map +0 -1
  28. package/dist/espn/league.d.ts +0 -76
  29. package/dist/espn/league.d.ts.map +0 -1
  30. package/dist/espn/league.js +0 -355
  31. package/dist/espn/league.js.map +0 -1
  32. package/dist/espn/models/activity.d.ts +0 -14
  33. package/dist/espn/models/activity.d.ts.map +0 -1
  34. package/dist/espn/models/activity.js +0 -43
  35. package/dist/espn/models/activity.js.map +0 -1
  36. package/dist/espn/models/box-player.d.ts +0 -11
  37. package/dist/espn/models/box-player.d.ts.map +0 -1
  38. package/dist/espn/models/box-player.js +0 -43
  39. package/dist/espn/models/box-player.js.map +0 -1
  40. package/dist/espn/models/box-score.d.ts +0 -45
  41. package/dist/espn/models/box-score.d.ts.map +0 -1
  42. package/dist/espn/models/box-score.js +0 -108
  43. package/dist/espn/models/box-score.js.map +0 -1
  44. package/dist/espn/models/matchup.d.ts +0 -22
  45. package/dist/espn/models/matchup.d.ts.map +0 -1
  46. package/dist/espn/models/matchup.js +0 -44
  47. package/dist/espn/models/matchup.js.map +0 -1
  48. package/dist/espn/models/pick.d.ts +0 -13
  49. package/dist/espn/models/pick.d.ts.map +0 -1
  50. package/dist/espn/models/pick.js +0 -21
  51. package/dist/espn/models/pick.js.map +0 -1
  52. package/dist/espn/models/player.d.ts +0 -47
  53. package/dist/espn/models/player.d.ts.map +0 -1
  54. package/dist/espn/models/player.js +0 -134
  55. package/dist/espn/models/player.js.map +0 -1
  56. package/dist/espn/models/settings.d.ts +0 -29
  57. package/dist/espn/models/settings.d.ts.map +0 -1
  58. package/dist/espn/models/settings.js +0 -63
  59. package/dist/espn/models/settings.js.map +0 -1
  60. package/dist/espn/models/team.d.ts +0 -33
  61. package/dist/espn/models/team.d.ts.map +0 -1
  62. package/dist/espn/models/team.js +0 -90
  63. package/dist/espn/models/team.js.map +0 -1
  64. package/dist/espn/models/transaction.d.ts +0 -18
  65. package/dist/espn/models/transaction.d.ts.map +0 -1
  66. package/dist/espn/models/transaction.js +0 -28
  67. package/dist/espn/models/transaction.js.map +0 -1
  68. package/dist/espn/types/raw.d.ts +0 -26
  69. package/dist/espn/types/raw.d.ts.map +0 -1
  70. package/dist/espn/types/raw.js +0 -2
  71. package/dist/espn/types/raw.js.map +0 -1
  72. package/dist/espn/utils.d.ts +0 -5
  73. package/dist/espn/utils.d.ts.map +0 -1
  74. package/dist/espn/utils.js +0 -53
  75. package/dist/espn/utils.js.map +0 -1
  76. package/dist/fantrax/index.d.ts +0 -2
  77. package/dist/fantrax/index.d.ts.map +0 -1
  78. package/dist/fantrax/index.js +0 -6
  79. package/dist/fantrax/index.js.map +0 -1
  80. package/dist/index.d.ts +0 -3
  81. package/dist/index.d.ts.map +0 -1
  82. package/dist/index.js +0 -2
  83. package/dist/mcp/config.d.ts +0 -15
  84. package/dist/mcp/config.d.ts.map +0 -1
  85. package/dist/mcp/config.js +0 -41
  86. package/dist/mcp/config.js.map +0 -1
  87. package/dist/mcp/create-server.d.ts +0 -4
  88. package/dist/mcp/create-server.d.ts.map +0 -1
  89. package/dist/mcp/create-server.js +0 -19
  90. package/dist/mcp/create-server.js.map +0 -1
  91. package/dist/mcp/index.d.ts +0 -2
  92. package/dist/mcp/index.d.ts.map +0 -1
  93. package/dist/mcp/index.js +0 -2
  94. package/dist/mcp/index.js.map +0 -1
  95. package/dist/mcp/results.d.ts +0 -5
  96. package/dist/mcp/results.d.ts.map +0 -1
  97. package/dist/mcp/results.js +0 -23
  98. package/dist/mcp/results.js.map +0 -1
  99. package/dist/mcp/serialize.d.ts +0 -24
  100. package/dist/mcp/serialize.d.ts.map +0 -1
  101. package/dist/mcp/serialize.js +0 -125
  102. package/dist/mcp/serialize.js.map +0 -1
  103. package/dist/mcp/server.d.ts +0 -3
  104. package/dist/mcp/server.d.ts.map +0 -1
  105. package/dist/mcp/server.js +0 -4
  106. package/dist/mcp/server.js.map +0 -1
  107. package/dist/mcp/tools/espn.d.ts +0 -3
  108. package/dist/mcp/tools/espn.d.ts.map +0 -1
  109. package/dist/mcp/tools/espn.js +0 -182
  110. package/dist/mcp/tools/espn.js.map +0 -1
  111. package/dist/mcp/tools/yahoo.d.ts +0 -3
  112. package/dist/mcp/tools/yahoo.d.ts.map +0 -1
  113. package/dist/mcp/tools/yahoo.js +0 -165
  114. package/dist/mcp/tools/yahoo.js.map +0 -1
  115. package/dist/runtime/fetch.d.ts +0 -5
  116. package/dist/runtime/fetch.d.ts.map +0 -1
  117. package/dist/runtime/fetch.js +0 -8
  118. package/dist/runtime/fetch.js.map +0 -1
  119. package/dist/runtime/index.d.ts +0 -3
  120. package/dist/runtime/index.d.ts.map +0 -1
  121. package/dist/runtime/index.js +0 -2
  122. package/dist/yahoo/client.d.ts +0 -22
  123. package/dist/yahoo/client.d.ts.map +0 -1
  124. package/dist/yahoo/client.js +0 -95
  125. package/dist/yahoo/client.js.map +0 -1
  126. package/dist/yahoo/constants.d.ts +0 -41
  127. package/dist/yahoo/constants.d.ts.map +0 -1
  128. package/dist/yahoo/constants.js +0 -38
  129. package/dist/yahoo/constants.js.map +0 -1
  130. package/dist/yahoo/errors.d.ts +0 -24
  131. package/dist/yahoo/errors.d.ts.map +0 -1
  132. package/dist/yahoo/errors.js +0 -52
  133. package/dist/yahoo/errors.js.map +0 -1
  134. package/dist/yahoo/index.d.ts +0 -30
  135. package/dist/yahoo/index.d.ts.map +0 -1
  136. package/dist/yahoo/index.js +0 -23
  137. package/dist/yahoo/index.js.map +0 -1
  138. package/dist/yahoo/keys.d.ts +0 -29
  139. package/dist/yahoo/keys.d.ts.map +0 -1
  140. package/dist/yahoo/keys.js +0 -81
  141. package/dist/yahoo/keys.js.map +0 -1
  142. package/dist/yahoo/models/game.d.ts +0 -31
  143. package/dist/yahoo/models/game.d.ts.map +0 -1
  144. package/dist/yahoo/models/game.js +0 -68
  145. package/dist/yahoo/models/game.js.map +0 -1
  146. package/dist/yahoo/models/league.d.ts +0 -62
  147. package/dist/yahoo/models/league.d.ts.map +0 -1
  148. package/dist/yahoo/models/league.js +0 -176
  149. package/dist/yahoo/models/league.js.map +0 -1
  150. package/dist/yahoo/models/matchup.d.ts +0 -12
  151. package/dist/yahoo/models/matchup.d.ts.map +0 -1
  152. package/dist/yahoo/models/matchup.js +0 -57
  153. package/dist/yahoo/models/matchup.js.map +0 -1
  154. package/dist/yahoo/models/player.d.ts +0 -34
  155. package/dist/yahoo/models/player.d.ts.map +0 -1
  156. package/dist/yahoo/models/player.js +0 -50
  157. package/dist/yahoo/models/player.js.map +0 -1
  158. package/dist/yahoo/models/roster.d.ts +0 -16
  159. package/dist/yahoo/models/roster.d.ts.map +0 -1
  160. package/dist/yahoo/models/roster.js +0 -48
  161. package/dist/yahoo/models/roster.js.map +0 -1
  162. package/dist/yahoo/models/settings.d.ts +0 -21
  163. package/dist/yahoo/models/settings.d.ts.map +0 -1
  164. package/dist/yahoo/models/settings.js +0 -96
  165. package/dist/yahoo/models/settings.js.map +0 -1
  166. package/dist/yahoo/models/team.d.ts +0 -40
  167. package/dist/yahoo/models/team.d.ts.map +0 -1
  168. package/dist/yahoo/models/team.js +0 -55
  169. package/dist/yahoo/models/team.js.map +0 -1
  170. package/dist/yahoo/models/transaction.d.ts +0 -10
  171. package/dist/yahoo/models/transaction.d.ts.map +0 -1
  172. package/dist/yahoo/models/transaction.js +0 -18
  173. package/dist/yahoo/models/transaction.js.map +0 -1
  174. package/dist/yahoo/models/user.d.ts +0 -19
  175. package/dist/yahoo/models/user.d.ts.map +0 -1
  176. package/dist/yahoo/models/user.js +0 -36
  177. package/dist/yahoo/models/user.js.map +0 -1
  178. package/dist/yahoo/parse.d.ts +0 -26
  179. package/dist/yahoo/parse.d.ts.map +0 -1
  180. package/dist/yahoo/parse.js +0 -174
  181. package/dist/yahoo/parse.js.map +0 -1
  182. package/dist/yahoo/types/raw.d.ts +0 -10
  183. package/dist/yahoo/types/raw.d.ts.map +0 -1
  184. package/dist/yahoo/types/raw.js +0 -2
  185. package/dist/yahoo/types/raw.js.map +0 -1
  186. package/dist/yahoo/write/roster.d.ts +0 -7
  187. package/dist/yahoo/write/roster.d.ts.map +0 -1
  188. package/dist/yahoo/write/roster.js +0 -13
  189. package/dist/yahoo/write/roster.js.map +0 -1
  190. package/dist/yahoo/write/transactions.d.ts +0 -42
  191. package/dist/yahoo/write/transactions.d.ts.map +0 -1
  192. package/dist/yahoo/write/transactions.js +0 -51
  193. package/dist/yahoo/write/transactions.js.map +0 -1
  194. package/dist/yahoo/xml.d.ts +0 -42
  195. package/dist/yahoo/xml.d.ts.map +0 -1
  196. package/dist/yahoo/xml.js +0 -134
  197. package/dist/yahoo/xml.js.map +0 -1
package/README.md CHANGED
@@ -8,7 +8,6 @@
8
8
  </p>
9
9
  <br/>
10
10
 
11
-
12
11
  <p align="center">
13
12
  <a href="https://github.com/jacobra19/fantasy-basketball-sdk/actions?query=branch%3Amain"><img src="https://github.com/jacobra19/fantasy-basketball-sdk/actions/workflows/ci.yml/badge.svg?event=push&branch=main" alt="CI status" /></a>
14
13
  <a href="https://opensource.org/licenses/MIT" rel="nofollow"><img src="https://img.shields.io/github/license/jacobra19/fantasy-basketball-sdk" alt="License"></a>
@@ -54,10 +53,55 @@ Releases are published automatically to npm when releasable changes merge to `ma
54
53
  For local development or testing before a release:
55
54
 
56
55
  ```bash
57
- npm install /path/to/fantasy-basketball-sdk
58
- # or: npm install github:jacobra19/fantasy-basketball-sdk
56
+ # Pack and install the built tarball (recommended)
57
+ npm run build && npm pack
58
+ npm install /path/to/fantasy-basketball-sdk/fantasy-basketball-sdk-*.tgz
59
+
60
+ # Or link for iterative development
61
+ npm link
62
+ ```
63
+
64
+ ## MCP CLI
65
+
66
+ The package publishes a read-only MCP stdio server as `fantasy-basketball-mcp`.
67
+ Use it from an MCP client, or run diagnostics directly from a shell:
68
+
69
+ ```bash
70
+ npx -p fantasy-basketball-sdk fantasy-basketball-mcp --help
71
+ npx -p fantasy-basketball-sdk fantasy-basketball-mcp --version
72
+ npx -p fantasy-basketball-sdk fantasy-basketball-mcp --diagnose
73
+ ```
74
+
75
+ Configure credentials in your MCP client environment, not in source control:
76
+
77
+ ```bash
78
+ ESPN_LEAGUE_ID=123456
79
+ ESPN_SEASON_ID=2025
80
+ ESPN_S2=... # private ESPN leagues only
81
+ ESPN_SWID=... # private ESPN leagues only
82
+
83
+ YAHOO_ACCESS_TOKEN=...
84
+ YAHOO_LEAGUE_KEY=... # or use YAHOO_LEAGUE_ID plus YAHOO_SEASON
85
+ ```
86
+
87
+ Diagnostics print sanitized readiness data only; secret values are never shown. For deeper troubleshooting, set `FANTASY_BASKETBALL_MCP_DEBUG=1` or pass `--debug` when launching the server. Debug output is redacted and appears only in error responses or stderr.
88
+
89
+ Exit codes:
90
+
91
+ - `0`: help, version, diagnostics, or server startup completed successfully.
92
+ - `1`: startup failed.
93
+ - `2`: unsupported CLI arguments.
94
+
95
+ Docker usage:
96
+
97
+ ```bash
98
+ docker build -t fantasy-basketball-mcp .
99
+ docker run --rm fantasy-basketball-mcp --version
100
+ docker run --rm --env ESPN_LEAGUE_ID --env ESPN_SEASON_ID fantasy-basketball-mcp
59
101
  ```
60
102
 
103
+ When reporting MCP/CLI bugs, include `fantasy-basketball-mcp --version`, `node --version`, your OS, the sanitized `--diagnose` output, the MCP client, and any `FB_MCP_*` error code. Do not include ESPN cookies, Yahoo tokens, or private league data.
104
+
61
105
  ## Quick start
62
106
 
63
107
  Import only what you need. Prefer a **provider subpath** when you work with one platform so bundlers can tree-shake the rest.
@@ -150,14 +194,14 @@ const league = await League.create({ leagueId: 123456, seasonId: 2025 });
150
194
 
151
195
  ## Subpath exports
152
196
 
153
- | Subpath | Purpose | Main symbols (today) |
154
- | -------------------------------- | -------------------------- | ---------------------------------- |
155
- | `fantasy-basketball-sdk` | Root entry | `Provider`, `PROVIDERS` |
156
- | `fantasy-basketball-sdk/espn` | ESPN NBA read API | `League`, `Team`, `Player`, `Matchup` |
197
+ | Subpath | Purpose | Main symbols (today) |
198
+ | -------------------------------- | ---------------------------- | ------------------------------------------------- |
199
+ | `fantasy-basketball-sdk` | Root entry | `Provider`, `PROVIDERS` |
200
+ | `fantasy-basketball-sdk/espn` | ESPN NBA read API | `League`, `Team`, `Player`, `Matchup` |
157
201
  | `fantasy-basketball-sdk/yahoo` | Yahoo NBA API (read + write) | `League`, `Game`, `Team`, `Player`, `YahooClient` |
158
- | `fantasy-basketball-sdk/fantrax` | Fantrax module | `PROVIDER` |
159
- | `fantasy-basketball-sdk/core` | Shared types and constants | `Provider`, `PROVIDERS` |
160
- | `fantasy-basketball-sdk/runtime` | HTTP adapter | `FetchClient`, `createFetchClient` |
202
+ | `fantasy-basketball-sdk/fantrax` | Fantrax module | `PROVIDER` |
203
+ | `fantasy-basketball-sdk/core` | Shared types and constants | `Provider`, `PROVIDERS` |
204
+ | `fantasy-basketball-sdk/runtime` | HTTP adapter | `FetchClient`, `createFetchClient` |
161
205
 
162
206
  ## Tree-shaking
163
207
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fantasy-basketball-sdk",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Tree-shakeable fantasy basketball API SDK for ESPN, Yahoo, Fantrax, and more",
5
5
  "author": "Yakov Rakhamimov",
6
6
  "type": "module",
@@ -64,13 +64,19 @@
64
64
  "lint": "eslint src",
65
65
  "format": "prettier --check .",
66
66
  "format:write": "prettier --write .",
67
- "verify": "publint && node scripts/verify-dist.mjs",
67
+ "release": "semantic-release",
68
+ "security:lockfile": "lockfile-lint --path package-lock.json --type npm --allowed-hosts npm --validate-https --validate-package-names",
69
+ "security:audit": "npm audit --audit-level=moderate",
70
+ "security:signatures": "npm audit signatures",
71
+ "security": "npm run security:lockfile && npm run security:audit",
72
+ "verify": "publint && node scripts/verify-dist.mjs && node scripts/smoke-mcp.mjs",
68
73
  "prepublishOnly": "npm run build && npm run verify"
69
74
  },
70
75
  "devDependencies": {
71
76
  "@eslint/js": "^9.28.0",
72
77
  "@types/node": "^22.15.29",
73
78
  "eslint": "^9.28.0",
79
+ "lockfile-lint": "^4.14.1",
74
80
  "prettier": "^3.5.3",
75
81
  "publint": "^0.3.12",
76
82
  "semantic-release": "^25.0.3",
@@ -1,3 +0,0 @@
1
- export type { Provider } from './types.js';
2
- export { PROVIDERS } from './providers.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,2 +0,0 @@
1
- import { PROVIDERS } from "./providers.js";
2
- export { PROVIDERS };
@@ -1,2 +0,0 @@
1
- export declare const PROVIDERS: readonly ["espn", "yahoo", "fantrax"];
2
- //# sourceMappingURL=providers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/core/providers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,uCAAsE,CAAC"}
@@ -1,10 +0,0 @@
1
- //#region src/core/providers.ts
2
- var PROVIDERS = [
3
- "espn",
4
- "yahoo",
5
- "fantrax"
6
- ];
7
- //#endregion
8
- export { PROVIDERS };
9
-
10
- //# sourceMappingURL=providers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.js","names":[],"sources":["../../src/core/providers.ts"],"sourcesContent":["import type { Provider } from './types.js';\n\nexport const PROVIDERS = ['espn', 'yahoo', 'fantrax'] as const satisfies readonly Provider[];\n"],"mappings":";AAEA,IAAa,YAAY;CAAC;CAAQ;CAAS;AAAS"}
@@ -1,2 +0,0 @@
1
- export type Provider = 'espn' | 'yahoo' | 'fantrax';
2
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
@@ -1,37 +0,0 @@
1
- import type { EspnLeagueResponse, EspnProPlayer, EspnProScheduleResponse } from './types/raw.js';
2
- export interface EspnClientOptions {
3
- leagueId: number;
4
- seasonId: number;
5
- espnS2?: string;
6
- swid?: string;
7
- fetch?: typeof globalThis.fetch;
8
- }
9
- export interface RequestOptions {
10
- params?: Record<string, string | number | string[] | number[] | undefined>;
11
- headers?: Record<string, string>;
12
- extend?: string;
13
- }
14
- export declare class EspnClient {
15
- readonly leagueId: number;
16
- readonly seasonId: number;
17
- private readonly fetchFn;
18
- private readonly cookieHeader;
19
- private readonly endpoint;
20
- private readonly newsEndpoint;
21
- private leagueEndpoint;
22
- constructor(options: EspnClientOptions);
23
- private buildLeagueEndpoint;
24
- private swapLeagueEndpoint;
25
- private requestJson;
26
- private checkLeagueStatus;
27
- leagueGet(options?: RequestOptions): Promise<EspnLeagueResponse>;
28
- get(options?: RequestOptions): Promise<unknown>;
29
- newsGet(options?: RequestOptions): Promise<unknown>;
30
- getLeague(): Promise<EspnLeagueResponse>;
31
- getProSchedule(): Promise<EspnProScheduleResponse>;
32
- getProPlayers(): Promise<EspnProPlayer[]>;
33
- getLeagueDraft(): Promise<EspnLeagueResponse>;
34
- getPlayerCard(playerIds: number[], maxScoringPeriod: number, additionalFilters?: string[]): Promise<EspnLeagueResponse>;
35
- getPlayerNews(playerId: number): Promise<unknown>;
36
- }
37
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/espn/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGjG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,EAAE,iBAAiB;IAUtC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;YASZ,WAAW;YAUX,iBAAiB;IA0CzB,SAAS,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8BpE,GAAG,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBnD,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBvD,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAcxC,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAMlD,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAUzC,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM7C,aAAa,CACjB,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IAsBxB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGxD"}
@@ -1,185 +0,0 @@
1
- import { FANTASY_BASE_ENDPOINT, NEWS_BASE_ENDPOINT, SPORT_PATH, View } from './constants.js';
2
- import { EspnAccessDenied, EspnApiError, EspnInvalidLeague, assertEspnResponse, } from './errors.js';
3
- import { buildCookieHeader, buildQueryString } from './utils.js';
4
- export class EspnClient {
5
- leagueId;
6
- seasonId;
7
- fetchFn;
8
- cookieHeader;
9
- endpoint;
10
- newsEndpoint;
11
- leagueEndpoint;
12
- constructor(options) {
13
- this.leagueId = options.leagueId;
14
- this.seasonId = options.seasonId;
15
- this.fetchFn = options.fetch ?? globalThis.fetch;
16
- this.cookieHeader = buildCookieHeader(options.espnS2, options.swid);
17
- this.endpoint = `${FANTASY_BASE_ENDPOINT}${SPORT_PATH}/seasons/${options.seasonId}`;
18
- this.newsEndpoint = `${NEWS_BASE_ENDPOINT}${SPORT_PATH}/news/players`;
19
- this.leagueEndpoint = this.buildLeagueEndpoint(options.seasonId, options.leagueId);
20
- }
21
- buildLeagueEndpoint(seasonId, leagueId) {
22
- const base = `${FANTASY_BASE_ENDPOINT}${SPORT_PATH}`;
23
- if (seasonId < 2018) {
24
- return `${base}/leagueHistory/${leagueId}?seasonId=${seasonId}`;
25
- }
26
- return `${base}/seasons/${seasonId}/segments/0/leagues/${leagueId}`;
27
- }
28
- swapLeagueEndpoint() {
29
- const base = `${FANTASY_BASE_ENDPOINT}${SPORT_PATH}`;
30
- if (this.leagueEndpoint.includes('/leagueHistory/')) {
31
- this.leagueEndpoint = `${base}/seasons/${this.seasonId}/segments/0/leagues/${this.leagueId}`;
32
- }
33
- else {
34
- this.leagueEndpoint = `${base}/leagueHistory/${this.leagueId}?seasonId=${this.seasonId}`;
35
- }
36
- }
37
- async requestJson(url, init) {
38
- const headers = new Headers(init?.headers);
39
- if (this.cookieHeader) {
40
- headers.set('Cookie', this.cookieHeader);
41
- }
42
- const response = await this.fetchFn(url, { ...init, headers });
43
- return { response, body: await response.json() };
44
- }
45
- async checkLeagueStatus(status, extend, params, headers) {
46
- if (status === 401) {
47
- const originalEndpoint = this.leagueEndpoint;
48
- this.swapLeagueEndpoint();
49
- const query = buildQueryString(params ?? {});
50
- const url = `${this.leagueEndpoint}${extend}${query}`;
51
- const retryHeaders = new Headers(headers);
52
- if (this.cookieHeader) {
53
- retryHeaders.set('Cookie', this.cookieHeader);
54
- }
55
- const retryResponse = await this.fetchFn(url, { headers: retryHeaders });
56
- if (retryResponse.ok) {
57
- return retryResponse.json();
58
- }
59
- this.leagueEndpoint = originalEndpoint;
60
- if (!this.cookieHeader) {
61
- throw new EspnAccessDenied();
62
- }
63
- throw new EspnAccessDenied(`League ${this.leagueId} cannot be accessed with the provided credentials`);
64
- }
65
- if (status === 404) {
66
- throw new EspnInvalidLeague(this.leagueId);
67
- }
68
- if (status !== 200) {
69
- throw new EspnApiError(status);
70
- }
71
- return null;
72
- }
73
- async leagueGet(options = {}) {
74
- const { params, headers, extend = '' } = options;
75
- const query = buildQueryString(params ?? {});
76
- const url = `${this.leagueEndpoint}${extend}${query}`;
77
- const requestHeaders = new Headers(headers);
78
- if (this.cookieHeader) {
79
- requestHeaders.set('Cookie', this.cookieHeader);
80
- }
81
- const response = await this.fetchFn(url, { headers: requestHeaders });
82
- const alternate = await this.checkLeagueStatus(response.status, extend, params, headers);
83
- let data;
84
- if (alternate !== null) {
85
- data = alternate;
86
- }
87
- else if (!response.ok) {
88
- throw new EspnApiError(response.status);
89
- }
90
- else {
91
- data = await response.json();
92
- }
93
- if (Array.isArray(data)) {
94
- data = data[0];
95
- }
96
- assertEspnResponse(data);
97
- return data;
98
- }
99
- async get(options = {}) {
100
- const { params, headers, extend = '' } = options;
101
- const query = buildQueryString(params ?? {});
102
- const url = `${this.endpoint}${extend}${query}`;
103
- const requestHeaders = new Headers(headers);
104
- if (this.cookieHeader) {
105
- requestHeaders.set('Cookie', this.cookieHeader);
106
- }
107
- const response = await this.fetchFn(url, { headers: requestHeaders });
108
- await this.checkLeagueStatus(response.status, extend, params, headers);
109
- if (!response.ok) {
110
- throw new EspnApiError(response.status);
111
- }
112
- const data = await response.json();
113
- assertEspnResponse(data);
114
- return data;
115
- }
116
- async newsGet(options = {}) {
117
- const { params, headers, extend = '' } = options;
118
- const query = buildQueryString(params ?? {});
119
- const url = `${this.newsEndpoint}${extend}${query}`;
120
- const requestHeaders = new Headers(headers);
121
- if (this.cookieHeader) {
122
- requestHeaders.set('Cookie', this.cookieHeader);
123
- }
124
- const response = await this.fetchFn(url, { headers: requestHeaders });
125
- if (!response.ok) {
126
- throw new EspnApiError(response.status);
127
- }
128
- return response.json();
129
- }
130
- async getLeague() {
131
- return this.leagueGet({
132
- params: {
133
- view: [
134
- View.MTeam,
135
- View.MRoster,
136
- View.MMatchup,
137
- View.MSettings,
138
- View.MStandings,
139
- ],
140
- },
141
- });
142
- }
143
- async getProSchedule() {
144
- return (await this.get({
145
- params: { view: View.ProTeamSchedules },
146
- }));
147
- }
148
- async getProPlayers() {
149
- const filters = { filterActive: { value: true } };
150
- const data = await this.get({
151
- extend: '/players',
152
- params: { view: View.Players },
153
- headers: { 'x-fantasy-filter': JSON.stringify(filters) },
154
- });
155
- return data;
156
- }
157
- async getLeagueDraft() {
158
- return this.leagueGet({
159
- params: { view: View.MDraftDetail },
160
- });
161
- }
162
- async getPlayerCard(playerIds, maxScoringPeriod, additionalFilters) {
163
- const additionalValue = [`00${this.seasonId}`, `10${this.seasonId}`];
164
- if (additionalFilters) {
165
- additionalValue.push(...additionalFilters);
166
- }
167
- const filters = {
168
- players: {
169
- filterIds: { value: playerIds },
170
- filterStatsForTopScoringPeriodIds: {
171
- value: maxScoringPeriod,
172
- additionalValue,
173
- },
174
- },
175
- };
176
- return this.leagueGet({
177
- params: { view: View.KonaPlayerCard },
178
- headers: { 'x-fantasy-filter': JSON.stringify(filters) },
179
- });
180
- }
181
- async getPlayerNews(playerId) {
182
- return this.newsGet({ params: { playerId } });
183
- }
184
- }
185
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/espn/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgBjE,MAAM,OAAO,UAAU;IACZ,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAET,OAAO,CAA0B;IACjC,YAAY,CAAqB;IACjC,QAAQ,CAAS;IACjB,YAAY,CAAS;IAC9B,cAAc,CAAS;IAE/B,YAAY,OAA0B;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,GAAG,qBAAqB,GAAG,UAAU,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpF,IAAI,CAAC,YAAY,GAAG,GAAG,kBAAkB,GAAG,UAAU,eAAe,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrF,CAAC;IAEO,mBAAmB,CAAC,QAAgB,EAAE,QAAgB;QAC5D,MAAM,IAAI,GAAG,GAAG,qBAAqB,GAAG,UAAU,EAAE,CAAC;QACrD,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YACpB,OAAO,GAAG,IAAI,kBAAkB,QAAQ,aAAa,QAAQ,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,IAAI,YAAY,QAAQ,uBAAuB,QAAQ,EAAE,CAAC;IACtE,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,GAAG,qBAAqB,GAAG,UAAU,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,GAAG,IAAI,YAAY,IAAI,CAAC,QAAQ,uBAAuB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,GAAG,GAAG,IAAI,kBAAkB,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,IAAkB;QACvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAAc,EACd,MAAc,EACd,MAAiC,EACjC,OAAgC;QAEhC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC;YAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACzE,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;gBACrB,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,UAAU,IAAI,CAAC,QAAQ,mDAAmD,CAC3E,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAA0B,EAAE;QAC1C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC;QAEtD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEzF,IAAI,IAAa,CAAC;QAClB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAA0B,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAA0B,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC;QAEhD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC;QAEpD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,OAAO;oBACZ,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,SAAS;oBACd,IAAI,CAAC,UAAU;iBAChB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE;SACxC,CAAC,CAA4B,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;YAC1B,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YAC9B,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;SACzD,CAAC,CAAC;QACH,OAAO,IAAuB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,SAAmB,EACnB,gBAAwB,EACxB,iBAA4B;QAE5B,MAAM,eAAe,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,iBAAiB,EAAE,CAAC;YACtB,eAAe,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG;YACd,OAAO,EAAE;gBACP,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC/B,iCAAiC,EAAE;oBACjC,KAAK,EAAE,gBAAgB;oBACvB,eAAe;iBAChB;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -1,34 +0,0 @@
1
- export declare const FANTASY_BASE_ENDPOINT = "https://lm-api-reads.fantasy.espn.com/apis/v3/games/";
2
- export declare const NEWS_BASE_ENDPOINT = "https://site.api.espn.com/apis/fantasy/v3/games/";
3
- export declare const SPORT_PATH = "fba";
4
- export declare const View: {
5
- readonly Modular: "modular";
6
- readonly MNav: "mNav";
7
- readonly MSettings: "mSettings";
8
- readonly MStatus: "mStatus";
9
- readonly MTeam: "mTeam";
10
- readonly MBoxscore: "mBoxscore";
11
- readonly MMatchupScore: "mMatchupScore";
12
- readonly MRoster: "mRoster";
13
- readonly MScoreboard: "mScoreboard";
14
- readonly MTopPerformers: "mTopPerformers";
15
- readonly KonaGameState: "kona_game_state";
16
- readonly MMatchup: "mMatchup";
17
- readonly MStandings: "mStandings";
18
- readonly MDraftDetail: "mDraftDetail";
19
- readonly KonaPlayerInfo: "kona_player_info";
20
- readonly KonaPlayerCard: "kona_playercard";
21
- readonly KonaLeagueCommunication: "kona_league_communication";
22
- readonly MTransactions2: "mTransactions2";
23
- readonly ProTeamSchedules: "proTeamSchedules_wl";
24
- readonly Players: "players_wl";
25
- };
26
- export type ViewValue = (typeof View)[keyof typeof View];
27
- export declare const POSITION_MAP: Record<number | string, number | string>;
28
- export declare const PRO_TEAM_MAP: Record<number, string>;
29
- export declare const STATS_MAP: Record<string, string>;
30
- export declare const STAT_ID_MAP: Record<string, string>;
31
- export declare const ACTIVITY_MAP: Record<number | string, number | string>;
32
- export declare const TRANSACTION_TYPES: Set<string>;
33
- export declare const NINE_CAT_STATS: Set<string>;
34
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/espn/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,yDACsB,CAAC;AACzD,eAAO,MAAM,kBAAkB,qDAAqD,CAAC;AACrF,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;CAqBP,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AAEzD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAgCjE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgC/C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+C5C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM9C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAWjE,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAc5B,CAAC;AAEH,eAAO,MAAM,cAAc,aAUzB,CAAC"}
@@ -1,185 +0,0 @@
1
- export const FANTASY_BASE_ENDPOINT = 'https://lm-api-reads.fantasy.espn.com/apis/v3/games/';
2
- export const NEWS_BASE_ENDPOINT = 'https://site.api.espn.com/apis/fantasy/v3/games/';
3
- export const SPORT_PATH = 'fba';
4
- export const View = {
5
- Modular: 'modular',
6
- MNav: 'mNav',
7
- MSettings: 'mSettings',
8
- MStatus: 'mStatus',
9
- MTeam: 'mTeam',
10
- MBoxscore: 'mBoxscore',
11
- MMatchupScore: 'mMatchupScore',
12
- MRoster: 'mRoster',
13
- MScoreboard: 'mScoreboard',
14
- MTopPerformers: 'mTopPerformers',
15
- KonaGameState: 'kona_game_state',
16
- MMatchup: 'mMatchup',
17
- MStandings: 'mStandings',
18
- MDraftDetail: 'mDraftDetail',
19
- KonaPlayerInfo: 'kona_player_info',
20
- KonaPlayerCard: 'kona_playercard',
21
- KonaLeagueCommunication: 'kona_league_communication',
22
- MTransactions2: 'mTransactions2',
23
- ProTeamSchedules: 'proTeamSchedules_wl',
24
- Players: 'players_wl',
25
- };
26
- export const POSITION_MAP = {
27
- 0: 'PG',
28
- 1: 'SG',
29
- 2: 'SF',
30
- 3: 'PF',
31
- 4: 'C',
32
- 5: 'G',
33
- 6: 'F',
34
- 7: 'SG/SF',
35
- 8: 'G/F',
36
- 9: 'PF/C',
37
- 10: 'F/C',
38
- 11: 'UT',
39
- 12: 'BE',
40
- 13: 'IR',
41
- 14: '',
42
- 15: 'Rookie',
43
- PG: 0,
44
- SG: 1,
45
- SF: 2,
46
- PF: 3,
47
- C: 4,
48
- G: 5,
49
- F: 6,
50
- 'SG/SF': 7,
51
- 'G/F': 8,
52
- 'PF/C': 9,
53
- 'F/C': 10,
54
- UT: 11,
55
- BE: 12,
56
- IR: 13,
57
- Rookie: 15,
58
- };
59
- export const PRO_TEAM_MAP = {
60
- 0: 'FA',
61
- 1: 'ATL',
62
- 2: 'BOS',
63
- 3: 'NOP',
64
- 4: 'CHI',
65
- 5: 'CLE',
66
- 6: 'DAL',
67
- 7: 'DEN',
68
- 8: 'DET',
69
- 9: 'GSW',
70
- 10: 'HOU',
71
- 11: 'IND',
72
- 12: 'LAC',
73
- 13: 'LAL',
74
- 14: 'MIA',
75
- 15: 'MIL',
76
- 16: 'MIN',
77
- 17: 'BKN',
78
- 18: 'NYK',
79
- 19: 'ORL',
80
- 20: 'PHL',
81
- 21: 'PHO',
82
- 22: 'POR',
83
- 23: 'SAC',
84
- 24: 'SAS',
85
- 25: 'OKC',
86
- 26: 'UTA',
87
- 27: 'WAS',
88
- 28: 'TOR',
89
- 29: 'MEM',
90
- 30: 'CHA',
91
- };
92
- export const STATS_MAP = {
93
- '0': 'PTS',
94
- '1': 'BLK',
95
- '2': 'STL',
96
- '3': 'AST',
97
- '4': 'OREB',
98
- '5': 'DREB',
99
- '6': 'REB',
100
- '7': 'EJ',
101
- '8': 'FF',
102
- '9': 'PF',
103
- '10': 'TF',
104
- '11': 'TO',
105
- '12': 'DQ',
106
- '13': 'FGM',
107
- '14': 'FGA',
108
- '15': 'FTM',
109
- '16': 'FTA',
110
- '17': '3PM',
111
- '18': '3PA',
112
- '19': 'FG%',
113
- '20': 'FT%',
114
- '21': '3PT%',
115
- '22': 'AFG%',
116
- '23': 'FGMI',
117
- '24': 'FTMI',
118
- '25': '3PMI',
119
- '26': 'APG',
120
- '27': 'BPG',
121
- '28': 'MPG',
122
- '29': 'PPG',
123
- '30': 'RPG',
124
- '31': 'SPG',
125
- '32': 'TOPG',
126
- '33': '3PG',
127
- '34': 'PPM',
128
- '35': 'A/TO',
129
- '36': 'STR',
130
- '37': 'DD',
131
- '38': 'TD',
132
- '39': 'QD',
133
- '40': 'MIN',
134
- '41': 'GS',
135
- '42': 'GP',
136
- '43': 'TW',
137
- '44': 'FTR',
138
- '45': '45',
139
- };
140
- export const STAT_ID_MAP = {
141
- '00': 'total',
142
- '10': 'projected',
143
- '01': 'last_7',
144
- '02': 'last_15',
145
- '03': 'last_30',
146
- };
147
- export const ACTIVITY_MAP = {
148
- 178: 'FA ADDED',
149
- 180: 'WAIVER ADDED',
150
- 179: 'DROPPED',
151
- 181: 'DROPPED',
152
- 188: 'MOVED',
153
- 239: 'DROPPED',
154
- 244: 'TRADED',
155
- FA: 178,
156
- WAIVER: 180,
157
- TRADED: 244,
158
- };
159
- export const TRANSACTION_TYPES = new Set([
160
- 'DRAFT',
161
- 'TRADE_ACCEPT',
162
- 'WAIVER',
163
- 'TRADE_VETO',
164
- 'FUTURE_ROSTER',
165
- 'ROSTER',
166
- 'RETRO_ROSTER',
167
- 'TRADE_PROPOSAL',
168
- 'TRADE_UPHOLD',
169
- 'FREEAGENT',
170
- 'TRADE_DECLINE',
171
- 'WAIVER_ERROR',
172
- 'TRADE_ERROR',
173
- ]);
174
- export const NINE_CAT_STATS = new Set([
175
- '3PM',
176
- 'AST',
177
- 'BLK',
178
- 'FG%',
179
- 'FT%',
180
- 'PTS',
181
- 'REB',
182
- 'STL',
183
- 'TO',
184
- ]);
185
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/espn/constants.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export declare class EspnAccessDenied extends Error {
2
- readonly name = "EspnAccessDenied";
3
- constructor(message?: string);
4
- }
5
- export declare class EspnInvalidLeague extends Error {
6
- readonly name = "EspnInvalidLeague";
7
- constructor(leagueId: number);
8
- }
9
- export declare class EspnApiError extends Error {
10
- readonly name = "EspnApiError";
11
- readonly status: number;
12
- constructor(status: number, message?: string);
13
- }
14
- export declare class EspnResponseError extends Error {
15
- readonly name = "EspnResponseError";
16
- constructor(message: string);
17
- }
18
- export declare function assertEspnResponse(data: unknown): void;
19
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/espn/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;gBAEhC,OAAO,SAAsD;CAG1E;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,uBAAuB;gBAEjC,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAkB,IAAI,kBAAkB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAI7C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,uBAAuB;gBAEjC,OAAO,EAAE,MAAM;CAG5B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAUtD"}