fantasy-basketball-sdk 0.0.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.
- package/AGENTS.md +101 -0
- package/LICENSE +13 -0
- package/README.md +195 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +2 -0
- package/dist/core/providers.d.ts +2 -0
- package/dist/core/providers.d.ts.map +1 -0
- package/dist/core/providers.js +10 -0
- package/dist/core/providers.js.map +1 -0
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/espn/client.d.ts +37 -0
- package/dist/espn/client.d.ts.map +1 -0
- package/dist/espn/client.js +145 -0
- package/dist/espn/client.js.map +1 -0
- package/dist/espn/constants.d.ts +34 -0
- package/dist/espn/constants.d.ts.map +1 -0
- package/dist/espn/constants.js +189 -0
- package/dist/espn/constants.js.map +1 -0
- package/dist/espn/errors.d.ts +19 -0
- package/dist/espn/errors.d.ts.map +1 -0
- package/dist/espn/errors.js +34 -0
- package/dist/espn/errors.js.map +1 -0
- package/dist/espn/index.d.ts +18 -0
- package/dist/espn/index.d.ts.map +1 -0
- package/dist/espn/index.js +19 -0
- package/dist/espn/index.js.map +1 -0
- package/dist/espn/league.d.ts +76 -0
- package/dist/espn/league.d.ts.map +1 -0
- package/dist/espn/league.js +285 -0
- package/dist/espn/league.js.map +1 -0
- package/dist/espn/models/activity.d.ts +14 -0
- package/dist/espn/models/activity.d.ts.map +1 -0
- package/dist/espn/models/activity.js +36 -0
- package/dist/espn/models/activity.js.map +1 -0
- package/dist/espn/models/box-player.d.ts +11 -0
- package/dist/espn/models/box-player.d.ts.map +1 -0
- package/dist/espn/models/box-player.js +37 -0
- package/dist/espn/models/box-player.js.map +1 -0
- package/dist/espn/models/box-score.d.ts +45 -0
- package/dist/espn/models/box-score.d.ts.map +1 -0
- package/dist/espn/models/box-score.js +111 -0
- package/dist/espn/models/box-score.js.map +1 -0
- package/dist/espn/models/matchup.d.ts +22 -0
- package/dist/espn/models/matchup.d.ts.map +1 -0
- package/dist/espn/models/matchup.js +51 -0
- package/dist/espn/models/matchup.js.map +1 -0
- package/dist/espn/models/pick.d.ts +13 -0
- package/dist/espn/models/pick.d.ts.map +1 -0
- package/dist/espn/models/pick.js +25 -0
- package/dist/espn/models/pick.js.map +1 -0
- package/dist/espn/models/player.d.ts +47 -0
- package/dist/espn/models/player.d.ts.map +1 -0
- package/dist/espn/models/player.js +120 -0
- package/dist/espn/models/player.js.map +1 -0
- package/dist/espn/models/settings.d.ts +29 -0
- package/dist/espn/models/settings.d.ts.map +1 -0
- package/dist/espn/models/settings.js +64 -0
- package/dist/espn/models/settings.js.map +1 -0
- package/dist/espn/models/team.d.ts +33 -0
- package/dist/espn/models/team.d.ts.map +1 -0
- package/dist/espn/models/team.js +81 -0
- package/dist/espn/models/team.js.map +1 -0
- package/dist/espn/models/transaction.d.ts +18 -0
- package/dist/espn/models/transaction.d.ts.map +1 -0
- package/dist/espn/models/transaction.js +32 -0
- package/dist/espn/models/transaction.js.map +1 -0
- package/dist/espn/types/raw.d.ts +26 -0
- package/dist/espn/types/raw.d.ts.map +1 -0
- package/dist/espn/utils.d.ts +5 -0
- package/dist/espn/utils.d.ts.map +1 -0
- package/dist/espn/utils.js +35 -0
- package/dist/espn/utils.js.map +1 -0
- package/dist/fantrax/index.d.ts +2 -0
- package/dist/fantrax/index.d.ts.map +1 -0
- package/dist/fantrax/index.js +6 -0
- package/dist/fantrax/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/runtime/fetch.d.ts +5 -0
- package/dist/runtime/fetch.d.ts.map +1 -0
- package/dist/runtime/fetch.js +8 -0
- package/dist/runtime/fetch.js.map +1 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +2 -0
- package/dist/yahoo/client.d.ts +22 -0
- package/dist/yahoo/client.d.ts.map +1 -0
- package/dist/yahoo/client.js +89 -0
- package/dist/yahoo/client.js.map +1 -0
- package/dist/yahoo/constants.d.ts +41 -0
- package/dist/yahoo/constants.d.ts.map +1 -0
- package/dist/yahoo/constants.js +42 -0
- package/dist/yahoo/constants.js.map +1 -0
- package/dist/yahoo/errors.d.ts +24 -0
- package/dist/yahoo/errors.d.ts.map +1 -0
- package/dist/yahoo/errors.js +51 -0
- package/dist/yahoo/errors.js.map +1 -0
- package/dist/yahoo/index.d.ts +30 -0
- package/dist/yahoo/index.d.ts.map +1 -0
- package/dist/yahoo/index.js +23 -0
- package/dist/yahoo/index.js.map +1 -0
- package/dist/yahoo/keys.d.ts +29 -0
- package/dist/yahoo/keys.d.ts.map +1 -0
- package/dist/yahoo/keys.js +63 -0
- package/dist/yahoo/keys.js.map +1 -0
- package/dist/yahoo/models/game.d.ts +31 -0
- package/dist/yahoo/models/game.d.ts.map +1 -0
- package/dist/yahoo/models/game.js +68 -0
- package/dist/yahoo/models/game.js.map +1 -0
- package/dist/yahoo/models/league.d.ts +62 -0
- package/dist/yahoo/models/league.d.ts.map +1 -0
- package/dist/yahoo/models/league.js +129 -0
- package/dist/yahoo/models/league.js.map +1 -0
- package/dist/yahoo/models/matchup.d.ts +12 -0
- package/dist/yahoo/models/matchup.d.ts.map +1 -0
- package/dist/yahoo/models/matchup.js +46 -0
- package/dist/yahoo/models/matchup.js.map +1 -0
- package/dist/yahoo/models/player.d.ts +34 -0
- package/dist/yahoo/models/player.d.ts.map +1 -0
- package/dist/yahoo/models/player.js +44 -0
- package/dist/yahoo/models/player.js.map +1 -0
- package/dist/yahoo/models/roster.d.ts +16 -0
- package/dist/yahoo/models/roster.d.ts.map +1 -0
- package/dist/yahoo/models/roster.js +46 -0
- package/dist/yahoo/models/roster.js.map +1 -0
- package/dist/yahoo/models/settings.d.ts +21 -0
- package/dist/yahoo/models/settings.d.ts.map +1 -0
- package/dist/yahoo/models/settings.js +79 -0
- package/dist/yahoo/models/settings.js.map +1 -0
- package/dist/yahoo/models/team.d.ts +40 -0
- package/dist/yahoo/models/team.d.ts.map +1 -0
- package/dist/yahoo/models/team.js +46 -0
- package/dist/yahoo/models/team.js.map +1 -0
- package/dist/yahoo/models/transaction.d.ts +10 -0
- package/dist/yahoo/models/transaction.d.ts.map +1 -0
- package/dist/yahoo/models/transaction.js +20 -0
- package/dist/yahoo/models/transaction.js.map +1 -0
- package/dist/yahoo/models/user.d.ts +19 -0
- package/dist/yahoo/models/user.d.ts.map +1 -0
- package/dist/yahoo/models/user.js +36 -0
- package/dist/yahoo/models/user.js.map +1 -0
- package/dist/yahoo/parse.d.ts +26 -0
- package/dist/yahoo/parse.d.ts.map +1 -0
- package/dist/yahoo/parse.js +116 -0
- package/dist/yahoo/parse.js.map +1 -0
- package/dist/yahoo/types/raw.d.ts +10 -0
- package/dist/yahoo/types/raw.d.ts.map +1 -0
- package/dist/yahoo/write/roster.d.ts +7 -0
- package/dist/yahoo/write/roster.d.ts.map +1 -0
- package/dist/yahoo/write/roster.js +13 -0
- package/dist/yahoo/write/roster.js.map +1 -0
- package/dist/yahoo/write/transactions.d.ts +42 -0
- package/dist/yahoo/write/transactions.d.ts.map +1 -0
- package/dist/yahoo/write/transactions.js +51 -0
- package/dist/yahoo/write/transactions.js.map +1 -0
- package/dist/yahoo/xml.d.ts +42 -0
- package/dist/yahoo/xml.d.ts.map +1 -0
- package/dist/yahoo/xml.js +118 -0
- package/dist/yahoo/xml.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type JsonObject = Record<string, unknown>;
|
|
2
|
+
export interface EspnLeagueResponse extends JsonObject {
|
|
3
|
+
id?: number;
|
|
4
|
+
seasonId?: number;
|
|
5
|
+
scoringPeriodId?: number;
|
|
6
|
+
schedule?: JsonObject[];
|
|
7
|
+
teams?: JsonObject[];
|
|
8
|
+
members?: JsonObject[];
|
|
9
|
+
settings?: JsonObject;
|
|
10
|
+
status?: JsonObject;
|
|
11
|
+
draftDetail?: JsonObject;
|
|
12
|
+
players?: JsonObject[];
|
|
13
|
+
transactions?: JsonObject[];
|
|
14
|
+
topics?: JsonObject[];
|
|
15
|
+
messages?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface EspnProPlayer {
|
|
18
|
+
id: number;
|
|
19
|
+
fullName: string;
|
|
20
|
+
}
|
|
21
|
+
export interface EspnProScheduleResponse extends JsonObject {
|
|
22
|
+
settings?: {
|
|
23
|
+
proTeams?: JsonObject[];
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=raw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../../src/espn/types/raw.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACzD,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;KACzB,CAAC;CACH"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Recursively pull the first value of `key` from nested JSON (Python json_parsing). */
|
|
2
|
+
export declare function jsonParsing(obj: unknown, key: string): unknown;
|
|
3
|
+
export declare function buildQueryString(params: Record<string, string | number | string[] | number[] | undefined>): string;
|
|
4
|
+
export declare function buildCookieHeader(espnS2?: string, swid?: string): string | undefined;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/espn/utils.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CA8B9D;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACxE,MAAM,CAeR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKpF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/espn/utils.ts
|
|
2
|
+
/** Recursively pull the first value of `key` from nested JSON (Python json_parsing). */
|
|
3
|
+
function jsonParsing(obj, key) {
|
|
4
|
+
const results = [];
|
|
5
|
+
function extract(value) {
|
|
6
|
+
if (value === null || value === void 0) return;
|
|
7
|
+
if (Array.isArray(value)) {
|
|
8
|
+
for (const item of value) extract(item);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (typeof value === "object") {
|
|
12
|
+
for (const [k, v] of Object.entries(value)) if (k === key) results.push(v);
|
|
13
|
+
else if (typeof v === "object" && v !== null && (Array.isArray(v) || typeof v === "object")) extract(v);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
extract(obj);
|
|
17
|
+
return results[0];
|
|
18
|
+
}
|
|
19
|
+
function buildQueryString(params) {
|
|
20
|
+
const parts = [];
|
|
21
|
+
for (const [key, value] of Object.entries(params)) {
|
|
22
|
+
if (value === void 0) continue;
|
|
23
|
+
if (Array.isArray(value)) for (const item of value) parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(item))}`);
|
|
24
|
+
else parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
|
|
25
|
+
}
|
|
26
|
+
return parts.length > 0 ? `?${parts.join("&")}` : "";
|
|
27
|
+
}
|
|
28
|
+
function buildCookieHeader(espnS2, swid) {
|
|
29
|
+
if (!espnS2 || !swid) return;
|
|
30
|
+
return `espn_s2=${espnS2}; SWID=${swid}`;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { buildCookieHeader, buildQueryString, jsonParsing };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../src/espn/utils.ts"],"sourcesContent":["/** Recursively pull the first value of `key` from nested JSON (Python json_parsing). */\nexport function jsonParsing(obj: unknown, key: string): unknown {\n const results: unknown[] = [];\n\n function extract(value: unknown): void {\n if (value === null || value === undefined) {\n return;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n extract(item);\n }\n return;\n }\n if (typeof value === 'object') {\n for (const [k, v] of Object.entries(value)) {\n if (k === key) {\n results.push(v);\n } else if (\n typeof v === 'object' &&\n v !== null &&\n (Array.isArray(v) || typeof v === 'object')\n ) {\n extract(v);\n }\n }\n }\n }\n\n extract(obj);\n return results[0];\n}\n\nexport function buildQueryString(\n params: Record<string, string | number | string[] | number[] | undefined>,\n): string {\n const parts: string[] = [];\n for (const [key, value] of Object.entries(params)) {\n if (value === undefined) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(item))}`);\n }\n } else {\n parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n }\n }\n return parts.length > 0 ? `?${parts.join('&')}` : '';\n}\n\nexport function buildCookieHeader(espnS2?: string, swid?: string): string | undefined {\n if (!espnS2 || !swid) {\n return undefined;\n }\n return `espn_s2=${espnS2}; SWID=${swid}`;\n}\n"],"mappings":";;AACA,SAAgB,YAAY,KAAc,KAAsB;CAC9D,MAAM,UAAqB,CAAC;CAE5B,SAAS,QAAQ,OAAsB;EACrC,IAAI,UAAU,QAAQ,UAAU,KAAA,GAC9B;EAEF,IAAI,MAAM,QAAQ,KAAK,GAAG;GACxB,KAAK,MAAM,QAAQ,OACjB,QAAQ,IAAI;GAEd;EACF;EACA,IAAI,OAAO,UAAU;QACd,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,KAAK,GACvC,IAAI,MAAM,KACR,QAAQ,KAAK,CAAC;QACT,IACL,OAAO,MAAM,YACb,MAAM,SACL,MAAM,QAAQ,CAAC,KAAK,OAAO,MAAM,WAElC,QAAQ,CAAC;EAAA;CAIjB;CAEA,QAAQ,GAAG;CACX,OAAO,QAAQ;AACjB;AAEA,SAAgB,iBACd,QACQ;CACR,MAAM,QAAkB,CAAC;CACzB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,GAAG;EACjD,IAAI,UAAU,KAAA,GACZ;EAEF,IAAI,MAAM,QAAQ,KAAK,GACrB,KAAK,MAAM,QAAQ,OACjB,MAAM,KAAK,GAAG,mBAAmB,GAAG,EAAE,GAAG,mBAAmB,OAAO,IAAI,CAAC,GAAG;OAG7E,MAAM,KAAK,GAAG,mBAAmB,GAAG,EAAE,GAAG,mBAAmB,OAAO,KAAK,CAAC,GAAG;CAEhF;CACA,OAAO,MAAM,SAAS,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM;AACpD;AAEA,SAAgB,kBAAkB,QAAiB,MAAmC;CACpF,IAAI,CAAC,UAAU,CAAC,MACd;CAEF,OAAO,WAAW,OAAO,SAAS;AACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fantrax/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,EAAG,SAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/fantrax/index.ts"],"sourcesContent":["export const PROVIDER = 'fantrax' as const;\n"],"mappings":";AAAA,IAAa,WAAW"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/runtime/fetch.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,OAAO,UAAU,CAAC,KAAwB,GAClD,WAAW,CAEb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","names":[],"sources":["../../src/runtime/fetch.ts"],"sourcesContent":["export interface FetchClient {\n fetch: typeof globalThis.fetch;\n}\n\nexport function createFetchClient(\n fetchFn: typeof globalThis.fetch = globalThis.fetch,\n): FetchClient {\n return { fetch: fetchFn };\n}\n"],"mappings":";AAIA,SAAgB,kBACd,UAAmC,WAAW,OACjC;CACb,OAAO,EAAE,OAAO,QAAQ;AAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { JsonObject } from './types/raw.js';
|
|
2
|
+
export interface YahooClientOptions {
|
|
3
|
+
accessToken: string;
|
|
4
|
+
fetch?: typeof globalThis.fetch;
|
|
5
|
+
refreshAccessToken?: () => Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
export declare class YahooClient {
|
|
8
|
+
private accessToken;
|
|
9
|
+
private readonly fetchFn;
|
|
10
|
+
private readonly refreshAccessToken?;
|
|
11
|
+
constructor(options: YahooClientOptions);
|
|
12
|
+
private buildUrl;
|
|
13
|
+
private authHeaders;
|
|
14
|
+
private readBody;
|
|
15
|
+
private handleTokenRefresh;
|
|
16
|
+
get(path: string): Promise<JsonObject>;
|
|
17
|
+
post(path: string, xml: string): Promise<Response>;
|
|
18
|
+
put(path: string, xml: string): Promise<Response>;
|
|
19
|
+
delete(path: string): Promise<Response>;
|
|
20
|
+
private writeRequest;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/yahoo/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAwB;gBAEhD,OAAO,EAAE,kBAAkB;IAMvC,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,WAAW;YAML,QAAQ;YAQR,kBAAkB;IAiB1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIlD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIjD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;YAI/B,YAAY;CAqC3B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { BASE_ENDPOINT } from "./constants.js";
|
|
2
|
+
import { YahooAccessDenied, YahooApiError, YahooTokenExpired, isTokenExpiredResponse } from "./errors.js";
|
|
3
|
+
//#region src/yahoo/client.ts
|
|
4
|
+
var YahooClient = class {
|
|
5
|
+
accessToken;
|
|
6
|
+
fetchFn;
|
|
7
|
+
refreshAccessToken;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.accessToken = options.accessToken;
|
|
10
|
+
this.fetchFn = options.fetch ?? globalThis.fetch;
|
|
11
|
+
this.refreshAccessToken = options.refreshAccessToken;
|
|
12
|
+
}
|
|
13
|
+
buildUrl(path, json = false) {
|
|
14
|
+
const normalized = path.startsWith("/") ? path.slice(1) : path;
|
|
15
|
+
const url = new URL(`${BASE_ENDPOINT}/${normalized}`);
|
|
16
|
+
if (json) url.searchParams.set("format", "json");
|
|
17
|
+
return url.toString();
|
|
18
|
+
}
|
|
19
|
+
authHeaders() {
|
|
20
|
+
const headers = new Headers();
|
|
21
|
+
headers.set("Authorization", `Bearer ${this.accessToken}`);
|
|
22
|
+
return headers;
|
|
23
|
+
}
|
|
24
|
+
async readBody(response) {
|
|
25
|
+
try {
|
|
26
|
+
return await response.text();
|
|
27
|
+
} catch {
|
|
28
|
+
return "";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async handleTokenRefresh(retry, body, status) {
|
|
32
|
+
if (!isTokenExpiredResponse(status, body)) return new Response(body, {
|
|
33
|
+
status,
|
|
34
|
+
headers: { "Content-Type": "application/json" }
|
|
35
|
+
});
|
|
36
|
+
if (!this.refreshAccessToken) throw new YahooTokenExpired();
|
|
37
|
+
this.accessToken = await this.refreshAccessToken();
|
|
38
|
+
return retry();
|
|
39
|
+
}
|
|
40
|
+
async get(path) {
|
|
41
|
+
const url = this.buildUrl(path, true);
|
|
42
|
+
const execute = async () => this.fetchFn(url, {
|
|
43
|
+
method: "GET",
|
|
44
|
+
headers: this.authHeaders()
|
|
45
|
+
});
|
|
46
|
+
let response = await execute();
|
|
47
|
+
let body = await this.readBody(response);
|
|
48
|
+
if (response.status === 401 || response.status === 403) {
|
|
49
|
+
response = await this.handleTokenRefresh(execute, body, response.status);
|
|
50
|
+
body = await this.readBody(response);
|
|
51
|
+
}
|
|
52
|
+
if (response.status === 401 || response.status === 403) throw new YahooAccessDenied(body || void 0);
|
|
53
|
+
if (!response.ok) throw new YahooApiError(response.status, void 0, body);
|
|
54
|
+
return JSON.parse(body);
|
|
55
|
+
}
|
|
56
|
+
async post(path, xml) {
|
|
57
|
+
return this.writeRequest("POST", path, xml, 201);
|
|
58
|
+
}
|
|
59
|
+
async put(path, xml) {
|
|
60
|
+
return this.writeRequest("PUT", path, xml, 200);
|
|
61
|
+
}
|
|
62
|
+
async delete(path) {
|
|
63
|
+
return this.writeRequest("DELETE", path, void 0, 200);
|
|
64
|
+
}
|
|
65
|
+
async writeRequest(method, path, xml, expectedStatus) {
|
|
66
|
+
const url = this.buildUrl(path, false);
|
|
67
|
+
const headers = this.authHeaders();
|
|
68
|
+
if (xml !== void 0) headers.set("Content-Type", "application/xml");
|
|
69
|
+
const init = {
|
|
70
|
+
method,
|
|
71
|
+
headers
|
|
72
|
+
};
|
|
73
|
+
if (xml !== void 0) init.body = xml;
|
|
74
|
+
const execute = async () => this.fetchFn(url, init);
|
|
75
|
+
let response = await execute();
|
|
76
|
+
let body = await this.readBody(response);
|
|
77
|
+
if (response.status === 401 || response.status === 403) {
|
|
78
|
+
response = await this.handleTokenRefresh(execute, body, response.status);
|
|
79
|
+
body = await this.readBody(response);
|
|
80
|
+
}
|
|
81
|
+
if (response.status === 401 || response.status === 403) throw new YahooAccessDenied(body || void 0);
|
|
82
|
+
if (response.status !== expectedStatus) throw new YahooApiError(response.status, void 0, body);
|
|
83
|
+
return response;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
//#endregion
|
|
87
|
+
export { YahooClient };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":[],"sources":["../../src/yahoo/client.ts"],"sourcesContent":["import { BASE_ENDPOINT } from './constants.js';\nimport {\n isTokenExpiredResponse,\n YahooAccessDenied,\n YahooApiError,\n YahooTokenExpired,\n} from './errors.js';\nimport type { JsonObject } from './types/raw.js';\n\nexport interface YahooClientOptions {\n accessToken: string;\n fetch?: typeof globalThis.fetch;\n refreshAccessToken?: () => Promise<string>;\n}\n\nexport class YahooClient {\n private accessToken: string;\n private readonly fetchFn: typeof globalThis.fetch;\n private readonly refreshAccessToken?: () => Promise<string>;\n\n constructor(options: YahooClientOptions) {\n this.accessToken = options.accessToken;\n this.fetchFn = options.fetch ?? globalThis.fetch;\n this.refreshAccessToken = options.refreshAccessToken;\n }\n\n private buildUrl(path: string, json = false): string {\n const normalized = path.startsWith('/') ? path.slice(1) : path;\n const url = new URL(`${BASE_ENDPOINT}/${normalized}`);\n if (json) {\n url.searchParams.set('format', 'json');\n }\n return url.toString();\n }\n\n private authHeaders(): Headers {\n const headers = new Headers();\n headers.set('Authorization', `Bearer ${this.accessToken}`);\n return headers;\n }\n\n private async readBody(response: Response): Promise<string> {\n try {\n return await response.text();\n } catch {\n return '';\n }\n }\n\n private async handleTokenRefresh(\n retry: () => Promise<Response>,\n body: string,\n status: number,\n ): Promise<Response> {\n if (!isTokenExpiredResponse(status, body)) {\n return new Response(body, { status, headers: { 'Content-Type': 'application/json' } });\n }\n\n if (!this.refreshAccessToken) {\n throw new YahooTokenExpired();\n }\n\n this.accessToken = await this.refreshAccessToken();\n return retry();\n }\n\n async get(path: string): Promise<JsonObject> {\n const url = this.buildUrl(path, true);\n\n const execute = async (): Promise<Response> =>\n this.fetchFn(url, { method: 'GET', headers: this.authHeaders() });\n\n let response = await execute();\n let body = await this.readBody(response);\n\n if (response.status === 401 || response.status === 403) {\n response = await this.handleTokenRefresh(execute, body, response.status);\n body = await this.readBody(response);\n }\n\n if (response.status === 401 || response.status === 403) {\n throw new YahooAccessDenied(body || undefined);\n }\n\n if (!response.ok) {\n throw new YahooApiError(response.status, undefined, body);\n }\n\n return JSON.parse(body) as JsonObject;\n }\n\n async post(path: string, xml: string): Promise<Response> {\n return this.writeRequest('POST', path, xml, 201);\n }\n\n async put(path: string, xml: string): Promise<Response> {\n return this.writeRequest('PUT', path, xml, 200);\n }\n\n async delete(path: string): Promise<Response> {\n return this.writeRequest('DELETE', path, undefined, 200);\n }\n\n private async writeRequest(\n method: 'POST' | 'PUT' | 'DELETE',\n path: string,\n xml: string | undefined,\n expectedStatus: number,\n ): Promise<Response> {\n const url = this.buildUrl(path, false);\n const headers = this.authHeaders();\n if (xml !== undefined) {\n headers.set('Content-Type', 'application/xml');\n }\n\n const init: RequestInit = { method, headers };\n if (xml !== undefined) {\n init.body = xml;\n }\n\n const execute = async (): Promise<Response> => this.fetchFn(url, init);\n\n let response = await execute();\n let body = await this.readBody(response);\n\n if (response.status === 401 || response.status === 403) {\n response = await this.handleTokenRefresh(execute, body, response.status);\n body = await this.readBody(response);\n }\n\n if (response.status === 401 || response.status === 403) {\n throw new YahooAccessDenied(body || undefined);\n }\n\n if (response.status !== expectedStatus) {\n throw new YahooApiError(response.status, undefined, body);\n }\n\n return response;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare const BASE_ENDPOINT = "https://fantasysports.yahooapis.com/fantasy/v2";
|
|
2
|
+
export declare const GAME_CODE: "nba";
|
|
3
|
+
/** Player collection status filters (league context). */
|
|
4
|
+
export declare const PLAYER_STATUS: {
|
|
5
|
+
readonly ALL: "A";
|
|
6
|
+
readonly FREE_AGENT: "FA";
|
|
7
|
+
readonly WAIVERS: "W";
|
|
8
|
+
readonly TAKEN: "T";
|
|
9
|
+
readonly KEEPERS: "K";
|
|
10
|
+
};
|
|
11
|
+
export type PlayerStatus = (typeof PLAYER_STATUS)[keyof typeof PLAYER_STATUS];
|
|
12
|
+
/** Completed transaction type filters. */
|
|
13
|
+
export declare const TRANSACTION_TYPES: {
|
|
14
|
+
readonly ADD: "add";
|
|
15
|
+
readonly DROP: "drop";
|
|
16
|
+
readonly COMMISH: "commish";
|
|
17
|
+
readonly TRADE: "trade";
|
|
18
|
+
};
|
|
19
|
+
export type TransactionType = (typeof TRANSACTION_TYPES)[keyof typeof TRANSACTION_TYPES];
|
|
20
|
+
/** Pending transaction types (require team_key filter). */
|
|
21
|
+
export declare const PENDING_TRANSACTION_TYPES: {
|
|
22
|
+
readonly WAIVER: "waiver";
|
|
23
|
+
readonly PENDING_TRADE: "pending_trade";
|
|
24
|
+
};
|
|
25
|
+
/** Player stats request types for NBA (date-based). */
|
|
26
|
+
export declare const STATS_TYPE: {
|
|
27
|
+
readonly SEASON: "season";
|
|
28
|
+
readonly DATE: "date";
|
|
29
|
+
readonly LAST_WEEK: "lastweek";
|
|
30
|
+
readonly LAST_MONTH: "lastmonth";
|
|
31
|
+
readonly AVERAGE_SEASON: "average_season";
|
|
32
|
+
};
|
|
33
|
+
export type StatsType = (typeof STATS_TYPE)[keyof typeof STATS_TYPE];
|
|
34
|
+
/** Player sort types for NBA leagues. */
|
|
35
|
+
export declare const SORT_TYPE: {
|
|
36
|
+
readonly SEASON: "season";
|
|
37
|
+
readonly DATE: "date";
|
|
38
|
+
readonly LAST_WEEK: "lastweek";
|
|
39
|
+
readonly LAST_MONTH: "lastmonth";
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/yahoo/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,mDAAmD,CAAC;AAE9E,eAAO,MAAM,SAAS,EAAG,KAAc,CAAC;AAExC,yDAAyD;AACzD,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEzF,2DAA2D;AAC3D,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE,yCAAyC;AACzC,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/yahoo/constants.ts
|
|
2
|
+
var BASE_ENDPOINT = "https://fantasysports.yahooapis.com/fantasy/v2";
|
|
3
|
+
var GAME_CODE = "nba";
|
|
4
|
+
/** Player collection status filters (league context). */
|
|
5
|
+
var PLAYER_STATUS = {
|
|
6
|
+
ALL: "A",
|
|
7
|
+
FREE_AGENT: "FA",
|
|
8
|
+
WAIVERS: "W",
|
|
9
|
+
TAKEN: "T",
|
|
10
|
+
KEEPERS: "K"
|
|
11
|
+
};
|
|
12
|
+
/** Completed transaction type filters. */
|
|
13
|
+
var TRANSACTION_TYPES = {
|
|
14
|
+
ADD: "add",
|
|
15
|
+
DROP: "drop",
|
|
16
|
+
COMMISH: "commish",
|
|
17
|
+
TRADE: "trade"
|
|
18
|
+
};
|
|
19
|
+
/** Pending transaction types (require team_key filter). */
|
|
20
|
+
var PENDING_TRANSACTION_TYPES = {
|
|
21
|
+
WAIVER: "waiver",
|
|
22
|
+
PENDING_TRADE: "pending_trade"
|
|
23
|
+
};
|
|
24
|
+
/** Player stats request types for NBA (date-based). */
|
|
25
|
+
var STATS_TYPE = {
|
|
26
|
+
SEASON: "season",
|
|
27
|
+
DATE: "date",
|
|
28
|
+
LAST_WEEK: "lastweek",
|
|
29
|
+
LAST_MONTH: "lastmonth",
|
|
30
|
+
AVERAGE_SEASON: "average_season"
|
|
31
|
+
};
|
|
32
|
+
/** Player sort types for NBA leagues. */
|
|
33
|
+
var SORT_TYPE = {
|
|
34
|
+
SEASON: "season",
|
|
35
|
+
DATE: "date",
|
|
36
|
+
LAST_WEEK: "lastweek",
|
|
37
|
+
LAST_MONTH: "lastmonth"
|
|
38
|
+
};
|
|
39
|
+
//#endregion
|
|
40
|
+
export { BASE_ENDPOINT, GAME_CODE, PENDING_TRANSACTION_TYPES, PLAYER_STATUS, SORT_TYPE, STATS_TYPE, TRANSACTION_TYPES };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../../src/yahoo/constants.ts"],"sourcesContent":["export const BASE_ENDPOINT = 'https://fantasysports.yahooapis.com/fantasy/v2';\n\nexport const GAME_CODE = 'nba' as const;\n\n/** Player collection status filters (league context). */\nexport const PLAYER_STATUS = {\n ALL: 'A',\n FREE_AGENT: 'FA',\n WAIVERS: 'W',\n TAKEN: 'T',\n KEEPERS: 'K',\n} as const;\n\nexport type PlayerStatus = (typeof PLAYER_STATUS)[keyof typeof PLAYER_STATUS];\n\n/** Completed transaction type filters. */\nexport const TRANSACTION_TYPES = {\n ADD: 'add',\n DROP: 'drop',\n COMMISH: 'commish',\n TRADE: 'trade',\n} as const;\n\nexport type TransactionType = (typeof TRANSACTION_TYPES)[keyof typeof TRANSACTION_TYPES];\n\n/** Pending transaction types (require team_key filter). */\nexport const PENDING_TRANSACTION_TYPES = {\n WAIVER: 'waiver',\n PENDING_TRADE: 'pending_trade',\n} as const;\n\n/** Player stats request types for NBA (date-based). */\nexport const STATS_TYPE = {\n SEASON: 'season',\n DATE: 'date',\n LAST_WEEK: 'lastweek',\n LAST_MONTH: 'lastmonth',\n AVERAGE_SEASON: 'average_season',\n} as const;\n\nexport type StatsType = (typeof STATS_TYPE)[keyof typeof STATS_TYPE];\n\n/** Player sort types for NBA leagues. */\nexport const SORT_TYPE = {\n SEASON: 'season',\n DATE: 'date',\n LAST_WEEK: 'lastweek',\n LAST_MONTH: 'lastmonth',\n} as const;\n"],"mappings":";AAAA,IAAa,gBAAgB;AAE7B,IAAa,YAAY;;AAGzB,IAAa,gBAAgB;CAC3B,KAAK;CACL,YAAY;CACZ,SAAS;CACT,OAAO;CACP,SAAS;AACX;;AAKA,IAAa,oBAAoB;CAC/B,KAAK;CACL,MAAM;CACN,SAAS;CACT,OAAO;AACT;;AAKA,IAAa,4BAA4B;CACvC,QAAQ;CACR,eAAe;AACjB;;AAGA,IAAa,aAAa;CACxB,QAAQ;CACR,MAAM;CACN,WAAW;CACX,YAAY;CACZ,gBAAgB;AAClB;;AAKA,IAAa,YAAY;CACvB,QAAQ;CACR,MAAM;CACN,WAAW;CACX,YAAY;AACd"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare class YahooAccessDenied extends Error {
|
|
2
|
+
readonly name = "YahooAccessDenied";
|
|
3
|
+
constructor(message?: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class YahooInvalidLeague extends Error {
|
|
6
|
+
readonly name = "YahooInvalidLeague";
|
|
7
|
+
constructor(leagueKey: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class YahooTokenExpired extends Error {
|
|
10
|
+
readonly name = "YahooTokenExpired";
|
|
11
|
+
constructor(message?: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class YahooApiError extends Error {
|
|
14
|
+
readonly name = "YahooApiError";
|
|
15
|
+
readonly status: number;
|
|
16
|
+
readonly body?: string;
|
|
17
|
+
constructor(status: number, message?: string, body?: string);
|
|
18
|
+
}
|
|
19
|
+
export declare class YahooResponseError extends Error {
|
|
20
|
+
readonly name = "YahooResponseError";
|
|
21
|
+
constructor(message: string);
|
|
22
|
+
}
|
|
23
|
+
export declare function isTokenExpiredResponse(status: number, body: string): boolean;
|
|
24
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/yahoo/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,uBAAuB;gBAEjC,OAAO,SAA2C;CAG/D;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAkB,IAAI,wBAAwB;gBAElC,SAAS,EAAE,MAAM;CAG9B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,uBAAuB;gBAEjC,OAAO,SAA0D;CAG9E;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAkB,IAAI,mBAAmB;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK5D;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAkB,IAAI,wBAAwB;gBAElC,OAAO,EAAE,MAAM;CAG5B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAe5E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
//#region src/yahoo/errors.ts
|
|
2
|
+
var YahooAccessDenied = class extends Error {
|
|
3
|
+
name = "YahooAccessDenied";
|
|
4
|
+
constructor(message = "A valid OAuth access token is required") {
|
|
5
|
+
super(message);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
var YahooInvalidLeague = class extends Error {
|
|
9
|
+
name = "YahooInvalidLeague";
|
|
10
|
+
constructor(leagueKey) {
|
|
11
|
+
super(`League ${leagueKey} does not exist or is not accessible`);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var YahooTokenExpired = class extends Error {
|
|
15
|
+
name = "YahooTokenExpired";
|
|
16
|
+
constructor(message = "OAuth access token expired and could not be refreshed") {
|
|
17
|
+
super(message);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
var YahooApiError = class extends Error {
|
|
21
|
+
name = "YahooApiError";
|
|
22
|
+
status;
|
|
23
|
+
body;
|
|
24
|
+
constructor(status, message, body) {
|
|
25
|
+
super(message ?? `Yahoo Fantasy API returned HTTP ${status}`);
|
|
26
|
+
this.status = status;
|
|
27
|
+
this.body = body;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var YahooResponseError = class extends Error {
|
|
31
|
+
name = "YahooResponseError";
|
|
32
|
+
constructor(message) {
|
|
33
|
+
super(message);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
function isTokenExpiredResponse(status, body) {
|
|
37
|
+
if (status !== 401 && status !== 403) return false;
|
|
38
|
+
const lower = body.toLowerCase();
|
|
39
|
+
if (lower.includes("token_expired") || lower.includes("oauth_problem")) return true;
|
|
40
|
+
try {
|
|
41
|
+
const parsed = JSON.parse(body);
|
|
42
|
+
const errorDesc = String(parsed.error ?? "").toLowerCase();
|
|
43
|
+
return errorDesc.includes("token_expired") || errorDesc.includes("oauth");
|
|
44
|
+
} catch {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { YahooAccessDenied, YahooApiError, YahooInvalidLeague, YahooResponseError, YahooTokenExpired, isTokenExpiredResponse };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","names":[],"sources":["../../src/yahoo/errors.ts"],"sourcesContent":["export class YahooAccessDenied extends Error {\n override readonly name = 'YahooAccessDenied';\n\n constructor(message = 'A valid OAuth access token is required') {\n super(message);\n }\n}\n\nexport class YahooInvalidLeague extends Error {\n override readonly name = 'YahooInvalidLeague';\n\n constructor(leagueKey: string) {\n super(`League ${leagueKey} does not exist or is not accessible`);\n }\n}\n\nexport class YahooTokenExpired extends Error {\n override readonly name = 'YahooTokenExpired';\n\n constructor(message = 'OAuth access token expired and could not be refreshed') {\n super(message);\n }\n}\n\nexport class YahooApiError extends Error {\n override readonly name = 'YahooApiError';\n readonly status: number;\n readonly body?: string;\n\n constructor(status: number, message?: string, body?: string) {\n super(message ?? `Yahoo Fantasy API returned HTTP ${status}`);\n this.status = status;\n this.body = body;\n }\n}\n\nexport class YahooResponseError extends Error {\n override readonly name = 'YahooResponseError';\n\n constructor(message: string) {\n super(message);\n }\n}\n\nexport function isTokenExpiredResponse(status: number, body: string): boolean {\n if (status !== 401 && status !== 403) {\n return false;\n }\n const lower = body.toLowerCase();\n if (lower.includes('token_expired') || lower.includes('oauth_problem')) {\n return true;\n }\n try {\n const parsed = JSON.parse(body) as { error?: unknown };\n const errorDesc = String(parsed.error ?? '').toLowerCase();\n return errorDesc.includes('token_expired') || errorDesc.includes('oauth');\n } catch {\n return false;\n }\n}\n"],"mappings":";AAAA,IAAa,oBAAb,cAAuC,MAAM;CAC3C,OAAyB;CAEzB,YAAY,UAAU,0CAA0C;EAC9D,MAAM,OAAO;CACf;AACF;AAEA,IAAa,qBAAb,cAAwC,MAAM;CAC5C,OAAyB;CAEzB,YAAY,WAAmB;EAC7B,MAAM,UAAU,UAAU,qCAAqC;CACjE;AACF;AAEA,IAAa,oBAAb,cAAuC,MAAM;CAC3C,OAAyB;CAEzB,YAAY,UAAU,yDAAyD;EAC7E,MAAM,OAAO;CACf;AACF;AAEA,IAAa,gBAAb,cAAmC,MAAM;CACvC,OAAyB;CACzB;CACA;CAEA,YAAY,QAAgB,SAAkB,MAAe;EAC3D,MAAM,WAAW,mCAAmC,QAAQ;EAC5D,KAAK,SAAS;EACd,KAAK,OAAO;CACd;AACF;AAEA,IAAa,qBAAb,cAAwC,MAAM;CAC5C,OAAyB;CAEzB,YAAY,SAAiB;EAC3B,MAAM,OAAO;CACf;AACF;AAEA,SAAgB,uBAAuB,QAAgB,MAAuB;CAC5E,IAAI,WAAW,OAAO,WAAW,KAC/B,OAAO;CAET,MAAM,QAAQ,KAAK,YAAY;CAC/B,IAAI,MAAM,SAAS,eAAe,KAAK,MAAM,SAAS,eAAe,GACnE,OAAO;CAET,IAAI;EACF,MAAM,SAAS,KAAK,MAAM,IAAI;EAC9B,MAAM,YAAY,OAAO,OAAO,SAAS,EAAE,EAAE,YAAY;EACzD,OAAO,UAAU,SAAS,eAAe,KAAK,UAAU,SAAS,OAAO;CAC1E,QAAQ;EACN,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const PROVIDER: "yahoo";
|
|
2
|
+
export { YahooClient } from './client.js';
|
|
3
|
+
export type { YahooClientOptions } from './client.js';
|
|
4
|
+
export { Game } from './models/game.js';
|
|
5
|
+
export type { GameOptions, LeagueKeysFilters } from './models/game.js';
|
|
6
|
+
export { User } from './models/user.js';
|
|
7
|
+
export type { UserOptions, UserGamesFilters } from './models/user.js';
|
|
8
|
+
export { League } from './models/league.js';
|
|
9
|
+
export type { LeagueOptions, LeagueCreateOptions, LeaguePlayersFilters, LeagueTransactionsFilters, } from './models/league.js';
|
|
10
|
+
export { Team } from './models/team.js';
|
|
11
|
+
export type { TeamOptions, TeamStatsOptions, TeamRosterOptions, TeamMatchupsOptions } from './models/team.js';
|
|
12
|
+
export { Player, fetchLeaguePlayerStats, playerKeyFromLeague } from './models/player.js';
|
|
13
|
+
export type { PlayerOptions, PlayerStatsOptions, LeaguePlayerStatsOptions } from './models/player.js';
|
|
14
|
+
export { Transaction } from './models/transaction.js';
|
|
15
|
+
export { Matchup } from './models/matchup.js';
|
|
16
|
+
export { Roster } from './models/roster.js';
|
|
17
|
+
export type { RosterPlayer } from './models/roster.js';
|
|
18
|
+
export { Settings } from './models/settings.js';
|
|
19
|
+
export { YahooAccessDenied, YahooInvalidLeague, YahooApiError, YahooTokenExpired, YahooResponseError, } from './errors.js';
|
|
20
|
+
export { BASE_ENDPOINT, GAME_CODE, PLAYER_STATUS, TRANSACTION_TYPES, PENDING_TRANSACTION_TYPES, STATS_TYPE, SORT_TYPE, } from './constants.js';
|
|
21
|
+
export type { PlayerStatus, TransactionType, StatsType } from './constants.js';
|
|
22
|
+
export { buildLeagueKey, buildTeamKey, buildPlayerKey, parseLeagueKey, parseTeamKey, gameIdFromLeagueKey, resolveLeagueKey, buildPlayerKeysFromIds, joinKeys, buildStatsUriParams, buildPlayerFilterParams, } from './keys.js';
|
|
23
|
+
export { getFantasyContent, flattenResource, collectIndexedResources, collectLeagueKeys, collectTeamKeys, collectPlayerKeys, collectTransactionKeys, } from './parse.js';
|
|
24
|
+
export { buildRosterXml, buildAddPlayerXml, buildDropPlayerXml, buildAddDropXml, buildProposeTradeXml, buildEditWaiverXml, buildTradeActionXml, } from './xml.js';
|
|
25
|
+
export type { RosterMove, RosterXmlOptions, TradePlayerMove, AddDropXmlOptions, EditWaiverXmlOptions, TradeAction, TradeActionXmlOptions, } from './xml.js';
|
|
26
|
+
export { setLineup, setTeamLineup } from './write/roster.js';
|
|
27
|
+
export type { SetLineupOptions } from './write/roster.js';
|
|
28
|
+
export { addPlayer, dropPlayer, addDrop, proposeTrade, editWaiver, acceptTrade, rejectTrade, allowTrade, voteAgainstTrade, cancelTransaction, tradeAction, transactionClient, } from './write/transactions.js';
|
|
29
|
+
export type { AddPlayerOptions, AddDropOptions, ProposeTradeOptions, EditWaiverOptions, TradeActionOptions, } from './write/transactions.js';
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/yahoo/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BASE_ENDPOINT, GAME_CODE, PENDING_TRANSACTION_TYPES, PLAYER_STATUS, SORT_TYPE, STATS_TYPE, TRANSACTION_TYPES } from "./constants.js";
|
|
2
|
+
import { YahooAccessDenied, YahooApiError, YahooInvalidLeague, YahooResponseError, YahooTokenExpired } from "./errors.js";
|
|
3
|
+
import { YahooClient } from "./client.js";
|
|
4
|
+
import { collectIndexedResources, collectLeagueKeys, collectPlayerKeys, collectTeamKeys, collectTransactionKeys, flattenResource, getFantasyContent } from "./parse.js";
|
|
5
|
+
import { buildLeagueKey, buildPlayerFilterParams, buildPlayerKey, buildPlayerKeysFromIds, buildStatsUriParams, buildTeamKey, gameIdFromLeagueKey, joinKeys, parseLeagueKey, parseTeamKey, resolveLeagueKey } from "./keys.js";
|
|
6
|
+
import { Settings } from "./models/settings.js";
|
|
7
|
+
import { Player, fetchLeaguePlayerStats, playerKeyFromLeague } from "./models/player.js";
|
|
8
|
+
import { Matchup } from "./models/matchup.js";
|
|
9
|
+
import { buildAddDropXml, buildAddPlayerXml, buildDropPlayerXml, buildEditWaiverXml, buildProposeTradeXml, buildRosterXml, buildTradeActionXml } from "./xml.js";
|
|
10
|
+
import { Roster } from "./models/roster.js";
|
|
11
|
+
import { Team } from "./models/team.js";
|
|
12
|
+
import { Transaction } from "./models/transaction.js";
|
|
13
|
+
import { League } from "./models/league.js";
|
|
14
|
+
import { Game } from "./models/game.js";
|
|
15
|
+
import { User } from "./models/user.js";
|
|
16
|
+
import { setLineup, setTeamLineup } from "./write/roster.js";
|
|
17
|
+
import { acceptTrade, addDrop, addPlayer, allowTrade, cancelTransaction, dropPlayer, editWaiver, proposeTrade, rejectTrade, tradeAction, transactionClient, voteAgainstTrade } from "./write/transactions.js";
|
|
18
|
+
//#region src/yahoo/index.ts
|
|
19
|
+
var PROVIDER = "yahoo";
|
|
20
|
+
//#endregion
|
|
21
|
+
export { BASE_ENDPOINT, GAME_CODE, Game, League, Matchup, PENDING_TRANSACTION_TYPES, PLAYER_STATUS, PROVIDER, Player, Roster, SORT_TYPE, STATS_TYPE, Settings, TRANSACTION_TYPES, Team, Transaction, User, YahooAccessDenied, YahooApiError, YahooClient, YahooInvalidLeague, YahooResponseError, YahooTokenExpired, acceptTrade, addDrop, addPlayer, allowTrade, buildAddDropXml, buildAddPlayerXml, buildDropPlayerXml, buildEditWaiverXml, buildLeagueKey, buildPlayerFilterParams, buildPlayerKey, buildPlayerKeysFromIds, buildProposeTradeXml, buildRosterXml, buildStatsUriParams, buildTeamKey, buildTradeActionXml, cancelTransaction, collectIndexedResources, collectLeagueKeys, collectPlayerKeys, collectTeamKeys, collectTransactionKeys, dropPlayer, editWaiver, fetchLeaguePlayerStats, flattenResource, gameIdFromLeagueKey, getFantasyContent, joinKeys, parseLeagueKey, parseTeamKey, playerKeyFromLeague, proposeTrade, rejectTrade, resolveLeagueKey, setLineup, setTeamLineup, tradeAction, transactionClient, voteAgainstTrade };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/yahoo/index.ts"],"sourcesContent":["export const PROVIDER = 'yahoo' as const;\n\nexport { YahooClient } from './client.js';\nexport type { YahooClientOptions } from './client.js';\n\nexport { Game } from './models/game.js';\nexport type { GameOptions, LeagueKeysFilters } from './models/game.js';\n\nexport { User } from './models/user.js';\nexport type { UserOptions, UserGamesFilters } from './models/user.js';\n\nexport { League } from './models/league.js';\nexport type {\n LeagueOptions,\n LeagueCreateOptions,\n LeaguePlayersFilters,\n LeagueTransactionsFilters,\n} from './models/league.js';\n\nexport { Team } from './models/team.js';\nexport type { TeamOptions, TeamStatsOptions, TeamRosterOptions, TeamMatchupsOptions } from './models/team.js';\n\nexport { Player, fetchLeaguePlayerStats, playerKeyFromLeague } from './models/player.js';\nexport type { PlayerOptions, PlayerStatsOptions, LeaguePlayerStatsOptions } from './models/player.js';\n\nexport { Transaction } from './models/transaction.js';\n\nexport { Matchup } from './models/matchup.js';\nexport { Roster } from './models/roster.js';\nexport type { RosterPlayer } from './models/roster.js';\nexport { Settings } from './models/settings.js';\n\nexport {\n YahooAccessDenied,\n YahooInvalidLeague,\n YahooApiError,\n YahooTokenExpired,\n YahooResponseError,\n} from './errors.js';\n\nexport {\n BASE_ENDPOINT,\n GAME_CODE,\n PLAYER_STATUS,\n TRANSACTION_TYPES,\n PENDING_TRANSACTION_TYPES,\n STATS_TYPE,\n SORT_TYPE,\n} from './constants.js';\nexport type { PlayerStatus, TransactionType, StatsType } from './constants.js';\n\nexport {\n buildLeagueKey,\n buildTeamKey,\n buildPlayerKey,\n parseLeagueKey,\n parseTeamKey,\n gameIdFromLeagueKey,\n resolveLeagueKey,\n buildPlayerKeysFromIds,\n joinKeys,\n buildStatsUriParams,\n buildPlayerFilterParams,\n} from './keys.js';\n\nexport {\n getFantasyContent,\n flattenResource,\n collectIndexedResources,\n collectLeagueKeys,\n collectTeamKeys,\n collectPlayerKeys,\n collectTransactionKeys,\n} from './parse.js';\n\nexport {\n buildRosterXml,\n buildAddPlayerXml,\n buildDropPlayerXml,\n buildAddDropXml,\n buildProposeTradeXml,\n buildEditWaiverXml,\n buildTradeActionXml,\n} from './xml.js';\nexport type {\n RosterMove,\n RosterXmlOptions,\n TradePlayerMove,\n AddDropXmlOptions,\n EditWaiverXmlOptions,\n TradeAction,\n TradeActionXmlOptions,\n} from './xml.js';\n\nexport { setLineup, setTeamLineup } from './write/roster.js';\nexport type { SetLineupOptions } from './write/roster.js';\n\nexport {\n addPlayer,\n dropPlayer,\n addDrop,\n proposeTrade,\n editWaiver,\n acceptTrade,\n rejectTrade,\n allowTrade,\n voteAgainstTrade,\n cancelTransaction,\n tradeAction,\n transactionClient,\n} from './write/transactions.js';\nexport type {\n AddPlayerOptions,\n AddDropOptions,\n ProposeTradeOptions,\n EditWaiverOptions,\n TradeActionOptions,\n} from './write/transactions.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAa,WAAW"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { YahooClient } from './client.js';
|
|
2
|
+
export declare function buildLeagueKey(gameId: string | number, leagueId: string | number): string;
|
|
3
|
+
export declare function buildTeamKey(leagueKey: string, teamId: string | number): string;
|
|
4
|
+
export declare function buildPlayerKey(gameId: string | number, playerId: string | number): string;
|
|
5
|
+
export declare function parseLeagueKey(leagueKey: string): {
|
|
6
|
+
gameId: string;
|
|
7
|
+
leagueId: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function parseTeamKey(teamKey: string): {
|
|
10
|
+
leagueKey: string;
|
|
11
|
+
teamId: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function gameIdFromLeagueKey(leagueKey: string): string;
|
|
14
|
+
export interface ResolveLeagueKeyOptions {
|
|
15
|
+
leagueId: string | number;
|
|
16
|
+
season: string | number;
|
|
17
|
+
gameId?: string | number;
|
|
18
|
+
client: YahooClient;
|
|
19
|
+
}
|
|
20
|
+
export declare function resolveLeagueKey(options: ResolveLeagueKeyOptions): Promise<string>;
|
|
21
|
+
export declare function buildPlayerKeysFromIds(leagueKey: string, playerIds: Array<string | number>): string[];
|
|
22
|
+
export declare function joinKeys(keys: string[]): string;
|
|
23
|
+
export declare function buildStatsUriParams(type: string, options: {
|
|
24
|
+
date?: string;
|
|
25
|
+
week?: number;
|
|
26
|
+
season?: number;
|
|
27
|
+
}): string;
|
|
28
|
+
export declare function buildPlayerFilterParams(filters: Record<string, string | number | undefined>): string;
|
|
29
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/yahoo/keys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEzF;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEzF;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAMA;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CASA;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAexF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAChC,MAAM,EAAE,CAGV;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,MAAM,CAmBR;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAQpG"}
|