fansunited-data-layer 0.8.5 → 0.8.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/basketball/games/transformers/game.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAQhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqJlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAoC7E"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/basketball/games/transformers/game.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAQhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAmJlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAsC7E"}
@@ -2,6 +2,7 @@
2
2
  * Basketball game types for Sportal365 Sports API
3
3
  */
4
4
  import type { NextCacheOptions } from "../../http";
5
+ import type { RawMatchOdd } from "../../shared/odds.types";
5
6
  export interface RawBasketballTeam {
6
7
  id: string;
7
8
  name: string;
@@ -94,7 +95,7 @@ export interface RawBasketballGame {
94
95
  game_time: string;
95
96
  home_team: RawBasketballTeam;
96
97
  away_team: RawBasketballTeam;
97
- odds?: unknown[];
98
+ odds?: RawMatchOdd[];
98
99
  }
99
100
  export type BasketballMatchStatusType = "NOT_STARTED" | "LIVE" | "FINISHED" | "CANCELLED" | "INTERRUPTED" | "UNKNOWN" | "POSTPONED";
100
101
  export interface GetBasketballLivescoreOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/basketball/games/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/basketball/games/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"odds.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/football/matches/transformers/odds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAIR,iBAAiB,EACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAmC,MAAM,UAAU,CAAC;AA+F7E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAKzF"}
1
+ {"version":3,"file":"odds.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/football/matches/transformers/odds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAKzF"}
@@ -1,80 +1,6 @@
1
1
  /**
2
2
  * Match odds types for Sportal365 Sports API
3
+ * Re-exported from shared — the odds structure is identical across sports.
3
4
  */
4
- export interface RawOddsBookmakerAsset {
5
- logo: string;
6
- type: string;
7
- transparent_background_url?: string;
8
- background_color?: string;
9
- }
10
- export interface RawOddsBookmakerLink {
11
- appType: string;
12
- selectionTemplateUrl: string | null;
13
- eventTemplateUrl: string;
14
- homepageUrl: string;
15
- }
16
- export interface RawOddsBookmakerBranding {
17
- background_color: string;
18
- text_color: string;
19
- }
20
- export interface RawOddsBookmakerEventUrl {
21
- url: string;
22
- app_type: string;
23
- }
24
- export interface RawOddsBookmaker {
25
- id: string;
26
- name: string;
27
- url?: string;
28
- assets?: RawOddsBookmakerAsset[];
29
- links?: RawOddsBookmakerLink[];
30
- branding?: RawOddsBookmakerBranding;
31
- event_urls?: RawOddsBookmakerEventUrl[];
32
- stakes_disclaimer?: string;
33
- domain_name?: string;
34
- }
35
- export interface RawOddsMarketType {
36
- id: string;
37
- name: string;
38
- code: string;
39
- entity_type: string;
40
- }
41
- export interface RawOddsMarketScope {
42
- id: string;
43
- type: string;
44
- name: string;
45
- entity_type: string;
46
- }
47
- export interface RawOddsSelectionUrl {
48
- url: string;
49
- app_type: string;
50
- }
51
- export interface RawOddsSelectionProviderInfo {
52
- selection_id: string;
53
- event_id: string;
54
- market_id: string;
55
- competition_id: string;
56
- }
57
- export interface RawOddsSelection {
58
- id: string;
59
- name: string;
60
- code: string;
61
- value: string | null;
62
- odds: string;
63
- urls?: RawOddsSelectionUrl[];
64
- movement?: "UP" | "DOWN" | "STABLE";
65
- odds_old?: string;
66
- entity_type?: string;
67
- additional_info?: unknown;
68
- provider_info?: RawOddsSelectionProviderInfo;
69
- }
70
- export interface RawOddsMarket {
71
- type: RawOddsMarketType;
72
- scope: RawOddsMarketScope;
73
- selections: RawOddsSelection[];
74
- }
75
- export interface RawMatchOdd {
76
- bookmaker: RawOddsBookmaker;
77
- type: "PRE_EVENT" | "LIVE";
78
- markets: RawOddsMarket[];
79
- }
5
+ export type { RawOddsBookmakerAsset, RawOddsBookmakerLink, RawOddsBookmakerBranding, RawOddsBookmakerEventUrl, RawOddsBookmaker, RawOddsMarketType, RawOddsMarketScope, RawOddsSelectionUrl, RawOddsSelectionProviderInfo, RawOddsSelection, RawOddsMarket, RawMatchOdd, } from "../../../shared/odds.types";
80
6
  //# sourceMappingURL=odds.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"odds.types.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/football/matches/types/odds.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"odds.types.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/football/matches/types/odds.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACR,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,aAAa,EACb,WAAW,GACd,MAAM,4BAA4B,CAAC"}
@@ -3,4 +3,6 @@
3
3
  */
4
4
  export * from "./types";
5
5
  export * from "./providerRef.helper";
6
+ export * from "./odds.types";
7
+ export { transformOdds } from "./odds.transformer";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/sportal365-sports/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/sportal365-sports/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared odds transformation utilities
3
+ * Transforms raw Sportal365 odds responses to canonical FUSports types
4
+ */
5
+ import type { FUSportsBettingOperatorOdds } from "../../../types/canonical";
6
+ import type { RawMatchOdd } from "./odds.types";
7
+ /**
8
+ * Transform raw odds array to canonical format
9
+ * Returns just the operators array (no matchId wrapper)
10
+ */
11
+ export declare function transformOdds(raw: RawMatchOdd[]): FUSportsBettingOperatorOdds[];
12
+ //# sourceMappingURL=odds.transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odds.transformer.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/sportal365-sports/shared/odds.transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,2BAA2B,EAG9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAmC,MAAM,cAAc,CAAC;AAkFjF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,2BAA2B,EAAE,CAE/E"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Shared raw odds types for Sportal365 Sports API
3
+ * These are identical across football, basketball, and tennis.
4
+ */
5
+ export interface RawOddsBookmakerAsset {
6
+ logo: string;
7
+ type: string;
8
+ transparent_background_url?: string;
9
+ background_color?: string;
10
+ }
11
+ export interface RawOddsBookmakerLink {
12
+ appType: string;
13
+ selectionTemplateUrl: string | null;
14
+ eventTemplateUrl: string;
15
+ homepageUrl: string;
16
+ }
17
+ export interface RawOddsBookmakerBranding {
18
+ background_color: string;
19
+ text_color: string;
20
+ }
21
+ export interface RawOddsBookmakerEventUrl {
22
+ url: string;
23
+ app_type: string;
24
+ }
25
+ export interface RawOddsBookmaker {
26
+ id: string;
27
+ name: string;
28
+ url?: string;
29
+ assets?: RawOddsBookmakerAsset[];
30
+ links?: RawOddsBookmakerLink[];
31
+ branding?: RawOddsBookmakerBranding;
32
+ event_urls?: RawOddsBookmakerEventUrl[];
33
+ stakes_disclaimer?: string;
34
+ domain_name?: string;
35
+ }
36
+ export interface RawOddsMarketType {
37
+ id: string;
38
+ name: string;
39
+ code: string;
40
+ entity_type: string;
41
+ }
42
+ export interface RawOddsMarketScope {
43
+ id: string;
44
+ type: string;
45
+ name: string;
46
+ entity_type: string;
47
+ }
48
+ export interface RawOddsSelectionUrl {
49
+ url: string;
50
+ app_type: string;
51
+ }
52
+ export interface RawOddsSelectionProviderInfo {
53
+ selection_id: string;
54
+ event_id: string;
55
+ market_id: string;
56
+ competition_id: string;
57
+ }
58
+ export interface RawOddsSelection {
59
+ id: string;
60
+ name: string;
61
+ code: string;
62
+ value: string | null;
63
+ odds: string;
64
+ urls?: RawOddsSelectionUrl[];
65
+ movement?: "UP" | "DOWN" | "STABLE";
66
+ odds_old?: string;
67
+ entity_type?: string;
68
+ additional_info?: unknown;
69
+ provider_info?: RawOddsSelectionProviderInfo;
70
+ }
71
+ export interface RawOddsMarket {
72
+ type: RawOddsMarketType;
73
+ scope: RawOddsMarketScope;
74
+ selections: RawOddsSelection[];
75
+ }
76
+ export interface RawMatchOdd {
77
+ bookmaker: RawOddsBookmaker;
78
+ type: "PRE_EVENT" | "LIVE";
79
+ markets: RawOddsMarket[];
80
+ }
81
+ //# sourceMappingURL=odds.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odds.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/sportal365-sports/shared/odds.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,4BAA4B,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/tennis/matches/transformers/match.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAUhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,UAAU,CAAC;AAsNrE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CA2CvE"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/tennis/matches/transformers/match.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAUhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,UAAU,CAAC;AAoNrE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CA6CvE"}
@@ -2,6 +2,7 @@
2
2
  * Tennis match types for Sportal365 Sports API
3
3
  */
4
4
  import type { NextCacheOptions } from "../../http";
5
+ import type { RawMatchOdd } from "../../shared/odds.types";
5
6
  export interface RawTennisCountry {
6
7
  id: string;
7
8
  name: string;
@@ -121,7 +122,7 @@ export interface RawTennisMatch {
121
122
  finished_at?: string;
122
123
  best_of_sets?: number;
123
124
  entity_type: string;
124
- odds?: unknown[];
125
+ odds?: RawMatchOdd[];
125
126
  }
126
127
  export type TennisMatchStatusType = "NOT_STARTED" | "LIVE" | "FINISHED" | "CANCELLED" | "INTERRUPTED" | "POSTPONED";
127
128
  export type TennisMatchType = "SINGLE" | "DOUBLE" | "TEAM";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/tennis/matches/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/tennis/matches/types.ts"],"names":[],"mappings":"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"}
package/client.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),B=require("./matches-B-ZxR-B9.cjs");var at={exports:{}},$e={};var ya;function Ss(){if(ya)return $e;ya=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function a(i,s,r){var n=null;if(r!==void 0&&(n=""+r),s.key!==void 0&&(n=""+s.key),"key"in s){r={};for(var o in s)o!=="key"&&(r[o]=s[o])}else r=s;return s=r.ref,{$$typeof:e,type:i,key:n,ref:s!==void 0?s:null,props:r}}return $e.Fragment=t,$e.jsx=a,$e.jsxs=a,$e}var Ue={};var wa;function Cs(){return wa||(wa=1,process.env.NODE_ENV!=="production"&&(function(){function e(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===P?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case T:return"Fragment";case O:return"Profiler";case I:return"StrictMode";case g:return"Suspense";case f:return"SuspenseList";case M:return"Activity"}if(typeof w=="object")switch(typeof w.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),w.$$typeof){case v:return"Portal";case G:return w.displayName||"Context";case C:return(w._context.displayName||"Context")+".Consumer";case A:var R=w.render;return w=w.displayName,w||(w=R.displayName||R.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case y:return R=w.displayName||null,R!==null?R:e(w.type)||"Memo";case b:R=w._payload,w=w._init;try{return e(w(R))}catch{}}return null}function t(w){return""+w}function a(w){try{t(w);var R=!1}catch{R=!0}if(R){R=console;var F=R.error,N=typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object";return F.call(R,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",N),t(w)}}function i(w){if(w===T)return"<>";if(typeof w=="object"&&w!==null&&w.$$typeof===b)return"<...>";try{var R=e(w);return R?"<"+R+">":"<...>"}catch{return"<...>"}}function s(){var w=D.A;return w===null?null:w.getOwner()}function r(){return Error("react-stack-top-frame")}function n(w){if(U.call(w,"key")){var R=Object.getOwnPropertyDescriptor(w,"key").get;if(R&&R.isReactWarning)return!1}return w.key!==void 0}function o(w,R){function F(){re||(re=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",R))}F.isReactWarning=!0,Object.defineProperty(w,"key",{get:F,configurable:!0})}function l(){var w=e(this.type);return ie[w]||(ie[w]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),w=this.props.ref,w!==void 0?w:null}function c(w,R,F,N,ne,Ie){var $=F.ref;return w={$$typeof:_,type:w,key:R,props:F,_owner:N},($!==void 0?$:null)!==null?Object.defineProperty(w,"ref",{enumerable:!1,get:l}):Object.defineProperty(w,"ref",{enumerable:!1,value:null}),w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(w,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(w,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ne}),Object.defineProperty(w,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Ie}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w}function d(w,R,F,N,ne,Ie){var $=R.children;if($!==void 0)if(N)if(j($)){for(N=0;N<$.length;N++)p($[N]);Object.freeze&&Object.freeze($)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else p($);if(U.call(R,"key")){$=e(w);var ee=Object.keys(R).filter(function(Ge){return Ge!=="key"});N=0<ee.length?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}",Z[$+N]||(ee=0<ee.length?"{"+ee.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),B=require("./matches-CiVDiSIz.cjs");var at={exports:{}},$e={};var ya;function Ss(){if(ya)return $e;ya=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function a(i,s,r){var n=null;if(r!==void 0&&(n=""+r),s.key!==void 0&&(n=""+s.key),"key"in s){r={};for(var o in s)o!=="key"&&(r[o]=s[o])}else r=s;return s=r.ref,{$$typeof:e,type:i,key:n,ref:s!==void 0?s:null,props:r}}return $e.Fragment=t,$e.jsx=a,$e.jsxs=a,$e}var Ue={};var wa;function Cs(){return wa||(wa=1,process.env.NODE_ENV!=="production"&&(function(){function e(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===P?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case T:return"Fragment";case O:return"Profiler";case I:return"StrictMode";case g:return"Suspense";case f:return"SuspenseList";case M:return"Activity"}if(typeof w=="object")switch(typeof w.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),w.$$typeof){case v:return"Portal";case G:return w.displayName||"Context";case C:return(w._context.displayName||"Context")+".Consumer";case A:var R=w.render;return w=w.displayName,w||(w=R.displayName||R.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case y:return R=w.displayName||null,R!==null?R:e(w.type)||"Memo";case b:R=w._payload,w=w._init;try{return e(w(R))}catch{}}return null}function t(w){return""+w}function a(w){try{t(w);var R=!1}catch{R=!0}if(R){R=console;var F=R.error,N=typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object";return F.call(R,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",N),t(w)}}function i(w){if(w===T)return"<>";if(typeof w=="object"&&w!==null&&w.$$typeof===b)return"<...>";try{var R=e(w);return R?"<"+R+">":"<...>"}catch{return"<...>"}}function s(){var w=D.A;return w===null?null:w.getOwner()}function r(){return Error("react-stack-top-frame")}function n(w){if(U.call(w,"key")){var R=Object.getOwnPropertyDescriptor(w,"key").get;if(R&&R.isReactWarning)return!1}return w.key!==void 0}function o(w,R){function F(){re||(re=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",R))}F.isReactWarning=!0,Object.defineProperty(w,"key",{get:F,configurable:!0})}function l(){var w=e(this.type);return ie[w]||(ie[w]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),w=this.props.ref,w!==void 0?w:null}function c(w,R,F,N,ne,Ie){var $=F.ref;return w={$$typeof:_,type:w,key:R,props:F,_owner:N},($!==void 0?$:null)!==null?Object.defineProperty(w,"ref",{enumerable:!1,get:l}):Object.defineProperty(w,"ref",{enumerable:!1,value:null}),w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(w,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(w,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ne}),Object.defineProperty(w,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Ie}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w}function d(w,R,F,N,ne,Ie){var $=R.children;if($!==void 0)if(N)if(j($)){for(N=0;N<$.length;N++)p($[N]);Object.freeze&&Object.freeze($)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else p($);if(U.call(R,"key")){$=e(w);var ee=Object.keys(R).filter(function(Ge){return Ge!=="key"});N=0<ee.length?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}",Z[$+N]||(ee=0<ee.length?"{"+ee.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
package/client.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import Ds, { createContext as Xe, useContext as Je, useMemo as P, useCallback as v, useState as U, useEffect as ue, useRef as Ls } from "react";
3
- import { s as xs, w as Ns, k as Gs, v as ga, x as fa, y as ya, m as wa, o as $s, r as Us, n as Bs, z as Hs, B as Vs, j as Ws } from "./matches-B8E7KjZU.js";
4
- import { A as fh } from "./matches-B8E7KjZU.js";
3
+ import { u as xs, x as Ns, l as Gs, w as ga, y as fa, z as ya, n as wa, p as $s, s as Us, o as Bs, A as Hs, C as Vs, k as Ws } from "./matches-BefXoB5p.js";
4
+ import { B as fh } from "./matches-BefXoB5p.js";
5
5
  var nt = { exports: {} }, Be = {};
6
6
  var _a;
7
7
  function zs() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./matches-B-ZxR-B9.cjs"),L=require("react");function me(e){return{entityType:"tournament",id:e.id.toString(),name:e.name,slug:e.slug,gender:e.gender,type:e.type,region:e.region,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function ge(e){return{entityType:"player",id:e.id.toString(),name:e.name,slug:e.slug,position:e.position,gender:e.gender,birthdate:e.birthdate,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function fe(e){return{entityType:"team",id:e.id.toString(),name:e.name,slug:e.slug,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,type:e.type==="national"?"national":"club",gender:e.gender,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function pe(e){return{entityType:"president",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function ye(e){return{entityType:"venue",id:e.id.toString(),name:e.name,slug:e.slug,city:{id:e.city.id.toString(),name:e.city.name,country:{id:e.city.country.id.toString(),name:e.city.country.name,code:void 0,flag:e.city.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.city.country.uuid)},providerRef:u.toProviderRefArray(e.city.uuid)},country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},profile:{latitude:e.profile.lat,longitude:e.profile.lng,capacity:e.profile.capacity},assets:e.url_thumb?{image:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function he(e){return{entityType:"coach",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function Te(e){switch(e.entity_type){case"tournament":return me(e);case"player":return ge(e);case"team":return fe(e);case"president":return pe(e);case"venue":return ye(e);case"coach":return he(e);default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function ve(e,t){if(!e.query||e.query.trim()==="")return{results:[],query:e.query||""};const o=t||u.getConfig(),{sportal365Sports:n}=o,s=e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["tournament","player","team","president","venue","coach"],i=await u.footballHttp.get({path:"/search",params:{query:e.query.trim(),entity_type:s.join(","),language_code:e.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e.languageCode??n?.languageCode??"en"},next:e.next,config:o});return!i||i.length===0?{results:[],query:e.query}:{results:i.map(Te),query:e.query}}const Se=u.createHttpClient(u.SPORTAL365_BASKETBALL_DOMAIN);function _e(e){const t={FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started"},o=e.type.toUpperCase();return{code:t[o]??"not_started",name:e.name,shortName:e.short_name,type:o}}function z(e){return{id:e.id,name:e.name,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type==="national"?"national":"club",gender:e.gender}}function Ce(e){return{kickoffTime:new Date(e.game_time),currentMinute:e.minute}}function Ae(e){if(!e.season?.competition)return;const t=e.season.competition;return{id:t.id,name:t.name,slug:t.slug,type:"LEAGUE",gender:t.gender,region:t.region,country:t.country?{id:t.country.id,name:t.country.name}:void 0,season:{id:e.season.id,name:e.season.name,status:e.season.status},stage:e.stage?{id:e.stage.id,name:e.stage.name,type:e.stage.type}:void 0}}function Fe(e){if(e)return{id:e.id,name:e.name,slug:e.slug}}function Oe(e){if(!e||e.length===0)return;console.log("[livescore:basketball] raw score entries:",JSON.stringify(e,null,2));const t=e.filter(i=>i.result_type.category==="single_period");if(t.length===0)return;let o=0,n=0;const s=[];for(const i of t)o+=i.home,n+=i.away,s.push({competitorOne:String(i.home),competitorTwo:String(i.away)});return{competitorOne:String(o),competitorTwo:String(n),breakdown:{total:{competitorOne:String(o),competitorTwo:String(n)},periods:s}}}function Me(e){if(e.winner)return{competitorId:e.winner.id}}function Re(e){return{id:e.id,slug:e.slug,status:_e(e.status),timing:Ce(e),competitorOne:z(e.home_team),competitorTwo:z(e.away_team),competition:Ae(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:u.toProviderRefArray(e.round.uuid)}:void 0,venue:Fe(e.arena),score:Oe(e.score),winner:Me(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,providerRef:[{provider:"sportal365-basketball",id:e.id}]}}async function Ne(e,t){const o=t||u.getConfig(),{sportal365Sports:n}=o;return(await Se.get({path:"/games",params:{offset:"0",limit:"1000",competition_list:e?.competitionList,status_type:e?.statusTypes,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes,language_code:e?.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).games.map(Re)}const Pe=u.createHttpClient(u.SPORTAL365_TENNIS_DOMAIN);function be(e){const t={FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed"},o=e.type.toUpperCase();return{code:t[o]??"not_started",name:e.name,shortName:e.short_name,type:o}}function J(e){if(e.type==="PLAYER")return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"player",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender};if(e.type==="TEAM_DOUBLE"&&e.details&&e.details.length===2){const t={id:e.details[0].id,name:e.details[0].name,shortName:e.details[0].short_name,threeLetterCode:e.details[0].three_letter_code,type:"player",country:e.details[0].country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details[0].gender},o={id:e.details[1].id,name:e.details[1].name,shortName:e.details[1].short_name,threeLetterCode:e.details[1].three_letter_code,type:"player",country:e.details[1].country?{id:e.details[1].country.id,name:e.details[1].country.name}:void 0,gender:e.details[1].gender};return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"pair",players:[t,o]}}else return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"national",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender}}function Ee(e){return{kickoffTime:new Date(e.scheduled_start_time),phaseStartedAt:e.started_at?new Date(e.started_at):void 0,finishedAt:e.finished_at?new Date(e.finished_at):void 0}}function Le(e){if(!e.tournament)return;const t=e.tournament;return{id:t.competition?.id??t.id,name:t.competition?.name??t.name,slug:t.competition?.slug??t.slug,type:"TOURNAMENT",gender:t.gender,region:"INTERNATIONAL",country:t.country?{id:t.country.id,name:t.country.name}:void 0}}function Ie(e){if(!e.results||e.results.length===0)return;console.log("[livescore:tennis] raw results entries:",JSON.stringify(e.results,null,2));const t=e.results.filter(l=>/^set\d+$/i.test(l.type.code));if(t.length===0)return;const o=[];for(const l of t){const d=l.values.find(c=>c.position==="1"),m=l.values.find(c=>c.position==="2");!d||!m||d.value==null||m.value==null||o.push({competitorOne:d.value,competitorTwo:m.value})}if(o.length===0)return;const n=e.results.find(l=>l.type.code==="setswon"),s=n?.values.find(l=>l.position==="1"),i=n?.values.find(l=>l.position==="2");let r,a;return s?.value!=null&&i?.value!=null?(r=parseInt(s.value),a=parseInt(i.value)):(r=o.filter(l=>parseInt(l.competitorOne)>parseInt(l.competitorTwo)).length,a=o.filter(l=>parseInt(l.competitorTwo)>parseInt(l.competitorOne)).length),{competitorOne:String(r),competitorTwo:String(a),breakdown:{total:{competitorOne:String(r),competitorTwo:String(a)},periods:o}}}function Ge(e){const t=e.participants.find(o=>o.winner==="YES");if(t)return{competitorId:t.id}}function De(e){const t=e.participants.sort((o,n)=>o.position-n.position);return{id:e.id,slug:e.slug,status:be(e.status),timing:Ee(e),competitorOne:J(t[0]),competitorTwo:J(t[1]),competition:Le(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:u.toProviderRefArray(e.round.uuid)}:void 0,score:Ie(e),winner:Ge(e),coverage:e.coverage?.type==="NOT_LIVE"?"UNKNOWN":e.coverage?.type,metadata:{matchType:e.type,bestOfSets:e.best_of_sets,surface:e.tournament?.surface,indoorOutdoor:e.tournament?.indoor_outdoor},providerRef:[{provider:"sportal365-tennis",id:e.id}]}}async function ke(e,t){const o=t||u.getConfig(),{sportal365Sports:n}=o;return(await Pe.get({path:"/matches/livescore",params:{date:e?.date,utc_offset:e?.utcOffset?.toString(),offset:"0",limit:"1000",type:e?.type,gender:e?.gender,status_type:e?.statusType,competition_list:e?.competitionList,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes,language_code:e?.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).matches.map(De)}const He=u.createHttpClient(u.SPORTAL365_SPORTS_SEARCH_DOMAIN);function O(e){return{language:e.language,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0}}function M(e){if(!(!e||!e.url))return{url:e.url}}function E(e){if(e)return{id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,providerRef:e.id}}function j(e){return{entityType:"team",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,competitionIds:e.competition_ids,type:e.type,national:e.national,undecided:e.undecided,providerRef:e.id}}function Z(e){return{entityType:"city",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),providerRef:e.id}}function Ue(e){return{entityType:"horse",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,providerRef:e.id}}function Be(e){return{entityType:"player",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,position:e.position??void 0,providerRef:e.id}}function $e(e){return{entityType:"coach",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function xe(e){return{entityType:"referee",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function We(e){return{entityType:"venue",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),city:e.city?Z(e.city):void 0,providerRef:e.id}}function qe(e){return{entityType:e.entity_type,id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,type:e.type??void 0,region:e.region??void 0,providerRef:e.id}}function Ve(e){return{entityType:"match",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,competitionId:e.competition_id??void 0,startTime:e.start_time??void 0,homeTeam:e.home_team?j(e.home_team):void 0,awayTeam:e.away_team?j(e.away_team):void 0,providerRef:e.id}}function je(e){return{entityType:"country",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,providerRef:e.id}}function Ye(e){switch(e.entity_type){case"team":return j(e);case"city":return Z(e);case"horse":return Ue(e);case"player":return Be(e);case"coach":return $e(e);case"referee":return xe(e);case"venue":return We(e);case"tournament":case"competition":return qe(e);case"match":return Ve(e);case"country":return je(e);default:{const t=e;throw new Error(`Unknown entity type: ${t.entity_type}`)}}}async function Ke(e={},t){const o=t??u.getConfig(),n={};e.name&&(n.name=e.name),e.entityTypes&&e.entityTypes.length>0&&(n.entity_type=e.entityTypes.join(",")),e.sports&&e.sports.length>0&&(n.sport=e.sports.join(",")),e.eventStartTime&&(n.event_start_time=e.eventStartTime),e.ids&&e.ids.length>0&&(n.ids=e.ids.join(",")),e.competitionIds&&e.competitionIds.length>0&&(n.competition_ids=e.competitionIds.join(",")),e.domain&&(n.domain=e.domain),e.inputLanguage&&(n.input_language=e.inputLanguage),e.translationLanguage&&(n.translation_language=e.translationLanguage),e.limit!==void 0&&(n.limit=e.limit.toString()),e.offset!==void 0&&(n.offset=e.offset.toString());const s=await He.get({path:"/suggest",params:n,next:e.next,config:o});return!s.results||s.results.length===0?{results:[],query:e.name}:{results:s.results.map(Ye),query:e.name}}const ze=u.createHttpClient(u.SPORTAL365_STATISTICS_DOMAIN);function Je(e,t){return{teamId:e.id,teamName:e.name,seasonId:t,statistics:e.statistics.map(o=>({key:o.id,value:o.value,label:o.name}))}}async function Qe(e,t){const o=t||u.getConfig(),n=e.next??{revalidate:600},s=await ze.get({path:"/statistics/aggregate",params:{participant_ids:e.teamId,season_ids:e.seasonId,participant_type:"TEAM"},next:n,config:o});if(!s.data||s.data.length===0)throw new Error(`No statistics found for team ${e.teamId} in season ${e.seasonId}`);return Je(s.data[0],e.seasonId)}function Xe(e){const t=e.replace(/\/$/,"");function o(n){return`${t}${n}`}return{async get(n){const s=n.config||u.getConfig(),{fansUnited:i}=s;if(!i)throw new Error("Fans United configuration is missing. Add 'fansUnited' with 'apiKey' and 'clientId' to your config.");if(!i.apiKey||!i.clientId)throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");const r=new URL(o(n.path));if(r.searchParams.set("key",i.apiKey),r.searchParams.set("client_id",i.clientId),n.params)for(const[m,c]of Object.entries(n.params))c!==void 0&&(Array.isArray(c)?c.length>0&&r.searchParams.set(m,c.join(",")):r.searchParams.set(m,c));const a=3e4,l=new URL(r.toString());l.searchParams.delete("key"),l.searchParams.delete("client_id"),console.log("🔗 FansUnited API URL:",l.toString());const d=await fetch(r.toString(),{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",...n.headers},signal:AbortSignal.timeout(a),...n.next&&{next:n.next}});if(!d.ok){let m=`Fans United API error: ${d.status} ${d.statusText}`;try{const c=await d.text();c&&(m+=` - ${c}`)}catch(c){console.error("[Fans United HTTP] Failed to read error response body:",{error:c instanceof Error?c.message:String(c),status:d.status,statusText:d.statusText})}throw new Error(m)}return d.json()}}}const Ze="https://football.fansunitedapi.com",b=Xe(Ze);function we(e){return{id:String(e.id),name:e.name,active:e.active,providerRef:[{provider:"fansunited",id:String(e.id)}]}}function et(e){const t={id:String(e.id),name:e.name,shortName:e.short_name,slug:e.slug,type:e.type||"LEAGUE",region:e.region,gender:e.gender,providerRef:[{provider:"fansunited",id:String(e.id)}]};return e.country&&(t.country={id:String(e.country.id),name:e.country.name,code:e.country.code,flag:e.country.assets?.flag,providerRef:[{provider:"fansunited",id:String(e.country.id)}]}),e.assets?.logo&&(t.assets={logo:e.assets.logo}),e.seasons&&e.seasons.length>0&&(t.seasons=e.seasons.map(we)),e.current_season&&(t.season={id:String(e.current_season.id),name:e.current_season.name,status:e.current_season.active?"ACTIVE":"INACTIVE"}),t}function tt(e){return e.map(et)}async function ot(e,t){const o={};e?.lang?o.lang=e.lang:o.lang="EN",e?.sortField&&(o.sort_field=e.sortField),e?.sortOrder&&(o.sort_order=e.sortOrder),e?.page!==void 0&&(o.page=String(e.page)),e?.perPage!==void 0&&(o.per_page=String(e.perPage)),e?.countryId!==void 0&&(o.country_id=String(e.countryId)),e?.active!==void 0&&(o.active=e.active?"1":"0");const n=await b.get({path:"/v1/competitions",params:o,config:t,next:e?.next}),s=n.data.map(d=>d.id),i=new Set(s);s.length!==i.size&&console.warn("⚠️ API returned duplicate competitions!");const r=tt(n.data),a=new Set,l=r.filter(d=>a.has(d.id)?!1:(a.add(d.id),!0));return r.length!==l.length&&console.warn(`Removed ${r.length-l.length} duplicate competitions`),l}function nt(e){return{id:e.id,name:e.name,code:e.country_code,assets:e.assets?.flag?{flag:e.assets.flag}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function st(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?nt(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function it(e){return st(e.data)}async function rt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/competitions/${e}`,params:s,next:t?.next,config:n});return it(i)}function at(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function w(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?e.gender.toUpperCase():void 0,country:e.country?at(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,metadata:e.colors?{shirtColors:e.colors.primary?[{type:"home",colorCode:e.colors.primary}]:void 0}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ct(e){return w(e.data)}function lt(e){return e.data.map(w)}async function dt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/teams/${e}`,params:s,next:t?.next,config:n});return ct(i)}async function ut(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.teamIds&&(n.team_ids=e.teamIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.national!==void 0&&(n.national=String(e.national)),e?.gender&&(n.gender=e.gender),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await b.get({path:"/v1/teams",params:n,next:e?.next,config:o});return lt(s)}function Y(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function mt(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,fullName:e.full_name??void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function gt(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ee(e){return{type:"player",id:e.id,name:e.name,position:e.position,birthdate:e.birth_date,country:e.country?Y(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,teams:e.teams?.map(mt),competitions:e.competitions?.map(gt),providerRef:[{provider:"fansunited",id:e.id}]}}function ft(e){return ee(e.data)}function pt(e){return e.data.map(ee)}async function yt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/players/${e}`,params:s,next:t?.next,config:n});return ft(i)}async function ht(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.playerIds&&(n.player_ids=e.playerIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await b.get({path:"/v1/players",params:n,next:e?.next,config:o});return pt(s)}async function Tt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/matches/${e}`,params:s,next:t?.next,config:n});return u.transformMatch(i)}async function vt(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.competitions&&(n.competitions=e.competitions),e?.countries&&(n.countries=e.countries),e?.fromDate&&(n.from_date=e.fromDate),e?.toDate&&(n.to_date=e.toDate),e?.matches&&(n.matches=e.matches),e?.teams&&(n.teams=e.teams),e?.status&&(n.status=e.status),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder),e?.showDeleted!==void 0&&(n.show_deleted=e.showDeleted?"true":"false");const s=await b.get({path:"/v1/matches",params:n,next:e?.next,config:o});return u.transformMatches(s)}function K(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag||void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function St(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,type:e.type||"LEAGUE",region:e.region,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function _t(e){return{type:"player",id:e.id,name:e.name,position:e.position||void 0,gender:e.gender?.toUpperCase(),birthdate:e.birth_date||void 0,country:e.country?K(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ct(e){return{type:e.national?"national":"club",id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code||void 0,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function V(e){switch(e.entity_type){case"competition":{const t=St(e);return{source:"FOOTBALL",entityType:"competition",entityId:e.id,entityData:t}}case"player":{const t=_t(e);return{source:"FOOTBALL",entityType:"player",entityId:e.id,entityData:t}}case"team":{const t=Ct(e);return{source:"FOOTBALL",entityType:"team",entityId:e.id,entityData:t}}case"venue":case"coach":return null;default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function At(e,t){if(!e.query||e.query.trim()==="")return[];const o=t||u.getConfig(),n={q:e.query.trim()},i=(e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["competition","team","player"]).map(l=>{switch(l){case"team":return"teams";case"player":return"players";case"competition":return"competitions";default:return l}});n.entities=i.join(","),e.lang&&(n.lang=e.lang),e.limit&&(n.limit=String(e.limit));const r=await b.get({path:"/v1/search",params:n,next:e.next,config:o}),a=[];return r.data&&(r.data.competitions&&r.data.competitions.forEach(l=>{const d=V({...l,entity_type:"competition"});d&&a.push(d)}),r.data.teams&&r.data.teams.forEach(l=>{const d=V({...l,entity_type:"team"});d&&a.push(d)}),r.data.players&&r.data.players.forEach(l=>{const d=V({...l,entity_type:"player"});d&&a.push(d)})),a}function Ft(e){return!e.seasons||e.seasons.length===0?void 0:e.seasons.find(o=>o.active)??e.seasons[0]}function Ot(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED",a=new Date(s.timing.kickoffTime)>=o;return i&&r&&a});return n.sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()),n[0]}function Mt(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a});return n.sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime()),n[0]}function Rt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED"||s.status.type==="LIVE",a=new Date(s.timing.kickoffTime)>=o||s.status.type==="LIVE";return i&&r&&a}).sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime())}function Nt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a}).sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime())}function Pt(e,t,o){const n=o.filter(r=>r.status.type==="FINISHED"),s=o.filter(r=>r.status.type==="NOT_STARTED"||r.status.type==="POSTPONED"),i=t.entries.map(r=>{const a=r.competitor.id,l=n.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e),d=s.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e);let m,c;return l.forEach(g=>{const p=g.competitorOne.id===e,y=parseInt(g.score?.competitorOne??"0"),T=parseInt(g.score?.competitorTwo??"0"),R=p?y:T,C=p?T:y;let F;R>C?F="W":R===C?F="D":F="L";const N={result:F,score:`${y} - ${T}`,date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!1};p?m=N:c=N}),d.forEach(g=>{const p=g.competitorOne.id===e;p&&!m?m={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0}:!p&&!c&&(c={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0})}),{rank:r.rank,teamId:r.competitor.id,teamName:r.competitor.name,teamShortName:r.competitor.shortName,teamLogo:r.competitor.logo,gamesPlayed:r.stats.played??0,points:r.stats.points??0,homeResult:m,awayResult:c}});return{teamId:e,rows:i}}function bt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.goals??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.goals??0,i=n.seasonStatistics?.goals??0;if(i!==s)return i-s;const r=o.seasonStatistics?.assists??0;return(n.seasonStatistics?.assists??0)-r}).slice(0,t)}function Et(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.assists??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.assists??0,i=n.seasonStatistics?.assists??0;if(i!==s)return i-s;const r=o.seasonStatistics?.goals??0;return(n.seasonStatistics?.goals??0)-r}).slice(0,t)}function Lt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.appearances??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.appearances??0,i=n.seasonStatistics?.appearances??0;if(i!==s)return i-s;const r=o.seasonStatistics?.minutes??0;return(n.seasonStatistics?.minutes??0)-r}).slice(0,t)}function It(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.minutes??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.minutes??0,i=n.seasonStatistics?.minutes??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function Gt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.cleansheets??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.cleansheets??0,i=n.seasonStatistics?.cleansheets??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function Dt(e,t=10){return e.players.filter(o=>{const n=o.seasonStatistics?.yellowCards??0,s=o.seasonStatistics?.redCards??0;return n+s>0}).sort((o,n)=>{const s=o.seasonStatistics?.yellowCards??0,i=o.seasonStatistics?.redCards??0,r=n.seasonStatistics?.yellowCards??0,a=n.seasonStatistics?.redCards??0,l=s+i*3,d=r+a*3;return d!==l?d-l:a!==i?a-i:r-s}).slice(0,t)}function I(e){const t=new Map,o=new Map;return e.forEach(n=>{!n.mainEvents||n.mainEvents.length===0||n.mainEvents.forEach(s=>{if(s.primaryPlayer){const i=s.primaryPlayer.id;t.has(i)||t.set(i,{playerId:s.primaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);o.has(i)||o.set(i,new Set),o.get(i).add(n.id),(s.type==="GOAL"||s.type==="PENALTY_GOAL")&&(r.goals=(r.goals??0)+1),s.type==="YELLOW_CARD"&&(r.yellowCards=(r.yellowCards??0)+1),(s.type==="RED_CARD"||s.type==="YELLOW_RED_CARD")&&(r.redCards=(r.redCards??0)+1)}if(s.secondaryPlayer&&(s.type==="GOAL"||s.type==="PENALTY_GOAL")){const i=s.secondaryPlayer.id;t.has(i)||t.set(i,{playerId:s.secondaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);r.assists=(r.assists??0)+1,o.has(i)||o.set(i,new Set),o.get(i).add(n.id)}})}),o.forEach((n,s)=>{const i=t.get(s);i&&i.appearances!==void 0&&(i.appearances=n.size)}),t}function U(e){return Array.from(e.values()).map(t=>({...t,totalCards:(t.yellowCards??0)+(t.redCards??0)}))}function te(e,t=10){const o=I(e);return U(o).filter(s=>(s.goals??0)>0).sort((s,i)=>{const r=s.goals??0,a=i.goals??0;if(a!==r)return a-r;const l=s.assists??0;return(i.assists??0)-l}).slice(0,t)}function oe(e,t=10){const o=I(e);return U(o).filter(s=>(s.assists??0)>0).sort((s,i)=>{const r=s.assists??0,a=i.assists??0;if(a!==r)return a-r;const l=s.goals??0;return(i.goals??0)-l}).slice(0,t)}function ne(e,t=10){const o=I(e);return U(o).filter(s=>(s.totalCards??0)>0).sort((s,i)=>{const r=(s.yellowCards??0)+(s.redCards??0)*3,a=(i.yellowCards??0)+(i.redCards??0)*3;if(a!==r)return a-r;const l=s.redCards??0,d=i.redCards??0;if(d!==l)return d-l;const m=s.yellowCards??0;return(i.yellowCards??0)-m}).slice(0,t)}function se(e,t=10){const o=I(e);return U(o).filter(s=>(s.goals??0)+(s.assists??0)>0).sort((s,i)=>{const r=(s.goals??0)+(s.assists??0),a=(i.goals??0)+(i.assists??0);if(a!==r)return a-r;const l=s.goals??0,d=i.goals??0;if(d!==l)return d-l;const m=s.assists??0;return(i.assists??0)-m}).slice(0,t)}function ie(e){const t=I(e);return U(t).sort((n,s)=>{const i=n.appearances??0,r=s.appearances??0;if(r!==i)return r-i;const a=(n.goals??0)+(n.assists??0);return(s.goals??0)+(s.assists??0)-a})}function kt(e,t=10){return L.useMemo(()=>te(e,t),[e,t])}function Ht(e,t=10){return L.useMemo(()=>oe(e,t),[e,t])}function Ut(e,t=10){return L.useMemo(()=>ne(e,t),[e,t])}function Bt(e,t=10){return L.useMemo(()=>se(e,t),[e,t])}function $t(e){return L.useMemo(()=>ie(e),[e])}function re(e){return L.useMemo(()=>I(e),[e])}function xt(e,t){const o=re(e);return L.useMemo(()=>o.get(t),[o,t])}const ae=["GOAL","PENALTY_GOAL","OWN_GOAL"];function A(e,t){return t>0?e/t*100:0}function k(e,t){return t>0?e/t:0}function Wt(e,t=!1,o=2){return t?`${Math.round(e)}%`:Number.isInteger(e)?e.toString():e.toFixed(o)}function qt(e,t){const o=typeof e=="string"?parseFloat(e):e;if(isNaN(o)||t===0)return"0";const n=(o/t).toFixed(1);return`${o} (${n} avg)`}function Vt(e,t){const o=typeof e=="string"?parseFloat(e):e;return isNaN(o)||t===0?"0.0":(o/t).toFixed(1)}function jt(e){const t=parseFloat(e);return isNaN(t)?"0%":`${Math.round(t)}%`}function ce(e,t,o){if(e.status?.type!=="FINISHED"||!e.score)return null;const n=parseInt(e.score.competitorOne||"0"),s=parseInt(e.score.competitorTwo||"0"),i=o?n:s,r=o?s:n;let a=null,l=null;const d=e.score.breakdown?.halfTime;if(d){const p=parseInt(d.competitorOne||"0"),y=parseInt(d.competitorTwo||"0");a=o?p:y,l=o?y:p}const m=e.statistics;let c=null,g=null;if(m){const p=m.find?.(y=>y.type==="CORNERS");p&&(c=o?p.competitorOne:p.competitorTwo,g=o?p.competitorTwo:p.competitorOne)}return{goalsFor:i,goalsAgainst:r,halfTimeGoalsFor:a,halfTimeGoalsAgainst:l,cornersFor:c,cornersAgainst:g,isWin:i>r,isDraw:i===r,isLoss:i<r}}function q(e,t){return e.competitorOne.id===t}function le(e,t){return e.competitorTwo.id===t}function Yt(e,t){return q(e,t)||le(e,t)}function Kt(e){return e.status?.type==="FINISHED"}function zt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")}function Jt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")}function Qt(e,t,o){const n=e.filter(m=>{if(m.status?.type!=="FINISHED"||!m.score)return!1;const c=m.competitorOne.id===t||m.competitorTwo.id===t,g=m.competitorOne.id===o||m.competitorTwo.id===o;return c&&g});let s=0,i=0,r=0,a=0,l=0;n.forEach(m=>{const c=parseInt(m.score?.competitorOne||"0"),g=parseInt(m.score?.competitorTwo||"0"),p=m.competitorOne.id===t,y=p?c:g,T=p?g:c;a+=y,l+=T,y>T?s++:T>y?i++:r++});const d=n.length;return{totalMatches:d,homeTeamWins:s,awayTeamWins:i,draws:r,homeTeamGoals:a,awayTeamGoals:l,homeTeamWinPercentage:d>0?s/d*100:0,awayTeamWinPercentage:d>0?i/d*100:0,drawPercentage:d>0?r/d*100:0,homeTeamAvgGoals:d>0?a/d:0,awayTeamAvgGoals:d>0?l/d:0}}function Xt(e,t,o,n=5){return e.filter(i=>{if(i.status?.type!=="FINISHED"||!i.score)return!1;const r=i.competitorOne.id===t||i.competitorTwo.id===t,a=i.competitorOne.id===o||i.competitorTwo.id===o;return r&&a}).sort((i,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()).slice(0,n).map(i=>{const r=parseInt(i.score?.competitorOne||"0"),a=parseInt(i.score?.competitorTwo||"0"),l=i.competitorOne.id===t,d=l?r:a,m=l?a:r;let c;return d>m?c="home":m>d?c="away":c="draw",{id:i.id,date:new Date(i.timing.kickoffTime).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}),homeTeamName:i.competitorOne.name,awayTeamName:i.competitorTwo.name,homeTeamLogo:i.competitorOne.assets?.logo,awayTeamLogo:i.competitorTwo.assets?.logo,homeScore:r,awayScore:a,venue:i.venue?.name,winner:c}})}function Zt(e,t,o){return e.filter(n=>{const s=n.competitorOne.id===t,i=n.competitorTwo.id===t;return!s&&!i?!1:o==="home"?s:i}).map(n=>{const s=n.competitorOne.id===t;return ce(n,t,s)}).filter(n=>n!==null)}function Q(e,t,o,n){let s=0;for(const i of e){const r=i.competitorOne.id===t,a=i.competitorTwo.id===t;if(!r&&!a||o==="home"&&!r||o==="away"&&!a||i.status?.type!=="FINISHED")continue;const l=i.mainEvents;if(!l||!Array.isArray(l))continue;const d=l.filter(y=>y.type&&ae.includes(y.type)).sort((y,T)=>{const R=y.minute??0,C=T.minute??0;return R!==C?R-C:(y.injuryMinute??0)-(T.injuryMinute??0)});if(d.length===0)continue;const m=d[0],c=r?"ONE":"TWO",g=m.type==="OWN_GOAL";let p;g?p=m.competitorPosition!==c:p=m.competitorPosition===c,(n==="scored"&&p||n==="conceded"&&!p)&&s++}return s}function wt(e,t,o){let n=0;for(const s of e){const i=s.competitorOne.id===t,r=s.competitorTwo.id===t;if(!i&&!r||o==="home"&&!i||o==="away"&&!r||s.status?.type!=="FINISHED")continue;const a=s.mainEvents;a&&Array.isArray(a)&&n++}return n}function eo(e,t,o){const n=Zt(e,t,o),s=n.length;if(s===0)return{played:0,goalsForPerMatch:0,cleanSheets:0,wonToNil:0,scoringRate:0,scoredInBothHalves:0,scoredFirst:0,leadingAtHalfTime:0,goalsAgainstPerMatch:0,failedToScore:0,lostToNil:0,concedingRate:0,concededInBothHalves:0,concededFirst:0,losingAtHalfTime:0,avgCornersFor:0,avgCornersAgainst:0};const i=n.reduce((f,S)=>f+S.goalsFor,0),r=n.reduce((f,S)=>f+S.goalsAgainst,0),a=n.filter(f=>f.goalsAgainst===0).length,l=n.filter(f=>f.isWin&&f.goalsAgainst===0).length,d=n.filter(f=>f.goalsFor>0).length,m=n.filter(f=>f.goalsFor===0).length,c=n.filter(f=>f.isLoss&&f.goalsFor===0).length,g=n.filter(f=>f.goalsAgainst>0).length,p=n.filter(f=>f.halfTimeGoalsFor!==null),y=p.length,T=p.filter(f=>{const S=f.halfTimeGoalsFor,D=f.goalsFor-S;return S>0&&D>0}).length,R=Q(e,t,o,"scored"),C=wt(e,t,o),F=p.filter(f=>f.halfTimeGoalsFor>f.halfTimeGoalsAgainst).length,N=p.filter(f=>{const S=f.halfTimeGoalsAgainst,D=f.goalsAgainst-S;return S>0&&D>0}).length,B=Q(e,t,o,"conceded"),$=p.filter(f=>f.halfTimeGoalsAgainst>f.halfTimeGoalsFor).length,G=n.filter(f=>f.cornersFor!==null),x=G.reduce((f,S)=>f+(S.cornersFor||0),0),W=G.reduce((f,S)=>f+(S.cornersAgainst||0),0);return{played:s,goalsForPerMatch:k(i,s),cleanSheets:A(a,s),wonToNil:A(l,s),scoringRate:A(d,s),scoredInBothHalves:A(T,y),scoredFirst:A(R,C),leadingAtHalfTime:A(F,y),goalsAgainstPerMatch:k(r,s),failedToScore:A(m,s),lostToNil:A(c,s),concedingRate:A(g,s),concededInBothHalves:A(N,y),concededFirst:A(B,C),losingAtHalfTime:A($,y),avgCornersFor:k(x,G.length),avgCornersAgainst:k(W,G.length)}}function to(e,t){return e.filter(o=>o.status?.type!=="FINISHED"?!1:o.competitorOne.id===t||o.competitorTwo.id===t).map(o=>{const n=o.competitorOne.id===t,s=parseInt(o.score?.competitorOne||"0"),i=parseInt(o.score?.competitorTwo||"0"),r=s+i,a=o.periods;let l=null;if(a&&Array.isArray(a)){const d=a.find(m=>m.type==="FIRST_HALF"||m.type==="1ST_HALF");if(d?.score){const m=parseInt(d.score.competitorOne||"0"),c=parseInt(d.score.competitorTwo||"0");l=m+c}}return{totalGoals:r,halfTimeGoals:l,isHome:n}})}function h(e,t){return e.length===0?0:e.filter(n=>n>t).length/e.length*100}function oo(e,t){const o=to(e,t),n=o.filter(c=>c.isHome),s=o.filter(c=>!c.isHome),i=o.map(c=>c.totalGoals),r=n.map(c=>c.totalGoals),a=s.map(c=>c.totalGoals),l=o.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),d=n.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),m=s.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals);return{over05:{home:h(r,.5),total:h(i,.5),away:h(a,.5)},over15:{home:h(r,1.5),total:h(i,1.5),away:h(a,1.5)},over25:{home:h(r,2.5),total:h(i,2.5),away:h(a,2.5)},over35:{home:h(r,3.5),total:h(i,3.5),away:h(a,3.5)},over45:{home:h(r,4.5),total:h(i,4.5),away:h(a,4.5)},over55:{home:h(r,5.5),total:h(i,5.5),away:h(a,5.5)},over05HT:{home:h(d,.5),total:h(l,.5),away:h(m,.5)},over15HT:{home:h(d,1.5),total:h(l,1.5),away:h(m,1.5)},over25HT:{home:h(d,2.5),total:h(l,2.5),away:h(m,2.5)}}}function de(e,t){const o=e.competitorOne.id===t,n=e.competitorTwo.id===t;if(!o&&!n||!e.score)return null;const s=parseInt(o?e.score.competitorOne||"0":e.score.competitorTwo||"0"),i=parseInt(o?e.score.competitorTwo||"0":e.score.competitorOne||"0");let r;return s>i?r="W":s<i?r="L":r="D",{result:{score:`${s}:${i}`,result:r,isHome:o},isHome:o}}function no(e,t,o,n,s,i){const r=t?.entries.find(P=>P.competitor.id===e),a=o?.entries.find(P=>P.competitor.id===e),l=n?.entries.find(P=>P.competitor.id===e),d=s?.entries.find(P=>P.competitor.id===e),m=i?.entries.find(P=>P.competitor.id===e);if(!r)return null;const c=a?.stats?.goalsFor??0,g=l?.stats?.goalsFor??0,p=r?.stats?.goalsFor??0,y=d?.stats?.goalsAgainst??0,T=m?.stats?.goalsAgainst??0,R=r?.stats?.goalsAgainst??0,C=a?.stats?.played??0,F=l?.stats?.played??0,N=r?.stats?.played??0,B=N>0?p/N:0,$=N>0?R/N:0,G=B+$,x=C>0?c/C:0,W=F>0?g/F:0,f=C>0?y/C:0,S=F>0?T/F:0,D=x+f,ue=W+S;return{homeGoals:c,totalGoals:p,awayGoals:g,homeGamesPlayed:C,awayGamesPlayed:F,totalGamesPlayed:N,homeGoalsConceded:y,totalGoalsConceded:R,awayGoalsConceded:T,gfPerMatch:B,gaPerMatch:$,gfGaPerMatch:G,homeGfPerMatch:x,awayGfPerMatch:W,homeGaPerMatch:f,awayGaPerMatch:S,homeGfGaPerMatch:D,awayGfGaPerMatch:ue}}function _(e,t,o,n){const s=e.filter(r=>{const a=r.competitorOne.id===t,l=r.competitorTwo.id===t;return!(!a&&!l||r.status?.type!=="FINISHED"||n==="home"&&!a||n==="away"&&!l)}).sort((r,a)=>new Date(a.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime());if(s.length===0)return null;let i=0;for(const r of s){const a=r.competitorOne.id===t;if(o(r,t,a))i++;else break}return i>0?i:null}const v={win:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n>s},draw:e=>e.score?.competitorOne===e.score?.competitorTwo,loss:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n<s},noWin:(e,t,o)=>!v.win(e,t,o),noDraw:e=>!v.draw(e),noDefeat:(e,t,o)=>!v.loss(e,t,o),scored:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=1,conceded:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=1,noGoalScored:(e,t,o)=>!v.scored(e,t,o),noGoalConceded:(e,t,o)=>!v.conceded(e,t,o),over25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")>2,under25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")<3,scoredTwice:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=2,concededTwice:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=2};function H(e,t,o){return{win:_(e,t,v.win,o),draw:_(e,t,v.draw,o),loss:_(e,t,v.loss,o),noWin:_(e,t,v.noWin,o),noDraw:_(e,t,v.noDraw,o),noDefeat:_(e,t,v.noDefeat,o),scored:_(e,t,v.scored,o),conceded:_(e,t,v.conceded,o),noGoalScored:_(e,t,v.noGoalScored,o),noGoalConceded:_(e,t,v.noGoalConceded,o),over25:_(e,t,v.over25,o),under25:_(e,t,v.under25,o),scoredTwice:_(e,t,v.scoredTwice,o),concededTwice:_(e,t,v.concededTwice,o)}}function so(e,t,o){const n=H(e,t,"home"),s=H(e,t),i=H(e,o,"away"),r=H(e,o);return[{label:"Consecutive wins",homeTeam:{home:n.win,total:s.win},awayTeam:{total:r.win,home:i.win},colorType:"neutral"},{label:"Consecutive draws",homeTeam:{home:n.draw,total:s.draw},awayTeam:{total:r.draw,home:i.draw},colorType:"neutral"},{label:"Consecutive defeats",homeTeam:{home:n.loss,total:s.loss},awayTeam:{total:r.loss,home:i.loss},colorType:"neutral"},{label:"No win",homeTeam:{home:n.noWin,total:s.noWin},awayTeam:{total:r.noWin,home:i.noWin},colorType:"negative"},{label:"No draw",homeTeam:{home:n.noDraw,total:s.noDraw},awayTeam:{total:r.noDraw,home:i.noDraw},colorType:"neutral"},{label:"No defeat",homeTeam:{home:n.noDefeat,total:s.noDefeat},awayTeam:{total:r.noDefeat,home:i.noDefeat},colorType:"positive"},{label:"Scored at least once",homeTeam:{home:n.scored,total:s.scored},awayTeam:{total:r.scored,home:i.scored},colorType:"positive"},{label:"Conceded at least once",homeTeam:{home:n.conceded,total:s.conceded},awayTeam:{total:r.conceded,home:i.conceded},colorType:"negative"},{label:"No goal scored",homeTeam:{home:n.noGoalScored,total:s.noGoalScored},awayTeam:{total:r.noGoalScored,home:i.noGoalScored},colorType:"neutral"},{label:"No goal conceded",homeTeam:{home:n.noGoalConceded,total:s.noGoalConceded},awayTeam:{total:r.noGoalConceded,home:i.noGoalConceded},colorType:"neutral"},{label:"GS + GC over 2.5",homeTeam:{home:n.over25,total:s.over25},awayTeam:{total:r.over25,home:i.over25},colorType:"neutral"},{label:"GS + GC under 2.5",homeTeam:{home:n.under25,total:s.under25},awayTeam:{total:r.under25,home:i.under25},colorType:"neutral"},{label:"Scored at least twice",homeTeam:{home:n.scoredTwice,total:s.scoredTwice},awayTeam:{total:r.scoredTwice,home:i.scoredTwice},colorType:"positive"},{label:"Conceded at least twice",homeTeam:{home:n.concededTwice,total:s.concededTwice},awayTeam:{total:r.concededTwice,home:i.concededTwice},colorType:"negative"}]}function X(e,t){const o=new Map;return e.forEach(n=>{if(n.status?.type!=="FINISHED")return;const s=de(n,t);if(!s)return;const i=s.isHome?n.competitorTwo.id:n.competitorOne.id,r=s.isHome?n.competitorTwo:n.competitorOne,a=o.get(i)||{opponentId:i,opponentName:r.name,opponentLogo:r.assets?.logo};s.isHome?a.homeResult=s.result:a.awayResult=s.result,o.set(i,a)}),o}function io(e,t,o,n,s,i,r){const a=X(e,t),l=X(e,o),d=new Set([...a.keys(),...l.keys(),t,o]),m=[];return d.forEach(c=>{const g=a.get(c),p=l.get(c);if(!g&&!p&&c!==t&&c!==o)return;let y,T;c===t?(y=n,T=i):c===o?(y=s,T=r):(y=g?.opponentName||p?.opponentName||"",T=g?.opponentLogo||p?.opponentLogo),m.push({opponentId:c,opponentName:y,opponentLogo:T,homeTeamHome:g?.homeResult,homeTeamAway:g?.awayResult,awayTeamHome:p?.homeResult,awayTeamAway:p?.awayResult,isHomeTeamRow:c===t,isAwayTeamRow:c===o})}),m.sort((c,g)=>c.isHomeTeamRow?-1:g.isHomeTeamRow?1:c.isAwayTeamRow?-1:g.isAwayTeamRow?1:c.opponentName.localeCompare(g.opponentName))}exports.addProviderRef=u.addProviderRef;exports.getBatchMatchOdds=u.getBatchMatchOdds;exports.getConfig=u.getConfig;exports.getFootballCompetition=u.getFootballCompetition;exports.getFootballLivescore=u.getFootballLivescore;exports.getFootballMatch=u.getFootballMatch;exports.getFootballMatchCommentary=u.getFootballMatchCommentary;exports.getFootballMatchEvents=u.getFootballMatchEvents;exports.getFootballMatchLineups=u.getFootballMatchLineups;exports.getFootballMatchOdds=u.getFootballMatchOdds;exports.getFootballMatchStatistics=u.getFootballMatchStatistics;exports.getFootballMatches=u.getFootballMatches;exports.getFootballPlayerSeasonStatistics=u.getFootballPlayerSeasonStatistics;exports.getFootballSeasonDetails=u.getFootballSeasonDetails;exports.getFootballStandings=u.getFootballStandings;exports.getFootballTeam=u.getFootballTeam;exports.getFootballTeamSquad=u.getFootballTeamSquad;exports.getLeaderboardMatches=u.getLeaderboardMatches;exports.getLeaderboardTeamMatches=u.getLeaderboardTeamMatches;exports.getLeaderboardTemplate=u.getLeaderboardTemplate;exports.getProviderRefId=u.getProviderRefId;exports.isConfigured=u.isConfigured;exports.setConfig=u.setConfig;exports.toProviderRefArray=u.toProviderRefArray;exports.GOAL_EVENT_TYPES=ae;exports.aggregatePlayerStatisticsFromMatches=I;exports.analyzeMatch=ce;exports.calcAverage=k;exports.calcPercentage=A;exports.calculateH2HStats=Qt;exports.calculateStreak=_;exports.formatAsAverage=Vt;exports.formatPossessionPercentage=jt;exports.formatStatValue=Wt;exports.formatWithAverage=qt;exports.getActiveSeason=Ft;exports.getAllPlayerStatisticsFromMatches=ie;exports.getBasketballLivescore=Ne;exports.getFansUnitedFootballCompetition=rt;exports.getFansUnitedFootballCompetitions=ot;exports.getFansUnitedFootballMatch=Tt;exports.getFansUnitedFootballMatches=vt;exports.getFansUnitedFootballPlayer=yt;exports.getFansUnitedFootballPlayers=ht;exports.getFansUnitedFootballSearch=At;exports.getFansUnitedFootballTeam=dt;exports.getFansUnitedFootballTeams=ut;exports.getMatchResult=de;exports.getMostCardedPlayersFromMatches=ne;exports.getOpponentScore=Jt;exports.getRecentH2HMeetings=Xt;exports.getTeamFinishedMatches=Nt;exports.getTeamGoalStats=no;exports.getTeamHomeAwayStats=eo;exports.getTeamMostDecorated=Dt;exports.getTeamNextMatch=Ot;exports.getTeamOverUnderStats=oo;exports.getTeamPreviousMatch=Mt;exports.getTeamResultsTable=Pt;exports.getTeamScore=zt;exports.getTeamSeasonStatistics=Qe;exports.getTeamStreaks=H;exports.getTeamStreaksComparison=so;exports.getTeamTopAppearances=Lt;exports.getTeamTopAssisters=Et;exports.getTeamTopCleanSheets=Gt;exports.getTeamTopMinutesPlayed=It;exports.getTeamTopScorers=bt;exports.getTeamUpcomingMatches=Rt;exports.getTeamsCommonOpponents=io;exports.getTennisLivescore=ke;exports.getTopAssistersFromMatches=oe;exports.getTopGoalContributorsFromMatches=se;exports.getTopScorersFromMatches=te;exports.isMatchFinished=Kt;exports.isTeamAway=le;exports.isTeamHome=q;exports.isTeamInMatch=Yt;exports.search=Ke;exports.searchFootball=ve;exports.streakFilters=v;exports.useAllPlayerStatisticsFromMatches=$t;exports.useMostCardedPlayersFromMatches=Ut;exports.usePlayerStatistics=xt;exports.usePlayerStatisticsMap=re;exports.useTopAssistersFromMatches=Ht;exports.useTopGoalContributorsFromMatches=Bt;exports.useTopScorersFromMatches=kt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./matches-CiVDiSIz.cjs"),L=require("react");function me(e){return{entityType:"tournament",id:e.id.toString(),name:e.name,slug:e.slug,gender:e.gender,type:e.type,region:e.region,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function ge(e){return{entityType:"player",id:e.id.toString(),name:e.name,slug:e.slug,position:e.position,gender:e.gender,birthdate:e.birthdate,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function fe(e){return{entityType:"team",id:e.id.toString(),name:e.name,slug:e.slug,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,type:e.type==="national"?"national":"club",gender:e.gender,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function pe(e){return{entityType:"president",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function ye(e){return{entityType:"venue",id:e.id.toString(),name:e.name,slug:e.slug,city:{id:e.city.id.toString(),name:e.city.name,country:{id:e.city.country.id.toString(),name:e.city.country.name,code:void 0,flag:e.city.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.city.country.uuid)},providerRef:u.toProviderRefArray(e.city.uuid)},country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},profile:{latitude:e.profile.lat,longitude:e.profile.lng,capacity:e.profile.capacity},assets:e.url_thumb?{image:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function he(e){return{entityType:"coach",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function Te(e){switch(e.entity_type){case"tournament":return me(e);case"player":return ge(e);case"team":return fe(e);case"president":return pe(e);case"venue":return ye(e);case"coach":return he(e);default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function ve(e,t){if(!e.query||e.query.trim()==="")return{results:[],query:e.query||""};const o=t||u.getConfig(),{sportal365Sports:n}=o,s=e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["tournament","player","team","president","venue","coach"],i=await u.footballHttp.get({path:"/search",params:{query:e.query.trim(),entity_type:s.join(","),language_code:e.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e.languageCode??n?.languageCode??"en"},next:e.next,config:o});return!i||i.length===0?{results:[],query:e.query}:{results:i.map(Te),query:e.query}}const Se=u.createHttpClient(u.SPORTAL365_BASKETBALL_DOMAIN);function _e(e){const t={FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started"},o=e.type.toUpperCase();return{code:t[o]??"not_started",name:e.name,shortName:e.short_name,type:o}}function z(e){return{id:e.id,name:e.name,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type==="national"?"national":"club",gender:e.gender}}function Ce(e){return{kickoffTime:new Date(e.game_time),currentMinute:e.minute}}function Ae(e){if(!e.season?.competition)return;const t=e.season.competition;return{id:t.id,name:t.name,slug:t.slug,type:"LEAGUE",gender:t.gender,region:t.region,country:t.country?{id:t.country.id,name:t.country.name}:void 0,season:{id:e.season.id,name:e.season.name,status:e.season.status},stage:e.stage?{id:e.stage.id,name:e.stage.name,type:e.stage.type}:void 0}}function Fe(e){if(e)return{id:e.id,name:e.name,slug:e.slug}}function Oe(e){if(!e||e.length===0)return;const t=e.filter(i=>i.result_type.category==="single_period");if(t.length===0)return;let o=0,n=0;const s=[];for(const i of t)o+=i.home,n+=i.away,s.push({competitorOne:String(i.home),competitorTwo:String(i.away)});return{competitorOne:String(o),competitorTwo:String(n),breakdown:{total:{competitorOne:String(o),competitorTwo:String(n)},periods:s}}}function Me(e){if(e.winner)return{competitorId:e.winner.id}}function Re(e){return{id:e.id,slug:e.slug,status:_e(e.status),timing:Ce(e),competitorOne:z(e.home_team),competitorTwo:z(e.away_team),competition:Ae(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:u.toProviderRefArray(e.round.uuid)}:void 0,venue:Fe(e.arena),score:Oe(e.score),winner:Me(e),odds:e.odds?u.transformOdds(e.odds):void 0,coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,providerRef:[{provider:"sportal365-basketball",id:e.id}]}}async function Pe(e,t){const o=t||u.getConfig(),{sportal365Sports:n}=o;return(await Se.get({path:"/games",params:{offset:"0",limit:"1000",competition_list:e?.competitionList,status_type:e?.statusTypes,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes,language_code:e?.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).games.map(Re)}const Ne=u.createHttpClient(u.SPORTAL365_TENNIS_DOMAIN);function be(e){const t={FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed"},o=e.type.toUpperCase();return{code:t[o]??"not_started",name:e.name,shortName:e.short_name,type:o}}function J(e){if(e.type==="PLAYER")return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"player",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender};if(e.type==="TEAM_DOUBLE"&&e.details&&e.details.length===2){const t={id:e.details[0].id,name:e.details[0].name,shortName:e.details[0].short_name,threeLetterCode:e.details[0].three_letter_code,type:"player",country:e.details[0].country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details[0].gender},o={id:e.details[1].id,name:e.details[1].name,shortName:e.details[1].short_name,threeLetterCode:e.details[1].three_letter_code,type:"player",country:e.details[1].country?{id:e.details[1].country.id,name:e.details[1].country.name}:void 0,gender:e.details[1].gender};return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"pair",players:[t,o]}}else return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"national",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender}}function Ee(e){return{kickoffTime:new Date(e.scheduled_start_time),phaseStartedAt:e.started_at?new Date(e.started_at):void 0,finishedAt:e.finished_at?new Date(e.finished_at):void 0}}function Le(e){if(!e.tournament)return;const t=e.tournament;return{id:t.competition?.id??t.id,name:t.competition?.name??t.name,slug:t.competition?.slug??t.slug,type:"TOURNAMENT",gender:t.gender,region:"INTERNATIONAL",country:t.country?{id:t.country.id,name:t.country.name}:void 0}}function Ie(e){if(!e.results||e.results.length===0)return;const t=e.results.filter(l=>/^set\d+$/i.test(l.type.code));if(t.length===0)return;const o=[];for(const l of t){const d=l.values.find(c=>c.position==="1"),m=l.values.find(c=>c.position==="2");!d||!m||d.value==null||m.value==null||o.push({competitorOne:d.value,competitorTwo:m.value})}if(o.length===0)return;const n=e.results.find(l=>l.type.code==="setswon"),s=n?.values.find(l=>l.position==="1"),i=n?.values.find(l=>l.position==="2");let r,a;return s?.value!=null&&i?.value!=null?(r=parseInt(s.value),a=parseInt(i.value)):(r=o.filter(l=>parseInt(l.competitorOne)>parseInt(l.competitorTwo)).length,a=o.filter(l=>parseInt(l.competitorTwo)>parseInt(l.competitorOne)).length),{competitorOne:String(r),competitorTwo:String(a),breakdown:{total:{competitorOne:String(r),competitorTwo:String(a)},periods:o}}}function Ge(e){const t=e.participants.find(o=>o.winner==="YES");if(t)return{competitorId:t.id}}function De(e){const t=e.participants.sort((o,n)=>o.position-n.position);return{id:e.id,slug:e.slug,status:be(e.status),timing:Ee(e),competitorOne:J(t[0]),competitorTwo:J(t[1]),competition:Le(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:u.toProviderRefArray(e.round.uuid)}:void 0,score:Ie(e),winner:Ge(e),odds:e.odds?u.transformOdds(e.odds):void 0,coverage:e.coverage?.type==="NOT_LIVE"?"UNKNOWN":e.coverage?.type,metadata:{matchType:e.type,bestOfSets:e.best_of_sets,surface:e.tournament?.surface,indoorOutdoor:e.tournament?.indoor_outdoor},providerRef:[{provider:"sportal365-tennis",id:e.id}]}}async function ke(e,t){const o=t||u.getConfig(),{sportal365Sports:n}=o;return(await Ne.get({path:"/matches/livescore",params:{date:e?.date,utc_offset:e?.utcOffset?.toString(),offset:"0",limit:"1000",type:e?.type,gender:e?.gender,status_type:e?.statusType,competition_list:e?.competitionList,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes,language_code:e?.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).matches.map(De)}const He=u.createHttpClient(u.SPORTAL365_SPORTS_SEARCH_DOMAIN);function O(e){return{language:e.language,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0}}function M(e){if(!(!e||!e.url))return{url:e.url}}function E(e){if(e)return{id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,providerRef:e.id}}function j(e){return{entityType:"team",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,competitionIds:e.competition_ids,type:e.type,national:e.national,undecided:e.undecided,providerRef:e.id}}function Z(e){return{entityType:"city",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),providerRef:e.id}}function Ue(e){return{entityType:"horse",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,providerRef:e.id}}function Be(e){return{entityType:"player",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,position:e.position??void 0,providerRef:e.id}}function $e(e){return{entityType:"coach",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function xe(e){return{entityType:"referee",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function We(e){return{entityType:"venue",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),city:e.city?Z(e.city):void 0,providerRef:e.id}}function qe(e){return{entityType:e.entity_type,id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,type:e.type??void 0,region:e.region??void 0,providerRef:e.id}}function Ve(e){return{entityType:"match",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,competitionId:e.competition_id??void 0,startTime:e.start_time??void 0,homeTeam:e.home_team?j(e.home_team):void 0,awayTeam:e.away_team?j(e.away_team):void 0,providerRef:e.id}}function je(e){return{entityType:"country",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(O),displayAsset:M(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,providerRef:e.id}}function Ye(e){switch(e.entity_type){case"team":return j(e);case"city":return Z(e);case"horse":return Ue(e);case"player":return Be(e);case"coach":return $e(e);case"referee":return xe(e);case"venue":return We(e);case"tournament":case"competition":return qe(e);case"match":return Ve(e);case"country":return je(e);default:{const t=e;throw new Error(`Unknown entity type: ${t.entity_type}`)}}}async function Ke(e={},t){const o=t??u.getConfig(),n={};e.name&&(n.name=e.name),e.entityTypes&&e.entityTypes.length>0&&(n.entity_type=e.entityTypes.join(",")),e.sports&&e.sports.length>0&&(n.sport=e.sports.join(",")),e.eventStartTime&&(n.event_start_time=e.eventStartTime),e.ids&&e.ids.length>0&&(n.ids=e.ids.join(",")),e.competitionIds&&e.competitionIds.length>0&&(n.competition_ids=e.competitionIds.join(",")),e.domain&&(n.domain=e.domain),e.inputLanguage&&(n.input_language=e.inputLanguage),e.translationLanguage&&(n.translation_language=e.translationLanguage),e.limit!==void 0&&(n.limit=e.limit.toString()),e.offset!==void 0&&(n.offset=e.offset.toString());const s=await He.get({path:"/suggest",params:n,next:e.next,config:o});return!s.results||s.results.length===0?{results:[],query:e.name}:{results:s.results.map(Ye),query:e.name}}const ze=u.createHttpClient(u.SPORTAL365_STATISTICS_DOMAIN);function Je(e,t){return{teamId:e.id,teamName:e.name,seasonId:t,statistics:e.statistics.map(o=>({key:o.id,value:o.value,label:o.name}))}}async function Qe(e,t){const o=t||u.getConfig(),n=e.next??{revalidate:600},s=await ze.get({path:"/statistics/aggregate",params:{participant_ids:e.teamId,season_ids:e.seasonId,participant_type:"TEAM"},next:n,config:o});if(!s.data||s.data.length===0)throw new Error(`No statistics found for team ${e.teamId} in season ${e.seasonId}`);return Je(s.data[0],e.seasonId)}function Xe(e){const t=e.replace(/\/$/,"");function o(n){return`${t}${n}`}return{async get(n){const s=n.config||u.getConfig(),{fansUnited:i}=s;if(!i)throw new Error("Fans United configuration is missing. Add 'fansUnited' with 'apiKey' and 'clientId' to your config.");if(!i.apiKey||!i.clientId)throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");const r=new URL(o(n.path));if(r.searchParams.set("key",i.apiKey),r.searchParams.set("client_id",i.clientId),n.params)for(const[m,c]of Object.entries(n.params))c!==void 0&&(Array.isArray(c)?c.length>0&&r.searchParams.set(m,c.join(",")):r.searchParams.set(m,c));const a=3e4,l=new URL(r.toString());l.searchParams.delete("key"),l.searchParams.delete("client_id"),console.log("🔗 FansUnited API URL:",l.toString());const d=await fetch(r.toString(),{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",...n.headers},signal:AbortSignal.timeout(a),...n.next&&{next:n.next}});if(!d.ok){let m=`Fans United API error: ${d.status} ${d.statusText}`;try{const c=await d.text();c&&(m+=` - ${c}`)}catch(c){console.error("[Fans United HTTP] Failed to read error response body:",{error:c instanceof Error?c.message:String(c),status:d.status,statusText:d.statusText})}throw new Error(m)}return d.json()}}}const Ze="https://football.fansunitedapi.com",b=Xe(Ze);function we(e){return{id:String(e.id),name:e.name,active:e.active,providerRef:[{provider:"fansunited",id:String(e.id)}]}}function et(e){const t={id:String(e.id),name:e.name,shortName:e.short_name,slug:e.slug,type:e.type||"LEAGUE",region:e.region,gender:e.gender,providerRef:[{provider:"fansunited",id:String(e.id)}]};return e.country&&(t.country={id:String(e.country.id),name:e.country.name,code:e.country.code,flag:e.country.assets?.flag,providerRef:[{provider:"fansunited",id:String(e.country.id)}]}),e.assets?.logo&&(t.assets={logo:e.assets.logo}),e.seasons&&e.seasons.length>0&&(t.seasons=e.seasons.map(we)),e.current_season&&(t.season={id:String(e.current_season.id),name:e.current_season.name,status:e.current_season.active?"ACTIVE":"INACTIVE"}),t}function tt(e){return e.map(et)}async function ot(e,t){const o={};e?.lang?o.lang=e.lang:o.lang="EN",e?.sortField&&(o.sort_field=e.sortField),e?.sortOrder&&(o.sort_order=e.sortOrder),e?.page!==void 0&&(o.page=String(e.page)),e?.perPage!==void 0&&(o.per_page=String(e.perPage)),e?.countryId!==void 0&&(o.country_id=String(e.countryId)),e?.active!==void 0&&(o.active=e.active?"1":"0");const n=await b.get({path:"/v1/competitions",params:o,config:t,next:e?.next}),s=n.data.map(d=>d.id),i=new Set(s);s.length!==i.size&&console.warn("⚠️ API returned duplicate competitions!");const r=tt(n.data),a=new Set,l=r.filter(d=>a.has(d.id)?!1:(a.add(d.id),!0));return r.length!==l.length&&console.warn(`Removed ${r.length-l.length} duplicate competitions`),l}function nt(e){return{id:e.id,name:e.name,code:e.country_code,assets:e.assets?.flag?{flag:e.assets.flag}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function st(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?nt(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function it(e){return st(e.data)}async function rt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/competitions/${e}`,params:s,next:t?.next,config:n});return it(i)}function at(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function w(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?e.gender.toUpperCase():void 0,country:e.country?at(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,metadata:e.colors?{shirtColors:e.colors.primary?[{type:"home",colorCode:e.colors.primary}]:void 0}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ct(e){return w(e.data)}function lt(e){return e.data.map(w)}async function dt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/teams/${e}`,params:s,next:t?.next,config:n});return ct(i)}async function ut(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.teamIds&&(n.team_ids=e.teamIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.national!==void 0&&(n.national=String(e.national)),e?.gender&&(n.gender=e.gender),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await b.get({path:"/v1/teams",params:n,next:e?.next,config:o});return lt(s)}function Y(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function mt(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,fullName:e.full_name??void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function gt(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ee(e){return{type:"player",id:e.id,name:e.name,position:e.position,birthdate:e.birth_date,country:e.country?Y(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,teams:e.teams?.map(mt),competitions:e.competitions?.map(gt),providerRef:[{provider:"fansunited",id:e.id}]}}function ft(e){return ee(e.data)}function pt(e){return e.data.map(ee)}async function yt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/players/${e}`,params:s,next:t?.next,config:n});return ft(i)}async function ht(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.playerIds&&(n.player_ids=e.playerIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await b.get({path:"/v1/players",params:n,next:e?.next,config:o});return pt(s)}async function Tt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/matches/${e}`,params:s,next:t?.next,config:n});return u.transformMatch(i)}async function vt(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.competitions&&(n.competitions=e.competitions),e?.countries&&(n.countries=e.countries),e?.fromDate&&(n.from_date=e.fromDate),e?.toDate&&(n.to_date=e.toDate),e?.matches&&(n.matches=e.matches),e?.teams&&(n.teams=e.teams),e?.status&&(n.status=e.status),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder),e?.showDeleted!==void 0&&(n.show_deleted=e.showDeleted?"true":"false");const s=await b.get({path:"/v1/matches",params:n,next:e?.next,config:o});return u.transformMatches(s)}function K(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag||void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function St(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,type:e.type||"LEAGUE",region:e.region,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function _t(e){return{type:"player",id:e.id,name:e.name,position:e.position||void 0,gender:e.gender?.toUpperCase(),birthdate:e.birth_date||void 0,country:e.country?K(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ct(e){return{type:e.national?"national":"club",id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code||void 0,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function V(e){switch(e.entity_type){case"competition":{const t=St(e);return{source:"FOOTBALL",entityType:"competition",entityId:e.id,entityData:t}}case"player":{const t=_t(e);return{source:"FOOTBALL",entityType:"player",entityId:e.id,entityData:t}}case"team":{const t=Ct(e);return{source:"FOOTBALL",entityType:"team",entityId:e.id,entityData:t}}case"venue":case"coach":return null;default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function At(e,t){if(!e.query||e.query.trim()==="")return[];const o=t||u.getConfig(),n={q:e.query.trim()},i=(e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["competition","team","player"]).map(l=>{switch(l){case"team":return"teams";case"player":return"players";case"competition":return"competitions";default:return l}});n.entities=i.join(","),e.lang&&(n.lang=e.lang),e.limit&&(n.limit=String(e.limit));const r=await b.get({path:"/v1/search",params:n,next:e.next,config:o}),a=[];return r.data&&(r.data.competitions&&r.data.competitions.forEach(l=>{const d=V({...l,entity_type:"competition"});d&&a.push(d)}),r.data.teams&&r.data.teams.forEach(l=>{const d=V({...l,entity_type:"team"});d&&a.push(d)}),r.data.players&&r.data.players.forEach(l=>{const d=V({...l,entity_type:"player"});d&&a.push(d)})),a}function Ft(e){return!e.seasons||e.seasons.length===0?void 0:e.seasons.find(o=>o.active)??e.seasons[0]}function Ot(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED",a=new Date(s.timing.kickoffTime)>=o;return i&&r&&a});return n.sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()),n[0]}function Mt(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a});return n.sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime()),n[0]}function Rt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED"||s.status.type==="LIVE",a=new Date(s.timing.kickoffTime)>=o||s.status.type==="LIVE";return i&&r&&a}).sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime())}function Pt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a}).sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime())}function Nt(e,t,o){const n=o.filter(r=>r.status.type==="FINISHED"),s=o.filter(r=>r.status.type==="NOT_STARTED"||r.status.type==="POSTPONED"),i=t.entries.map(r=>{const a=r.competitor.id,l=n.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e),d=s.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e);let m,c;return l.forEach(g=>{const p=g.competitorOne.id===e,y=parseInt(g.score?.competitorOne??"0"),T=parseInt(g.score?.competitorTwo??"0"),R=p?y:T,C=p?T:y;let F;R>C?F="W":R===C?F="D":F="L";const P={result:F,score:`${y} - ${T}`,date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!1};p?m=P:c=P}),d.forEach(g=>{const p=g.competitorOne.id===e;p&&!m?m={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0}:!p&&!c&&(c={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0})}),{rank:r.rank,teamId:r.competitor.id,teamName:r.competitor.name,teamShortName:r.competitor.shortName,teamLogo:r.competitor.logo,gamesPlayed:r.stats.played??0,points:r.stats.points??0,homeResult:m,awayResult:c}});return{teamId:e,rows:i}}function bt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.goals??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.goals??0,i=n.seasonStatistics?.goals??0;if(i!==s)return i-s;const r=o.seasonStatistics?.assists??0;return(n.seasonStatistics?.assists??0)-r}).slice(0,t)}function Et(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.assists??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.assists??0,i=n.seasonStatistics?.assists??0;if(i!==s)return i-s;const r=o.seasonStatistics?.goals??0;return(n.seasonStatistics?.goals??0)-r}).slice(0,t)}function Lt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.appearances??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.appearances??0,i=n.seasonStatistics?.appearances??0;if(i!==s)return i-s;const r=o.seasonStatistics?.minutes??0;return(n.seasonStatistics?.minutes??0)-r}).slice(0,t)}function It(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.minutes??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.minutes??0,i=n.seasonStatistics?.minutes??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function Gt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.cleansheets??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.cleansheets??0,i=n.seasonStatistics?.cleansheets??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function Dt(e,t=10){return e.players.filter(o=>{const n=o.seasonStatistics?.yellowCards??0,s=o.seasonStatistics?.redCards??0;return n+s>0}).sort((o,n)=>{const s=o.seasonStatistics?.yellowCards??0,i=o.seasonStatistics?.redCards??0,r=n.seasonStatistics?.yellowCards??0,a=n.seasonStatistics?.redCards??0,l=s+i*3,d=r+a*3;return d!==l?d-l:a!==i?a-i:r-s}).slice(0,t)}function I(e){const t=new Map,o=new Map;return e.forEach(n=>{!n.mainEvents||n.mainEvents.length===0||n.mainEvents.forEach(s=>{if(s.primaryPlayer){const i=s.primaryPlayer.id;t.has(i)||t.set(i,{playerId:s.primaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);o.has(i)||o.set(i,new Set),o.get(i).add(n.id),(s.type==="GOAL"||s.type==="PENALTY_GOAL")&&(r.goals=(r.goals??0)+1),s.type==="YELLOW_CARD"&&(r.yellowCards=(r.yellowCards??0)+1),(s.type==="RED_CARD"||s.type==="YELLOW_RED_CARD")&&(r.redCards=(r.redCards??0)+1)}if(s.secondaryPlayer&&(s.type==="GOAL"||s.type==="PENALTY_GOAL")){const i=s.secondaryPlayer.id;t.has(i)||t.set(i,{playerId:s.secondaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);r.assists=(r.assists??0)+1,o.has(i)||o.set(i,new Set),o.get(i).add(n.id)}})}),o.forEach((n,s)=>{const i=t.get(s);i&&i.appearances!==void 0&&(i.appearances=n.size)}),t}function U(e){return Array.from(e.values()).map(t=>({...t,totalCards:(t.yellowCards??0)+(t.redCards??0)}))}function te(e,t=10){const o=I(e);return U(o).filter(s=>(s.goals??0)>0).sort((s,i)=>{const r=s.goals??0,a=i.goals??0;if(a!==r)return a-r;const l=s.assists??0;return(i.assists??0)-l}).slice(0,t)}function oe(e,t=10){const o=I(e);return U(o).filter(s=>(s.assists??0)>0).sort((s,i)=>{const r=s.assists??0,a=i.assists??0;if(a!==r)return a-r;const l=s.goals??0;return(i.goals??0)-l}).slice(0,t)}function ne(e,t=10){const o=I(e);return U(o).filter(s=>(s.totalCards??0)>0).sort((s,i)=>{const r=(s.yellowCards??0)+(s.redCards??0)*3,a=(i.yellowCards??0)+(i.redCards??0)*3;if(a!==r)return a-r;const l=s.redCards??0,d=i.redCards??0;if(d!==l)return d-l;const m=s.yellowCards??0;return(i.yellowCards??0)-m}).slice(0,t)}function se(e,t=10){const o=I(e);return U(o).filter(s=>(s.goals??0)+(s.assists??0)>0).sort((s,i)=>{const r=(s.goals??0)+(s.assists??0),a=(i.goals??0)+(i.assists??0);if(a!==r)return a-r;const l=s.goals??0,d=i.goals??0;if(d!==l)return d-l;const m=s.assists??0;return(i.assists??0)-m}).slice(0,t)}function ie(e){const t=I(e);return U(t).sort((n,s)=>{const i=n.appearances??0,r=s.appearances??0;if(r!==i)return r-i;const a=(n.goals??0)+(n.assists??0);return(s.goals??0)+(s.assists??0)-a})}function kt(e,t=10){return L.useMemo(()=>te(e,t),[e,t])}function Ht(e,t=10){return L.useMemo(()=>oe(e,t),[e,t])}function Ut(e,t=10){return L.useMemo(()=>ne(e,t),[e,t])}function Bt(e,t=10){return L.useMemo(()=>se(e,t),[e,t])}function $t(e){return L.useMemo(()=>ie(e),[e])}function re(e){return L.useMemo(()=>I(e),[e])}function xt(e,t){const o=re(e);return L.useMemo(()=>o.get(t),[o,t])}const ae=["GOAL","PENALTY_GOAL","OWN_GOAL"];function A(e,t){return t>0?e/t*100:0}function k(e,t){return t>0?e/t:0}function Wt(e,t=!1,o=2){return t?`${Math.round(e)}%`:Number.isInteger(e)?e.toString():e.toFixed(o)}function qt(e,t){const o=typeof e=="string"?parseFloat(e):e;if(isNaN(o)||t===0)return"0";const n=(o/t).toFixed(1);return`${o} (${n} avg)`}function Vt(e,t){const o=typeof e=="string"?parseFloat(e):e;return isNaN(o)||t===0?"0.0":(o/t).toFixed(1)}function jt(e){const t=parseFloat(e);return isNaN(t)?"0%":`${Math.round(t)}%`}function ce(e,t,o){if(e.status?.type!=="FINISHED"||!e.score)return null;const n=parseInt(e.score.competitorOne||"0"),s=parseInt(e.score.competitorTwo||"0"),i=o?n:s,r=o?s:n;let a=null,l=null;const d=e.score.breakdown?.halfTime;if(d){const p=parseInt(d.competitorOne||"0"),y=parseInt(d.competitorTwo||"0");a=o?p:y,l=o?y:p}const m=e.statistics;let c=null,g=null;if(m){const p=m.find?.(y=>y.type==="CORNERS");p&&(c=o?p.competitorOne:p.competitorTwo,g=o?p.competitorTwo:p.competitorOne)}return{goalsFor:i,goalsAgainst:r,halfTimeGoalsFor:a,halfTimeGoalsAgainst:l,cornersFor:c,cornersAgainst:g,isWin:i>r,isDraw:i===r,isLoss:i<r}}function q(e,t){return e.competitorOne.id===t}function le(e,t){return e.competitorTwo.id===t}function Yt(e,t){return q(e,t)||le(e,t)}function Kt(e){return e.status?.type==="FINISHED"}function zt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")}function Jt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")}function Qt(e,t,o){const n=e.filter(m=>{if(m.status?.type!=="FINISHED"||!m.score)return!1;const c=m.competitorOne.id===t||m.competitorTwo.id===t,g=m.competitorOne.id===o||m.competitorTwo.id===o;return c&&g});let s=0,i=0,r=0,a=0,l=0;n.forEach(m=>{const c=parseInt(m.score?.competitorOne||"0"),g=parseInt(m.score?.competitorTwo||"0"),p=m.competitorOne.id===t,y=p?c:g,T=p?g:c;a+=y,l+=T,y>T?s++:T>y?i++:r++});const d=n.length;return{totalMatches:d,homeTeamWins:s,awayTeamWins:i,draws:r,homeTeamGoals:a,awayTeamGoals:l,homeTeamWinPercentage:d>0?s/d*100:0,awayTeamWinPercentage:d>0?i/d*100:0,drawPercentage:d>0?r/d*100:0,homeTeamAvgGoals:d>0?a/d:0,awayTeamAvgGoals:d>0?l/d:0}}function Xt(e,t,o,n=5){return e.filter(i=>{if(i.status?.type!=="FINISHED"||!i.score)return!1;const r=i.competitorOne.id===t||i.competitorTwo.id===t,a=i.competitorOne.id===o||i.competitorTwo.id===o;return r&&a}).sort((i,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()).slice(0,n).map(i=>{const r=parseInt(i.score?.competitorOne||"0"),a=parseInt(i.score?.competitorTwo||"0"),l=i.competitorOne.id===t,d=l?r:a,m=l?a:r;let c;return d>m?c="home":m>d?c="away":c="draw",{id:i.id,date:new Date(i.timing.kickoffTime).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}),homeTeamName:i.competitorOne.name,awayTeamName:i.competitorTwo.name,homeTeamLogo:i.competitorOne.assets?.logo,awayTeamLogo:i.competitorTwo.assets?.logo,homeScore:r,awayScore:a,venue:i.venue?.name,winner:c}})}function Zt(e,t,o){return e.filter(n=>{const s=n.competitorOne.id===t,i=n.competitorTwo.id===t;return!s&&!i?!1:o==="home"?s:i}).map(n=>{const s=n.competitorOne.id===t;return ce(n,t,s)}).filter(n=>n!==null)}function Q(e,t,o,n){let s=0;for(const i of e){const r=i.competitorOne.id===t,a=i.competitorTwo.id===t;if(!r&&!a||o==="home"&&!r||o==="away"&&!a||i.status?.type!=="FINISHED")continue;const l=i.mainEvents;if(!l||!Array.isArray(l))continue;const d=l.filter(y=>y.type&&ae.includes(y.type)).sort((y,T)=>{const R=y.minute??0,C=T.minute??0;return R!==C?R-C:(y.injuryMinute??0)-(T.injuryMinute??0)});if(d.length===0)continue;const m=d[0],c=r?"ONE":"TWO",g=m.type==="OWN_GOAL";let p;g?p=m.competitorPosition!==c:p=m.competitorPosition===c,(n==="scored"&&p||n==="conceded"&&!p)&&s++}return s}function wt(e,t,o){let n=0;for(const s of e){const i=s.competitorOne.id===t,r=s.competitorTwo.id===t;if(!i&&!r||o==="home"&&!i||o==="away"&&!r||s.status?.type!=="FINISHED")continue;const a=s.mainEvents;a&&Array.isArray(a)&&n++}return n}function eo(e,t,o){const n=Zt(e,t,o),s=n.length;if(s===0)return{played:0,goalsForPerMatch:0,cleanSheets:0,wonToNil:0,scoringRate:0,scoredInBothHalves:0,scoredFirst:0,leadingAtHalfTime:0,goalsAgainstPerMatch:0,failedToScore:0,lostToNil:0,concedingRate:0,concededInBothHalves:0,concededFirst:0,losingAtHalfTime:0,avgCornersFor:0,avgCornersAgainst:0};const i=n.reduce((f,S)=>f+S.goalsFor,0),r=n.reduce((f,S)=>f+S.goalsAgainst,0),a=n.filter(f=>f.goalsAgainst===0).length,l=n.filter(f=>f.isWin&&f.goalsAgainst===0).length,d=n.filter(f=>f.goalsFor>0).length,m=n.filter(f=>f.goalsFor===0).length,c=n.filter(f=>f.isLoss&&f.goalsFor===0).length,g=n.filter(f=>f.goalsAgainst>0).length,p=n.filter(f=>f.halfTimeGoalsFor!==null),y=p.length,T=p.filter(f=>{const S=f.halfTimeGoalsFor,D=f.goalsFor-S;return S>0&&D>0}).length,R=Q(e,t,o,"scored"),C=wt(e,t,o),F=p.filter(f=>f.halfTimeGoalsFor>f.halfTimeGoalsAgainst).length,P=p.filter(f=>{const S=f.halfTimeGoalsAgainst,D=f.goalsAgainst-S;return S>0&&D>0}).length,B=Q(e,t,o,"conceded"),$=p.filter(f=>f.halfTimeGoalsAgainst>f.halfTimeGoalsFor).length,G=n.filter(f=>f.cornersFor!==null),x=G.reduce((f,S)=>f+(S.cornersFor||0),0),W=G.reduce((f,S)=>f+(S.cornersAgainst||0),0);return{played:s,goalsForPerMatch:k(i,s),cleanSheets:A(a,s),wonToNil:A(l,s),scoringRate:A(d,s),scoredInBothHalves:A(T,y),scoredFirst:A(R,C),leadingAtHalfTime:A(F,y),goalsAgainstPerMatch:k(r,s),failedToScore:A(m,s),lostToNil:A(c,s),concedingRate:A(g,s),concededInBothHalves:A(P,y),concededFirst:A(B,C),losingAtHalfTime:A($,y),avgCornersFor:k(x,G.length),avgCornersAgainst:k(W,G.length)}}function to(e,t){return e.filter(o=>o.status?.type!=="FINISHED"?!1:o.competitorOne.id===t||o.competitorTwo.id===t).map(o=>{const n=o.competitorOne.id===t,s=parseInt(o.score?.competitorOne||"0"),i=parseInt(o.score?.competitorTwo||"0"),r=s+i,a=o.periods;let l=null;if(a&&Array.isArray(a)){const d=a.find(m=>m.type==="FIRST_HALF"||m.type==="1ST_HALF");if(d?.score){const m=parseInt(d.score.competitorOne||"0"),c=parseInt(d.score.competitorTwo||"0");l=m+c}}return{totalGoals:r,halfTimeGoals:l,isHome:n}})}function h(e,t){return e.length===0?0:e.filter(n=>n>t).length/e.length*100}function oo(e,t){const o=to(e,t),n=o.filter(c=>c.isHome),s=o.filter(c=>!c.isHome),i=o.map(c=>c.totalGoals),r=n.map(c=>c.totalGoals),a=s.map(c=>c.totalGoals),l=o.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),d=n.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),m=s.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals);return{over05:{home:h(r,.5),total:h(i,.5),away:h(a,.5)},over15:{home:h(r,1.5),total:h(i,1.5),away:h(a,1.5)},over25:{home:h(r,2.5),total:h(i,2.5),away:h(a,2.5)},over35:{home:h(r,3.5),total:h(i,3.5),away:h(a,3.5)},over45:{home:h(r,4.5),total:h(i,4.5),away:h(a,4.5)},over55:{home:h(r,5.5),total:h(i,5.5),away:h(a,5.5)},over05HT:{home:h(d,.5),total:h(l,.5),away:h(m,.5)},over15HT:{home:h(d,1.5),total:h(l,1.5),away:h(m,1.5)},over25HT:{home:h(d,2.5),total:h(l,2.5),away:h(m,2.5)}}}function de(e,t){const o=e.competitorOne.id===t,n=e.competitorTwo.id===t;if(!o&&!n||!e.score)return null;const s=parseInt(o?e.score.competitorOne||"0":e.score.competitorTwo||"0"),i=parseInt(o?e.score.competitorTwo||"0":e.score.competitorOne||"0");let r;return s>i?r="W":s<i?r="L":r="D",{result:{score:`${s}:${i}`,result:r,isHome:o},isHome:o}}function no(e,t,o,n,s,i){const r=t?.entries.find(N=>N.competitor.id===e),a=o?.entries.find(N=>N.competitor.id===e),l=n?.entries.find(N=>N.competitor.id===e),d=s?.entries.find(N=>N.competitor.id===e),m=i?.entries.find(N=>N.competitor.id===e);if(!r)return null;const c=a?.stats?.goalsFor??0,g=l?.stats?.goalsFor??0,p=r?.stats?.goalsFor??0,y=d?.stats?.goalsAgainst??0,T=m?.stats?.goalsAgainst??0,R=r?.stats?.goalsAgainst??0,C=a?.stats?.played??0,F=l?.stats?.played??0,P=r?.stats?.played??0,B=P>0?p/P:0,$=P>0?R/P:0,G=B+$,x=C>0?c/C:0,W=F>0?g/F:0,f=C>0?y/C:0,S=F>0?T/F:0,D=x+f,ue=W+S;return{homeGoals:c,totalGoals:p,awayGoals:g,homeGamesPlayed:C,awayGamesPlayed:F,totalGamesPlayed:P,homeGoalsConceded:y,totalGoalsConceded:R,awayGoalsConceded:T,gfPerMatch:B,gaPerMatch:$,gfGaPerMatch:G,homeGfPerMatch:x,awayGfPerMatch:W,homeGaPerMatch:f,awayGaPerMatch:S,homeGfGaPerMatch:D,awayGfGaPerMatch:ue}}function _(e,t,o,n){const s=e.filter(r=>{const a=r.competitorOne.id===t,l=r.competitorTwo.id===t;return!(!a&&!l||r.status?.type!=="FINISHED"||n==="home"&&!a||n==="away"&&!l)}).sort((r,a)=>new Date(a.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime());if(s.length===0)return null;let i=0;for(const r of s){const a=r.competitorOne.id===t;if(o(r,t,a))i++;else break}return i>0?i:null}const v={win:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n>s},draw:e=>e.score?.competitorOne===e.score?.competitorTwo,loss:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n<s},noWin:(e,t,o)=>!v.win(e,t,o),noDraw:e=>!v.draw(e),noDefeat:(e,t,o)=>!v.loss(e,t,o),scored:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=1,conceded:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=1,noGoalScored:(e,t,o)=>!v.scored(e,t,o),noGoalConceded:(e,t,o)=>!v.conceded(e,t,o),over25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")>2,under25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")<3,scoredTwice:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=2,concededTwice:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=2};function H(e,t,o){return{win:_(e,t,v.win,o),draw:_(e,t,v.draw,o),loss:_(e,t,v.loss,o),noWin:_(e,t,v.noWin,o),noDraw:_(e,t,v.noDraw,o),noDefeat:_(e,t,v.noDefeat,o),scored:_(e,t,v.scored,o),conceded:_(e,t,v.conceded,o),noGoalScored:_(e,t,v.noGoalScored,o),noGoalConceded:_(e,t,v.noGoalConceded,o),over25:_(e,t,v.over25,o),under25:_(e,t,v.under25,o),scoredTwice:_(e,t,v.scoredTwice,o),concededTwice:_(e,t,v.concededTwice,o)}}function so(e,t,o){const n=H(e,t,"home"),s=H(e,t),i=H(e,o,"away"),r=H(e,o);return[{label:"Consecutive wins",homeTeam:{home:n.win,total:s.win},awayTeam:{total:r.win,home:i.win},colorType:"neutral"},{label:"Consecutive draws",homeTeam:{home:n.draw,total:s.draw},awayTeam:{total:r.draw,home:i.draw},colorType:"neutral"},{label:"Consecutive defeats",homeTeam:{home:n.loss,total:s.loss},awayTeam:{total:r.loss,home:i.loss},colorType:"neutral"},{label:"No win",homeTeam:{home:n.noWin,total:s.noWin},awayTeam:{total:r.noWin,home:i.noWin},colorType:"negative"},{label:"No draw",homeTeam:{home:n.noDraw,total:s.noDraw},awayTeam:{total:r.noDraw,home:i.noDraw},colorType:"neutral"},{label:"No defeat",homeTeam:{home:n.noDefeat,total:s.noDefeat},awayTeam:{total:r.noDefeat,home:i.noDefeat},colorType:"positive"},{label:"Scored at least once",homeTeam:{home:n.scored,total:s.scored},awayTeam:{total:r.scored,home:i.scored},colorType:"positive"},{label:"Conceded at least once",homeTeam:{home:n.conceded,total:s.conceded},awayTeam:{total:r.conceded,home:i.conceded},colorType:"negative"},{label:"No goal scored",homeTeam:{home:n.noGoalScored,total:s.noGoalScored},awayTeam:{total:r.noGoalScored,home:i.noGoalScored},colorType:"neutral"},{label:"No goal conceded",homeTeam:{home:n.noGoalConceded,total:s.noGoalConceded},awayTeam:{total:r.noGoalConceded,home:i.noGoalConceded},colorType:"neutral"},{label:"GS + GC over 2.5",homeTeam:{home:n.over25,total:s.over25},awayTeam:{total:r.over25,home:i.over25},colorType:"neutral"},{label:"GS + GC under 2.5",homeTeam:{home:n.under25,total:s.under25},awayTeam:{total:r.under25,home:i.under25},colorType:"neutral"},{label:"Scored at least twice",homeTeam:{home:n.scoredTwice,total:s.scoredTwice},awayTeam:{total:r.scoredTwice,home:i.scoredTwice},colorType:"positive"},{label:"Conceded at least twice",homeTeam:{home:n.concededTwice,total:s.concededTwice},awayTeam:{total:r.concededTwice,home:i.concededTwice},colorType:"negative"}]}function X(e,t){const o=new Map;return e.forEach(n=>{if(n.status?.type!=="FINISHED")return;const s=de(n,t);if(!s)return;const i=s.isHome?n.competitorTwo.id:n.competitorOne.id,r=s.isHome?n.competitorTwo:n.competitorOne,a=o.get(i)||{opponentId:i,opponentName:r.name,opponentLogo:r.assets?.logo};s.isHome?a.homeResult=s.result:a.awayResult=s.result,o.set(i,a)}),o}function io(e,t,o,n,s,i,r){const a=X(e,t),l=X(e,o),d=new Set([...a.keys(),...l.keys(),t,o]),m=[];return d.forEach(c=>{const g=a.get(c),p=l.get(c);if(!g&&!p&&c!==t&&c!==o)return;let y,T;c===t?(y=n,T=i):c===o?(y=s,T=r):(y=g?.opponentName||p?.opponentName||"",T=g?.opponentLogo||p?.opponentLogo),m.push({opponentId:c,opponentName:y,opponentLogo:T,homeTeamHome:g?.homeResult,homeTeamAway:g?.awayResult,awayTeamHome:p?.homeResult,awayTeamAway:p?.awayResult,isHomeTeamRow:c===t,isAwayTeamRow:c===o})}),m.sort((c,g)=>c.isHomeTeamRow?-1:g.isHomeTeamRow?1:c.isAwayTeamRow?-1:g.isAwayTeamRow?1:c.opponentName.localeCompare(g.opponentName))}exports.addProviderRef=u.addProviderRef;exports.getBatchMatchOdds=u.getBatchMatchOdds;exports.getConfig=u.getConfig;exports.getFootballCompetition=u.getFootballCompetition;exports.getFootballLivescore=u.getFootballLivescore;exports.getFootballMatch=u.getFootballMatch;exports.getFootballMatchCommentary=u.getFootballMatchCommentary;exports.getFootballMatchEvents=u.getFootballMatchEvents;exports.getFootballMatchLineups=u.getFootballMatchLineups;exports.getFootballMatchOdds=u.getFootballMatchOdds;exports.getFootballMatchStatistics=u.getFootballMatchStatistics;exports.getFootballMatches=u.getFootballMatches;exports.getFootballPlayerSeasonStatistics=u.getFootballPlayerSeasonStatistics;exports.getFootballSeasonDetails=u.getFootballSeasonDetails;exports.getFootballStandings=u.getFootballStandings;exports.getFootballTeam=u.getFootballTeam;exports.getFootballTeamSquad=u.getFootballTeamSquad;exports.getLeaderboardMatches=u.getLeaderboardMatches;exports.getLeaderboardTeamMatches=u.getLeaderboardTeamMatches;exports.getLeaderboardTemplate=u.getLeaderboardTemplate;exports.getProviderRefId=u.getProviderRefId;exports.isConfigured=u.isConfigured;exports.setConfig=u.setConfig;exports.toProviderRefArray=u.toProviderRefArray;exports.GOAL_EVENT_TYPES=ae;exports.aggregatePlayerStatisticsFromMatches=I;exports.analyzeMatch=ce;exports.calcAverage=k;exports.calcPercentage=A;exports.calculateH2HStats=Qt;exports.calculateStreak=_;exports.formatAsAverage=Vt;exports.formatPossessionPercentage=jt;exports.formatStatValue=Wt;exports.formatWithAverage=qt;exports.getActiveSeason=Ft;exports.getAllPlayerStatisticsFromMatches=ie;exports.getBasketballLivescore=Pe;exports.getFansUnitedFootballCompetition=rt;exports.getFansUnitedFootballCompetitions=ot;exports.getFansUnitedFootballMatch=Tt;exports.getFansUnitedFootballMatches=vt;exports.getFansUnitedFootballPlayer=yt;exports.getFansUnitedFootballPlayers=ht;exports.getFansUnitedFootballSearch=At;exports.getFansUnitedFootballTeam=dt;exports.getFansUnitedFootballTeams=ut;exports.getMatchResult=de;exports.getMostCardedPlayersFromMatches=ne;exports.getOpponentScore=Jt;exports.getRecentH2HMeetings=Xt;exports.getTeamFinishedMatches=Pt;exports.getTeamGoalStats=no;exports.getTeamHomeAwayStats=eo;exports.getTeamMostDecorated=Dt;exports.getTeamNextMatch=Ot;exports.getTeamOverUnderStats=oo;exports.getTeamPreviousMatch=Mt;exports.getTeamResultsTable=Nt;exports.getTeamScore=zt;exports.getTeamSeasonStatistics=Qe;exports.getTeamStreaks=H;exports.getTeamStreaksComparison=so;exports.getTeamTopAppearances=Lt;exports.getTeamTopAssisters=Et;exports.getTeamTopCleanSheets=Gt;exports.getTeamTopMinutesPlayed=It;exports.getTeamTopScorers=bt;exports.getTeamUpcomingMatches=Rt;exports.getTeamsCommonOpponents=io;exports.getTennisLivescore=ke;exports.getTopAssistersFromMatches=oe;exports.getTopGoalContributorsFromMatches=se;exports.getTopScorersFromMatches=te;exports.isMatchFinished=Kt;exports.isTeamAway=le;exports.isTeamHome=q;exports.isTeamInMatch=Yt;exports.search=Ke;exports.searchFootball=ve;exports.streakFilters=v;exports.useAllPlayerStatisticsFromMatches=$t;exports.useMostCardedPlayersFromMatches=Ut;exports.usePlayerStatistics=xt;exports.usePlayerStatisticsMap=re;exports.useTopAssistersFromMatches=Ht;exports.useTopGoalContributorsFromMatches=Bt;exports.useTopScorersFromMatches=kt;