fansunited-data-layer 0.6.2 → 0.6.3

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":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/fansunited/football/competitions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,8BAA8B,EAA2B,MAAM,SAAS,CAAC;AAEvF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iCAAiC,CACnD,OAAO,CAAC,EAAE,8BAA8B,EACxC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAsEhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/fansunited/football/competitions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,8BAA8B,EAA2B,MAAM,SAAS,CAAC;AAEvF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iCAAiC,CACnD,OAAO,CAAC,EAAE,8BAA8B,EACxC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA2EhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/lib/api/fansunited/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;;OAUG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAkFrE"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/lib/api/fansunited/http.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;;OAUG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAwFrE"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./matches-DKjnuuq_.cjs"),E=require("react");function le(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:m.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:m.toProviderRefArray(e.uuid)}}function de(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:m.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:m.toProviderRefArray(e.uuid)}}function ue(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:m.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:m.toProviderRefArray(e.uuid)}}function me(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:m.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:m.toProviderRefArray(e.uuid)}}function ge(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:m.toProviderRefArray(e.city.country.uuid)},providerRef:m.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:m.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:m.toProviderRefArray(e.uuid)}}function fe(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:m.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:m.toProviderRefArray(e.uuid)}}function pe(e){switch(e.entity_type){case"tournament":return le(e);case"player":return de(e);case"team":return ue(e);case"president":return me(e);case"venue":return ge(e);case"coach":return fe(e);default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function ye(e,t){if(!e.query||e.query.trim()==="")return{results:[],query:e.query||""};const o=t||m.getConfig(),{sportal365Sports:n}=o,s=e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["tournament","player","team","president","venue","coach"],r=await m.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!r||r.length===0?{results:[],query:e.query}:{results:r.map(pe),query:e.query}}const he=m.createHttpClient(m.SPORTAL365_SPORTS_SEARCH_DOMAIN);function M(e){return{language:e.language,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0}}function O(e){if(!(!e||!e.url))return{url:e.url}}function b(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(M),displayAsset:O(e.display_asset),slug:e.slug,providerRef:e.id}}function V(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,competitionIds:e.competition_ids,type:e.type,national:e.national,undecided:e.undecided,providerRef:e.id}}function Q(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),providerRef:e.id}}function Te(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,providerRef:e.id}}function ve(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,birthdate:e.birthdate??void 0,position:e.position??void 0,providerRef:e.id}}function Se(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function Ce(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function _e(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),city:e.city?Q(e.city):void 0,providerRef:e.id}}function Ae(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,type:e.type??void 0,region:e.region??void 0,providerRef:e.id}}function Fe(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(M),displayAsset:O(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?V(e.home_team):void 0,awayTeam:e.away_team?V(e.away_team):void 0,providerRef:e.id}}function Me(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,providerRef:e.id}}function Oe(e){switch(e.entity_type){case"team":return V(e);case"city":return Q(e);case"horse":return Te(e);case"player":return ve(e);case"coach":return Se(e);case"referee":return Ce(e);case"venue":return _e(e);case"tournament":case"competition":return Ae(e);case"match":return Fe(e);case"country":return Me(e);default:{const t=e;throw new Error(`Unknown entity type: ${t.entity_type}`)}}}async function Re(e={},t){const o=t??m.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(Oe),query:e.name}}const Pe=m.createHttpClient(m.SPORTAL365_STATISTICS_DOMAIN);function Ge(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 be(e,t){const o=t||m.getConfig(),n=e.next??{revalidate:600},s=await Pe.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 Ge(s.data[0],e.seasonId)}function De(e){const t=e.replace(/\/$/,"");function o(n){return`${t}${n}`}return{async get(n){const s=n.config||m.getConfig(),{fansUnited:r}=s;if(!r)throw new Error("Fans United configuration is missing. Add 'fansUnited' with 'apiKey' and 'clientId' to your config.");if(!r.apiKey||!r.clientId)throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");const i=new URL(o(n.path));if(i.searchParams.set("key",r.apiKey),i.searchParams.set("client_id",r.clientId),n.params)for(const[l,u]of Object.entries(n.params))u!==void 0&&(Array.isArray(u)?u.length>0&&i.searchParams.set(l,u.join(",")):i.searchParams.set(l,u));const c=await fetch(i.toString(),{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",...n.headers},signal:AbortSignal.timeout(3e4),...n.next&&{next:n.next}});if(!c.ok){let l=`Fans United API error: ${c.status} ${c.statusText}`;try{const u=await c.text();u&&(l+=` - ${u}`)}catch(u){console.error("[Fans United HTTP] Failed to read error response body:",{error:u instanceof Error?u.message:String(u),status:c.status,statusText:c.statusText})}throw new Error(l)}return c.json()}}}const Ee="https://football.fansunitedapi.com",D=De(Ee);function Ne(e){return{id:String(e.id),name:e.name,active:e.active,providerRef:[{provider:"fansunited",id:String(e.id)}]}}function Ie(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(Ne)),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 He(e){return e.map(Ie)}async function Le(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 D.get({path:"/v1/competitions",params:o,config:t,next:e?.next});console.log("Raw API response (first item):",JSON.stringify(n.data[0],null,2)),console.log("Total raw competitions:",n.data.length);const s=n.data.map(l=>l.id),r=new Set(s);console.log("Unique raw competition IDs:",r.size),s.length!==r.size&&console.warn("⚠️ API returned duplicate competitions!");const i=He(n.data),a=new Set,c=i.filter(l=>a.has(l.id)?!1:(a.add(l.id),!0));return i.length!==c.length&&console.warn(`Removed ${i.length-c.length} duplicate competitions`),c}function ke(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 Be(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?ke(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ue(e){return Be(e.data)}async function $e(e,t,o){const n=o||m.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/competitions/${e}`,params:s,next:t?.next,config:n});return Ue(r)}function xe(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function We(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?xe(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 qe(e){return We(e.data)}async function je(e,t,o){const n=o||m.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/teams/${e}`,params:s,next:t?.next,config:n});return qe(r)}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 Ve(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 Ye(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 X(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(Ve),competitions:e.competitions?.map(Ye),providerRef:[{provider:"fansunited",id:e.id}]}}function ze(e){return X(e.data)}function Ke(e){return e.data.map(X)}async function Je(e,t,o){const n=o||m.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/players/${e}`,params:s,next:t?.next,config:n});return ze(r)}async function Qe(e,t){const o=t||m.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 D.get({path:"/v1/players",params:n,next:e?.next,config:o});return Ke(s)}async function Xe(e,t,o){const n=o||m.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/matches/${e}`,params:s,next:t?.next,config:n});return m.transformMatch(r)}async function Ze(e,t){const o=t||m.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 D.get({path:"/v1/matches",params:n,next:e?.next,config:o});return m.transformMatches(s)}function z(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 we(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?z(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function et(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?z(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function tt(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?z(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function j(e){switch(e.entity_type){case"competition":{const t=we(e);return{source:"FOOTBALL",entityType:"competition",entityId:e.id,entityData:t}}case"player":{const t=et(e);return{source:"FOOTBALL",entityType:"player",entityId:e.id,entityData:t}}case"team":{const t=tt(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 ot(e,t){if(!e.query||e.query.trim()==="")return[];const o=t||m.getConfig(),n={q:e.query.trim()},r=(e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["competition","team","player"]).map(c=>{switch(c){case"team":return"teams";case"player":return"players";case"competition":return"competitions";default:return c}});n.entities=r.join(","),e.lang&&(n.lang=e.lang),e.limit&&(n.limit=String(e.limit));const i=await D.get({path:"/v1/search",params:n,next:e.next,config:o}),a=[];return i.data&&(i.data.competitions&&i.data.competitions.forEach(c=>{const l=j({...c,entity_type:"competition"});l&&a.push(l)}),i.data.teams&&i.data.teams.forEach(c=>{const l=j({...c,entity_type:"team"});l&&a.push(l)}),i.data.players&&i.data.players.forEach(c=>{const l=j({...c,entity_type:"player"});l&&a.push(l)})),a}function st(e){return!e.seasons||e.seasons.length===0?void 0:e.seasons.find(o=>o.active)??e.seasons[0]}function nt(e,t){const o=new Date,n=t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="NOT_STARTED",a=new Date(s.timing.kickoffTime)>=o;return r&&i&&a});return n.sort((s,r)=>new Date(s.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime()),n[0]}function rt(e,t){const o=new Date,n=t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return r&&i&&a});return n.sort((s,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime()),n[0]}function it(e,t){const o=new Date;return t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="NOT_STARTED"||s.status.type==="LIVE",a=new Date(s.timing.kickoffTime)>=o||s.status.type==="LIVE";return r&&i&&a}).sort((s,r)=>new Date(s.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime())}function at(e,t){const o=new Date;return t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return r&&i&&a}).sort((s,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime())}function ct(e,t,o){const n=o.filter(i=>i.status.type==="FINISHED"),s=o.filter(i=>i.status.type==="NOT_STARTED"||i.status.type==="POSTPONED"),r=t.entries.map(i=>{const a=i.competitor.id,c=n.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e),l=s.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e);let u,d;return c.forEach(g=>{const p=g.competitorOne.id===e,y=parseInt(g.score?.competitorOne??"0"),T=parseInt(g.score?.competitorTwo??"0"),R=p?y:T,_=p?T:y;let F;R>_?F="W":R===_?F="D":F="L";const P={result:F,score:`${y} - ${T}`,date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!1};p?u=P:d=P}),l.forEach(g=>{const p=g.competitorOne.id===e;p&&!u?u={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0}:!p&&!d&&(d={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0})}),{rank:i.rank,teamId:i.competitor.id,teamName:i.competitor.name,teamShortName:i.competitor.shortName,teamLogo:i.competitor.logo,gamesPlayed:i.stats.played??0,points:i.stats.points??0,homeResult:u,awayResult:d}});return{teamId:e,rows:r}}function lt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.goals??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.goals??0,r=n.seasonStatistics?.goals??0;if(r!==s)return r-s;const i=o.seasonStatistics?.assists??0;return(n.seasonStatistics?.assists??0)-i}).slice(0,t)}function dt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.assists??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.assists??0,r=n.seasonStatistics?.assists??0;if(r!==s)return r-s;const i=o.seasonStatistics?.goals??0;return(n.seasonStatistics?.goals??0)-i}).slice(0,t)}function ut(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.appearances??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.appearances??0,r=n.seasonStatistics?.appearances??0;if(r!==s)return r-s;const i=o.seasonStatistics?.minutes??0;return(n.seasonStatistics?.minutes??0)-i}).slice(0,t)}function mt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.minutes??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.minutes??0,r=n.seasonStatistics?.minutes??0;if(r!==s)return r-s;const i=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-i}).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,r=n.seasonStatistics?.cleansheets??0;if(r!==s)return r-s;const i=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-i}).slice(0,t)}function ft(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,r=o.seasonStatistics?.redCards??0,i=n.seasonStatistics?.yellowCards??0,a=n.seasonStatistics?.redCards??0,c=s+r*3,l=i+a*3;return l!==c?l-c:a!==r?a-r:i-s}).slice(0,t)}function N(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 r=s.primaryPlayer.id;t.has(r)||t.set(r,{playerId:s.primaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const i=t.get(r);o.has(r)||o.set(r,new Set),o.get(r).add(n.id),(s.type==="GOAL"||s.type==="PENALTY_GOAL")&&(i.goals=(i.goals??0)+1),s.type==="YELLOW_CARD"&&(i.yellowCards=(i.yellowCards??0)+1),(s.type==="RED_CARD"||s.type==="YELLOW_RED_CARD")&&(i.redCards=(i.redCards??0)+1)}if(s.secondaryPlayer&&(s.type==="GOAL"||s.type==="PENALTY_GOAL")){const r=s.secondaryPlayer.id;t.has(r)||t.set(r,{playerId:s.secondaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const i=t.get(r);i.assists=(i.assists??0)+1,o.has(r)||o.set(r,new Set),o.get(r).add(n.id)}})}),o.forEach((n,s)=>{const r=t.get(s);r&&r.appearances!==void 0&&(r.appearances=n.size)}),t}function B(e){return Array.from(e.values()).map(t=>({...t,totalCards:(t.yellowCards??0)+(t.redCards??0)}))}function Z(e,t=10){const o=N(e);return B(o).filter(s=>(s.goals??0)>0).sort((s,r)=>{const i=s.goals??0,a=r.goals??0;if(a!==i)return a-i;const c=s.assists??0;return(r.assists??0)-c}).slice(0,t)}function w(e,t=10){const o=N(e);return B(o).filter(s=>(s.assists??0)>0).sort((s,r)=>{const i=s.assists??0,a=r.assists??0;if(a!==i)return a-i;const c=s.goals??0;return(r.goals??0)-c}).slice(0,t)}function ee(e,t=10){const o=N(e);return B(o).filter(s=>(s.totalCards??0)>0).sort((s,r)=>{const i=(s.yellowCards??0)+(s.redCards??0)*3,a=(r.yellowCards??0)+(r.redCards??0)*3;if(a!==i)return a-i;const c=s.redCards??0,l=r.redCards??0;if(l!==c)return l-c;const u=s.yellowCards??0;return(r.yellowCards??0)-u}).slice(0,t)}function te(e,t=10){const o=N(e);return B(o).filter(s=>(s.goals??0)+(s.assists??0)>0).sort((s,r)=>{const i=(s.goals??0)+(s.assists??0),a=(r.goals??0)+(r.assists??0);if(a!==i)return a-i;const c=s.goals??0,l=r.goals??0;if(l!==c)return l-c;const u=s.assists??0;return(r.assists??0)-u}).slice(0,t)}function oe(e){const t=N(e);return B(t).sort((n,s)=>{const r=n.appearances??0,i=s.appearances??0;if(i!==r)return i-r;const a=(n.goals??0)+(n.assists??0);return(s.goals??0)+(s.assists??0)-a})}function pt(e,t=10){return E.useMemo(()=>Z(e,t),[e,t])}function yt(e,t=10){return E.useMemo(()=>w(e,t),[e,t])}function ht(e,t=10){return E.useMemo(()=>ee(e,t),[e,t])}function Tt(e,t=10){return E.useMemo(()=>te(e,t),[e,t])}function vt(e){return E.useMemo(()=>oe(e),[e])}function se(e){return E.useMemo(()=>N(e),[e])}function St(e,t){const o=se(e);return E.useMemo(()=>o.get(t),[o,t])}const ne=["GOAL","PENALTY_GOAL","OWN_GOAL"];function A(e,t){return t>0?e/t*100:0}function L(e,t){return t>0?e/t:0}function Ct(e,t=!1,o=2){return t?`${Math.round(e)}%`:Number.isInteger(e)?e.toString():e.toFixed(o)}function _t(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 At(e,t){const o=typeof e=="string"?parseFloat(e):e;return isNaN(o)||t===0?"0.0":(o/t).toFixed(1)}function Ft(e){const t=parseFloat(e);return isNaN(t)?"0%":`${Math.round(t)}%`}function re(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"),r=o?n:s,i=o?s:n;let a=null,c=null;const l=e.score.breakdown?.halfTime;if(l){const p=parseInt(l.competitorOne||"0"),y=parseInt(l.competitorTwo||"0");a=o?p:y,c=o?y:p}const u=e.statistics;let d=null,g=null;if(u){const p=u.find?.(y=>y.type==="CORNERS");p&&(d=o?p.competitorOne:p.competitorTwo,g=o?p.competitorTwo:p.competitorOne)}return{goalsFor:r,goalsAgainst:i,halfTimeGoalsFor:a,halfTimeGoalsAgainst:c,cornersFor:d,cornersAgainst:g,isWin:r>i,isDraw:r===i,isLoss:r<i}}function q(e,t){return e.competitorOne.id===t}function ie(e,t){return e.competitorTwo.id===t}function Mt(e,t){return q(e,t)||ie(e,t)}function Ot(e){return e.status?.type==="FINISHED"}function Rt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")}function Pt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")}function Gt(e,t,o){const n=e.filter(u=>{if(u.status?.type!=="FINISHED"||!u.score)return!1;const d=u.competitorOne.id===t||u.competitorTwo.id===t,g=u.competitorOne.id===o||u.competitorTwo.id===o;return d&&g});let s=0,r=0,i=0,a=0,c=0;n.forEach(u=>{const d=parseInt(u.score?.competitorOne||"0"),g=parseInt(u.score?.competitorTwo||"0"),p=u.competitorOne.id===t,y=p?d:g,T=p?g:d;a+=y,c+=T,y>T?s++:T>y?r++:i++});const l=n.length;return{totalMatches:l,homeTeamWins:s,awayTeamWins:r,draws:i,homeTeamGoals:a,awayTeamGoals:c,homeTeamWinPercentage:l>0?s/l*100:0,awayTeamWinPercentage:l>0?r/l*100:0,drawPercentage:l>0?i/l*100:0,homeTeamAvgGoals:l>0?a/l:0,awayTeamAvgGoals:l>0?c/l:0}}function bt(e,t,o,n=5){return e.filter(r=>{if(r.status?.type!=="FINISHED"||!r.score)return!1;const i=r.competitorOne.id===t||r.competitorTwo.id===t,a=r.competitorOne.id===o||r.competitorTwo.id===o;return i&&a}).sort((r,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime()).slice(0,n).map(r=>{const i=parseInt(r.score?.competitorOne||"0"),a=parseInt(r.score?.competitorTwo||"0"),c=r.competitorOne.id===t,l=c?i:a,u=c?a:i;let d;return l>u?d="home":u>l?d="away":d="draw",{id:r.id,date:new Date(r.timing.kickoffTime).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}),homeTeamName:r.competitorOne.name,awayTeamName:r.competitorTwo.name,homeTeamLogo:r.competitorOne.assets?.logo,awayTeamLogo:r.competitorTwo.assets?.logo,homeScore:i,awayScore:a,venue:r.venue?.name,winner:d}})}function Dt(e,t,o){return e.filter(n=>{const s=n.competitorOne.id===t,r=n.competitorTwo.id===t;return!s&&!r?!1:o==="home"?s:r}).map(n=>{const s=n.competitorOne.id===t;return re(n,t,s)}).filter(n=>n!==null)}function K(e,t,o,n){let s=0;for(const r of e){const i=r.competitorOne.id===t,a=r.competitorTwo.id===t;if(!i&&!a||o==="home"&&!i||o==="away"&&!a||r.status?.type!=="FINISHED")continue;const c=r.mainEvents;if(!c||!Array.isArray(c))continue;const l=c.filter(y=>y.type&&ne.includes(y.type)).sort((y,T)=>{const R=y.minute??0,_=T.minute??0;return R!==_?R-_:(y.injuryMinute??0)-(T.injuryMinute??0)});if(l.length===0)continue;const u=l[0],d=i?"ONE":"TWO",g=u.type==="OWN_GOAL";let p;g?p=u.competitorPosition!==d:p=u.competitorPosition===d,(n==="scored"&&p||n==="conceded"&&!p)&&s++}return s}function Et(e,t,o){let n=0;for(const s of e){const r=s.competitorOne.id===t,i=s.competitorTwo.id===t;if(!r&&!i||o==="home"&&!r||o==="away"&&!i||s.status?.type!=="FINISHED")continue;const a=s.mainEvents;a&&Array.isArray(a)&&n++}return n}function Nt(e,t,o){const n=Dt(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 r=n.reduce((f,S)=>f+S.goalsFor,0),i=n.reduce((f,S)=>f+S.goalsAgainst,0),a=n.filter(f=>f.goalsAgainst===0).length,c=n.filter(f=>f.isWin&&f.goalsAgainst===0).length,l=n.filter(f=>f.goalsFor>0).length,u=n.filter(f=>f.goalsFor===0).length,d=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,H=f.goalsFor-S;return S>0&&H>0}).length,R=K(e,t,o,"scored"),_=Et(e,t,o),F=p.filter(f=>f.halfTimeGoalsFor>f.halfTimeGoalsAgainst).length,P=p.filter(f=>{const S=f.halfTimeGoalsAgainst,H=f.goalsAgainst-S;return S>0&&H>0}).length,U=K(e,t,o,"conceded"),$=p.filter(f=>f.halfTimeGoalsAgainst>f.halfTimeGoalsFor).length,I=n.filter(f=>f.cornersFor!==null),x=I.reduce((f,S)=>f+(S.cornersFor||0),0),W=I.reduce((f,S)=>f+(S.cornersAgainst||0),0);return{played:s,goalsForPerMatch:L(r,s),cleanSheets:A(a,s),wonToNil:A(c,s),scoringRate:A(l,s),scoredInBothHalves:A(T,y),scoredFirst:A(R,_),leadingAtHalfTime:A(F,y),goalsAgainstPerMatch:L(i,s),failedToScore:A(u,s),lostToNil:A(d,s),concedingRate:A(g,s),concededInBothHalves:A(P,y),concededFirst:A(U,_),losingAtHalfTime:A($,y),avgCornersFor:L(x,I.length),avgCornersAgainst:L(W,I.length)}}function It(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"),r=parseInt(o.score?.competitorTwo||"0"),i=s+r,a=o.periods;let c=null;if(a&&Array.isArray(a)){const l=a.find(u=>u.type==="FIRST_HALF"||u.type==="1ST_HALF");if(l?.score){const u=parseInt(l.score.competitorOne||"0"),d=parseInt(l.score.competitorTwo||"0");c=u+d}}return{totalGoals:i,halfTimeGoals:c,isHome:n}})}function h(e,t){return e.length===0?0:e.filter(n=>n>t).length/e.length*100}function Ht(e,t){const o=It(e,t),n=o.filter(d=>d.isHome),s=o.filter(d=>!d.isHome),r=o.map(d=>d.totalGoals),i=n.map(d=>d.totalGoals),a=s.map(d=>d.totalGoals),c=o.filter(d=>d.halfTimeGoals!==null).map(d=>d.halfTimeGoals),l=n.filter(d=>d.halfTimeGoals!==null).map(d=>d.halfTimeGoals),u=s.filter(d=>d.halfTimeGoals!==null).map(d=>d.halfTimeGoals);return{over05:{home:h(i,.5),total:h(r,.5),away:h(a,.5)},over15:{home:h(i,1.5),total:h(r,1.5),away:h(a,1.5)},over25:{home:h(i,2.5),total:h(r,2.5),away:h(a,2.5)},over35:{home:h(i,3.5),total:h(r,3.5),away:h(a,3.5)},over45:{home:h(i,4.5),total:h(r,4.5),away:h(a,4.5)},over55:{home:h(i,5.5),total:h(r,5.5),away:h(a,5.5)},over05HT:{home:h(l,.5),total:h(c,.5),away:h(u,.5)},over15HT:{home:h(l,1.5),total:h(c,1.5),away:h(u,1.5)},over25HT:{home:h(l,2.5),total:h(c,2.5),away:h(u,2.5)}}}function ae(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"),r=parseInt(o?e.score.competitorTwo||"0":e.score.competitorOne||"0");let i;return s>r?i="W":s<r?i="L":i="D",{result:{score:`${s}:${r}`,result:i,isHome:o},isHome:o}}function Lt(e,t,o,n,s,r){const i=t?.entries.find(G=>G.competitor.id===e),a=o?.entries.find(G=>G.competitor.id===e),c=n?.entries.find(G=>G.competitor.id===e),l=s?.entries.find(G=>G.competitor.id===e),u=r?.entries.find(G=>G.competitor.id===e);if(!i)return null;const d=a?.stats?.goalsFor??0,g=c?.stats?.goalsFor??0,p=i?.stats?.goalsFor??0,y=l?.stats?.goalsAgainst??0,T=u?.stats?.goalsAgainst??0,R=i?.stats?.goalsAgainst??0,_=a?.stats?.played??0,F=c?.stats?.played??0,P=i?.stats?.played??0,U=P>0?p/P:0,$=P>0?R/P:0,I=U+$,x=_>0?d/_:0,W=F>0?g/F:0,f=_>0?y/_:0,S=F>0?T/F:0,H=x+f,ce=W+S;return{homeGoals:d,totalGoals:p,awayGoals:g,homeGamesPlayed:_,awayGamesPlayed:F,totalGamesPlayed:P,homeGoalsConceded:y,totalGoalsConceded:R,awayGoalsConceded:T,gfPerMatch:U,gaPerMatch:$,gfGaPerMatch:I,homeGfPerMatch:x,awayGfPerMatch:W,homeGaPerMatch:f,awayGaPerMatch:S,homeGfGaPerMatch:H,awayGfGaPerMatch:ce}}function C(e,t,o,n){const s=e.filter(i=>{const a=i.competitorOne.id===t,c=i.competitorTwo.id===t;return!(!a&&!c||i.status?.type!=="FINISHED"||n==="home"&&!a||n==="away"&&!c)}).sort((i,a)=>new Date(a.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime());if(s.length===0)return null;let r=0;for(const i of s){const a=i.competitorOne.id===t;if(o(i,t,a))r++;else break}return r>0?r: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 k(e,t,o){return{win:C(e,t,v.win,o),draw:C(e,t,v.draw,o),loss:C(e,t,v.loss,o),noWin:C(e,t,v.noWin,o),noDraw:C(e,t,v.noDraw,o),noDefeat:C(e,t,v.noDefeat,o),scored:C(e,t,v.scored,o),conceded:C(e,t,v.conceded,o),noGoalScored:C(e,t,v.noGoalScored,o),noGoalConceded:C(e,t,v.noGoalConceded,o),over25:C(e,t,v.over25,o),under25:C(e,t,v.under25,o),scoredTwice:C(e,t,v.scoredTwice,o),concededTwice:C(e,t,v.concededTwice,o)}}function kt(e,t,o){const n=k(e,t,"home"),s=k(e,t),r=k(e,o,"away"),i=k(e,o);return[{label:"Consecutive wins",homeTeam:{home:n.win,total:s.win},awayTeam:{total:i.win,home:r.win},colorType:"neutral"},{label:"Consecutive draws",homeTeam:{home:n.draw,total:s.draw},awayTeam:{total:i.draw,home:r.draw},colorType:"neutral"},{label:"Consecutive defeats",homeTeam:{home:n.loss,total:s.loss},awayTeam:{total:i.loss,home:r.loss},colorType:"neutral"},{label:"No win",homeTeam:{home:n.noWin,total:s.noWin},awayTeam:{total:i.noWin,home:r.noWin},colorType:"negative"},{label:"No draw",homeTeam:{home:n.noDraw,total:s.noDraw},awayTeam:{total:i.noDraw,home:r.noDraw},colorType:"neutral"},{label:"No defeat",homeTeam:{home:n.noDefeat,total:s.noDefeat},awayTeam:{total:i.noDefeat,home:r.noDefeat},colorType:"positive"},{label:"Scored at least once",homeTeam:{home:n.scored,total:s.scored},awayTeam:{total:i.scored,home:r.scored},colorType:"positive"},{label:"Conceded at least once",homeTeam:{home:n.conceded,total:s.conceded},awayTeam:{total:i.conceded,home:r.conceded},colorType:"negative"},{label:"No goal scored",homeTeam:{home:n.noGoalScored,total:s.noGoalScored},awayTeam:{total:i.noGoalScored,home:r.noGoalScored},colorType:"neutral"},{label:"No goal conceded",homeTeam:{home:n.noGoalConceded,total:s.noGoalConceded},awayTeam:{total:i.noGoalConceded,home:r.noGoalConceded},colorType:"neutral"},{label:"GS + GC over 2.5",homeTeam:{home:n.over25,total:s.over25},awayTeam:{total:i.over25,home:r.over25},colorType:"neutral"},{label:"GS + GC under 2.5",homeTeam:{home:n.under25,total:s.under25},awayTeam:{total:i.under25,home:r.under25},colorType:"neutral"},{label:"Scored at least twice",homeTeam:{home:n.scoredTwice,total:s.scoredTwice},awayTeam:{total:i.scoredTwice,home:r.scoredTwice},colorType:"positive"},{label:"Conceded at least twice",homeTeam:{home:n.concededTwice,total:s.concededTwice},awayTeam:{total:i.concededTwice,home:r.concededTwice},colorType:"negative"}]}function J(e,t){const o=new Map;return e.forEach(n=>{if(n.status?.type!=="FINISHED")return;const s=ae(n,t);if(!s)return;const r=s.isHome?n.competitorTwo.id:n.competitorOne.id,i=s.isHome?n.competitorTwo:n.competitorOne,a=o.get(r)||{opponentId:r,opponentName:i.name,opponentLogo:i.assets?.logo};s.isHome?a.homeResult=s.result:a.awayResult=s.result,o.set(r,a)}),o}function Bt(e,t,o,n,s,r,i){const a=J(e,t),c=J(e,o),l=new Set([...a.keys(),...c.keys(),t,o]),u=[];return l.forEach(d=>{const g=a.get(d),p=c.get(d);if(!g&&!p&&d!==t&&d!==o)return;let y,T;d===t?(y=n,T=r):d===o?(y=s,T=i):(y=g?.opponentName||p?.opponentName||"",T=g?.opponentLogo||p?.opponentLogo),u.push({opponentId:d,opponentName:y,opponentLogo:T,homeTeamHome:g?.homeResult,homeTeamAway:g?.awayResult,awayTeamHome:p?.homeResult,awayTeamAway:p?.awayResult,isHomeTeamRow:d===t,isAwayTeamRow:d===o})}),u.sort((d,g)=>d.isHomeTeamRow?-1:g.isHomeTeamRow?1:d.isAwayTeamRow?-1:g.isAwayTeamRow?1:d.opponentName.localeCompare(g.opponentName))}exports.addProviderRef=m.addProviderRef;exports.getBatchMatchOdds=m.getBatchMatchOdds;exports.getConfig=m.getConfig;exports.getFootballCompetition=m.getFootballCompetition;exports.getFootballMatch=m.getFootballMatch;exports.getFootballMatchCommentary=m.getFootballMatchCommentary;exports.getFootballMatchEvents=m.getFootballMatchEvents;exports.getFootballMatchLineups=m.getFootballMatchLineups;exports.getFootballMatchOdds=m.getFootballMatchOdds;exports.getFootballMatchStatistics=m.getFootballMatchStatistics;exports.getFootballMatches=m.getFootballMatches;exports.getFootballPlayerSeasonStatistics=m.getFootballPlayerSeasonStatistics;exports.getFootballSeasonDetails=m.getFootballSeasonDetails;exports.getFootballStandings=m.getFootballStandings;exports.getFootballTeam=m.getFootballTeam;exports.getFootballTeamSquad=m.getFootballTeamSquad;exports.getLeaderboardMatches=m.getLeaderboardMatches;exports.getLeaderboardTeamMatches=m.getLeaderboardTeamMatches;exports.getLeaderboardTemplate=m.getLeaderboardTemplate;exports.getProviderRefId=m.getProviderRefId;exports.isConfigured=m.isConfigured;exports.setConfig=m.setConfig;exports.toProviderRefArray=m.toProviderRefArray;exports.GOAL_EVENT_TYPES=ne;exports.aggregatePlayerStatisticsFromMatches=N;exports.analyzeMatch=re;exports.calcAverage=L;exports.calcPercentage=A;exports.calculateH2HStats=Gt;exports.calculateStreak=C;exports.formatAsAverage=At;exports.formatPossessionPercentage=Ft;exports.formatStatValue=Ct;exports.formatWithAverage=_t;exports.getActiveSeason=st;exports.getAllPlayerStatisticsFromMatches=oe;exports.getFansUnitedFootballCompetition=$e;exports.getFansUnitedFootballCompetitions=Le;exports.getFansUnitedFootballMatch=Xe;exports.getFansUnitedFootballMatches=Ze;exports.getFansUnitedFootballPlayer=Je;exports.getFansUnitedFootballPlayers=Qe;exports.getFansUnitedFootballSearch=ot;exports.getFansUnitedFootballTeam=je;exports.getMatchResult=ae;exports.getMostCardedPlayersFromMatches=ee;exports.getOpponentScore=Pt;exports.getRecentH2HMeetings=bt;exports.getTeamFinishedMatches=at;exports.getTeamGoalStats=Lt;exports.getTeamHomeAwayStats=Nt;exports.getTeamMostDecorated=ft;exports.getTeamNextMatch=nt;exports.getTeamOverUnderStats=Ht;exports.getTeamPreviousMatch=rt;exports.getTeamResultsTable=ct;exports.getTeamScore=Rt;exports.getTeamSeasonStatistics=be;exports.getTeamStreaks=k;exports.getTeamStreaksComparison=kt;exports.getTeamTopAppearances=ut;exports.getTeamTopAssisters=dt;exports.getTeamTopCleanSheets=gt;exports.getTeamTopMinutesPlayed=mt;exports.getTeamTopScorers=lt;exports.getTeamUpcomingMatches=it;exports.getTeamsCommonOpponents=Bt;exports.getTopAssistersFromMatches=w;exports.getTopGoalContributorsFromMatches=te;exports.getTopScorersFromMatches=Z;exports.isMatchFinished=Ot;exports.isTeamAway=ie;exports.isTeamHome=q;exports.isTeamInMatch=Mt;exports.search=Re;exports.searchFootball=ye;exports.streakFilters=v;exports.useAllPlayerStatisticsFromMatches=vt;exports.useMostCardedPlayersFromMatches=ht;exports.usePlayerStatistics=St;exports.usePlayerStatisticsMap=se;exports.useTopAssistersFromMatches=yt;exports.useTopGoalContributorsFromMatches=Tt;exports.useTopScorersFromMatches=pt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./matches-DKjnuuq_.cjs"),E=require("react");function le(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 de(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 ue(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 me(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 ge(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 fe(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 pe(e){switch(e.entity_type){case"tournament":return le(e);case"player":return de(e);case"team":return ue(e);case"president":return me(e);case"venue":return ge(e);case"coach":return fe(e);default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function ye(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"],r=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!r||r.length===0?{results:[],query:e.query}:{results:r.map(pe),query:e.query}}const he=u.createHttpClient(u.SPORTAL365_SPORTS_SEARCH_DOMAIN);function M(e){return{language:e.language,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0}}function O(e){if(!(!e||!e.url))return{url:e.url}}function G(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(M),displayAsset:O(e.display_asset),slug:e.slug,providerRef:e.id}}function V(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),gender:e.gender,competitionIds:e.competition_ids,type:e.type,national:e.national,undecided:e.undecided,providerRef:e.id}}function Q(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),providerRef:e.id}}function Te(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),gender:e.gender,providerRef:e.id}}function ve(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),gender:e.gender,birthdate:e.birthdate??void 0,position:e.position??void 0,providerRef:e.id}}function Se(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function Ce(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function _e(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),city:e.city?Q(e.city):void 0,providerRef:e.id}}function Ae(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:G(e.country),gender:e.gender,type:e.type??void 0,region:e.region??void 0,providerRef:e.id}}function Fe(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(M),displayAsset:O(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?V(e.home_team):void 0,awayTeam:e.away_team?V(e.away_team):void 0,providerRef:e.id}}function Me(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(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,providerRef:e.id}}function Oe(e){switch(e.entity_type){case"team":return V(e);case"city":return Q(e);case"horse":return Te(e);case"player":return ve(e);case"coach":return Se(e);case"referee":return Ce(e);case"venue":return _e(e);case"tournament":case"competition":return Ae(e);case"match":return Fe(e);case"country":return Me(e);default:{const t=e;throw new Error(`Unknown entity type: ${t.entity_type}`)}}}async function Re(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(Oe),query:e.name}}const Pe=u.createHttpClient(u.SPORTAL365_STATISTICS_DOMAIN);function be(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 Ge(e,t){const o=t||u.getConfig(),n=e.next??{revalidate:600},s=await Pe.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 be(s.data[0],e.seasonId)}function De(e){const t=e.replace(/\/$/,"");function o(n){return`${t}${n}`}return{async get(n){const s=n.config||u.getConfig(),{fansUnited:r}=s;if(!r)throw new Error("Fans United configuration is missing. Add 'fansUnited' with 'apiKey' and 'clientId' to your config.");if(!r.apiKey||!r.clientId)throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");const i=new URL(o(n.path));if(i.searchParams.set("key",r.apiKey),i.searchParams.set("client_id",r.clientId),n.params)for(const[m,c]of Object.entries(n.params))c!==void 0&&(Array.isArray(c)?c.length>0&&i.searchParams.set(m,c.join(",")):i.searchParams.set(m,c));const a=3e4,d=new URL(i.toString());d.searchParams.delete("key"),d.searchParams.delete("client_id"),console.log("🔗 FansUnited API URL:",d.toString());const l=await fetch(i.toString(),{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",...n.headers},signal:AbortSignal.timeout(a),...n.next&&{next:n.next}});if(!l.ok){let m=`Fans United API error: ${l.status} ${l.statusText}`;try{const c=await l.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:l.status,statusText:l.statusText})}throw new Error(m)}return l.json()}}}const Ee="https://football.fansunitedapi.com",D=De(Ee);function Ne(e){return{id:String(e.id),name:e.name,active:e.active,providerRef:[{provider:"fansunited",id:String(e.id)}]}}function Ie(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(Ne)),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 Le(e){return e.map(Ie)}async function He(e,t){const o={};e?.lang?o.lang=e.lang:o.lang="EN",console.log("🌐 Language parameter being sent:",o.lang),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 D.get({path:"/v1/competitions",params:o,config:t,next:e?.next});console.log("Raw API response (first 10 items):",JSON.stringify(n.data.slice(0,10),null,2)),console.log("Total raw competitions:",n.data.length);const s=n.data.map(l=>l.id),r=new Set(s);console.log("Unique raw competition IDs:",r.size),s.length!==r.size&&console.warn("⚠️ API returned duplicate competitions!");const i=Le(n.data);console.log("Transformed (first 3 items):",JSON.stringify(i.slice(0,3),null,2));const a=new Set,d=i.filter(l=>a.has(l.id)?!1:(a.add(l.id),!0));return i.length!==d.length&&console.warn(`Removed ${i.length-d.length} duplicate competitions`),d}function ke(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 Ue(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?ke(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Be(e){return Ue(e.data)}async function $e(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/competitions/${e}`,params:s,next:t?.next,config:n});return Be(r)}function xe(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function We(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?xe(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 qe(e){return We(e.data)}async function je(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/teams/${e}`,params:s,next:t?.next,config:n});return qe(r)}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 Ve(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 Ye(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 X(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(Ve),competitions:e.competitions?.map(Ye),providerRef:[{provider:"fansunited",id:e.id}]}}function ze(e){return X(e.data)}function Ke(e){return e.data.map(X)}async function Je(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/players/${e}`,params:s,next:t?.next,config:n});return ze(r)}async function Qe(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 D.get({path:"/v1/players",params:n,next:e?.next,config:o});return Ke(s)}async function Xe(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const r=await D.get({path:`/v1/matches/${e}`,params:s,next:t?.next,config:n});return u.transformMatch(r)}async function Ze(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 D.get({path:"/v1/matches",params:n,next:e?.next,config:o});return u.transformMatches(s)}function z(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 we(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?z(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function et(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?z(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function tt(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?z(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function j(e){switch(e.entity_type){case"competition":{const t=we(e);return{source:"FOOTBALL",entityType:"competition",entityId:e.id,entityData:t}}case"player":{const t=et(e);return{source:"FOOTBALL",entityType:"player",entityId:e.id,entityData:t}}case"team":{const t=tt(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 ot(e,t){if(!e.query||e.query.trim()==="")return[];const o=t||u.getConfig(),n={q:e.query.trim()},r=(e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["competition","team","player"]).map(d=>{switch(d){case"team":return"teams";case"player":return"players";case"competition":return"competitions";default:return d}});n.entities=r.join(","),e.lang&&(n.lang=e.lang),e.limit&&(n.limit=String(e.limit));const i=await D.get({path:"/v1/search",params:n,next:e.next,config:o}),a=[];return i.data&&(i.data.competitions&&i.data.competitions.forEach(d=>{const l=j({...d,entity_type:"competition"});l&&a.push(l)}),i.data.teams&&i.data.teams.forEach(d=>{const l=j({...d,entity_type:"team"});l&&a.push(l)}),i.data.players&&i.data.players.forEach(d=>{const l=j({...d,entity_type:"player"});l&&a.push(l)})),a}function st(e){return!e.seasons||e.seasons.length===0?void 0:e.seasons.find(o=>o.active)??e.seasons[0]}function nt(e,t){const o=new Date,n=t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="NOT_STARTED",a=new Date(s.timing.kickoffTime)>=o;return r&&i&&a});return n.sort((s,r)=>new Date(s.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime()),n[0]}function rt(e,t){const o=new Date,n=t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return r&&i&&a});return n.sort((s,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime()),n[0]}function it(e,t){const o=new Date;return t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="NOT_STARTED"||s.status.type==="LIVE",a=new Date(s.timing.kickoffTime)>=o||s.status.type==="LIVE";return r&&i&&a}).sort((s,r)=>new Date(s.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime())}function at(e,t){const o=new Date;return t.filter(s=>{const r=s.competitorOne.id===e||s.competitorTwo.id===e,i=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return r&&i&&a}).sort((s,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime())}function ct(e,t,o){const n=o.filter(i=>i.status.type==="FINISHED"),s=o.filter(i=>i.status.type==="NOT_STARTED"||i.status.type==="POSTPONED"),r=t.entries.map(i=>{const a=i.competitor.id,d=n.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e),l=s.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e);let m,c;return d.forEach(g=>{const p=g.competitorOne.id===e,y=parseInt(g.score?.competitorOne??"0"),T=parseInt(g.score?.competitorTwo??"0"),R=p?y:T,_=p?T:y;let F;R>_?F="W":R===_?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}),l.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:i.rank,teamId:i.competitor.id,teamName:i.competitor.name,teamShortName:i.competitor.shortName,teamLogo:i.competitor.logo,gamesPlayed:i.stats.played??0,points:i.stats.points??0,homeResult:m,awayResult:c}});return{teamId:e,rows:r}}function lt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.goals??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.goals??0,r=n.seasonStatistics?.goals??0;if(r!==s)return r-s;const i=o.seasonStatistics?.assists??0;return(n.seasonStatistics?.assists??0)-i}).slice(0,t)}function dt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.assists??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.assists??0,r=n.seasonStatistics?.assists??0;if(r!==s)return r-s;const i=o.seasonStatistics?.goals??0;return(n.seasonStatistics?.goals??0)-i}).slice(0,t)}function ut(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.appearances??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.appearances??0,r=n.seasonStatistics?.appearances??0;if(r!==s)return r-s;const i=o.seasonStatistics?.minutes??0;return(n.seasonStatistics?.minutes??0)-i}).slice(0,t)}function mt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.minutes??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.minutes??0,r=n.seasonStatistics?.minutes??0;if(r!==s)return r-s;const i=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-i}).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,r=n.seasonStatistics?.cleansheets??0;if(r!==s)return r-s;const i=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-i}).slice(0,t)}function ft(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,r=o.seasonStatistics?.redCards??0,i=n.seasonStatistics?.yellowCards??0,a=n.seasonStatistics?.redCards??0,d=s+r*3,l=i+a*3;return l!==d?l-d:a!==r?a-r:i-s}).slice(0,t)}function N(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 r=s.primaryPlayer.id;t.has(r)||t.set(r,{playerId:s.primaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const i=t.get(r);o.has(r)||o.set(r,new Set),o.get(r).add(n.id),(s.type==="GOAL"||s.type==="PENALTY_GOAL")&&(i.goals=(i.goals??0)+1),s.type==="YELLOW_CARD"&&(i.yellowCards=(i.yellowCards??0)+1),(s.type==="RED_CARD"||s.type==="YELLOW_RED_CARD")&&(i.redCards=(i.redCards??0)+1)}if(s.secondaryPlayer&&(s.type==="GOAL"||s.type==="PENALTY_GOAL")){const r=s.secondaryPlayer.id;t.has(r)||t.set(r,{playerId:s.secondaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const i=t.get(r);i.assists=(i.assists??0)+1,o.has(r)||o.set(r,new Set),o.get(r).add(n.id)}})}),o.forEach((n,s)=>{const r=t.get(s);r&&r.appearances!==void 0&&(r.appearances=n.size)}),t}function U(e){return Array.from(e.values()).map(t=>({...t,totalCards:(t.yellowCards??0)+(t.redCards??0)}))}function Z(e,t=10){const o=N(e);return U(o).filter(s=>(s.goals??0)>0).sort((s,r)=>{const i=s.goals??0,a=r.goals??0;if(a!==i)return a-i;const d=s.assists??0;return(r.assists??0)-d}).slice(0,t)}function w(e,t=10){const o=N(e);return U(o).filter(s=>(s.assists??0)>0).sort((s,r)=>{const i=s.assists??0,a=r.assists??0;if(a!==i)return a-i;const d=s.goals??0;return(r.goals??0)-d}).slice(0,t)}function ee(e,t=10){const o=N(e);return U(o).filter(s=>(s.totalCards??0)>0).sort((s,r)=>{const i=(s.yellowCards??0)+(s.redCards??0)*3,a=(r.yellowCards??0)+(r.redCards??0)*3;if(a!==i)return a-i;const d=s.redCards??0,l=r.redCards??0;if(l!==d)return l-d;const m=s.yellowCards??0;return(r.yellowCards??0)-m}).slice(0,t)}function te(e,t=10){const o=N(e);return U(o).filter(s=>(s.goals??0)+(s.assists??0)>0).sort((s,r)=>{const i=(s.goals??0)+(s.assists??0),a=(r.goals??0)+(r.assists??0);if(a!==i)return a-i;const d=s.goals??0,l=r.goals??0;if(l!==d)return l-d;const m=s.assists??0;return(r.assists??0)-m}).slice(0,t)}function oe(e){const t=N(e);return U(t).sort((n,s)=>{const r=n.appearances??0,i=s.appearances??0;if(i!==r)return i-r;const a=(n.goals??0)+(n.assists??0);return(s.goals??0)+(s.assists??0)-a})}function pt(e,t=10){return E.useMemo(()=>Z(e,t),[e,t])}function yt(e,t=10){return E.useMemo(()=>w(e,t),[e,t])}function ht(e,t=10){return E.useMemo(()=>ee(e,t),[e,t])}function Tt(e,t=10){return E.useMemo(()=>te(e,t),[e,t])}function vt(e){return E.useMemo(()=>oe(e),[e])}function se(e){return E.useMemo(()=>N(e),[e])}function St(e,t){const o=se(e);return E.useMemo(()=>o.get(t),[o,t])}const ne=["GOAL","PENALTY_GOAL","OWN_GOAL"];function A(e,t){return t>0?e/t*100:0}function H(e,t){return t>0?e/t:0}function Ct(e,t=!1,o=2){return t?`${Math.round(e)}%`:Number.isInteger(e)?e.toString():e.toFixed(o)}function _t(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 At(e,t){const o=typeof e=="string"?parseFloat(e):e;return isNaN(o)||t===0?"0.0":(o/t).toFixed(1)}function Ft(e){const t=parseFloat(e);return isNaN(t)?"0%":`${Math.round(t)}%`}function re(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"),r=o?n:s,i=o?s:n;let a=null,d=null;const l=e.score.breakdown?.halfTime;if(l){const p=parseInt(l.competitorOne||"0"),y=parseInt(l.competitorTwo||"0");a=o?p:y,d=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:r,goalsAgainst:i,halfTimeGoalsFor:a,halfTimeGoalsAgainst:d,cornersFor:c,cornersAgainst:g,isWin:r>i,isDraw:r===i,isLoss:r<i}}function q(e,t){return e.competitorOne.id===t}function ie(e,t){return e.competitorTwo.id===t}function Mt(e,t){return q(e,t)||ie(e,t)}function Ot(e){return e.status?.type==="FINISHED"}function Rt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")}function Pt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")}function bt(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,r=0,i=0,a=0,d=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,d+=T,y>T?s++:T>y?r++:i++});const l=n.length;return{totalMatches:l,homeTeamWins:s,awayTeamWins:r,draws:i,homeTeamGoals:a,awayTeamGoals:d,homeTeamWinPercentage:l>0?s/l*100:0,awayTeamWinPercentage:l>0?r/l*100:0,drawPercentage:l>0?i/l*100:0,homeTeamAvgGoals:l>0?a/l:0,awayTeamAvgGoals:l>0?d/l:0}}function Gt(e,t,o,n=5){return e.filter(r=>{if(r.status?.type!=="FINISHED"||!r.score)return!1;const i=r.competitorOne.id===t||r.competitorTwo.id===t,a=r.competitorOne.id===o||r.competitorTwo.id===o;return i&&a}).sort((r,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime()).slice(0,n).map(r=>{const i=parseInt(r.score?.competitorOne||"0"),a=parseInt(r.score?.competitorTwo||"0"),d=r.competitorOne.id===t,l=d?i:a,m=d?a:i;let c;return l>m?c="home":m>l?c="away":c="draw",{id:r.id,date:new Date(r.timing.kickoffTime).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}),homeTeamName:r.competitorOne.name,awayTeamName:r.competitorTwo.name,homeTeamLogo:r.competitorOne.assets?.logo,awayTeamLogo:r.competitorTwo.assets?.logo,homeScore:i,awayScore:a,venue:r.venue?.name,winner:c}})}function Dt(e,t,o){return e.filter(n=>{const s=n.competitorOne.id===t,r=n.competitorTwo.id===t;return!s&&!r?!1:o==="home"?s:r}).map(n=>{const s=n.competitorOne.id===t;return re(n,t,s)}).filter(n=>n!==null)}function K(e,t,o,n){let s=0;for(const r of e){const i=r.competitorOne.id===t,a=r.competitorTwo.id===t;if(!i&&!a||o==="home"&&!i||o==="away"&&!a||r.status?.type!=="FINISHED")continue;const d=r.mainEvents;if(!d||!Array.isArray(d))continue;const l=d.filter(y=>y.type&&ne.includes(y.type)).sort((y,T)=>{const R=y.minute??0,_=T.minute??0;return R!==_?R-_:(y.injuryMinute??0)-(T.injuryMinute??0)});if(l.length===0)continue;const m=l[0],c=i?"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 Et(e,t,o){let n=0;for(const s of e){const r=s.competitorOne.id===t,i=s.competitorTwo.id===t;if(!r&&!i||o==="home"&&!r||o==="away"&&!i||s.status?.type!=="FINISHED")continue;const a=s.mainEvents;a&&Array.isArray(a)&&n++}return n}function Nt(e,t,o){const n=Dt(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 r=n.reduce((f,S)=>f+S.goalsFor,0),i=n.reduce((f,S)=>f+S.goalsAgainst,0),a=n.filter(f=>f.goalsAgainst===0).length,d=n.filter(f=>f.isWin&&f.goalsAgainst===0).length,l=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,L=f.goalsFor-S;return S>0&&L>0}).length,R=K(e,t,o,"scored"),_=Et(e,t,o),F=p.filter(f=>f.halfTimeGoalsFor>f.halfTimeGoalsAgainst).length,P=p.filter(f=>{const S=f.halfTimeGoalsAgainst,L=f.goalsAgainst-S;return S>0&&L>0}).length,B=K(e,t,o,"conceded"),$=p.filter(f=>f.halfTimeGoalsAgainst>f.halfTimeGoalsFor).length,I=n.filter(f=>f.cornersFor!==null),x=I.reduce((f,S)=>f+(S.cornersFor||0),0),W=I.reduce((f,S)=>f+(S.cornersAgainst||0),0);return{played:s,goalsForPerMatch:H(r,s),cleanSheets:A(a,s),wonToNil:A(d,s),scoringRate:A(l,s),scoredInBothHalves:A(T,y),scoredFirst:A(R,_),leadingAtHalfTime:A(F,y),goalsAgainstPerMatch:H(i,s),failedToScore:A(m,s),lostToNil:A(c,s),concedingRate:A(g,s),concededInBothHalves:A(P,y),concededFirst:A(B,_),losingAtHalfTime:A($,y),avgCornersFor:H(x,I.length),avgCornersAgainst:H(W,I.length)}}function It(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"),r=parseInt(o.score?.competitorTwo||"0"),i=s+r,a=o.periods;let d=null;if(a&&Array.isArray(a)){const l=a.find(m=>m.type==="FIRST_HALF"||m.type==="1ST_HALF");if(l?.score){const m=parseInt(l.score.competitorOne||"0"),c=parseInt(l.score.competitorTwo||"0");d=m+c}}return{totalGoals:i,halfTimeGoals:d,isHome:n}})}function h(e,t){return e.length===0?0:e.filter(n=>n>t).length/e.length*100}function Lt(e,t){const o=It(e,t),n=o.filter(c=>c.isHome),s=o.filter(c=>!c.isHome),r=o.map(c=>c.totalGoals),i=n.map(c=>c.totalGoals),a=s.map(c=>c.totalGoals),d=o.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),l=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(i,.5),total:h(r,.5),away:h(a,.5)},over15:{home:h(i,1.5),total:h(r,1.5),away:h(a,1.5)},over25:{home:h(i,2.5),total:h(r,2.5),away:h(a,2.5)},over35:{home:h(i,3.5),total:h(r,3.5),away:h(a,3.5)},over45:{home:h(i,4.5),total:h(r,4.5),away:h(a,4.5)},over55:{home:h(i,5.5),total:h(r,5.5),away:h(a,5.5)},over05HT:{home:h(l,.5),total:h(d,.5),away:h(m,.5)},over15HT:{home:h(l,1.5),total:h(d,1.5),away:h(m,1.5)},over25HT:{home:h(l,2.5),total:h(d,2.5),away:h(m,2.5)}}}function ae(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"),r=parseInt(o?e.score.competitorTwo||"0":e.score.competitorOne||"0");let i;return s>r?i="W":s<r?i="L":i="D",{result:{score:`${s}:${r}`,result:i,isHome:o},isHome:o}}function Ht(e,t,o,n,s,r){const i=t?.entries.find(b=>b.competitor.id===e),a=o?.entries.find(b=>b.competitor.id===e),d=n?.entries.find(b=>b.competitor.id===e),l=s?.entries.find(b=>b.competitor.id===e),m=r?.entries.find(b=>b.competitor.id===e);if(!i)return null;const c=a?.stats?.goalsFor??0,g=d?.stats?.goalsFor??0,p=i?.stats?.goalsFor??0,y=l?.stats?.goalsAgainst??0,T=m?.stats?.goalsAgainst??0,R=i?.stats?.goalsAgainst??0,_=a?.stats?.played??0,F=d?.stats?.played??0,P=i?.stats?.played??0,B=P>0?p/P:0,$=P>0?R/P:0,I=B+$,x=_>0?c/_:0,W=F>0?g/F:0,f=_>0?y/_:0,S=F>0?T/F:0,L=x+f,ce=W+S;return{homeGoals:c,totalGoals:p,awayGoals:g,homeGamesPlayed:_,awayGamesPlayed:F,totalGamesPlayed:P,homeGoalsConceded:y,totalGoalsConceded:R,awayGoalsConceded:T,gfPerMatch:B,gaPerMatch:$,gfGaPerMatch:I,homeGfPerMatch:x,awayGfPerMatch:W,homeGaPerMatch:f,awayGaPerMatch:S,homeGfGaPerMatch:L,awayGfGaPerMatch:ce}}function C(e,t,o,n){const s=e.filter(i=>{const a=i.competitorOne.id===t,d=i.competitorTwo.id===t;return!(!a&&!d||i.status?.type!=="FINISHED"||n==="home"&&!a||n==="away"&&!d)}).sort((i,a)=>new Date(a.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime());if(s.length===0)return null;let r=0;for(const i of s){const a=i.competitorOne.id===t;if(o(i,t,a))r++;else break}return r>0?r: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 k(e,t,o){return{win:C(e,t,v.win,o),draw:C(e,t,v.draw,o),loss:C(e,t,v.loss,o),noWin:C(e,t,v.noWin,o),noDraw:C(e,t,v.noDraw,o),noDefeat:C(e,t,v.noDefeat,o),scored:C(e,t,v.scored,o),conceded:C(e,t,v.conceded,o),noGoalScored:C(e,t,v.noGoalScored,o),noGoalConceded:C(e,t,v.noGoalConceded,o),over25:C(e,t,v.over25,o),under25:C(e,t,v.under25,o),scoredTwice:C(e,t,v.scoredTwice,o),concededTwice:C(e,t,v.concededTwice,o)}}function kt(e,t,o){const n=k(e,t,"home"),s=k(e,t),r=k(e,o,"away"),i=k(e,o);return[{label:"Consecutive wins",homeTeam:{home:n.win,total:s.win},awayTeam:{total:i.win,home:r.win},colorType:"neutral"},{label:"Consecutive draws",homeTeam:{home:n.draw,total:s.draw},awayTeam:{total:i.draw,home:r.draw},colorType:"neutral"},{label:"Consecutive defeats",homeTeam:{home:n.loss,total:s.loss},awayTeam:{total:i.loss,home:r.loss},colorType:"neutral"},{label:"No win",homeTeam:{home:n.noWin,total:s.noWin},awayTeam:{total:i.noWin,home:r.noWin},colorType:"negative"},{label:"No draw",homeTeam:{home:n.noDraw,total:s.noDraw},awayTeam:{total:i.noDraw,home:r.noDraw},colorType:"neutral"},{label:"No defeat",homeTeam:{home:n.noDefeat,total:s.noDefeat},awayTeam:{total:i.noDefeat,home:r.noDefeat},colorType:"positive"},{label:"Scored at least once",homeTeam:{home:n.scored,total:s.scored},awayTeam:{total:i.scored,home:r.scored},colorType:"positive"},{label:"Conceded at least once",homeTeam:{home:n.conceded,total:s.conceded},awayTeam:{total:i.conceded,home:r.conceded},colorType:"negative"},{label:"No goal scored",homeTeam:{home:n.noGoalScored,total:s.noGoalScored},awayTeam:{total:i.noGoalScored,home:r.noGoalScored},colorType:"neutral"},{label:"No goal conceded",homeTeam:{home:n.noGoalConceded,total:s.noGoalConceded},awayTeam:{total:i.noGoalConceded,home:r.noGoalConceded},colorType:"neutral"},{label:"GS + GC over 2.5",homeTeam:{home:n.over25,total:s.over25},awayTeam:{total:i.over25,home:r.over25},colorType:"neutral"},{label:"GS + GC under 2.5",homeTeam:{home:n.under25,total:s.under25},awayTeam:{total:i.under25,home:r.under25},colorType:"neutral"},{label:"Scored at least twice",homeTeam:{home:n.scoredTwice,total:s.scoredTwice},awayTeam:{total:i.scoredTwice,home:r.scoredTwice},colorType:"positive"},{label:"Conceded at least twice",homeTeam:{home:n.concededTwice,total:s.concededTwice},awayTeam:{total:i.concededTwice,home:r.concededTwice},colorType:"negative"}]}function J(e,t){const o=new Map;return e.forEach(n=>{if(n.status?.type!=="FINISHED")return;const s=ae(n,t);if(!s)return;const r=s.isHome?n.competitorTwo.id:n.competitorOne.id,i=s.isHome?n.competitorTwo:n.competitorOne,a=o.get(r)||{opponentId:r,opponentName:i.name,opponentLogo:i.assets?.logo};s.isHome?a.homeResult=s.result:a.awayResult=s.result,o.set(r,a)}),o}function Ut(e,t,o,n,s,r,i){const a=J(e,t),d=J(e,o),l=new Set([...a.keys(),...d.keys(),t,o]),m=[];return l.forEach(c=>{const g=a.get(c),p=d.get(c);if(!g&&!p&&c!==t&&c!==o)return;let y,T;c===t?(y=n,T=r):c===o?(y=s,T=i):(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.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=ne;exports.aggregatePlayerStatisticsFromMatches=N;exports.analyzeMatch=re;exports.calcAverage=H;exports.calcPercentage=A;exports.calculateH2HStats=bt;exports.calculateStreak=C;exports.formatAsAverage=At;exports.formatPossessionPercentage=Ft;exports.formatStatValue=Ct;exports.formatWithAverage=_t;exports.getActiveSeason=st;exports.getAllPlayerStatisticsFromMatches=oe;exports.getFansUnitedFootballCompetition=$e;exports.getFansUnitedFootballCompetitions=He;exports.getFansUnitedFootballMatch=Xe;exports.getFansUnitedFootballMatches=Ze;exports.getFansUnitedFootballPlayer=Je;exports.getFansUnitedFootballPlayers=Qe;exports.getFansUnitedFootballSearch=ot;exports.getFansUnitedFootballTeam=je;exports.getMatchResult=ae;exports.getMostCardedPlayersFromMatches=ee;exports.getOpponentScore=Pt;exports.getRecentH2HMeetings=Gt;exports.getTeamFinishedMatches=at;exports.getTeamGoalStats=Ht;exports.getTeamHomeAwayStats=Nt;exports.getTeamMostDecorated=ft;exports.getTeamNextMatch=nt;exports.getTeamOverUnderStats=Lt;exports.getTeamPreviousMatch=rt;exports.getTeamResultsTable=ct;exports.getTeamScore=Rt;exports.getTeamSeasonStatistics=Ge;exports.getTeamStreaks=k;exports.getTeamStreaksComparison=kt;exports.getTeamTopAppearances=ut;exports.getTeamTopAssisters=dt;exports.getTeamTopCleanSheets=gt;exports.getTeamTopMinutesPlayed=mt;exports.getTeamTopScorers=lt;exports.getTeamUpcomingMatches=it;exports.getTeamsCommonOpponents=Ut;exports.getTopAssistersFromMatches=w;exports.getTopGoalContributorsFromMatches=te;exports.getTopScorersFromMatches=Z;exports.isMatchFinished=Ot;exports.isTeamAway=ie;exports.isTeamHome=q;exports.isTeamInMatch=Mt;exports.search=Re;exports.searchFootball=ye;exports.streakFilters=v;exports.useAllPlayerStatisticsFromMatches=vt;exports.useMostCardedPlayersFromMatches=ht;exports.usePlayerStatistics=St;exports.usePlayerStatisticsMap=se;exports.useTopAssistersFromMatches=yt;exports.useTopGoalContributorsFromMatches=Tt;exports.useTopScorersFromMatches=pt;
@@ -497,9 +497,11 @@ function Fe(e) {
497
497
  throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");
498
498
  const r = new URL(o(n.path));
499
499
  if (r.searchParams.set("key", i.apiKey), r.searchParams.set("client_id", i.clientId), n.params)
500
- for (const [l, u] of Object.entries(n.params))
501
- u !== void 0 && (Array.isArray(u) ? u.length > 0 && r.searchParams.set(l, u.join(",")) : r.searchParams.set(l, u));
502
- const c = await fetch(r.toString(), {
500
+ for (const [u, c] of Object.entries(n.params))
501
+ c !== void 0 && (Array.isArray(c) ? c.length > 0 && r.searchParams.set(u, c.join(",")) : r.searchParams.set(u, c));
502
+ const a = 3e4, d = new URL(r.toString());
503
+ d.searchParams.delete("key"), d.searchParams.delete("client_id"), console.log("🔗 FansUnited API URL:", d.toString());
504
+ const l = await fetch(r.toString(), {
503
505
  method: "GET",
504
506
  headers: {
505
507
  Accept: "application/json",
@@ -507,25 +509,25 @@ function Fe(e) {
507
509
  // Merge custom headers (they can override defaults)
508
510
  ...n.headers
509
511
  },
510
- signal: AbortSignal.timeout(3e4),
512
+ signal: AbortSignal.timeout(a),
511
513
  // Next.js cache options for ISR/on-demand revalidation
512
514
  ...n.next && { next: n.next }
513
515
  });
514
- if (!c.ok) {
515
- let l = `Fans United API error: ${c.status} ${c.statusText}`;
516
+ if (!l.ok) {
517
+ let u = `Fans United API error: ${l.status} ${l.statusText}`;
516
518
  try {
517
- const u = await c.text();
518
- u && (l += ` - ${u}`);
519
- } catch (u) {
519
+ const c = await l.text();
520
+ c && (u += ` - ${c}`);
521
+ } catch (c) {
520
522
  console.error("[Fans United HTTP] Failed to read error response body:", {
521
- error: u instanceof Error ? u.message : String(u),
522
- status: c.status,
523
- statusText: c.statusText
523
+ error: c instanceof Error ? c.message : String(c),
524
+ status: l.status,
525
+ statusText: l.statusText
524
526
  });
525
527
  }
526
- throw new Error(l);
528
+ throw new Error(u);
527
529
  }
528
- return c.json();
530
+ return l.json();
529
531
  }
530
532
  };
531
533
  }
@@ -583,18 +585,20 @@ function De(e) {
583
585
  }
584
586
  async function at(e, t) {
585
587
  const o = {};
586
- 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");
588
+ e?.lang ? o.lang = e.lang : o.lang = "EN", console.log("🌐 Language parameter being sent:", o.lang), 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");
587
589
  const n = await I.get({
588
590
  path: "/v1/competitions",
589
591
  params: o,
590
592
  config: t,
591
593
  next: e?.next
592
594
  });
593
- console.log("Raw API response (first item):", JSON.stringify(n.data[0], null, 2)), console.log("Total raw competitions:", n.data.length);
595
+ console.log("Raw API response (first 10 items):", JSON.stringify(n.data.slice(0, 10), null, 2)), console.log("Total raw competitions:", n.data.length);
594
596
  const s = n.data.map((l) => l.id), i = new Set(s);
595
597
  console.log("Unique raw competition IDs:", i.size), s.length !== i.size && console.warn("⚠️ API returned duplicate competitions!");
596
- const r = De(n.data), a = /* @__PURE__ */ new Set(), c = r.filter((l) => a.has(l.id) ? !1 : (a.add(l.id), !0));
597
- return r.length !== c.length && console.warn(`Removed ${r.length - c.length} duplicate competitions`), c;
598
+ const r = De(n.data);
599
+ console.log("Transformed (first 3 items):", JSON.stringify(r.slice(0, 3), null, 2));
600
+ const a = /* @__PURE__ */ new Set(), d = r.filter((l) => a.has(l.id) ? !1 : (a.add(l.id), !0));
601
+ return r.length !== d.length && console.warn(`Removed ${r.length - d.length} duplicate competitions`), d;
598
602
  }
599
603
  function Ne(e) {
600
604
  return {
@@ -777,7 +781,7 @@ function w(e) {
777
781
  function Be(e) {
778
782
  return w(e.data);
779
783
  }
780
- function $e(e) {
784
+ function Ue(e) {
781
785
  return e.data.map(w);
782
786
  }
783
787
  async function dt(e, t, o) {
@@ -800,7 +804,7 @@ async function ut(e, t) {
800
804
  next: e?.next,
801
805
  config: o
802
806
  });
803
- return $e(s);
807
+ return Ue(s);
804
808
  }
805
809
  async function mt(e, t, o) {
806
810
  const n = o || F(), s = {};
@@ -838,7 +842,7 @@ function z(e) {
838
842
  ]
839
843
  };
840
844
  }
841
- function Ue(e) {
845
+ function $e(e) {
842
846
  return {
843
847
  id: e.id,
844
848
  name: e.name,
@@ -901,7 +905,7 @@ function We(e) {
901
905
  function j(e) {
902
906
  switch (e.entity_type) {
903
907
  case "competition": {
904
- const t = Ue(e);
908
+ const t = $e(e);
905
909
  return {
906
910
  source: "FOOTBALL",
907
911
  entityType: "competition",
@@ -939,8 +943,8 @@ async function gt(e, t) {
939
943
  return [];
940
944
  const o = t || F(), n = {
941
945
  q: e.query.trim()
942
- }, i = (e.entityTypes && e.entityTypes.length > 0 ? e.entityTypes : ["competition", "team", "player"]).map((c) => {
943
- switch (c) {
946
+ }, i = (e.entityTypes && e.entityTypes.length > 0 ? e.entityTypes : ["competition", "team", "player"]).map((d) => {
947
+ switch (d) {
944
948
  case "team":
945
949
  return "teams";
946
950
  case "player":
@@ -948,7 +952,7 @@ async function gt(e, t) {
948
952
  case "competition":
949
953
  return "competitions";
950
954
  default:
951
- return c;
955
+ return d;
952
956
  }
953
957
  });
954
958
  n.entities = i.join(","), e.lang && (n.lang = e.lang), e.limit && (n.limit = String(e.limit));
@@ -958,14 +962,14 @@ async function gt(e, t) {
958
962
  next: e.next,
959
963
  config: o
960
964
  }), a = [];
961
- return r.data && (r.data.competitions && r.data.competitions.forEach((c) => {
962
- const l = j({ ...c, entity_type: "competition" });
965
+ return r.data && (r.data.competitions && r.data.competitions.forEach((d) => {
966
+ const l = j({ ...d, entity_type: "competition" });
963
967
  l && a.push(l);
964
- }), r.data.teams && r.data.teams.forEach((c) => {
965
- const l = j({ ...c, entity_type: "team" });
968
+ }), r.data.teams && r.data.teams.forEach((d) => {
969
+ const l = j({ ...d, entity_type: "team" });
966
970
  l && a.push(l);
967
- }), r.data.players && r.data.players.forEach((c) => {
968
- const l = j({ ...c, entity_type: "player" });
971
+ }), r.data.players && r.data.players.forEach((d) => {
972
+ const l = j({ ...d, entity_type: "player" });
969
973
  l && a.push(l);
970
974
  })), a;
971
975
  }
@@ -1008,13 +1012,13 @@ function St(e, t, o) {
1008
1012
  const n = o.filter((r) => r.status.type === "FINISHED"), s = o.filter(
1009
1013
  (r) => r.status.type === "NOT_STARTED" || r.status.type === "POSTPONED"
1010
1014
  ), i = t.entries.map((r) => {
1011
- const a = r.competitor.id, c = n.filter(
1015
+ const a = r.competitor.id, d = n.filter(
1012
1016
  (m) => m.competitorOne.id === e && m.competitorTwo.id === a || m.competitorOne.id === a && m.competitorTwo.id === e
1013
1017
  ), l = s.filter(
1014
1018
  (m) => m.competitorOne.id === e && m.competitorTwo.id === a || m.competitorOne.id === a && m.competitorTwo.id === e
1015
1019
  );
1016
- let u, d;
1017
- return c.forEach((m) => {
1020
+ let u, c;
1021
+ return d.forEach((m) => {
1018
1022
  const g = m.competitorOne.id === e, p = parseInt(m.score?.competitorOne ?? "0"), h = parseInt(m.score?.competitorTwo ?? "0"), R = g ? p : h, S = g ? h : p;
1019
1023
  let A;
1020
1024
  R > S ? A = "W" : R === S ? A = "D" : A = "L";
@@ -1025,14 +1029,14 @@ function St(e, t, o) {
1025
1029
  matchId: m.id,
1026
1030
  isUpcoming: !1
1027
1031
  };
1028
- g ? u = D : d = D;
1032
+ g ? u = D : c = D;
1029
1033
  }), l.forEach((m) => {
1030
1034
  const g = m.competitorOne.id === e;
1031
1035
  g && !u ? u = {
1032
1036
  date: m.timing.kickoffTime,
1033
1037
  matchId: m.id,
1034
1038
  isUpcoming: !0
1035
- } : !g && !d && (d = {
1039
+ } : !g && !c && (c = {
1036
1040
  date: m.timing.kickoffTime,
1037
1041
  matchId: m.id,
1038
1042
  isUpcoming: !0
@@ -1046,7 +1050,7 @@ function St(e, t, o) {
1046
1050
  gamesPlayed: r.stats.played ?? 0,
1047
1051
  points: r.stats.points ?? 0,
1048
1052
  homeResult: u,
1049
- awayResult: d
1053
+ awayResult: c
1050
1054
  };
1051
1055
  });
1052
1056
  return {
@@ -1104,8 +1108,8 @@ function Mt(e, t = 10) {
1104
1108
  const n = o.seasonStatistics?.yellowCards ?? 0, s = o.seasonStatistics?.redCards ?? 0;
1105
1109
  return n + s > 0;
1106
1110
  }).sort((o, n) => {
1107
- const s = o.seasonStatistics?.yellowCards ?? 0, i = o.seasonStatistics?.redCards ?? 0, r = n.seasonStatistics?.yellowCards ?? 0, a = n.seasonStatistics?.redCards ?? 0, c = s + i * 3, l = r + a * 3;
1108
- return l !== c ? l - c : a !== i ? a - i : r - s;
1111
+ const s = o.seasonStatistics?.yellowCards ?? 0, i = o.seasonStatistics?.redCards ?? 0, r = n.seasonStatistics?.yellowCards ?? 0, a = n.seasonStatistics?.redCards ?? 0, d = s + i * 3, l = r + a * 3;
1112
+ return l !== d ? l - d : a !== i ? a - i : r - s;
1109
1113
  }).slice(0, t);
1110
1114
  }
1111
1115
  function b(e) {
@@ -1164,8 +1168,8 @@ function qe(e, t = 10) {
1164
1168
  const r = s.goals ?? 0, a = i.goals ?? 0;
1165
1169
  if (a !== r)
1166
1170
  return a - r;
1167
- const c = s.assists ?? 0;
1168
- return (i.assists ?? 0) - c;
1171
+ const d = s.assists ?? 0;
1172
+ return (i.assists ?? 0) - d;
1169
1173
  }).slice(0, t);
1170
1174
  }
1171
1175
  function je(e, t = 10) {
@@ -1174,8 +1178,8 @@ function je(e, t = 10) {
1174
1178
  const r = s.assists ?? 0, a = i.assists ?? 0;
1175
1179
  if (a !== r)
1176
1180
  return a - r;
1177
- const c = s.goals ?? 0;
1178
- return (i.goals ?? 0) - c;
1181
+ const d = s.goals ?? 0;
1182
+ return (i.goals ?? 0) - d;
1179
1183
  }).slice(0, t);
1180
1184
  }
1181
1185
  function Ve(e, t = 10) {
@@ -1184,9 +1188,9 @@ function Ve(e, t = 10) {
1184
1188
  const r = (s.yellowCards ?? 0) + (s.redCards ?? 0) * 3, a = (i.yellowCards ?? 0) + (i.redCards ?? 0) * 3;
1185
1189
  if (a !== r)
1186
1190
  return a - r;
1187
- const c = s.redCards ?? 0, l = i.redCards ?? 0;
1188
- if (l !== c)
1189
- return l - c;
1191
+ const d = s.redCards ?? 0, l = i.redCards ?? 0;
1192
+ if (l !== d)
1193
+ return l - d;
1190
1194
  const u = s.yellowCards ?? 0;
1191
1195
  return (i.yellowCards ?? 0) - u;
1192
1196
  }).slice(0, t);
@@ -1197,9 +1201,9 @@ function Ye(e, t = 10) {
1197
1201
  const r = (s.goals ?? 0) + (s.assists ?? 0), a = (i.goals ?? 0) + (i.assists ?? 0);
1198
1202
  if (a !== r)
1199
1203
  return a - r;
1200
- const c = s.goals ?? 0, l = i.goals ?? 0;
1201
- if (l !== c)
1202
- return l - c;
1204
+ const d = s.goals ?? 0, l = i.goals ?? 0;
1205
+ if (l !== d)
1206
+ return l - d;
1203
1207
  const u = s.assists ?? 0;
1204
1208
  return (i.assists ?? 0) - u;
1205
1209
  }).slice(0, t);
@@ -1263,24 +1267,24 @@ function Ht(e) {
1263
1267
  function Qe(e, t, o) {
1264
1268
  if (e.status?.type !== "FINISHED" || !e.score) return null;
1265
1269
  const n = parseInt(e.score.competitorOne || "0"), s = parseInt(e.score.competitorTwo || "0"), i = o ? n : s, r = o ? s : n;
1266
- let a = null, c = null;
1270
+ let a = null, d = null;
1267
1271
  const l = e.score.breakdown?.halfTime;
1268
1272
  if (l) {
1269
1273
  const g = parseInt(l.competitorOne || "0"), p = parseInt(l.competitorTwo || "0");
1270
- a = o ? g : p, c = o ? p : g;
1274
+ a = o ? g : p, d = o ? p : g;
1271
1275
  }
1272
1276
  const u = e.statistics;
1273
- let d = null, m = null;
1277
+ let c = null, m = null;
1274
1278
  if (u) {
1275
1279
  const g = u.find?.((p) => p.type === "CORNERS");
1276
- g && (d = o ? g.competitorOne : g.competitorTwo, m = o ? g.competitorTwo : g.competitorOne);
1280
+ g && (c = o ? g.competitorOne : g.competitorTwo, m = o ? g.competitorTwo : g.competitorOne);
1277
1281
  }
1278
1282
  return {
1279
1283
  goalsFor: i,
1280
1284
  goalsAgainst: r,
1281
1285
  halfTimeGoalsFor: a,
1282
- halfTimeGoalsAgainst: c,
1283
- cornersFor: d,
1286
+ halfTimeGoalsAgainst: d,
1287
+ cornersFor: c,
1284
1288
  cornersAgainst: m,
1285
1289
  isWin: i > r,
1286
1290
  isDraw: i === r,
@@ -1299,24 +1303,24 @@ function kt(e, t) {
1299
1303
  function Bt(e) {
1300
1304
  return e.status?.type === "FINISHED";
1301
1305
  }
1302
- function $t(e, t) {
1306
+ function Ut(e, t) {
1303
1307
  const o = K(e, t);
1304
1308
  return parseInt(o ? e.score?.competitorOne || "0" : e.score?.competitorTwo || "0");
1305
1309
  }
1306
- function Ut(e, t) {
1310
+ function $t(e, t) {
1307
1311
  const o = K(e, t);
1308
1312
  return parseInt(o ? e.score?.competitorTwo || "0" : e.score?.competitorOne || "0");
1309
1313
  }
1310
1314
  function xt(e, t, o) {
1311
1315
  const n = e.filter((u) => {
1312
1316
  if (u.status?.type !== "FINISHED" || !u.score) return !1;
1313
- const d = u.competitorOne.id === t || u.competitorTwo.id === t, m = u.competitorOne.id === o || u.competitorTwo.id === o;
1314
- return d && m;
1317
+ const c = u.competitorOne.id === t || u.competitorTwo.id === t, m = u.competitorOne.id === o || u.competitorTwo.id === o;
1318
+ return c && m;
1315
1319
  });
1316
- let s = 0, i = 0, r = 0, a = 0, c = 0;
1320
+ let s = 0, i = 0, r = 0, a = 0, d = 0;
1317
1321
  n.forEach((u) => {
1318
- const d = parseInt(u.score?.competitorOne || "0"), m = parseInt(u.score?.competitorTwo || "0"), g = u.competitorOne.id === t, p = g ? d : m, h = g ? m : d;
1319
- a += p, c += h, p > h ? s++ : h > p ? i++ : r++;
1322
+ const c = parseInt(u.score?.competitorOne || "0"), m = parseInt(u.score?.competitorTwo || "0"), g = u.competitorOne.id === t, p = g ? c : m, h = g ? m : c;
1323
+ a += p, d += h, p > h ? s++ : h > p ? i++ : r++;
1320
1324
  });
1321
1325
  const l = n.length;
1322
1326
  return {
@@ -1325,12 +1329,12 @@ function xt(e, t, o) {
1325
1329
  awayTeamWins: i,
1326
1330
  draws: r,
1327
1331
  homeTeamGoals: a,
1328
- awayTeamGoals: c,
1332
+ awayTeamGoals: d,
1329
1333
  homeTeamWinPercentage: l > 0 ? s / l * 100 : 0,
1330
1334
  awayTeamWinPercentage: l > 0 ? i / l * 100 : 0,
1331
1335
  drawPercentage: l > 0 ? r / l * 100 : 0,
1332
1336
  homeTeamAvgGoals: l > 0 ? a / l : 0,
1333
- awayTeamAvgGoals: l > 0 ? c / l : 0
1337
+ awayTeamAvgGoals: l > 0 ? d / l : 0
1334
1338
  };
1335
1339
  }
1336
1340
  function Wt(e, t, o, n = 5) {
@@ -1339,9 +1343,9 @@ function Wt(e, t, o, n = 5) {
1339
1343
  const r = i.competitorOne.id === t || i.competitorTwo.id === t, a = i.competitorOne.id === o || i.competitorTwo.id === o;
1340
1344
  return r && a;
1341
1345
  }).sort((i, r) => new Date(r.timing.kickoffTime).getTime() - new Date(i.timing.kickoffTime).getTime()).slice(0, n).map((i) => {
1342
- const r = parseInt(i.score?.competitorOne || "0"), a = parseInt(i.score?.competitorTwo || "0"), c = i.competitorOne.id === t, l = c ? r : a, u = c ? a : r;
1343
- let d;
1344
- return l > u ? d = "home" : u > l ? d = "away" : d = "draw", {
1346
+ const r = parseInt(i.score?.competitorOne || "0"), a = parseInt(i.score?.competitorTwo || "0"), d = i.competitorOne.id === t, l = d ? r : a, u = d ? a : r;
1347
+ let c;
1348
+ return l > u ? c = "home" : u > l ? c = "away" : c = "draw", {
1345
1349
  id: i.id,
1346
1350
  date: new Date(i.timing.kickoffTime).toLocaleDateString("en-GB", {
1347
1351
  day: "numeric",
@@ -1355,7 +1359,7 @@ function Wt(e, t, o, n = 5) {
1355
1359
  homeScore: r,
1356
1360
  awayScore: a,
1357
1361
  venue: i.venue?.name,
1358
- winner: d
1362
+ winner: c
1359
1363
  };
1360
1364
  });
1361
1365
  }
@@ -1373,16 +1377,16 @@ function J(e, t, o, n) {
1373
1377
  for (const i of e) {
1374
1378
  const r = i.competitorOne.id === t, a = i.competitorTwo.id === t;
1375
1379
  if (!r && !a || o === "home" && !r || o === "away" && !a || i.status?.type !== "FINISHED") continue;
1376
- const c = i.mainEvents;
1377
- if (!c || !Array.isArray(c)) continue;
1378
- const l = c.filter((p) => p.type && Je.includes(p.type)).sort((p, h) => {
1380
+ const d = i.mainEvents;
1381
+ if (!d || !Array.isArray(d)) continue;
1382
+ const l = d.filter((p) => p.type && Je.includes(p.type)).sort((p, h) => {
1379
1383
  const R = p.minute ?? 0, S = h.minute ?? 0;
1380
1384
  return R !== S ? R - S : (p.injuryMinute ?? 0) - (h.injuryMinute ?? 0);
1381
1385
  });
1382
1386
  if (l.length === 0) continue;
1383
- const u = l[0], d = r ? "ONE" : "TWO", m = u.type === "OWN_GOAL";
1387
+ const u = l[0], c = r ? "ONE" : "TWO", m = u.type === "OWN_GOAL";
1384
1388
  let g;
1385
- m ? g = u.competitorPosition !== d : g = u.competitorPosition === d, (n === "scored" && g || n === "conceded" && !g) && s++;
1389
+ m ? g = u.competitorPosition !== c : g = u.competitorPosition === c, (n === "scored" && g || n === "conceded" && !g) && s++;
1386
1390
  }
1387
1391
  return s;
1388
1392
  }
@@ -1418,54 +1422,54 @@ function qt(e, t, o) {
1418
1422
  avgCornersFor: 0,
1419
1423
  avgCornersAgainst: 0
1420
1424
  };
1421
- const i = n.reduce((f, v) => f + v.goalsFor, 0), r = n.reduce((f, v) => f + v.goalsAgainst, 0), a = n.filter((f) => f.goalsAgainst === 0).length, c = n.filter((f) => f.isWin && f.goalsAgainst === 0).length, l = n.filter((f) => f.goalsFor > 0).length, u = n.filter((f) => f.goalsFor === 0).length, d = n.filter((f) => f.isLoss && f.goalsFor === 0).length, m = n.filter((f) => f.goalsAgainst > 0).length, g = n.filter((f) => f.halfTimeGoalsFor !== null), p = g.length, h = g.filter((f) => {
1425
+ const i = n.reduce((f, v) => f + v.goalsFor, 0), r = n.reduce((f, v) => f + v.goalsAgainst, 0), a = n.filter((f) => f.goalsAgainst === 0).length, d = n.filter((f) => f.isWin && f.goalsAgainst === 0).length, l = n.filter((f) => f.goalsFor > 0).length, u = n.filter((f) => f.goalsFor === 0).length, c = n.filter((f) => f.isLoss && f.goalsFor === 0).length, m = n.filter((f) => f.goalsAgainst > 0).length, g = n.filter((f) => f.halfTimeGoalsFor !== null), p = g.length, h = g.filter((f) => {
1422
1426
  const v = f.halfTimeGoalsFor, H = f.goalsFor - v;
1423
1427
  return v > 0 && H > 0;
1424
1428
  }).length, R = J(e, t, o, "scored"), S = we(e, t, o), A = g.filter((f) => f.halfTimeGoalsFor > f.halfTimeGoalsAgainst).length, D = g.filter((f) => {
1425
1429
  const v = f.halfTimeGoalsAgainst, H = f.goalsAgainst - v;
1426
1430
  return v > 0 && H > 0;
1427
- }).length, B = J(e, t, o, "conceded"), $ = g.filter((f) => f.halfTimeGoalsAgainst > f.halfTimeGoalsFor).length, L = n.filter((f) => f.cornersFor !== null), U = L.reduce((f, v) => f + (v.cornersFor || 0), 0), x = L.reduce((f, v) => f + (v.cornersAgainst || 0), 0);
1431
+ }).length, B = J(e, t, o, "conceded"), U = g.filter((f) => f.halfTimeGoalsAgainst > f.halfTimeGoalsFor).length, L = n.filter((f) => f.cornersFor !== null), $ = L.reduce((f, v) => f + (v.cornersFor || 0), 0), x = L.reduce((f, v) => f + (v.cornersAgainst || 0), 0);
1428
1432
  return {
1429
1433
  played: s,
1430
1434
  goalsForPerMatch: W(i, s),
1431
1435
  cleanSheets: O(a, s),
1432
- wonToNil: O(c, s),
1436
+ wonToNil: O(d, s),
1433
1437
  scoringRate: O(l, s),
1434
1438
  scoredInBothHalves: O(h, p),
1435
1439
  scoredFirst: O(R, S),
1436
1440
  leadingAtHalfTime: O(A, p),
1437
1441
  goalsAgainstPerMatch: W(r, s),
1438
1442
  failedToScore: O(u, s),
1439
- lostToNil: O(d, s),
1443
+ lostToNil: O(c, s),
1440
1444
  concedingRate: O(m, s),
1441
1445
  concededInBothHalves: O(D, p),
1442
1446
  concededFirst: O(B, S),
1443
- losingAtHalfTime: O($, p),
1444
- avgCornersFor: W(U, L.length),
1447
+ losingAtHalfTime: O(U, p),
1448
+ avgCornersFor: W($, L.length),
1445
1449
  avgCornersAgainst: W(x, L.length)
1446
1450
  };
1447
1451
  }
1448
1452
  function et(e, t) {
1449
1453
  return e.filter((o) => o.status?.type !== "FINISHED" ? !1 : o.competitorOne.id === t || o.competitorTwo.id === t).map((o) => {
1450
1454
  const n = o.competitorOne.id === t, s = parseInt(o.score?.competitorOne || "0"), i = parseInt(o.score?.competitorTwo || "0"), r = s + i, a = o.periods;
1451
- let c = null;
1455
+ let d = null;
1452
1456
  if (a && Array.isArray(a)) {
1453
1457
  const l = a.find(
1454
1458
  (u) => u.type === "FIRST_HALF" || u.type === "1ST_HALF"
1455
1459
  );
1456
1460
  if (l?.score) {
1457
- const u = parseInt(l.score.competitorOne || "0"), d = parseInt(l.score.competitorTwo || "0");
1458
- c = u + d;
1461
+ const u = parseInt(l.score.competitorOne || "0"), c = parseInt(l.score.competitorTwo || "0");
1462
+ d = u + c;
1459
1463
  }
1460
1464
  }
1461
- return { totalGoals: r, halfTimeGoals: c, isHome: n };
1465
+ return { totalGoals: r, halfTimeGoals: d, isHome: n };
1462
1466
  });
1463
1467
  }
1464
1468
  function y(e, t) {
1465
1469
  return e.length === 0 ? 0 : e.filter((n) => n > t).length / e.length * 100;
1466
1470
  }
1467
1471
  function jt(e, t) {
1468
- const o = et(e, t), n = o.filter((d) => d.isHome), s = o.filter((d) => !d.isHome), i = o.map((d) => d.totalGoals), r = n.map((d) => d.totalGoals), a = s.map((d) => d.totalGoals), c = o.filter((d) => d.halfTimeGoals !== null).map((d) => d.halfTimeGoals), l = n.filter((d) => d.halfTimeGoals !== null).map((d) => d.halfTimeGoals), u = s.filter((d) => d.halfTimeGoals !== null).map((d) => d.halfTimeGoals);
1472
+ const o = et(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), d = o.filter((c) => c.halfTimeGoals !== null).map((c) => c.halfTimeGoals), l = n.filter((c) => c.halfTimeGoals !== null).map((c) => c.halfTimeGoals), u = s.filter((c) => c.halfTimeGoals !== null).map((c) => c.halfTimeGoals);
1469
1473
  return {
1470
1474
  over05: {
1471
1475
  home: y(r, 0.5),
@@ -1499,17 +1503,17 @@ function jt(e, t) {
1499
1503
  },
1500
1504
  over05HT: {
1501
1505
  home: y(l, 0.5),
1502
- total: y(c, 0.5),
1506
+ total: y(d, 0.5),
1503
1507
  away: y(u, 0.5)
1504
1508
  },
1505
1509
  over15HT: {
1506
1510
  home: y(l, 1.5),
1507
- total: y(c, 1.5),
1511
+ total: y(d, 1.5),
1508
1512
  away: y(u, 1.5)
1509
1513
  },
1510
1514
  over25HT: {
1511
1515
  home: y(l, 2.5),
1512
- total: y(c, 2.5),
1516
+ total: y(d, 2.5),
1513
1517
  away: y(u, 2.5)
1514
1518
  }
1515
1519
  };
@@ -1525,11 +1529,11 @@ function tt(e, t) {
1525
1529
  };
1526
1530
  }
1527
1531
  function Vt(e, t, o, n, s, i) {
1528
- const r = t?.entries.find((N) => N.competitor.id === e), a = o?.entries.find((N) => N.competitor.id === e), c = n?.entries.find((N) => N.competitor.id === e), l = s?.entries.find((N) => N.competitor.id === e), u = i?.entries.find((N) => N.competitor.id === e);
1532
+ const r = t?.entries.find((N) => N.competitor.id === e), a = o?.entries.find((N) => N.competitor.id === e), d = n?.entries.find((N) => N.competitor.id === e), l = s?.entries.find((N) => N.competitor.id === e), u = i?.entries.find((N) => N.competitor.id === e);
1529
1533
  if (!r) return null;
1530
- const d = a?.stats?.goalsFor ?? 0, m = c?.stats?.goalsFor ?? 0, g = r?.stats?.goalsFor ?? 0, p = l?.stats?.goalsAgainst ?? 0, h = u?.stats?.goalsAgainst ?? 0, R = r?.stats?.goalsAgainst ?? 0, S = a?.stats?.played ?? 0, A = c?.stats?.played ?? 0, D = r?.stats?.played ?? 0, B = D > 0 ? g / D : 0, $ = D > 0 ? R / D : 0, L = B + $, U = S > 0 ? d / S : 0, x = A > 0 ? m / A : 0, f = S > 0 ? p / S : 0, v = A > 0 ? h / A : 0, H = U + f, ee = x + v;
1534
+ const c = a?.stats?.goalsFor ?? 0, m = d?.stats?.goalsFor ?? 0, g = r?.stats?.goalsFor ?? 0, p = l?.stats?.goalsAgainst ?? 0, h = u?.stats?.goalsAgainst ?? 0, R = r?.stats?.goalsAgainst ?? 0, S = a?.stats?.played ?? 0, A = d?.stats?.played ?? 0, D = r?.stats?.played ?? 0, B = D > 0 ? g / D : 0, U = D > 0 ? R / D : 0, L = B + U, $ = S > 0 ? c / S : 0, x = A > 0 ? m / A : 0, f = S > 0 ? p / S : 0, v = A > 0 ? h / A : 0, H = $ + f, ee = x + v;
1531
1535
  return {
1532
- homeGoals: d,
1536
+ homeGoals: c,
1533
1537
  totalGoals: g,
1534
1538
  awayGoals: m,
1535
1539
  homeGamesPlayed: S,
@@ -1539,9 +1543,9 @@ function Vt(e, t, o, n, s, i) {
1539
1543
  totalGoalsConceded: R,
1540
1544
  awayGoalsConceded: h,
1541
1545
  gfPerMatch: B,
1542
- gaPerMatch: $,
1546
+ gaPerMatch: U,
1543
1547
  gfGaPerMatch: L,
1544
- homeGfPerMatch: U,
1548
+ homeGfPerMatch: $,
1545
1549
  awayGfPerMatch: x,
1546
1550
  homeGaPerMatch: f,
1547
1551
  awayGaPerMatch: v,
@@ -1551,8 +1555,8 @@ function Vt(e, t, o, n, s, i) {
1551
1555
  }
1552
1556
  function _(e, t, o, n) {
1553
1557
  const s = e.filter((r) => {
1554
- const a = r.competitorOne.id === t, c = r.competitorTwo.id === t;
1555
- return !(!a && !c || r.status?.type !== "FINISHED" || n === "home" && !a || n === "away" && !c);
1558
+ const a = r.competitorOne.id === t, d = r.competitorTwo.id === t;
1559
+ return !(!a && !d || r.status?.type !== "FINISHED" || n === "home" && !a || n === "away" && !d);
1556
1560
  }).sort((r, a) => new Date(a.timing.kickoffTime).getTime() - new Date(r.timing.kickoffTime).getTime());
1557
1561
  if (s.length === 0) return null;
1558
1562
  let i = 0;
@@ -1709,31 +1713,31 @@ function Q(e, t) {
1709
1713
  }), o;
1710
1714
  }
1711
1715
  function zt(e, t, o, n, s, i, r) {
1712
- const a = Q(e, t), c = Q(e, o), l = /* @__PURE__ */ new Set([
1716
+ const a = Q(e, t), d = Q(e, o), l = /* @__PURE__ */ new Set([
1713
1717
  ...a.keys(),
1714
- ...c.keys(),
1718
+ ...d.keys(),
1715
1719
  t,
1716
1720
  // Include home team as row for away team results
1717
1721
  o
1718
1722
  // Include away team as row for home team results
1719
1723
  ]), u = [];
1720
- return l.forEach((d) => {
1721
- const m = a.get(d), g = c.get(d);
1722
- if (!m && !g && d !== t && d !== o)
1724
+ return l.forEach((c) => {
1725
+ const m = a.get(c), g = d.get(c);
1726
+ if (!m && !g && c !== t && c !== o)
1723
1727
  return;
1724
1728
  let p, h;
1725
- d === t ? (p = n, h = i) : d === o ? (p = s, h = r) : (p = m?.opponentName || g?.opponentName || "", h = m?.opponentLogo || g?.opponentLogo), u.push({
1726
- opponentId: d,
1729
+ c === t ? (p = n, h = i) : c === o ? (p = s, h = r) : (p = m?.opponentName || g?.opponentName || "", h = m?.opponentLogo || g?.opponentLogo), u.push({
1730
+ opponentId: c,
1727
1731
  opponentName: p,
1728
1732
  opponentLogo: h,
1729
1733
  homeTeamHome: m?.homeResult,
1730
1734
  homeTeamAway: m?.awayResult,
1731
1735
  awayTeamHome: g?.homeResult,
1732
1736
  awayTeamAway: g?.awayResult,
1733
- isHomeTeamRow: d === t,
1734
- isAwayTeamRow: d === o
1737
+ isHomeTeamRow: c === t,
1738
+ isAwayTeamRow: c === o
1735
1739
  });
1736
- }), u.sort((d, m) => d.isHomeTeamRow ? -1 : m.isHomeTeamRow ? 1 : d.isAwayTeamRow ? -1 : m.isAwayTeamRow ? 1 : d.opponentName.localeCompare(m.opponentName));
1740
+ }), u.sort((c, m) => c.isHomeTeamRow ? -1 : m.isHomeTeamRow ? 1 : c.isAwayTeamRow ? -1 : m.isAwayTeamRow ? 1 : c.opponentName.localeCompare(m.opponentName));
1737
1741
  }
1738
1742
  export {
1739
1743
  Je as GOAL_EVENT_TYPES,
@@ -1778,7 +1782,7 @@ export {
1778
1782
  go as getLeaderboardTemplate,
1779
1783
  tt as getMatchResult,
1780
1784
  Ve as getMostCardedPlayersFromMatches,
1781
- Ut as getOpponentScore,
1785
+ $t as getOpponentScore,
1782
1786
  po as getProviderRefId,
1783
1787
  Wt as getRecentH2HMeetings,
1784
1788
  vt as getTeamFinishedMatches,
@@ -1789,7 +1793,7 @@ export {
1789
1793
  jt as getTeamOverUnderStats,
1790
1794
  ht as getTeamPreviousMatch,
1791
1795
  St as getTeamResultsTable,
1792
- $t as getTeamScore,
1796
+ Ut as getTeamScore,
1793
1797
  rt as getTeamSeasonStatistics,
1794
1798
  q as getTeamStreaks,
1795
1799
  Yt as getTeamStreaksComparison,
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "description": "A TypeScript library for fetching and transforming sports data from multiple API providers. Returns clean, canonical types that are provider-agnostic.",
5
5
  "homepage": "https://fansunited.com/",
6
6
  "private": false,
7
- "version": "0.6.2",
7
+ "version": "0.6.3",
8
8
  "type": "module",
9
9
  "main": "./fansunited-data-layer.cjs",
10
10
  "module": "./fansunited-data-layer.js",