fansunited-data-layer 0.15.2 → 0.16.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/api/fansunited/index.d.ts +2 -0
- package/api/fansunited/index.d.ts.map +1 -1
- package/api/fansunited/sports/competition/index.d.ts +28 -0
- package/api/fansunited/sports/competition/index.d.ts.map +1 -0
- package/api/fansunited/sports/competition/index.js +21 -0
- package/api/fansunited/sports/competition/index.js.map +1 -0
- package/api/fansunited/sports/competition/transformer.d.ts +8 -0
- package/api/fansunited/sports/competition/transformer.d.ts.map +1 -0
- package/api/fansunited/sports/competition/transformer.js +52 -0
- package/api/fansunited/sports/competition/transformer.js.map +1 -0
- package/api/fansunited/sports/competition/types.d.ts +57 -0
- package/api/fansunited/sports/competition/types.d.ts.map +1 -0
- package/api/fansunited/sports/constants.d.ts +5 -0
- package/api/fansunited/sports/constants.d.ts.map +1 -0
- package/api/fansunited/sports/constants.js +5 -0
- package/api/fansunited/sports/constants.js.map +1 -0
- package/api/fansunited/sports/http.d.ts +8 -0
- package/api/fansunited/sports/http.d.ts.map +1 -0
- package/api/fansunited/sports/http.js +7 -0
- package/api/fansunited/sports/http.js.map +1 -0
- package/api/fansunited/sports/index.d.ts +9 -0
- package/api/fansunited/sports/index.d.ts.map +1 -0
- package/fansunited-data-layer.js +2 -0
- package/fansunited-data-layer.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/types/canonical/index.d.ts +1 -0
- package/types/canonical/index.d.ts.map +1 -1
- package/types/canonical/sports-competition.types.d.ts +100 -0
- package/types/canonical/sports-competition.types.d.ts.map +1 -0
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
export { getFansUnitedFootballCompetitions, getFansUnitedFootballCompetition, getFansUnitedFootballTeam, getFansUnitedFootballTeams, getFansUnitedFootballPlayer, getFansUnitedFootballPlayers, getFansUnitedFootballMatch, getFansUnitedFootballMatches, getFansUnitedFootballTeamNextMatch, getFansUnitedFootballTeamPreviousMatch, getFansUnitedFootballPlayerNextMatch, getFansUnitedFootballPlayerPreviousMatch, getFansUnitedFootballSearch, } from "./football";
|
|
8
8
|
export type { GetFootballCompetitionsOptions, GetFootballCompetitionOptions, GetFootballTeamOptions, GetFootballTeamsOptions, GetFootballPlayerOptions, GetFootballPlayersOptions, GetFootballMatchOptions, GetFootballMatchesOptions, GetFootballSearchOptions, SearchEntityType, FansUnitedFootballSearchResult, } from "./football";
|
|
9
9
|
export { getFansUnitedSearchEntities, getFansUnitedEntityById, getFansUnitedEntitiesByIds, getFansUnitedCompetitions, getFansUnitedTeamsByCountry, getFansUnitedTeamsByCompetition, getFansUnitedCountries, getFansUnitedVenues, } from "./search";
|
|
10
|
+
export { getFansUnitedSportsCompetition } from "./sports";
|
|
11
|
+
export type { GetSportsCompetitionOptions } from "./sports";
|
|
10
12
|
export type { SearchMode, EntityContentType, EntitySearchOptions, GetEntityByIdOptions, GetEntitiesByIdsOptions, GetCompetitionsOptions, GetTeamsByCountryOptions, GetTeamsByCompetitionOptions, GetCountriesOptions, GetVenuesOptions, RawSearchEntity, SearchEntityResult, SearchEntitySummary, EntitySearchResponse, PaginationMeta, PaginatedResult, } from "./search";
|
|
11
13
|
export type { NextCacheOptions } from "./http";
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/api/fansunited/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACH,iCAAiC,EACjC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,sCAAsC,EACtC,oCAAoC,EACpC,wCAAwC,EACxC,2BAA2B,GAC9B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACR,8BAA8B,EAC9B,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,8BAA8B,GACjC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,GACtB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/api/fansunited/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACH,iCAAiC,EACjC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,sCAAsC,EACtC,oCAAoC,EACpC,wCAAwC,EACxC,2BAA2B,GAC9B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACR,8BAA8B,EAC9B,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,8BAA8B,GACjC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,GACtB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1D,YAAY,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D,YAAY,EACR,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,GAClB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Competition endpoint for the Fans United Sports API.
|
|
3
|
+
*/
|
|
4
|
+
import type { FUSportsCompetitionDetails } from "../../../../types/canonical/sports-competition.types";
|
|
5
|
+
import { type DataLayerConfig } from "../../../../config";
|
|
6
|
+
import type { GetSportsCompetitionOptions } from "./types";
|
|
7
|
+
export type { GetSportsCompetitionOptions } from "./types";
|
|
8
|
+
/**
|
|
9
|
+
* Get a competition by ID from the Fans United Sports API.
|
|
10
|
+
*
|
|
11
|
+
* @param competitionId - Competition identifier (e.g. "fb:c:1")
|
|
12
|
+
* @param options - Query options (season override, Next.js cache hints)
|
|
13
|
+
* @param config - Optional data layer config (uses the singleton if omitted)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const competition = await getFansUnitedSportsCompetition("fb:c:1");
|
|
18
|
+
* for (const stage of competition.season.stages) {
|
|
19
|
+
* if (stage.type === "standing") {
|
|
20
|
+
* for (const group of stage.groups ?? []) {
|
|
21
|
+
* console.log(group.standings.map(s => `${s.rank} ${s.competitorId}`));
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function getFansUnitedSportsCompetition(competitionId: string, options?: GetSportsCompetitionOptions, config?: DataLayerConfig): Promise<FUSportsCompetitionDetails>;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/fansunited/sports/competition/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,2BAA2B,EAAgC,MAAM,SAAS,CAAC;AAEzF,YAAY,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,8BAA8B,CAChD,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,2BAA2B,EACrC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,0BAA0B,CAAC,CAgBrC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getConfig } from "../../../../config/index.js";
|
|
2
|
+
import { sportsHttp } from "../http.js";
|
|
3
|
+
import { transformSportsCompetition } from "./transformer.js";
|
|
4
|
+
async function getFansUnitedSportsCompetition(competitionId, options, config) {
|
|
5
|
+
const finalConfig = config || getConfig();
|
|
6
|
+
const params = {};
|
|
7
|
+
if (options?.seasonId) {
|
|
8
|
+
params.season_id = options.seasonId;
|
|
9
|
+
}
|
|
10
|
+
const raw = await sportsHttp.get({
|
|
11
|
+
path: `/v1/competitions/${competitionId}`,
|
|
12
|
+
params,
|
|
13
|
+
next: options?.next,
|
|
14
|
+
config: finalConfig
|
|
15
|
+
});
|
|
16
|
+
return transformSportsCompetition(raw);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
getFansUnitedSportsCompetition
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/lib/api/fansunited/sports/competition/index.ts"],"sourcesContent":["/**\n * Competition endpoint for the Fans United Sports API.\n */\n\nimport type { FUSportsCompetitionDetails } from \"../../../../types/canonical/sports-competition.types\";\nimport { getConfig, type DataLayerConfig } from \"../../../../config\";\nimport { sportsHttp } from \"../http\";\nimport { transformSportsCompetition } from \"./transformer\";\nimport type { GetSportsCompetitionOptions, RawSportsCompetitionResponse } from \"./types\";\n\nexport type { GetSportsCompetitionOptions } from \"./types\";\n\n/**\n * Get a competition by ID from the Fans United Sports API.\n *\n * @param competitionId - Competition identifier (e.g. \"fb:c:1\")\n * @param options - Query options (season override, Next.js cache hints)\n * @param config - Optional data layer config (uses the singleton if omitted)\n *\n * @example\n * ```typescript\n * const competition = await getFansUnitedSportsCompetition(\"fb:c:1\");\n * for (const stage of competition.season.stages) {\n * if (stage.type === \"standing\") {\n * for (const group of stage.groups ?? []) {\n * console.log(group.standings.map(s => `${s.rank} ${s.competitorId}`));\n * }\n * }\n * }\n * ```\n */\nexport async function getFansUnitedSportsCompetition(\n competitionId: string,\n options?: GetSportsCompetitionOptions,\n config?: DataLayerConfig\n): Promise<FUSportsCompetitionDetails> {\n const finalConfig = config || getConfig();\n\n const params: Record<string, string | undefined> = {};\n if (options?.seasonId) {\n params.season_id = options.seasonId;\n }\n\n const raw = await sportsHttp.get<RawSportsCompetitionResponse>({\n path: `/v1/competitions/${competitionId}`,\n params,\n next: options?.next,\n config: finalConfig,\n });\n\n return transformSportsCompetition(raw);\n}\n"],"names":[],"mappings":";;;AA+BA,eAAsB,+BAClB,eACA,SACA,QACmC;AACnC,QAAM,cAAc,UAAU,UAAA;AAE9B,QAAM,SAA6C,CAAA;AACnD,MAAI,SAAS,UAAU;AACnB,WAAO,YAAY,QAAQ;AAAA,EAC/B;AAEA,QAAM,MAAM,MAAM,WAAW,IAAkC;AAAA,IAC3D,MAAM,oBAAoB,aAAa;AAAA,IACvC;AAAA,IACA,MAAM,SAAS;AAAA,IACf,QAAQ;AAAA,EAAA,CACX;AAED,SAAO,2BAA2B,GAAG;AACzC;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms the raw Sports API competition response into the canonical
|
|
3
|
+
* {@link FUSportsCompetitionDetails} shape.
|
|
4
|
+
*/
|
|
5
|
+
import type { FUSportsCompetitionDetails } from "../../../../types/canonical/sports-competition.types";
|
|
6
|
+
import type { RawSportsCompetitionResponse } from "./types";
|
|
7
|
+
export declare function transformSportsCompetition(raw: RawSportsCompetitionResponse): FUSportsCompetitionDetails;
|
|
8
|
+
//# sourceMappingURL=transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/fansunited/sports/competition/transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,0BAA0B,EAK7B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EACR,4BAA4B,EAK/B,MAAM,SAAS,CAAC;AA8CjB,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,4BAA4B,GAAG,0BAA0B,CAOxG"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
function transformStandingEntry(raw) {
|
|
2
|
+
return {
|
|
3
|
+
rank: raw.rank,
|
|
4
|
+
lastRank: raw.last_rank,
|
|
5
|
+
competitorId: raw.competitor_id,
|
|
6
|
+
stats: raw.stats.map((s) => ({ key: s.key, value: s.value })),
|
|
7
|
+
rules: raw.rules
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function transformStandingGroup(raw) {
|
|
11
|
+
return {
|
|
12
|
+
id: raw.id,
|
|
13
|
+
name: raw.name,
|
|
14
|
+
standings: raw.standings.map(transformStandingEntry)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function transformStage(raw) {
|
|
18
|
+
return {
|
|
19
|
+
id: raw.id,
|
|
20
|
+
stageNameId: raw.stage_name_id,
|
|
21
|
+
type: raw.type,
|
|
22
|
+
status: raw.status,
|
|
23
|
+
coverage: raw.coverage,
|
|
24
|
+
order: raw.order,
|
|
25
|
+
startDate: raw.start_date,
|
|
26
|
+
endDate: raw.end_date,
|
|
27
|
+
groups: raw.groups ? raw.groups.map(transformStandingGroup) : null
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function transformSeason(raw) {
|
|
31
|
+
return {
|
|
32
|
+
id: raw.id,
|
|
33
|
+
name: raw.name,
|
|
34
|
+
year: raw.year,
|
|
35
|
+
status: raw.status,
|
|
36
|
+
startDate: raw.start_date,
|
|
37
|
+
endDate: raw.end_date,
|
|
38
|
+
stages: raw.stages.map(transformStage)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function transformSportsCompetition(raw) {
|
|
42
|
+
return {
|
|
43
|
+
id: raw.id,
|
|
44
|
+
sport: raw.sport,
|
|
45
|
+
meta: { entityIds: raw.meta?.entity_ids ?? [] },
|
|
46
|
+
season: transformSeason(raw.season)
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
transformSportsCompetition
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.js","sources":["../../../../../src/lib/api/fansunited/sports/competition/transformer.ts"],"sourcesContent":["/**\n * Transforms the raw Sports API competition response into the canonical\n * {@link FUSportsCompetitionDetails} shape.\n */\n\nimport type {\n FUSportsCompetitionDetails,\n FUSportsCompetitionSeason,\n FUSportsCompetitionStage,\n FUSportsCompetitionStandingEntry,\n FUSportsCompetitionStandingGroup,\n} from \"../../../../types/canonical/sports-competition.types\";\nimport type {\n RawSportsCompetitionResponse,\n RawSportsCompetitionSeason,\n RawSportsCompetitionStage,\n RawSportsCompetitionStandingEntry,\n RawSportsCompetitionStandingGroup,\n} from \"./types\";\n\nfunction transformStandingEntry(raw: RawSportsCompetitionStandingEntry): FUSportsCompetitionStandingEntry {\n return {\n rank: raw.rank,\n lastRank: raw.last_rank,\n competitorId: raw.competitor_id,\n stats: raw.stats.map((s) => ({ key: s.key, value: s.value })),\n rules: raw.rules,\n };\n}\n\nfunction transformStandingGroup(raw: RawSportsCompetitionStandingGroup): FUSportsCompetitionStandingGroup {\n return {\n id: raw.id,\n name: raw.name,\n standings: raw.standings.map(transformStandingEntry),\n };\n}\n\nfunction transformStage(raw: RawSportsCompetitionStage): FUSportsCompetitionStage {\n return {\n id: raw.id,\n stageNameId: raw.stage_name_id,\n type: raw.type,\n status: raw.status,\n coverage: raw.coverage,\n order: raw.order,\n startDate: raw.start_date,\n endDate: raw.end_date,\n groups: raw.groups ? raw.groups.map(transformStandingGroup) : null,\n };\n}\n\nfunction transformSeason(raw: RawSportsCompetitionSeason): FUSportsCompetitionSeason {\n return {\n id: raw.id,\n name: raw.name,\n year: raw.year,\n status: raw.status,\n startDate: raw.start_date,\n endDate: raw.end_date,\n stages: raw.stages.map(transformStage),\n };\n}\n\nexport function transformSportsCompetition(raw: RawSportsCompetitionResponse): FUSportsCompetitionDetails {\n return {\n id: raw.id,\n sport: raw.sport,\n meta: { entityIds: raw.meta?.entity_ids ?? [] },\n season: transformSeason(raw.season),\n };\n}\n"],"names":[],"mappings":"AAoBA,SAAS,uBAAuB,KAA0E;AACtG,SAAO;AAAA,IACH,MAAM,IAAI;AAAA,IACV,UAAU,IAAI;AAAA,IACd,cAAc,IAAI;AAAA,IAClB,OAAO,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,QAAQ;AAAA,IAC5D,OAAO,IAAI;AAAA,EAAA;AAEnB;AAEA,SAAS,uBAAuB,KAA0E;AACtG,SAAO;AAAA,IACH,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,WAAW,IAAI,UAAU,IAAI,sBAAsB;AAAA,EAAA;AAE3D;AAEA,SAAS,eAAe,KAA0D;AAC9E,SAAO;AAAA,IACH,IAAI,IAAI;AAAA,IACR,aAAa,IAAI;AAAA,IACjB,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,IACZ,UAAU,IAAI;AAAA,IACd,OAAO,IAAI;AAAA,IACX,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,sBAAsB,IAAI;AAAA,EAAA;AAEtE;AAEA,SAAS,gBAAgB,KAA4D;AACjF,SAAO;AAAA,IACH,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,IACZ,WAAW,IAAI;AAAA,IACf,SAAS,IAAI;AAAA,IACb,QAAQ,IAAI,OAAO,IAAI,cAAc;AAAA,EAAA;AAE7C;AAEO,SAAS,2BAA2B,KAA+D;AACtG,SAAO;AAAA,IACH,IAAI,IAAI;AAAA,IACR,OAAO,IAAI;AAAA,IACX,MAAM,EAAE,WAAW,IAAI,MAAM,cAAc,CAAA,EAAC;AAAA,IAC5C,QAAQ,gBAAgB,IAAI,MAAM;AAAA,EAAA;AAE1C;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw API response and option types for the Fans United Sports API
|
|
3
|
+
* competition-by-id endpoint.
|
|
4
|
+
*/
|
|
5
|
+
import type { NextCacheOptions } from "../../http";
|
|
6
|
+
export interface RawSportsCompetitionStandingStat {
|
|
7
|
+
key: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}
|
|
10
|
+
export interface RawSportsCompetitionStandingEntry {
|
|
11
|
+
rank: number;
|
|
12
|
+
last_rank?: number;
|
|
13
|
+
competitor_id: string;
|
|
14
|
+
stats: RawSportsCompetitionStandingStat[];
|
|
15
|
+
rules?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface RawSportsCompetitionStandingGroup {
|
|
18
|
+
id: number | null;
|
|
19
|
+
name: string | null;
|
|
20
|
+
standings: RawSportsCompetitionStandingEntry[];
|
|
21
|
+
}
|
|
22
|
+
export interface RawSportsCompetitionStage {
|
|
23
|
+
id: string;
|
|
24
|
+
stage_name_id: string;
|
|
25
|
+
type: "standing" | "bracket";
|
|
26
|
+
status: string;
|
|
27
|
+
coverage: string;
|
|
28
|
+
order: number;
|
|
29
|
+
start_date?: string;
|
|
30
|
+
end_date?: string;
|
|
31
|
+
groups: RawSportsCompetitionStandingGroup[] | null;
|
|
32
|
+
}
|
|
33
|
+
export interface RawSportsCompetitionSeason {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
year?: string;
|
|
37
|
+
status: string;
|
|
38
|
+
start_date?: string;
|
|
39
|
+
end_date?: string;
|
|
40
|
+
stages: RawSportsCompetitionStage[];
|
|
41
|
+
}
|
|
42
|
+
export interface RawSportsCompetitionMeta {
|
|
43
|
+
entity_ids: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface RawSportsCompetitionResponse {
|
|
46
|
+
id: string;
|
|
47
|
+
sport: string;
|
|
48
|
+
meta: RawSportsCompetitionMeta;
|
|
49
|
+
season: RawSportsCompetitionSeason;
|
|
50
|
+
}
|
|
51
|
+
export interface GetSportsCompetitionOptions {
|
|
52
|
+
/** Season identifier (e.g. "fb:c:1:2025/26"). Defaults to the active season. */
|
|
53
|
+
seasonId?: string;
|
|
54
|
+
/** Next.js cache options for ISR/on-demand revalidation. */
|
|
55
|
+
next?: NextCacheOptions;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/fansunited/sports/competition/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,gCAAgC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCAAiC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,gCAAgC,EAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IAC9C,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,iCAAiC,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iCAAiC,EAAE,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,0BAA0B,CAAC;CACtC;AAMD,MAAM,WAAW,2BAA2B;IACxC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,gBAAgB,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/fansunited/sports/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,wBAAwB,qCAAqC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/lib/api/fansunited/sports/constants.ts"],"sourcesContent":["/**\n * Constants for the Fans United Sports API\n */\n\nexport const FANSUNITED_SPORTS_DOMAIN = \"https://sports.fansunitedapi.com\";\n"],"names":[],"mappings":"AAIO,MAAM,2BAA2B;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/fansunited/sports/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,eAAO,MAAM,UAAU,wCAA6C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sources":["../../../../src/lib/api/fansunited/sports/http.ts"],"sourcesContent":["/**\n * Sports HTTP client for the Fans United Sports API\n */\n\nimport { createHttpClient } from \"../http\";\nimport { FANSUNITED_SPORTS_DOMAIN } from \"./constants\";\n\n/**\n * HTTP client configured for the Fans United Sports API\n */\nexport const sportsHttp = createHttpClient(FANSUNITED_SPORTS_DOMAIN);\n"],"names":[],"mappings":";;AAUO,MAAM,aAAa,iBAAiB,wBAAwB;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fans United Sports API
|
|
3
|
+
*
|
|
4
|
+
* Endpoints served from https://sports.fansunitedapi.com.
|
|
5
|
+
* All functions return canonical FUSports types.
|
|
6
|
+
*/
|
|
7
|
+
export { getFansUnitedSportsCompetition } from "./competition";
|
|
8
|
+
export type { GetSportsCompetitionOptions } from "./competition/types";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/fansunited/sports/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC"}
|
package/fansunited-data-layer.js
CHANGED
|
@@ -17,6 +17,7 @@ import { getFansUnitedFootballMatch, getFansUnitedFootballMatches, getFansUnited
|
|
|
17
17
|
import { getFansUnitedFootballPlayer, getFansUnitedFootballPlayers } from "./api/fansunited/football/players/index.js";
|
|
18
18
|
import { getFansUnitedFootballSearch } from "./api/fansunited/football/search/index.js";
|
|
19
19
|
import { getFansUnitedFootballTeam, getFansUnitedFootballTeams } from "./api/fansunited/football/teams/index.js";
|
|
20
|
+
import { getFansUnitedSportsCompetition } from "./api/fansunited/sports/competition/index.js";
|
|
20
21
|
import { getFootballCompetition, getFootballSeasonDetails } from "./api/sportal365-sports/football/competitions/index.js";
|
|
21
22
|
import { getFootballLivescore, getFootballMatch, getFootballMatchCommentary, getFootballMatchEvents, getFootballMatchLineups, getFootballMatchOdds, getFootballMatchStatistics, getFootballMatches } from "./api/sportal365-sports/football/matches/index.js";
|
|
22
23
|
import { getFootballPlayerCareerStatistics, getFootballPlayerRecentStatistics, getFootballPlayerSeasonStatistics, getFootballPlayerSeasonStatisticsByPlayerIds } from "./api/sportal365-sports/football/statistics/index.js";
|
|
@@ -74,6 +75,7 @@ export {
|
|
|
74
75
|
getFansUnitedFootballTeamPreviousMatch,
|
|
75
76
|
getFansUnitedFootballTeams,
|
|
76
77
|
getFansUnitedSearchEntities,
|
|
78
|
+
getFansUnitedSportsCompetition,
|
|
77
79
|
getFansUnitedTeamsByCompetition,
|
|
78
80
|
getFansUnitedTeamsByCountry,
|
|
79
81
|
getFansUnitedVenues,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fansunited-data-layer.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fansunited-data-layer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
export { setConfig, getConfig, isConfigured, type DataLayerConfig, type Sportal365SportsConfig, type PayloadConfig, } from "./config";
|
|
27
27
|
export { getFootballMatch, getFootballMatchEvents, getFootballMatchLineups, getFootballMatchOdds, getFootballMatchStatistics, getFootballMatchCommentary, getFootballMatches, getFootballLivescore, getBasketballLivescore, getTennisLivescore, getFootballTeam, getFootballTeamSquad, getFootballCompetition, getFootballSeasonDetails, getFootballStandings, getFootballPlayerSeasonStatistics, getFootballPlayerSeasonStatisticsByPlayerIds, getFootballPlayerCareerStatistics, getFootballPlayerRecentStatistics, getTeamSeasonStatistics, getSportal365Standings, searchFootball, } from "./api/sportal365-sports";
|
|
28
28
|
export { search } from "./api/sportal365-sports";
|
|
29
|
-
export { getFansUnitedFootballCompetitions, getFansUnitedFootballCompetition, getFansUnitedFootballTeam, getFansUnitedFootballTeams, getFansUnitedFootballPlayer, getFansUnitedFootballPlayers, getFansUnitedFootballMatch, getFansUnitedFootballMatches, getFansUnitedFootballTeamNextMatch, getFansUnitedFootballTeamPreviousMatch, getFansUnitedFootballPlayerNextMatch, getFansUnitedFootballPlayerPreviousMatch, getFansUnitedFootballSearch, getFansUnitedSearchEntities, getFansUnitedEntityById, getFansUnitedEntitiesByIds, getFansUnitedCompetitions, getFansUnitedTeamsByCountry, getFansUnitedTeamsByCompetition, getFansUnitedCountries, getFansUnitedVenues, } from "./api/fansunited";
|
|
29
|
+
export { getFansUnitedFootballCompetitions, getFansUnitedFootballCompetition, getFansUnitedFootballTeam, getFansUnitedFootballTeams, getFansUnitedFootballPlayer, getFansUnitedFootballPlayers, getFansUnitedFootballMatch, getFansUnitedFootballMatches, getFansUnitedFootballTeamNextMatch, getFansUnitedFootballTeamPreviousMatch, getFansUnitedFootballPlayerNextMatch, getFansUnitedFootballPlayerPreviousMatch, getFansUnitedFootballSearch, getFansUnitedSearchEntities, getFansUnitedEntityById, getFansUnitedEntitiesByIds, getFansUnitedCompetitions, getFansUnitedTeamsByCountry, getFansUnitedTeamsByCompetition, getFansUnitedCountries, getFansUnitedVenues, getFansUnitedSportsCompetition, } from "./api/fansunited";
|
|
30
30
|
export { getLeaderboardMatches, getLeaderboardTeamMatches, getLeaderboardTemplate, getBatchMatchOdds, } from "./api/fansunited-sdk";
|
|
31
31
|
export type { GetBatchMatchOddsOptions } from "./api/fansunited-sdk";
|
|
32
|
-
export type { GetFootballCompetitionsOptions, GetFootballCompetitionOptions as GetFansUnitedFootballCompetitionOptions, GetFootballTeamOptions as GetFansUnitedFootballTeamOptions, GetFootballTeamsOptions as GetFansUnitedFootballTeamsOptions, GetFootballPlayerOptions as GetFansUnitedFootballPlayerOptions, GetFootballPlayersOptions as GetFansUnitedFootballPlayersOptions, GetFootballMatchOptions as GetFansUnitedFootballMatchOptions, GetFootballMatchesOptions as GetFansUnitedFootballMatchesOptions, GetFootballSearchOptions as GetFansUnitedFootballSearchOptions, SearchEntityType as FansUnitedSearchEntityType, FansUnitedFootballSearchResult, SearchMode, EntityContentType, EntitySearchOptions, GetEntityByIdOptions, GetEntitiesByIdsOptions, GetCompetitionsOptions, GetTeamsByCountryOptions, GetTeamsByCompetitionOptions, GetCountriesOptions, GetVenuesOptions, RawSearchEntity, SearchEntityResult, SearchEntitySummary, EntitySearchResponse, PaginationMeta, PaginatedResult, } from "./api/fansunited";
|
|
32
|
+
export type { GetFootballCompetitionsOptions, GetFootballCompetitionOptions as GetFansUnitedFootballCompetitionOptions, GetFootballTeamOptions as GetFansUnitedFootballTeamOptions, GetFootballTeamsOptions as GetFansUnitedFootballTeamsOptions, GetFootballPlayerOptions as GetFansUnitedFootballPlayerOptions, GetFootballPlayersOptions as GetFansUnitedFootballPlayersOptions, GetFootballMatchOptions as GetFansUnitedFootballMatchOptions, GetFootballMatchesOptions as GetFansUnitedFootballMatchesOptions, GetFootballSearchOptions as GetFansUnitedFootballSearchOptions, SearchEntityType as FansUnitedSearchEntityType, FansUnitedFootballSearchResult, SearchMode, EntityContentType, EntitySearchOptions, GetEntityByIdOptions, GetEntitiesByIdsOptions, GetCompetitionsOptions, GetTeamsByCountryOptions, GetTeamsByCompetitionOptions, GetCountriesOptions, GetVenuesOptions, RawSearchEntity, SearchEntityResult, SearchEntitySummary, EntitySearchResponse, PaginationMeta, PaginatedResult, GetSportsCompetitionOptions, } from "./api/fansunited";
|
|
33
33
|
export { getProviderRefId, addProviderRef, toProviderRefArray } from "./api/sportal365-sports/shared";
|
|
34
34
|
export type { GetFootballMatchOptions, GetFootballMatchEventsOptions, GetFootballMatchLineupsOptions, GetFootballMatchOddsOptions, GetFootballMatchStatisticsOptions, GetFootballMatchCommentaryOptions, GetFootballMatchesOptions, GetFootballLivescoreOptions, GetBasketballLivescoreOptions, BasketballMatchStatusType, GetTennisLivescoreOptions, TennisMatchStatusType, TennisMatchType, TennisGender, GetFootballTeamOptions, GetFootballTeamSquadOptions, GetFootballCompetitionOptions, GetFootballSeasonDetailsOptions, GetFootballStandingsOptions, GetFootballPlayerSeasonStatisticsOptions, GetFootballPlayerSeasonStatisticsByPlayerIdsOptions, GetFootballPlayerCareerStatisticsOptions, GetFootballPlayerRecentStatisticsOptions, GetTeamSeasonStatisticsOptions, GetSportal365StandingsOptions, StandingsSport, StandingsCoverageType, GetFootballSearchOptions, SearchEntityType, GetSportsSearchOptions, SportType, SportsSearchEntityType, FootballStandingsExpandOption, OddType, ScopeType, OddFormat, MarketType, OptionalMatchData, MatchStatusType, SortDirection, SelectionFilter, NextCacheOptions, } from "./api/sportal365-sports";
|
|
35
|
-
export type { FUSportsCountry, FUSportsCity, FUSportsCompetitor, FUSportsCompetitorBase, FUSportsTeamCompetitor, FUSportsPlayerCompetitor, FUSportsPairCompetitor, FUSportsShirtColor, FUSportsSeason, FUSportsRound, FUSportsStage, FUSportsSeasonDetails, FUSportsCompetition, FUSportsVenue, FUSportsOfficial, FUSportsMember, FUSportsMatchMember, FUSportsCoach, FUSportsRelated, FUSportsSocials, FUBranding, FUSportsCompetitionSummary, FUSportsTeamSummary, FUSportsPlayerSummary, FUSportsCountrySummary, FUSportsVenueSummary, FUSportsCoachSummary, FUSportsMatchScore, FUSportsMatchStatus, FUSportsMatchTiming, FUSportsMatchWinner, FUSportsMatch, FUSportsMatchSimple, FUSportsFootballEventType, FUSportsOtherEventType, FUSportsMatchEvent, FUSportsLineupMember, FUSportsCompetitorLineup, FUSportsMatchLineups, FUSportsStatisticEntry, FUSportsCompetitorStatistics, FUSportsMatchStatistics, FUSportsPlayerStatistic, FUSportsPlayerSeasonStatistics, FUSportsCareerTournamentSeason, FUSportsCareerTeam, FUSportsPlayerCareerStatisticsEntry, FUSportsPlayerCareerStatistics, FUSportsPlayerRecentStatistics, FUSportsTeamSeasonStatistics, FUSportsBettingOperatorBranding, FUSportsBettingOperator, FUSportsOddSelection, FUSportsMarketPeriod, FUSportsMarketType, FUSportsOddMarket, FUSportsBettingOperatorOdds, FUSportsMatchOdds, FUSportsCommentaryDetail, FUSportsCommentaryMeta, FUSportsCommentaryItem, FUSportsStandingEntry, FUSportsCompetitorForm, FUSportsStandingLegendItem, FUSportsStandingsMetadata, FUSportsStandings, FUSportsStandingsTable, FUSportsSquadMember, FUSportsSquad, FUSportsSearchResultBase, FUSportsTournamentSearchResult, FUSportsPlayerSearchResult, FUSportsTeamSearchResult, FUSportsPresidentSearchResult, FUSportsVenueSearchResult, FUSportsCoachSearchResult, FUSportsSearchResult, FUSportsSearchResults, FUSportsTranslation, FUSportsDisplayAsset, FUSportsSportsSearchResultBase, FUSportsSportsSearchCountry, FUSportsTeamSportsSearchResult, FUSportsCitySportsSearchResult, FUSportsHorseSportsSearchResult, FUSportsPlayerSportsSearchResult, FUSportsCoachSportsSearchResult, FUSportsRefereeSportsSearchResult, FUSportsVenueSportsSearchResult, FUSportsTournamentSportsSearchResult, FUSportsMatchSportsSearchResult, FUSportsCountrySportsSearchResult, FUSportsSportsSearchResult, FUSportsSportsSearchResults, } from "./types/canonical";
|
|
35
|
+
export type { FUSportsCountry, FUSportsCity, FUSportsCompetitor, FUSportsCompetitorBase, FUSportsTeamCompetitor, FUSportsPlayerCompetitor, FUSportsPairCompetitor, FUSportsShirtColor, FUSportsSeason, FUSportsRound, FUSportsStage, FUSportsSeasonDetails, FUSportsCompetition, FUSportsVenue, FUSportsOfficial, FUSportsMember, FUSportsMatchMember, FUSportsCoach, FUSportsRelated, FUSportsSocials, FUBranding, FUSportsCompetitionSummary, FUSportsTeamSummary, FUSportsPlayerSummary, FUSportsCountrySummary, FUSportsVenueSummary, FUSportsCoachSummary, FUSportsMatchScore, FUSportsMatchStatus, FUSportsMatchTiming, FUSportsMatchWinner, FUSportsMatch, FUSportsMatchSimple, FUSportsFootballEventType, FUSportsOtherEventType, FUSportsMatchEvent, FUSportsLineupMember, FUSportsCompetitorLineup, FUSportsMatchLineups, FUSportsStatisticEntry, FUSportsCompetitorStatistics, FUSportsMatchStatistics, FUSportsPlayerStatistic, FUSportsPlayerSeasonStatistics, FUSportsCareerTournamentSeason, FUSportsCareerTeam, FUSportsPlayerCareerStatisticsEntry, FUSportsPlayerCareerStatistics, FUSportsPlayerRecentStatistics, FUSportsTeamSeasonStatistics, FUSportsBettingOperatorBranding, FUSportsBettingOperator, FUSportsOddSelection, FUSportsMarketPeriod, FUSportsMarketType, FUSportsOddMarket, FUSportsBettingOperatorOdds, FUSportsMatchOdds, FUSportsCommentaryDetail, FUSportsCommentaryMeta, FUSportsCommentaryItem, FUSportsStandingEntry, FUSportsCompetitorForm, FUSportsStandingLegendItem, FUSportsStandingsMetadata, FUSportsStandings, FUSportsStandingsTable, FUSportsCompetitionStageType, FUSportsCompetitionStandingStat, FUSportsCompetitionStandingEntry, FUSportsCompetitionStandingGroup, FUSportsCompetitionStage, FUSportsCompetitionSeason, FUSportsCompetitionMeta, FUSportsCompetitionDetails, FUSportsSquadMember, FUSportsSquad, FUSportsSearchResultBase, FUSportsTournamentSearchResult, FUSportsPlayerSearchResult, FUSportsTeamSearchResult, FUSportsPresidentSearchResult, FUSportsVenueSearchResult, FUSportsCoachSearchResult, FUSportsSearchResult, FUSportsSearchResults, FUSportsTranslation, FUSportsDisplayAsset, FUSportsSportsSearchResultBase, FUSportsSportsSearchCountry, FUSportsTeamSportsSearchResult, FUSportsCitySportsSearchResult, FUSportsHorseSportsSearchResult, FUSportsPlayerSportsSearchResult, FUSportsCoachSportsSearchResult, FUSportsRefereeSportsSearchResult, FUSportsVenueSportsSearchResult, FUSportsTournamentSportsSearchResult, FUSportsMatchSportsSearchResult, FUSportsCountrySportsSearchResult, FUSportsSportsSearchResult, FUSportsSportsSearchResults, } from "./types/canonical";
|
|
36
36
|
export { getActiveSeason, getTeamNextMatch, getTeamPreviousMatch, getTeamUpcomingMatches, getTeamFinishedMatches, getTeamResultsTable, getTeamTopScorers, getTeamTopAssisters, getTeamTopAppearances, getTeamTopMinutesPlayed, getTeamTopCleanSheets, getTeamMostDecorated, aggregatePlayerStatisticsFromMatches, getTopScorersFromMatches, getTopAssistersFromMatches, getMostCardedPlayersFromMatches, getTopGoalContributorsFromMatches, getAllPlayerStatisticsFromMatches, useTopScorersFromMatches, useTopAssistersFromMatches, useMostCardedPlayersFromMatches, useTopGoalContributorsFromMatches, useAllPlayerStatisticsFromMatches, usePlayerStatisticsMap, usePlayerStatistics, } from "./helpers";
|
|
37
37
|
export type { TeamResultTableResult, TeamResultTableRow, TeamResultTable } from "./helpers";
|
|
38
38
|
export { calcPercentage, calcAverage, formatStatValue, formatWithAverage, formatAsAverage, formatPossessionPercentage, analyzeMatch, isTeamHome, isTeamAway, isTeamInMatch, isMatchFinished, getTeamScore, getOpponentScore, calculateH2HStats, getRecentH2HMeetings, getTeamHomeAwayStats, getTeamOverUnderStats, getMatchResult, getTeamGoalStats, calculateStreak, getTeamStreaks, getTeamStreaksComparison, streakFilters, getTeamsCommonOpponents, } from "./utilities/stats";
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EACH,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,iCAAiC,EACjC,4CAA4C,EAC5C,iCAAiC,EACjC,iCAAiC,EACjC,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGjD,OAAO,EACH,iCAAiC,EACjC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,sCAAsC,EACtC,oCAAoC,EACpC,wCAAwC,EACxC,2BAA2B,EAE3B,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "A TypeScript library for fetching and transforming sports data from multiple API providers. Returns clean, canonical types that are provider-agnostic.",
|
|
5
5
|
"homepage": "https://fansunited.com/",
|
|
6
6
|
"private": false,
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.16.0",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"sideEffects": false,
|
|
10
10
|
"module": "./fansunited-data-layer.js",
|
|
@@ -11,6 +11,7 @@ export type { FUSportsMatchPeriod, FUSportsStatisticEntry, FUSportsCompetitorSta
|
|
|
11
11
|
export type { FUSportsBettingOperatorBranding, FUSportsBettingOperator, FUSportsOddSelection, FUSportsMarketPeriod, FUSportsMarketType, FUSportsOddMarket, FUSportsBettingOperatorOdds, FUSportsMatchOdds, FUSportsBatchMatchOdds, } from "./odds.types";
|
|
12
12
|
export type { FUSportsCommentaryDetail, FUSportsCommentaryMeta, FUSportsCommentaryItem } from "./commentary.types";
|
|
13
13
|
export type { FUSportsStandingEntry, FUSportsCompetitorForm, FUSportsStandingLegendItem, FUSportsStandingsMetadata, FUSportsStandings, FUSportsStandingsTable, } from "./standing.types";
|
|
14
|
+
export type { FUSportsCompetitionStageType, FUSportsCompetitionStandingStat, FUSportsCompetitionStandingEntry, FUSportsCompetitionStandingGroup, FUSportsCompetitionStage, FUSportsCompetitionSeason, FUSportsCompetitionMeta, FUSportsCompetitionDetails, } from "./sports-competition.types";
|
|
14
15
|
export type { FUSportsSquadMember, FUSportsSquad } from "./squad.types";
|
|
15
16
|
export type { FUSportsSearchResultBase, FUSportsTournamentSearchResult, FUSportsPlayerSearchResult, FUSportsTeamSearchResult, FUSportsPresidentSearchResult, FUSportsVenueSearchResult, FUSportsCoachSearchResult, FUSportsSearchResult, FUSportsSearchResults, } from "./search.types";
|
|
16
17
|
export type { FUSportsTranslation, FUSportsDisplayAsset, FUSportsSportsSearchResultBase, FUSportsSportsSearchCountry, FUSportsTeamSportsSearchResult, FUSportsCitySportsSearchResult, FUSportsHorseSportsSearchResult, FUSportsPlayerSportsSearchResult, FUSportsCoachSportsSearchResult, FUSportsRefereeSportsSearchResult, FUSportsVenueSportsSearchResult, FUSportsTournamentSportsSearchResult, FUSportsMatchSportsSearchResult, FUSportsCountrySportsSearchResult, FUSportsSportsSearchResult, FUSportsSportsSearchResults, } from "./sports-search.types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/types/canonical/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACR,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,eAAe,EACf,UAAU,EAEV,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACtB,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3G,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG3G,YAAY,EACR,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,kBAAkB,EAClB,mCAAmC,EACnC,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACR,+BAA+B,EAC/B,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGnH,YAAY,EACR,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGxE,YAAY,EACR,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACR,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,GAC9B,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/types/canonical/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACR,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,eAAe,EACf,UAAU,EAEV,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACtB,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3G,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG3G,YAAY,EACR,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,kBAAkB,EAClB,mCAAmC,EACnC,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACR,+BAA+B,EAC/B,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGnH,YAAY,EACR,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACR,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,GAC7B,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGxE,YAAY,EACR,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACR,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,GAC9B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical types for the Fans United Sports API competition-by-id response.
|
|
3
|
+
*
|
|
4
|
+
* Currently only standings data is populated — future iterations will extend
|
|
5
|
+
* this model with brackets, matches, player statistics and team statistics
|
|
6
|
+
* as the underlying API surfaces them.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Stage type returned by the Sports API.
|
|
10
|
+
* - "standing" — group-based standings table
|
|
11
|
+
* - "bracket" — knockout bracket (groups will be null until bracket data ships)
|
|
12
|
+
*/
|
|
13
|
+
export type FUSportsCompetitionStageType = "standing" | "bracket";
|
|
14
|
+
/**
|
|
15
|
+
* A single standing stat entry (string-encoded by the source API).
|
|
16
|
+
* Common keys for football: played, won, drawn, lost, goals_for, goals_against,
|
|
17
|
+
* goals_difference, points.
|
|
18
|
+
*/
|
|
19
|
+
export interface FUSportsCompetitionStandingStat {
|
|
20
|
+
key: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A team's row within a standings table.
|
|
25
|
+
*
|
|
26
|
+
* The Sports API returns competitor identity by ID only; consumers can resolve
|
|
27
|
+
* names/logos via the Search API using the IDs collected in
|
|
28
|
+
* {@link FUSportsCompetitionMeta.entityIds}.
|
|
29
|
+
*/
|
|
30
|
+
export interface FUSportsCompetitionStandingEntry {
|
|
31
|
+
rank: number;
|
|
32
|
+
lastRank?: number;
|
|
33
|
+
competitorId: string;
|
|
34
|
+
stats: FUSportsCompetitionStandingStat[];
|
|
35
|
+
/** Qualification/relegation rule keys (e.g. "championsLeague", "relegation"). */
|
|
36
|
+
rules?: string[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A standings group within a stage.
|
|
40
|
+
*
|
|
41
|
+
* For single-group standings (e.g. EPL, Bulgarian First League) both `id` and
|
|
42
|
+
* `name` are null. Multi-group stages (e.g. World Cup group stage) populate
|
|
43
|
+
* both fields.
|
|
44
|
+
*/
|
|
45
|
+
export interface FUSportsCompetitionStandingGroup {
|
|
46
|
+
id: number | null;
|
|
47
|
+
name: string | null;
|
|
48
|
+
standings: FUSportsCompetitionStandingEntry[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A stage within a season (regular season, championship round, knockout, …).
|
|
52
|
+
*
|
|
53
|
+
* `groups` is null when the stage type is "bracket" — bracket data will be
|
|
54
|
+
* added to this type in a future revision of the Sports API integration.
|
|
55
|
+
*/
|
|
56
|
+
export interface FUSportsCompetitionStage {
|
|
57
|
+
id: string;
|
|
58
|
+
stageNameId: string;
|
|
59
|
+
type: FUSportsCompetitionStageType;
|
|
60
|
+
status: string;
|
|
61
|
+
coverage: string;
|
|
62
|
+
order: number;
|
|
63
|
+
startDate?: string;
|
|
64
|
+
endDate?: string;
|
|
65
|
+
groups: FUSportsCompetitionStandingGroup[] | null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The active (or requested) season for a competition, including its stages.
|
|
69
|
+
*/
|
|
70
|
+
export interface FUSportsCompetitionSeason {
|
|
71
|
+
id: string;
|
|
72
|
+
name: string;
|
|
73
|
+
year?: string;
|
|
74
|
+
status: string;
|
|
75
|
+
startDate?: string;
|
|
76
|
+
endDate?: string;
|
|
77
|
+
stages: FUSportsCompetitionStage[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Response metadata listing every entity ID referenced in the payload.
|
|
81
|
+
* Useful for batch-resolving team/player names against the Search API.
|
|
82
|
+
*/
|
|
83
|
+
export interface FUSportsCompetitionMeta {
|
|
84
|
+
entityIds: string[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Full competition payload returned by the Sports API
|
|
88
|
+
* `GET /v1/competitions/{competition_id}` endpoint.
|
|
89
|
+
*
|
|
90
|
+
* Today this carries identity + standings. As the API extends, matches,
|
|
91
|
+
* brackets, player statistics and team statistics will hang off this type
|
|
92
|
+
* (most likely under `season` / `season.stages`).
|
|
93
|
+
*/
|
|
94
|
+
export interface FUSportsCompetitionDetails {
|
|
95
|
+
id: string;
|
|
96
|
+
sport: string;
|
|
97
|
+
meta: FUSportsCompetitionMeta;
|
|
98
|
+
season: FUSportsCompetitionSeason;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=sports-competition.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sports-competition.types.d.ts","sourceRoot":"","sources":["../../../src/lib/types/canonical/sports-competition.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,+BAA+B,EAAE,CAAC;IACzC,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC7C,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,gCAAgC,EAAE,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gCAAgC,EAAE,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,yBAAyB,CAAC;CACrC"}
|