fansunited-data-layer 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fansunited-data-layer.js +185 -185
- package/dist/fansunited-data-layer.umd.cjs +2 -2
- package/dist/use-cases/index.d.ts +2 -4
- package/dist/use-cases/index.d.ts.map +1 -1
- package/dist/use-cases/match/index.d.ts +8 -4
- package/dist/use-cases/match/index.d.ts.map +1 -1
- package/dist/use-cases/match/{prepareMatchList.d.ts → prepareMatchList.server.d.ts} +2 -20
- package/dist/use-cases/match/prepareMatchList.server.d.ts.map +1 -0
- package/dist/use-cases/match/prepareMatchScore.server.d.ts +33 -0
- package/dist/use-cases/match/prepareMatchScore.server.d.ts.map +1 -0
- package/dist/use-cases/match/usePrepareMatchList.d.ts +20 -0
- package/dist/use-cases/match/usePrepareMatchList.d.ts.map +1 -0
- package/dist/use-cases/match/usePrepareMatchScore.d.ts +31 -0
- package/dist/use-cases/match/usePrepareMatchScore.d.ts.map +1 -0
- package/dist/use-cases/team/index.d.ts +4 -2
- package/dist/use-cases/team/index.d.ts.map +1 -1
- package/dist/use-cases/team/{prepareTeamMatches.d.ts → prepareTeamMatches.server.d.ts} +3 -26
- package/dist/use-cases/team/prepareTeamMatches.server.d.ts.map +1 -0
- package/dist/use-cases/team/usePrepareTeamMatches.d.ts +26 -0
- package/dist/use-cases/team/usePrepareTeamMatches.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/use-cases/match/prepareMatchList.d.ts.map +0 -1
- package/dist/use-cases/match/prepareMatchScore.d.ts +0 -62
- package/dist/use-cases/match/prepareMatchScore.d.ts.map +0 -1
- package/dist/use-cases/team/prepareTeamMatches.d.ts.map +0 -1
|
@@ -556,6 +556,107 @@ async function rr(e, t = {}) {
|
|
|
556
556
|
});
|
|
557
557
|
return nt(s);
|
|
558
558
|
}
|
|
559
|
+
function ye(e, t) {
|
|
560
|
+
return {
|
|
561
|
+
id: e.id,
|
|
562
|
+
name: e.name,
|
|
563
|
+
shortName: e.shortName,
|
|
564
|
+
logo: e.assets?.logo ? { url: e.assets.logo, alt: e.name } : void 0,
|
|
565
|
+
score: t != null ? st(t) : void 0
|
|
566
|
+
};
|
|
567
|
+
}
|
|
568
|
+
function st(e) {
|
|
569
|
+
return {
|
|
570
|
+
main: e
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
function it(e) {
|
|
574
|
+
switch (e.type) {
|
|
575
|
+
case "LIVE":
|
|
576
|
+
return "live";
|
|
577
|
+
case "FINISHED":
|
|
578
|
+
return "final";
|
|
579
|
+
case "POSTPONED":
|
|
580
|
+
return "postponed";
|
|
581
|
+
case "CANCELLED":
|
|
582
|
+
return "cancelled";
|
|
583
|
+
case "INTERRUPTED":
|
|
584
|
+
case "ABANDONED":
|
|
585
|
+
return "suspended";
|
|
586
|
+
case "NOT_STARTED":
|
|
587
|
+
default:
|
|
588
|
+
return "scheduled";
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
function ot(e, t) {
|
|
592
|
+
if (t.type === "LIVE")
|
|
593
|
+
return {
|
|
594
|
+
current: e.currentPeriod,
|
|
595
|
+
label: e.currentMinute ? `${e.currentMinute}'` : void 0
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
function at(e) {
|
|
599
|
+
if (e.type === "LIVE")
|
|
600
|
+
return { color: "#ef4444" };
|
|
601
|
+
}
|
|
602
|
+
function De(e) {
|
|
603
|
+
return {
|
|
604
|
+
id: e.id,
|
|
605
|
+
sport: "football",
|
|
606
|
+
competitorOne: ye(e.competitorOne, e.score?.competitorOne),
|
|
607
|
+
competitorTwo: ye(e.competitorTwo, e.score?.competitorTwo),
|
|
608
|
+
status: it(e.status),
|
|
609
|
+
period: ot(e.timing, e.status),
|
|
610
|
+
liveIndicator: at(e.status),
|
|
611
|
+
metadata: {
|
|
612
|
+
venue: e.venue?.name,
|
|
613
|
+
date: e.timing.kickoffTime.toISOString().split("T")[0],
|
|
614
|
+
time: e.timing.kickoffTime.toLocaleTimeString("en-US", {
|
|
615
|
+
hour: "2-digit",
|
|
616
|
+
minute: "2-digit",
|
|
617
|
+
hour12: !1
|
|
618
|
+
}),
|
|
619
|
+
competition: e.competition?.name,
|
|
620
|
+
round: e.round?.name,
|
|
621
|
+
winner: e.winner?.competitorId === e.competitorOne.id ? "competitorOne" : e.winner?.competitorId === e.competitorTwo.id ? "competitorTwo" : void 0
|
|
622
|
+
},
|
|
623
|
+
link: e.slug ? `/match/${e.slug}` : `/match/${e.id}`
|
|
624
|
+
};
|
|
625
|
+
}
|
|
626
|
+
function ut(e) {
|
|
627
|
+
return e.toISOString().split("T")[0];
|
|
628
|
+
}
|
|
629
|
+
async function ct(e, t) {
|
|
630
|
+
const r = await tt(e, {
|
|
631
|
+
languageCode: t?.languageCode
|
|
632
|
+
});
|
|
633
|
+
return De(r);
|
|
634
|
+
}
|
|
635
|
+
function lt(e) {
|
|
636
|
+
return {
|
|
637
|
+
match: De(e),
|
|
638
|
+
dateGroup: ut(e.timing.kickoffTime),
|
|
639
|
+
competitionGroup: e.competition?.name,
|
|
640
|
+
competitionLogo: e.competition?.assets?.logo,
|
|
641
|
+
competitionSubtitle: e.competition?.country?.name,
|
|
642
|
+
roundGroup: e.round?.name
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
function dt(e) {
|
|
646
|
+
const t = {
|
|
647
|
+
limit: e.limit ?? 50,
|
|
648
|
+
offset: e.offset ?? 0,
|
|
649
|
+
languageCode: e.languageCode
|
|
650
|
+
};
|
|
651
|
+
return e.fromDate && (t.fromKickoffTime = e.fromDate), e.toDate && (t.toKickoffTime = e.toDate), e.tournamentIds && (t.tournamentIds = e.tournamentIds), e.teamId && (t.teamIds = [e.teamId]), e.roundIds && (t.roundIds = e.roundIds), e.seasonIds && (t.seasonIds = e.seasonIds), e.statusTypes && (t.statusTypes = e.statusTypes), e.variant === "teamResults" || e.variant === "teamResultsByCompetition" ? t.sortDirection = "desc" : (e.variant === "teamFixtures" || e.variant === "teamFixturesByCompetition") && (t.sortDirection = "asc"), t;
|
|
652
|
+
}
|
|
653
|
+
async function G(e) {
|
|
654
|
+
const t = dt(e);
|
|
655
|
+
return {
|
|
656
|
+
items: (await rt(t)).map((i) => lt(i)),
|
|
657
|
+
variant: e.variant
|
|
658
|
+
};
|
|
659
|
+
}
|
|
559
660
|
var ne = class {
|
|
560
661
|
constructor() {
|
|
561
662
|
this.listeners = /* @__PURE__ */ new Set(), this.subscribe = this.subscribe.bind(this);
|
|
@@ -572,7 +673,7 @@ var ne = class {
|
|
|
572
673
|
}
|
|
573
674
|
onUnsubscribe() {
|
|
574
675
|
}
|
|
575
|
-
},
|
|
676
|
+
}, ft = {
|
|
576
677
|
// We need the wrapper function syntax below instead of direct references to
|
|
577
678
|
// global setTimeout etc.
|
|
578
679
|
//
|
|
@@ -587,14 +688,14 @@ var ne = class {
|
|
|
587
688
|
clearTimeout: (e) => clearTimeout(e),
|
|
588
689
|
setInterval: (e, t) => setInterval(e, t),
|
|
589
690
|
clearInterval: (e) => clearInterval(e)
|
|
590
|
-
},
|
|
691
|
+
}, ht = class {
|
|
591
692
|
// We cannot have TimeoutManager<T> as we must instantiate it with a concrete
|
|
592
693
|
// type at app boot; and if we leave that type, then any new timer provider
|
|
593
694
|
// would need to support ReturnType<typeof setTimeout>, which is infeasible.
|
|
594
695
|
//
|
|
595
696
|
// We settle for type safety for the TimeoutProvider type, and accept that
|
|
596
697
|
// this class is unsafe internally to allow for extension.
|
|
597
|
-
#t =
|
|
698
|
+
#t = ft;
|
|
598
699
|
#e = !1;
|
|
599
700
|
setTimeoutProvider(e) {
|
|
600
701
|
process.env.NODE_ENV !== "production" && this.#e && e !== this.#t && console.error(
|
|
@@ -614,17 +715,17 @@ var ne = class {
|
|
|
614
715
|
clearInterval(e) {
|
|
615
716
|
this.#t.clearInterval(e);
|
|
616
717
|
}
|
|
617
|
-
}, H = new
|
|
618
|
-
function
|
|
718
|
+
}, H = new ht();
|
|
719
|
+
function mt(e) {
|
|
619
720
|
setTimeout(e, 0);
|
|
620
721
|
}
|
|
621
722
|
var Y = typeof window > "u" || "Deno" in globalThis;
|
|
622
723
|
function Z() {
|
|
623
724
|
}
|
|
624
|
-
function
|
|
725
|
+
function _e(e) {
|
|
625
726
|
return typeof e == "number" && e >= 0 && e !== 1 / 0;
|
|
626
727
|
}
|
|
627
|
-
function
|
|
728
|
+
function pt(e, t) {
|
|
628
729
|
return Math.max(e + (t || 0) - Date.now(), 0);
|
|
629
730
|
}
|
|
630
731
|
function U(e, t) {
|
|
@@ -633,18 +734,18 @@ function U(e, t) {
|
|
|
633
734
|
function E(e, t) {
|
|
634
735
|
return typeof e == "function" ? e(t) : e;
|
|
635
736
|
}
|
|
636
|
-
var
|
|
737
|
+
var gt = Object.prototype.hasOwnProperty;
|
|
637
738
|
function ee(e, t) {
|
|
638
739
|
if (e === t)
|
|
639
740
|
return e;
|
|
640
|
-
const r =
|
|
641
|
-
if (!r && !(
|
|
741
|
+
const r = ve(e) && ve(t);
|
|
742
|
+
if (!r && !(be(e) && be(t))) return t;
|
|
642
743
|
const i = (r ? e : Object.keys(e)).length, u = r ? t : Object.keys(t), a = u.length, o = r ? new Array(a) : {};
|
|
643
744
|
let l = 0;
|
|
644
745
|
for (let h = 0; h < a; h++) {
|
|
645
746
|
const d = r ? h : u[h], y = e[d], f = t[d];
|
|
646
747
|
if (y === f) {
|
|
647
|
-
o[d] = y, (r ? h < i :
|
|
748
|
+
o[d] = y, (r ? h < i : gt.call(e, d)) && l++;
|
|
648
749
|
continue;
|
|
649
750
|
}
|
|
650
751
|
if (y === null || f === null || typeof y != "object" || typeof f != "object") {
|
|
@@ -664,22 +765,22 @@ function te(e, t) {
|
|
|
664
765
|
return !1;
|
|
665
766
|
return !0;
|
|
666
767
|
}
|
|
667
|
-
function
|
|
768
|
+
function ve(e) {
|
|
668
769
|
return Array.isArray(e) && e.length === Object.keys(e).length;
|
|
669
770
|
}
|
|
670
|
-
function
|
|
671
|
-
if (!
|
|
771
|
+
function be(e) {
|
|
772
|
+
if (!Ee(e))
|
|
672
773
|
return !1;
|
|
673
774
|
const t = e.constructor;
|
|
674
775
|
if (t === void 0)
|
|
675
776
|
return !0;
|
|
676
777
|
const r = t.prototype;
|
|
677
|
-
return !(!
|
|
778
|
+
return !(!Ee(r) || !r.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
|
|
678
779
|
}
|
|
679
|
-
function
|
|
780
|
+
function Ee(e) {
|
|
680
781
|
return Object.prototype.toString.call(e) === "[object Object]";
|
|
681
782
|
}
|
|
682
|
-
function
|
|
783
|
+
function Te(e, t, r) {
|
|
683
784
|
if (typeof r.structuralSharing == "function")
|
|
684
785
|
return r.structuralSharing(e, t);
|
|
685
786
|
if (r.structuralSharing !== !1) {
|
|
@@ -695,10 +796,10 @@ function Ee(e, t, r) {
|
|
|
695
796
|
}
|
|
696
797
|
return t;
|
|
697
798
|
}
|
|
698
|
-
function
|
|
799
|
+
function yt(e, t) {
|
|
699
800
|
return typeof e == "function" ? e(...t) : !!e;
|
|
700
801
|
}
|
|
701
|
-
var
|
|
802
|
+
var _t = class extends ne {
|
|
702
803
|
#t;
|
|
703
804
|
#e;
|
|
704
805
|
#n;
|
|
@@ -735,8 +836,8 @@ var lt = class extends ne {
|
|
|
735
836
|
isFocused() {
|
|
736
837
|
return typeof this.#t == "boolean" ? this.#t : globalThis.document?.visibilityState !== "hidden";
|
|
737
838
|
}
|
|
738
|
-
},
|
|
739
|
-
function
|
|
839
|
+
}, vt = new _t();
|
|
840
|
+
function Se() {
|
|
740
841
|
let e, t;
|
|
741
842
|
const r = new Promise((i, u) => {
|
|
742
843
|
e = i, t = u;
|
|
@@ -758,13 +859,13 @@ function Te() {
|
|
|
758
859
|
}), t(i);
|
|
759
860
|
}, r;
|
|
760
861
|
}
|
|
761
|
-
var
|
|
762
|
-
function
|
|
862
|
+
var bt = mt;
|
|
863
|
+
function Et() {
|
|
763
864
|
let e = [], t = 0, r = (o) => {
|
|
764
865
|
o();
|
|
765
866
|
}, s = (o) => {
|
|
766
867
|
o();
|
|
767
|
-
}, i =
|
|
868
|
+
}, i = bt;
|
|
768
869
|
const u = (o) => {
|
|
769
870
|
t ? e.push(o) : i(() => {
|
|
770
871
|
r(o);
|
|
@@ -818,7 +919,7 @@ function ht() {
|
|
|
818
919
|
}
|
|
819
920
|
};
|
|
820
921
|
}
|
|
821
|
-
var
|
|
922
|
+
var Pe = Et(), Tt = class extends ne {
|
|
822
923
|
#t = !0;
|
|
823
924
|
#e;
|
|
824
925
|
#n;
|
|
@@ -849,24 +950,24 @@ var De = ht(), mt = class extends ne {
|
|
|
849
950
|
isOnline() {
|
|
850
951
|
return this.#t;
|
|
851
952
|
}
|
|
852
|
-
},
|
|
853
|
-
function
|
|
854
|
-
return (e ?? "online") === "online" ?
|
|
953
|
+
}, St = new Tt();
|
|
954
|
+
function Ot(e) {
|
|
955
|
+
return (e ?? "online") === "online" ? St.isOnline() : !0;
|
|
855
956
|
}
|
|
856
|
-
function
|
|
957
|
+
function It(e, t) {
|
|
857
958
|
return {
|
|
858
959
|
fetchFailureCount: 0,
|
|
859
960
|
fetchFailureReason: null,
|
|
860
|
-
fetchStatus:
|
|
961
|
+
fetchStatus: Ot(t.networkMode) ? "fetching" : "paused",
|
|
861
962
|
...e === void 0 && {
|
|
862
963
|
error: null,
|
|
863
964
|
status: "pending"
|
|
864
965
|
}
|
|
865
966
|
};
|
|
866
967
|
}
|
|
867
|
-
var
|
|
968
|
+
var Rt = class extends ne {
|
|
868
969
|
constructor(e, t) {
|
|
869
|
-
super(), this.options = t, this.#t = e, this.#i = null, this.#s =
|
|
970
|
+
super(), this.options = t, this.#t = e, this.#i = null, this.#s = Se(), this.bindMethods(), this.setOptions(t);
|
|
870
971
|
}
|
|
871
972
|
#t;
|
|
872
973
|
#e = void 0;
|
|
@@ -889,7 +990,7 @@ var _t = class extends ne {
|
|
|
889
990
|
this.refetch = this.refetch.bind(this);
|
|
890
991
|
}
|
|
891
992
|
onSubscribe() {
|
|
892
|
-
this.listeners.size === 1 && (this.#e.addObserver(this),
|
|
993
|
+
this.listeners.size === 1 && (this.#e.addObserver(this), Oe(this.#e, this.options) ? this.#l() : this.updateResult(), this.#v());
|
|
893
994
|
}
|
|
894
995
|
onUnsubscribe() {
|
|
895
996
|
this.hasListeners() || this.destroy();
|
|
@@ -923,7 +1024,7 @@ var _t = class extends ne {
|
|
|
923
1024
|
observer: this
|
|
924
1025
|
});
|
|
925
1026
|
const s = this.hasListeners();
|
|
926
|
-
s &&
|
|
1027
|
+
s && Ie(
|
|
927
1028
|
this.#e,
|
|
928
1029
|
r,
|
|
929
1030
|
this.options,
|
|
@@ -934,7 +1035,7 @@ var _t = class extends ne {
|
|
|
934
1035
|
}
|
|
935
1036
|
getOptimisticResult(e) {
|
|
936
1037
|
const t = this.#t.getQueryCache().build(this.#t, e), r = this.createResult(t, e);
|
|
937
|
-
return
|
|
1038
|
+
return kt(this, r) && (this.#r = r, this.#d = this.options, this.#a = this.#e.state), r;
|
|
938
1039
|
}
|
|
939
1040
|
getCurrentResult() {
|
|
940
1041
|
return this.#r;
|
|
@@ -983,9 +1084,9 @@ var _t = class extends ne {
|
|
|
983
1084
|
this.options.staleTime,
|
|
984
1085
|
this.#e
|
|
985
1086
|
);
|
|
986
|
-
if (Y || this.#r.isStale || !
|
|
1087
|
+
if (Y || this.#r.isStale || !_e(e))
|
|
987
1088
|
return;
|
|
988
|
-
const r =
|
|
1089
|
+
const r = pt(this.#r.dataUpdatedAt, e) + 1;
|
|
989
1090
|
this.#u = H.setTimeout(() => {
|
|
990
1091
|
this.#r.isStale || this.updateResult();
|
|
991
1092
|
}, r);
|
|
@@ -994,8 +1095,8 @@ var _t = class extends ne {
|
|
|
994
1095
|
return (typeof this.options.refetchInterval == "function" ? this.options.refetchInterval(this.#e) : this.options.refetchInterval) ?? !1;
|
|
995
1096
|
}
|
|
996
1097
|
#_(e) {
|
|
997
|
-
this.#E(), this.#o = e, !(Y || E(this.options.enabled, this.#e) === !1 || !
|
|
998
|
-
(this.options.refetchIntervalInBackground ||
|
|
1098
|
+
this.#E(), this.#o = e, !(Y || E(this.options.enabled, this.#e) === !1 || !_e(this.#o) || this.#o === 0) && (this.#c = H.setInterval(() => {
|
|
1099
|
+
(this.options.refetchIntervalInBackground || vt.isFocused()) && this.#l();
|
|
999
1100
|
}, this.#o));
|
|
1000
1101
|
}
|
|
1001
1102
|
#v() {
|
|
@@ -1011,10 +1112,10 @@ var _t = class extends ne {
|
|
|
1011
1112
|
const r = this.#e, s = this.options, i = this.#r, u = this.#a, a = this.#d, l = e !== r ? e.state : this.#n, { state: h } = e;
|
|
1012
1113
|
let d = { ...h }, y = !1, f;
|
|
1013
1114
|
if (t._optimisticResults) {
|
|
1014
|
-
const _ = this.hasListeners(), R = !_ &&
|
|
1115
|
+
const _ = this.hasListeners(), R = !_ && Oe(e, t), C = _ && Ie(e, r, t, s);
|
|
1015
1116
|
(R || C) && (d = {
|
|
1016
1117
|
...d,
|
|
1017
|
-
...
|
|
1118
|
+
...It(h.data, e.options)
|
|
1018
1119
|
}), t._optimisticResults === "isRestoring" && (d.fetchStatus = "idle");
|
|
1019
1120
|
}
|
|
1020
1121
|
let { error: S, errorUpdatedAt: P, status: I } = d;
|
|
@@ -1025,7 +1126,7 @@ var _t = class extends ne {
|
|
|
1025
1126
|
i?.isPlaceholderData && t.placeholderData === a?.placeholderData ? (_ = i.data, A = !0) : _ = typeof t.placeholderData == "function" ? t.placeholderData(
|
|
1026
1127
|
this.#h?.state.data,
|
|
1027
1128
|
this.#h
|
|
1028
|
-
) : t.placeholderData, _ !== void 0 && (I = "success", f =
|
|
1129
|
+
) : t.placeholderData, _ !== void 0 && (I = "success", f = Te(
|
|
1029
1130
|
i?.data,
|
|
1030
1131
|
_,
|
|
1031
1132
|
t
|
|
@@ -1036,7 +1137,7 @@ var _t = class extends ne {
|
|
|
1036
1137
|
f = this.#f;
|
|
1037
1138
|
else
|
|
1038
1139
|
try {
|
|
1039
|
-
this.#p = t.select, f = t.select(f), f =
|
|
1140
|
+
this.#p = t.select, f = t.select(f), f = Te(i?.data, f, t), this.#f = f, this.#i = null;
|
|
1040
1141
|
} catch (_) {
|
|
1041
1142
|
this.#i = _;
|
|
1042
1143
|
}
|
|
@@ -1073,7 +1174,7 @@ var _t = class extends ne {
|
|
|
1073
1174
|
const _ = (N) => {
|
|
1074
1175
|
b.status === "error" ? N.reject(b.error) : b.data !== void 0 && N.resolve(b.data);
|
|
1075
1176
|
}, R = () => {
|
|
1076
|
-
const N = this.#s = b.promise =
|
|
1177
|
+
const N = this.#s = b.promise = Se();
|
|
1077
1178
|
_(N);
|
|
1078
1179
|
}, C = this.#s;
|
|
1079
1180
|
switch (C.status) {
|
|
@@ -1122,7 +1223,7 @@ var _t = class extends ne {
|
|
|
1122
1223
|
this.updateResult(), this.hasListeners() && this.#v();
|
|
1123
1224
|
}
|
|
1124
1225
|
#S(e) {
|
|
1125
|
-
|
|
1226
|
+
Pe.batch(() => {
|
|
1126
1227
|
e.listeners && this.listeners.forEach((t) => {
|
|
1127
1228
|
t(this.#r);
|
|
1128
1229
|
}), this.#t.getQueryCache().notify({
|
|
@@ -1132,11 +1233,11 @@ var _t = class extends ne {
|
|
|
1132
1233
|
});
|
|
1133
1234
|
}
|
|
1134
1235
|
};
|
|
1135
|
-
function
|
|
1236
|
+
function Ct(e, t) {
|
|
1136
1237
|
return E(t.enabled, e) !== !1 && e.state.data === void 0 && !(e.state.status === "error" && t.retryOnMount === !1);
|
|
1137
1238
|
}
|
|
1138
|
-
function
|
|
1139
|
-
return
|
|
1239
|
+
function Oe(e, t) {
|
|
1240
|
+
return Ct(e, t) || e.state.data !== void 0 && re(e, t, t.refetchOnMount);
|
|
1140
1241
|
}
|
|
1141
1242
|
function re(e, t, r) {
|
|
1142
1243
|
if (E(t.enabled, e) !== !1 && U(t.staleTime, e) !== "static") {
|
|
@@ -1145,20 +1246,20 @@ function re(e, t, r) {
|
|
|
1145
1246
|
}
|
|
1146
1247
|
return !1;
|
|
1147
1248
|
}
|
|
1148
|
-
function
|
|
1249
|
+
function Ie(e, t, r, s) {
|
|
1149
1250
|
return (e !== t || E(s.enabled, e) === !1) && (!r.suspense || e.state.status !== "error") && se(e, r);
|
|
1150
1251
|
}
|
|
1151
1252
|
function se(e, t) {
|
|
1152
1253
|
return E(t.enabled, e) !== !1 && e.isStaleByTime(U(t.staleTime, e));
|
|
1153
1254
|
}
|
|
1154
|
-
function
|
|
1255
|
+
function kt(e, t) {
|
|
1155
1256
|
return !te(e.getCurrentResult(), t);
|
|
1156
1257
|
}
|
|
1157
1258
|
var W = { exports: {} }, x = {};
|
|
1158
|
-
var
|
|
1159
|
-
function
|
|
1160
|
-
if (
|
|
1161
|
-
|
|
1259
|
+
var Re;
|
|
1260
|
+
function At() {
|
|
1261
|
+
if (Re) return x;
|
|
1262
|
+
Re = 1;
|
|
1162
1263
|
var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
|
|
1163
1264
|
function r(s, i, u) {
|
|
1164
1265
|
var a = null;
|
|
@@ -1178,9 +1279,9 @@ function Et() {
|
|
|
1178
1279
|
return x.Fragment = t, x.jsx = r, x.jsxs = r, x;
|
|
1179
1280
|
}
|
|
1180
1281
|
var j = {};
|
|
1181
|
-
var
|
|
1182
|
-
function
|
|
1183
|
-
return
|
|
1282
|
+
var Ce;
|
|
1283
|
+
function Nt() {
|
|
1284
|
+
return Ce || (Ce = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
1184
1285
|
function e(n) {
|
|
1185
1286
|
if (n == null) return null;
|
|
1186
1287
|
if (typeof n == "function")
|
|
@@ -1409,21 +1510,21 @@ React keys must be passed directly to JSX without using spread:
|
|
|
1409
1510
|
};
|
|
1410
1511
|
})()), j;
|
|
1411
1512
|
}
|
|
1412
|
-
var
|
|
1413
|
-
function
|
|
1414
|
-
return
|
|
1513
|
+
var ke;
|
|
1514
|
+
function Dt() {
|
|
1515
|
+
return ke || (ke = 1, process.env.NODE_ENV === "production" ? W.exports = At() : W.exports = Nt()), W.exports;
|
|
1415
1516
|
}
|
|
1416
|
-
|
|
1417
|
-
var
|
|
1517
|
+
Dt();
|
|
1518
|
+
var Pt = T.createContext(
|
|
1418
1519
|
void 0
|
|
1419
|
-
),
|
|
1420
|
-
const t = T.useContext(
|
|
1520
|
+
), Lt = (e) => {
|
|
1521
|
+
const t = T.useContext(Pt);
|
|
1421
1522
|
if (!t)
|
|
1422
1523
|
throw new Error("No QueryClient set, use QueryClientProvider to set one");
|
|
1423
1524
|
return t;
|
|
1424
|
-
},
|
|
1425
|
-
|
|
1426
|
-
function
|
|
1525
|
+
}, Le = T.createContext(!1), Ft = () => T.useContext(Le);
|
|
1526
|
+
Le.Provider;
|
|
1527
|
+
function Mt() {
|
|
1427
1528
|
let e = !1;
|
|
1428
1529
|
return {
|
|
1429
1530
|
clearReset: () => {
|
|
@@ -1435,19 +1536,19 @@ function Ct() {
|
|
|
1435
1536
|
isReset: () => e
|
|
1436
1537
|
};
|
|
1437
1538
|
}
|
|
1438
|
-
var
|
|
1539
|
+
var xt = T.createContext(Mt()), jt = () => T.useContext(xt), Ut = (e, t) => {
|
|
1439
1540
|
(e.suspense || e.throwOnError || e.experimental_prefetchInRender) && (t.isReset() || (e.retryOnMount = !1));
|
|
1440
|
-
},
|
|
1541
|
+
}, Yt = (e) => {
|
|
1441
1542
|
T.useEffect(() => {
|
|
1442
1543
|
e.clearReset();
|
|
1443
1544
|
}, [e]);
|
|
1444
|
-
},
|
|
1545
|
+
}, $t = ({
|
|
1445
1546
|
result: e,
|
|
1446
1547
|
errorResetBoundary: t,
|
|
1447
1548
|
throwOnError: r,
|
|
1448
1549
|
query: s,
|
|
1449
1550
|
suspense: i
|
|
1450
|
-
}) => e.isError && !t.isReset() && !e.isFetching && s && (i && e.data === void 0 ||
|
|
1551
|
+
}) => e.isError && !t.isReset() && !e.isFetching && s && (i && e.data === void 0 || yt(r, [e.error, s])), qt = (e) => {
|
|
1451
1552
|
if (e.suspense) {
|
|
1452
1553
|
const r = (i) => i === "static" ? i : Math.max(i ?? 1e3, 1e3), s = e.staleTime;
|
|
1453
1554
|
e.staleTime = typeof s == "function" ? (...i) => r(s(...i)) : r(s), typeof e.gcTime == "number" && (e.gcTime = Math.max(
|
|
@@ -1455,20 +1556,20 @@ var kt = T.createContext(Ct()), At = () => T.useContext(kt), Nt = (e, t) => {
|
|
|
1455
1556
|
1e3
|
|
1456
1557
|
));
|
|
1457
1558
|
}
|
|
1458
|
-
},
|
|
1559
|
+
}, Bt = (e, t) => e.isLoading && e.isFetching && !t, Qt = (e, t) => e?.suspense && t.isPending, Ae = (e, t, r) => t.fetchOptimistic(e).catch(() => {
|
|
1459
1560
|
r.clearReset();
|
|
1460
1561
|
});
|
|
1461
|
-
function
|
|
1562
|
+
function Ht(e, t, r) {
|
|
1462
1563
|
if (process.env.NODE_ENV !== "production" && (typeof e != "object" || Array.isArray(e)))
|
|
1463
1564
|
throw new Error(
|
|
1464
1565
|
'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'
|
|
1465
1566
|
);
|
|
1466
|
-
const s =
|
|
1567
|
+
const s = Ft(), i = jt(), u = Lt(), a = u.defaultQueryOptions(e);
|
|
1467
1568
|
u.getDefaultOptions().queries?._experimental_beforeQuery?.(
|
|
1468
1569
|
a
|
|
1469
1570
|
), process.env.NODE_ENV !== "production" && (a.queryFn || console.error(
|
|
1470
1571
|
`[${a.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`
|
|
1471
|
-
)), a._optimisticResults = s ? "isRestoring" : "optimistic",
|
|
1572
|
+
)), a._optimisticResults = s ? "isRestoring" : "optimistic", qt(a), Ut(a, i), Yt(i);
|
|
1472
1573
|
const o = !u.getQueryCache().get(a.queryHash), [l] = T.useState(
|
|
1473
1574
|
() => new t(
|
|
1474
1575
|
u,
|
|
@@ -1478,7 +1579,7 @@ function xt(e, t, r) {
|
|
|
1478
1579
|
if (T.useSyncExternalStore(
|
|
1479
1580
|
T.useCallback(
|
|
1480
1581
|
(y) => {
|
|
1481
|
-
const f = d ? l.subscribe(
|
|
1582
|
+
const f = d ? l.subscribe(Pe.batchCalls(y)) : Z;
|
|
1482
1583
|
return l.updateResult(), f;
|
|
1483
1584
|
},
|
|
1484
1585
|
[l, d]
|
|
@@ -1487,9 +1588,9 @@ function xt(e, t, r) {
|
|
|
1487
1588
|
() => l.getCurrentResult()
|
|
1488
1589
|
), T.useEffect(() => {
|
|
1489
1590
|
l.setOptions(a);
|
|
1490
|
-
}, [a, l]),
|
|
1491
|
-
throw
|
|
1492
|
-
if (
|
|
1591
|
+
}, [a, l]), Qt(a, h))
|
|
1592
|
+
throw Ae(a, l, i);
|
|
1593
|
+
if ($t({
|
|
1493
1594
|
result: h,
|
|
1494
1595
|
errorResetBoundary: i,
|
|
1495
1596
|
throwOnError: a.throwOnError,
|
|
@@ -1500,9 +1601,9 @@ function xt(e, t, r) {
|
|
|
1500
1601
|
return u.getDefaultOptions().queries?._experimental_afterQuery?.(
|
|
1501
1602
|
a,
|
|
1502
1603
|
h
|
|
1503
|
-
), a.experimental_prefetchInRender && !Y &&
|
|
1604
|
+
), a.experimental_prefetchInRender && !Y && Bt(h, s) && (o ? (
|
|
1504
1605
|
// Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted
|
|
1505
|
-
|
|
1606
|
+
Ae(a, l, i)
|
|
1506
1607
|
) : (
|
|
1507
1608
|
// subscribe to the "cache promise" so that we can finalize the currentThenable once data comes in
|
|
1508
1609
|
u.getQueryCache().get(a.queryHash)?.promise
|
|
@@ -1511,88 +1612,12 @@ function xt(e, t, r) {
|
|
|
1511
1612
|
}), a.notifyOnChangeProps ? h : l.trackResult(h);
|
|
1512
1613
|
}
|
|
1513
1614
|
function $(e, t) {
|
|
1514
|
-
return
|
|
1515
|
-
}
|
|
1516
|
-
function Ae(e, t) {
|
|
1517
|
-
return {
|
|
1518
|
-
id: e.id,
|
|
1519
|
-
name: e.name,
|
|
1520
|
-
shortName: e.shortName,
|
|
1521
|
-
logo: e.assets?.logo ? { url: e.assets.logo, alt: e.name } : void 0,
|
|
1522
|
-
score: t != null ? jt(t) : void 0
|
|
1523
|
-
};
|
|
1524
|
-
}
|
|
1525
|
-
function jt(e) {
|
|
1526
|
-
return {
|
|
1527
|
-
main: e
|
|
1528
|
-
};
|
|
1529
|
-
}
|
|
1530
|
-
function Ut(e) {
|
|
1531
|
-
switch (e.type) {
|
|
1532
|
-
case "LIVE":
|
|
1533
|
-
return "live";
|
|
1534
|
-
case "FINISHED":
|
|
1535
|
-
return "final";
|
|
1536
|
-
case "POSTPONED":
|
|
1537
|
-
return "postponed";
|
|
1538
|
-
case "CANCELLED":
|
|
1539
|
-
return "cancelled";
|
|
1540
|
-
case "INTERRUPTED":
|
|
1541
|
-
case "ABANDONED":
|
|
1542
|
-
return "suspended";
|
|
1543
|
-
case "NOT_STARTED":
|
|
1544
|
-
default:
|
|
1545
|
-
return "scheduled";
|
|
1546
|
-
}
|
|
1547
|
-
}
|
|
1548
|
-
function Yt(e, t) {
|
|
1549
|
-
if (t.type === "LIVE")
|
|
1550
|
-
return {
|
|
1551
|
-
current: e.currentPeriod,
|
|
1552
|
-
label: e.currentMinute ? `${e.currentMinute}'` : void 0
|
|
1553
|
-
};
|
|
1554
|
-
}
|
|
1555
|
-
function $t(e) {
|
|
1556
|
-
if (e.type === "LIVE")
|
|
1557
|
-
return { color: "#ef4444" };
|
|
1558
|
-
}
|
|
1559
|
-
function Le(e) {
|
|
1560
|
-
return {
|
|
1561
|
-
id: e.id,
|
|
1562
|
-
sport: "football",
|
|
1563
|
-
competitorOne: Ae(e.competitorOne, e.score?.competitorOne),
|
|
1564
|
-
competitorTwo: Ae(e.competitorTwo, e.score?.competitorTwo),
|
|
1565
|
-
status: Ut(e.status),
|
|
1566
|
-
period: Yt(e.timing, e.status),
|
|
1567
|
-
liveIndicator: $t(e.status),
|
|
1568
|
-
metadata: {
|
|
1569
|
-
venue: e.venue?.name,
|
|
1570
|
-
date: e.timing.kickoffTime.toISOString().split("T")[0],
|
|
1571
|
-
time: e.timing.kickoffTime.toLocaleTimeString("en-US", {
|
|
1572
|
-
hour: "2-digit",
|
|
1573
|
-
minute: "2-digit",
|
|
1574
|
-
hour12: !1
|
|
1575
|
-
}),
|
|
1576
|
-
competition: e.competition?.name,
|
|
1577
|
-
round: e.round?.name,
|
|
1578
|
-
winner: e.winner?.competitorId === e.competitorOne.id ? "competitorOne" : e.winner?.competitorId === e.competitorTwo.id ? "competitorTwo" : void 0
|
|
1579
|
-
},
|
|
1580
|
-
link: e.slug ? `/match/${e.slug}` : `/match/${e.id}`
|
|
1581
|
-
};
|
|
1582
|
-
}
|
|
1583
|
-
function qt(e) {
|
|
1584
|
-
return e.toISOString().split("T")[0];
|
|
1585
|
-
}
|
|
1586
|
-
async function Bt(e, t) {
|
|
1587
|
-
const r = await tt(e, {
|
|
1588
|
-
languageCode: t?.languageCode
|
|
1589
|
-
});
|
|
1590
|
-
return Le(r);
|
|
1615
|
+
return Ht(e, Rt);
|
|
1591
1616
|
}
|
|
1592
1617
|
function nr(e, t) {
|
|
1593
1618
|
return $({
|
|
1594
1619
|
queryKey: ["match-score", e, { lang: t?.languageCode }],
|
|
1595
|
-
queryFn: () =>
|
|
1620
|
+
queryFn: () => ct(e, {
|
|
1596
1621
|
languageCode: t?.languageCode
|
|
1597
1622
|
}),
|
|
1598
1623
|
initialData: t?.initialData,
|
|
@@ -1603,31 +1628,6 @@ function nr(e, t) {
|
|
|
1603
1628
|
// 30 seconds
|
|
1604
1629
|
});
|
|
1605
1630
|
}
|
|
1606
|
-
function Qt(e) {
|
|
1607
|
-
return {
|
|
1608
|
-
match: Le(e),
|
|
1609
|
-
dateGroup: qt(e.timing.kickoffTime),
|
|
1610
|
-
competitionGroup: e.competition?.name,
|
|
1611
|
-
competitionLogo: e.competition?.assets?.logo,
|
|
1612
|
-
competitionSubtitle: e.competition?.country?.name,
|
|
1613
|
-
roundGroup: e.round?.name
|
|
1614
|
-
};
|
|
1615
|
-
}
|
|
1616
|
-
function Ht(e) {
|
|
1617
|
-
const t = {
|
|
1618
|
-
limit: e.limit ?? 50,
|
|
1619
|
-
offset: e.offset ?? 0,
|
|
1620
|
-
languageCode: e.languageCode
|
|
1621
|
-
};
|
|
1622
|
-
return e.fromDate && (t.fromKickoffTime = e.fromDate), e.toDate && (t.toKickoffTime = e.toDate), e.tournamentIds && (t.tournamentIds = e.tournamentIds), e.teamId && (t.teamIds = [e.teamId]), e.roundIds && (t.roundIds = e.roundIds), e.seasonIds && (t.seasonIds = e.seasonIds), e.statusTypes && (t.statusTypes = e.statusTypes), e.variant === "teamResults" || e.variant === "teamResultsByCompetition" ? t.sortDirection = "desc" : (e.variant === "teamFixtures" || e.variant === "teamFixturesByCompetition") && (t.sortDirection = "asc"), t;
|
|
1623
|
-
}
|
|
1624
|
-
async function G(e) {
|
|
1625
|
-
const t = Ht(e);
|
|
1626
|
-
return {
|
|
1627
|
-
items: (await rt(t)).map((i) => Qt(i)),
|
|
1628
|
-
variant: e.variant
|
|
1629
|
-
};
|
|
1630
|
-
}
|
|
1631
1631
|
function sr(e) {
|
|
1632
1632
|
const t = [
|
|
1633
1633
|
"match-list",
|
|
@@ -1772,7 +1772,7 @@ export {
|
|
|
1772
1772
|
rr as getFootballTeam,
|
|
1773
1773
|
zt as isConfigured,
|
|
1774
1774
|
G as prepareMatchList,
|
|
1775
|
-
|
|
1775
|
+
ct as prepareMatchScore,
|
|
1776
1776
|
Vt as prepareTeamFixtures,
|
|
1777
1777
|
wt as prepareTeamMatches,
|
|
1778
1778
|
Wt as prepareTeamResults,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(f,N){typeof exports=="object"&&typeof module<"u"?N(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],N):(f=typeof globalThis<"u"?globalThis:f||self,N(f.FansUnitedDataLayer={},f.React))})(this,(function(f,N){"use strict";function Be(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const E=Be(N);let H=null;function Qe(e){H=e}function O(){if(!H)throw new Error("Data layer config not initialized. Call setConfig() in your root layout.");return H}function He(){return H!==null}function We(e){const t=e.replace(/\/$/,"");function r(){const{sportal365Sports:a}=O();if(!a)throw new Error("Sportal365 Sports API configuration is missing");const u=`${a.username}:${a.password}`;return`Basic ${btoa(u)}`}function s(a){return`${t}${a}`}return{async get(a){const{sportal365Sports:u}=O();if(!u)throw new Error("Sportal365 Sports API configuration is missing");const o=new URL(s(a.path));if(a.params)for(const[l,m]of Object.entries(a.params))m!==void 0&&(Array.isArray(m)?m.length>0&&o.searchParams.set(l,m.join(",")):o.searchParams.set(l,m));const i=await fetch(o.toString(),{method:"GET",headers:{Authorization:r(),"Content-Type":"application/json","X-Project-Id":u.projectId},signal:u.timeout?AbortSignal.timeout(u.timeout):void 0});if(!i.ok)throw new Error(`Sportal365 API error: ${i.status} ${i.statusText}`);return i.json()}}}const C=We("https://football.api.sportal365.com");function oe(e){if(e)return{id:e.id,name:e.name,slug:e.slug,position:e.position,gender:e.gender,assets:e.assets?{photo:e.assets.thumb?.url,photoTransparent:e.assets.thumb_transparent_background?.url}:void 0}}const Ve={GOAL:"GOAL",PENALTY_GOAL:"PENALTY_GOAL",OWN_GOAL:"OWN_GOAL",DISALLOWED_GOAL:"DISALLOWED_GOAL",PENALTY_SHOOTOUT_SCORED:"PENALTY_SHOOTOUT_SCORED",PENALTY_SHOOTOUT_MISSED:"PENALTY_SHOOTOUT_MISSED",YELLOW_CARD:"YELLOW_CARD",RED_CARD:"RED_CARD",YELLOW_RED_CARD:"YELLOW_RED_CARD",SUBSTITUTION:"SUBSTITUTION",KICKOFF:"KICKOFF",HALFTIME:"HALFTIME",START_SECOND_HALF:"START_SECOND_HALF",FINISHED:"FINISHED",INJURY_TIME:"INJURY_TIME",PENALTY_AWARDED:"PENALTY_AWARDED",PENALTY_MISSED:"PENALTY_MISSED",PENALTY_SAVED:"PENALTY_SAVED"};function W(e){const t=Ve[e.type_code];return t?{id:e.id,type:t,competitorPosition:e.team_position==="HOME"?"ONE":"TWO",minute:e.minute,injuryMinute:e.injury_minute,primaryPlayer:oe(e.primary_player),secondaryPlayer:oe(e.secondary_player),score:e.score?{competitorOne:String(e.score.home),competitorTwo:String(e.score.away)}:void 0}:(console.warn(`Unknown event type: ${e.type_code}`),null)}function we(e){return{code:{FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started",ABANDONED:"abandoned"}[e.type]??"not_started",name:e.name,shortName:e.short_name,type:e.type}}function ue(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type??"club",gender:e.gender,assets:e.assets?{logo:e.assets.logo?.url,homeKit:e.assets.home_kit?.url,awayKit:e.assets.away_kit?.url,squadImage:e.assets.squad_image?.url}:void 0,metadata:e.shirt_color?{shirtColor:e.shirt_color}:void 0}}function Ge(e){return{kickoffTime:new Date(e.kickoff_time),currentMinute:e.minute?.regular_time,phaseStartedAt:e.phase_started_at?new Date(e.phase_started_at):void 0,finishedAt:e.finished_at?new Date(e.finished_at):void 0,firstHalfStartedAt:e.first_half_started_at?new Date(e.first_half_started_at):void 0,secondHalfStartedAt:e.second_half_started_at?new Date(e.second_half_started_at):void 0,extraTimeFirstHalfStartedAt:e.extra_time_first_half_started_at?new Date(e.extra_time_first_half_started_at):void 0,extraTimeSecondHalfStartedAt:e.extra_time_second_half_started_at?new Date(e.extra_time_second_half_started_at):void 0}}function Ke(e){if(!e)return;const t=s=>s?{competitorOne:String(s.home),competitorTwo:String(s.away)}:void 0,r=e.total??e.regular_time;return{competitorOne:r?.home!=null?String(r.home):null,competitorTwo:r?.away!=null?String(r.away):null,breakdown:{total:t(e.total),halfTime:t(e.half_time),regularTime:t(e.regular_time),extraTime:t(e.extra_time),penaltyShootout:t(e.penalty_shootout),aggregate:t(e.aggregate)}}}function ze(e){if(e)return{id:e.id,name:e.name,slug:e.slug,assets:e.assets?.image?.url?{image:e.assets.image.url}:void 0}}function Je(e){if(e?.length)return e.map(t=>({id:t.id,name:t.name,slug:t.slug,role:t.role??"REFEREE",gender:t.gender}))}function Xe(e){if(!e.season?.tournament)return;const{tournament:t,...r}=e.season;return{id:t.id,name:t.name,slug:t.slug,type:t.type,region:t.region,country:t.country?{id:t.country.id,name:t.country.name,code:t.country.code??void 0,flag:t.country.assets?.flag?.url}:void 0,season:{id:r.id,name:r.name,status:r.status},stage:e.stage?{id:e.stage.id,name:e.stage.name,type:e.stage.type}:void 0,assets:t.assets?.logo?.url?{logo:t.assets.logo.url}:void 0}}function Ze(e){if(!e.winner?.match?.id)return;const t={"Regular Time":"REGULAR_TIME","Extra Time":"EXTRA_TIME",Penalties:"PENALTIES"};return{competitorId:e.winner.match.id,reason:e.winner.match.reason?.name?t[e.winner.match.reason.name]:void 0,aggregate:!!e.winner.aggregate}}function ce(e){return{id:e.id,slug:e.slug,status:we(e.status),timing:Ge(e),competitorOne:ue(e.home_team),competitorTwo:ue(e.away_team),competition:Xe(e),round:e.round?{id:e.round.id??e.round.key,key:e.round.key,name:e.round.name,type:e.round.type??"REGULAR"}:void 0,group:e.group?{id:e.group.id,name:e.group.name}:void 0,venue:ze(e.venue),officials:Je(e.referees),spectators:e.spectators??void 0,score:Ke(e.score),mainEvents:e.main_events?.map(W).filter(t=>t!==null),penaltyShootoutEvents:e.penalty_shootout_events?.map(W).filter(t=>t!==null),winner:Ze(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,lineupStatus:e.lineup_status==="UNCONFIRMED"?"EXPECTED":e.lineup_status}}function et(e){const t=e.player;return{id:t.id,name:t.name,slug:t.slug,position:t.position,shirtNumber:e.shirt_number,positionX:e.position_x??void 0,positionY:e.position_y??void 0,country:t.country?{id:t.country.id,name:t.country.name,code:t.country.code}:void 0,birthdate:t.birthdate,profile:t.profile?{height:t.profile.height,weight:t.profile.weight}:void 0,events:e.events?.map(W).filter(r=>r!==null)}}function le(e){const t=[],r=[];for(const s of e.players){const a=et(s);s.type.category==="start"?t.push(a):s.type.category==="sub"&&r.push(a)}return{competitorId:e.team_id,formation:e.formation,coach:e.coach?{id:e.coach.id,name:e.coach.name,slug:e.coach.slug,country:e.coach.country?{id:e.coach.country.id,name:e.coach.country.name,code:e.coach.country.code}:void 0,birthdate:e.coach.birthdate}:void 0,starters:t,substitutes:r}}function tt(e){return{matchId:e.match_id,confirmed:e.status==="CONFIRMED",competitorOne:le(e.home_team),competitorTwo:le(e.away_team)}}function b(e,t,r,s){return t==null?null:{key:e,value:String(t),label:r,unit:s}}function de(e,t){const r=(t.shots_on??0)+(t.shots_off??0)+(t.shots_blocked??0),s=[b("possession",t.possession,"Possession","%"),b("shots_total",r,"Shots"),b("shots_on_target",t.shots_on,"Shots on Target"),b("shots_off_target",t.shots_off,"Shots off Target"),b("shots_blocked",t.shots_blocked,"Shots Blocked"),b("corners",t.corners,"Corner Kicks"),b("goal_kicks",t.goal_kicks,"Goal Kicks"),b("throw_ins",t.throw_in,"Throw Ins"),b("offsides",t.offside,"Offsides"),b("fouls",t.fouls_committed,"Fouls"),b("yellow_cards",t.yellow_cards,"Yellow Cards"),b("passes",t.pass,"Passes"),b("crosses",t.crosses,"Crosses")];return{competitorId:e,statistics:s.filter(a=>a!==null)}}function rt(e){const t=e.find(s=>s.home_team),r=e.find(s=>!s.home_team);if(!t||!r)throw new Error("Missing competitor statistics");return{competitorOne:de(String(t.team.id),t.statistics),competitorTwo:de(String(r.team.id),r.statistics)}}function nt(e){const t=e.urls?.find(r=>r.app_type==="desktop")?.url;return{id:e.id,name:e.name,code:e.code,value:e.value??void 0,odds:e.odds,oddsOld:e.odds_old,movement:e.movement==="STABLE"?"NONE":e.movement,url:t}}function st(e){return{type:{id:e.type.id,code:e.type.code,name:e.type.name},period:{id:e.scope.id,type:e.scope.type,name:e.scope.name},selections:e.selections.map(nt)}}function at(e){return{operator:{id:e.bookmaker.id,name:e.bookmaker.name,url:e.bookmaker.url,branding:e.bookmaker.branding?{backgroundColor:e.bookmaker.branding.background_color,textColor:e.bookmaker.branding.text_color,logo:e.bookmaker.assets?.[0]?.logo}:void 0},type:e.type,markets:e.markets.map(st)}}function it(e,t){return{matchId:e,operators:t.map(at)}}function fe(e){if(e==null||e==="")return;const t=typeof e=="number"?e:parseInt(e,10);return isNaN(t)?void 0:t}function ot(e){return{externalId:e.external_id,minute:fe(e.elapsed),addedTime:fe(e.elapsed_plus),text:e.auto_text,details:e.details,meta:{type:e.type,commentaryType:e.commentary_type,subtype1:e.subtype_1,subtype2:e.subtype_2,timestamp:e.incident_timestamp}}}async function he(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/matches/${e}`,params:{language_code:t.languageCode??r?.languageCode??"en",odd_client:t.oddClient,odd_type:t.oddType,scope_type:t.scopeType,odd_format:t.oddFormat,market_types:t.marketTypes,bookmaker_ids:t.bookmakerIds,optional_data:t.optionalData}});return ce(s)}async function ut(e,t={}){const{sportal365Sports:r}=O();return(await C.get({path:`/v2/matches/${e}/events`,params:{language_code:t.languageCode??r?.languageCode??"en"}})).events.map(W).filter(a=>a!==null)}async function ct(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/matches/${e}/lineups`,params:{language_code:t.languageCode??r?.languageCode??"en"}});return tt(s)}async function lt(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/matches/${e}`,params:{language_code:t.languageCode??r?.languageCode??"en",odd_client:t.oddClient??r?.oddClient,odd_type:t.oddType,scope_type:t.scopeType??"ALL",odd_format:t.oddFormat??"DECIMAL",market_types:t.marketTypes,bookmaker_ids:t.bookmakerIds}});return it(e,s.odds??[])}async function dt(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/events/${e}/teamstats`,params:{language_code:t.languageCode??r?.languageCode??"en"}});return rt(s)}async function ft(e,t={}){const{sportal365Sports:r}=O();return(await C.get({path:`/matches/${e}/commentary`,params:{language_code:t.languageCode??r?.languageCode??"en"}})).map(ot)}async function me(e){const{sportal365Sports:t}=O();return(await C.get({path:"/v2/matches",params:{language_code:e.languageCode??t?.languageCode??"en",limit:e.limit.toString(),offset:e.offset.toString(),tournament_ids:e.tournamentIds,season_ids:e.seasonIds,stage_ids:e.stageIds,group_ids:e.groupIds,round_ids:e.roundIds,round_filter:e.roundFilter,from_kickoff_time:e.fromKickoffTime,to_kickoff_time:e.toKickoffTime,team_ids:e.teamIds,team_ids_operator:e.teamIdsOperator,referee_id:e.refereeId,venue_id:e.venueId,player_id:e.playerId,status_types:e.statusTypes,status_codes:e.statusCodes,odd_client:e.oddClient??t?.oddClient,odd_type:e.oddType,scope_type:e.scopeType,odd_format:e.oddFormat,market_types:e.marketTypes,bookmaker_ids:e.bookmakerIds,sort_direction:e.sortDirection,optional_data:e.optionalData}})).matches.map(ce)}function ht(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type==="placeholder"?"club":e.type,gender:e.gender,country:e.country?{id:e.country.id,name:e.country.name,code:e.country.code??void 0,flag:e.country.assets?.flag?.url}:void 0,assets:e.assets?{logo:e.assets.logo?.url,homeKit:e.assets.home_kit?.url,awayKit:e.assets.away_kit?.url,squadImage:e.assets.squad_image?.url}:void 0}}async function mt(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/teams/${e}`,params:{language_code:t.languageCode??r?.languageCode??"en",optional_data:"form"}});return ht(s)}var J=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},pt={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},gt=class{#t=pt;#e=!1;setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&this.#e&&e!==this.#t&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:this.#t,provider:e}),this.#t=e,process.env.NODE_ENV!=="production"&&(this.#e=!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&(this.#e=!0),this.#t.setTimeout(e,t)}clearTimeout(e){this.#t.clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&(this.#e=!0),this.#t.setInterval(e,t)}clearInterval(e){this.#t.clearInterval(e)}},V=new gt;function yt(e){setTimeout(e,0)}var F=typeof window>"u"||"Deno"in globalThis;function X(){}function pe(e){return typeof e=="number"&&e>=0&&e!==1/0}function _t(e,t){return Math.max(e+(t||0)-Date.now(),0)}function M(e,t){return typeof e=="function"?e(t):e}function S(e,t){return typeof e=="function"?e(t):e}var vt=Object.prototype.hasOwnProperty;function Z(e,t){if(e===t)return e;const r=ge(e)&&ge(t);if(!r&&!(ye(e)&&ye(t)))return t;const a=(r?e:Object.keys(e)).length,u=r?t:Object.keys(t),o=u.length,i=r?new Array(o):{};let l=0;for(let m=0;m<o;m++){const d=r?m:u[m],_=e[d],h=t[d];if(_===h){i[d]=_,(r?m<a:vt.call(e,d))&&l++;continue}if(_===null||h===null||typeof _!="object"||typeof h!="object"){i[d]=h;continue}const I=Z(_,h);i[d]=I,I===_&&l++}return a===o&&l===a?e:i}function ee(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}function ge(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function ye(e){if(!_e(e))return!1;const t=e.constructor;if(t===void 0)return!0;const r=t.prototype;return!(!_e(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function _e(e){return Object.prototype.toString.call(e)==="[object Object]"}function ve(e,t,r){if(typeof r.structuralSharing=="function")return r.structuralSharing(e,t);if(r.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return Z(e,t)}catch(s){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${r.queryHash}]: ${s}`),s}return Z(e,t)}return t}function bt(e,t){return typeof e=="function"?e(...t):!!e}var Tt=class extends J{#t;#e;#n;constructor(){super(),this.#n=e=>{if(!F&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#n=e,this.#e?.(),this.#e=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#t!==e&&(this.#t=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},Et=new Tt;function be(){let e,t;const r=new Promise((a,u)=>{e=a,t=u});r.status="pending",r.catch(()=>{});function s(a){Object.assign(r,a),delete r.resolve,delete r.reject}return r.resolve=a=>{s({status:"fulfilled",value:a}),e(a)},r.reject=a=>{s({status:"rejected",reason:a}),t(a)},r}var Ot=yt;function St(){let e=[],t=0,r=i=>{i()},s=i=>{i()},a=Ot;const u=i=>{t?e.push(i):a(()=>{r(i)})},o=()=>{const i=e;e=[],i.length&&a(()=>{s(()=>{i.forEach(l=>{r(l)})})})};return{batch:i=>{let l;t++;try{l=i()}finally{t--,t||o()}return l},batchCalls:i=>(...l)=>{u(()=>{i(...l)})},schedule:u,setNotifyFunction:i=>{r=i},setBatchNotifyFunction:i=>{s=i},setScheduler:i=>{a=i}}}var Te=St(),It=class extends J{#t=!0;#e;#n;constructor(){super(),this.#n=e=>{if(!F&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#n=e,this.#e?.(),this.#e=e(this.setOnline.bind(this))}setOnline(e){this.#t!==e&&(this.#t=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#t}},Rt=new It;function Ct(e){return(e??"online")==="online"?Rt.isOnline():!0}function kt(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ct(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}var At=class extends J{constructor(e,t){super(),this.options=t,this.#t=e,this.#a=null,this.#s=be(),this.bindMethods(),this.setOptions(t)}#t;#e=void 0;#n=void 0;#r=void 0;#o;#d;#s;#a;#p;#f;#h;#u;#c;#i;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),Ee(this.#e,this.options)?this.#l():this.updateResult(),this.#v())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return te(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return te(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#T(),this.#e.removeObserver(this)}setOptions(e){const t=this.options,r=this.#e;if(this.options=this.#t.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof S(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#E(),this.#e.setOptions(this.options),t._defaulted&&!ee(this.options,t)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const s=this.hasListeners();s&&Oe(this.#e,r,this.options,t)&&this.#l(),this.updateResult(),s&&(this.#e!==r||S(this.options.enabled,this.#e)!==S(t.enabled,this.#e)||M(this.options.staleTime,this.#e)!==M(t.staleTime,this.#e))&&this.#g();const a=this.#y();s&&(this.#e!==r||S(this.options.enabled,this.#e)!==S(t.enabled,this.#e)||a!==this.#i)&&this.#_(a)}getOptimisticResult(e){const t=this.#t.getQueryCache().build(this.#t,e),r=this.createResult(t,e);return Pt(this,r)&&(this.#r=r,this.#d=this.options,this.#o=this.#e.state),r}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(r,s)=>(this.trackProp(s),t?.(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#s.status==="pending"&&this.#s.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#t.defaultQueryOptions(e),r=this.#t.getQueryCache().build(this.#t,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#l({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#l(e){this.#E();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(X)),t}#g(){this.#b();const e=M(this.options.staleTime,this.#e);if(F||this.#r.isStale||!pe(e))return;const r=_t(this.#r.dataUpdatedAt,e)+1;this.#u=V.setTimeout(()=>{this.#r.isStale||this.updateResult()},r)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#_(e){this.#T(),this.#i=e,!(F||S(this.options.enabled,this.#e)===!1||!pe(this.#i)||this.#i===0)&&(this.#c=V.setInterval(()=>{(this.options.refetchIntervalInBackground||Et.isFocused())&&this.#l()},this.#i))}#v(){this.#g(),this.#_(this.#y())}#b(){this.#u&&(V.clearTimeout(this.#u),this.#u=void 0)}#T(){this.#c&&(V.clearInterval(this.#c),this.#c=void 0)}createResult(e,t){const r=this.#e,s=this.options,a=this.#r,u=this.#o,o=this.#d,l=e!==r?e.state:this.#n,{state:m}=e;let d={...m},_=!1,h;if(t._optimisticResults){const v=this.hasListeners(),k=!v&&Ee(e,t),A=v&&Oe(e,r,t,s);(k||A)&&(d={...d,...kt(m.data,e.options)}),t._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:I,errorUpdatedAt:$,status:R}=d;h=d.data;let P=!1;if(t.placeholderData!==void 0&&h===void 0&&R==="pending"){let v;a?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(v=a.data,P=!0):v=typeof t.placeholderData=="function"?t.placeholderData(this.#h?.state.data,this.#h):t.placeholderData,v!==void 0&&(R="success",h=ve(a?.data,v,t),_=!0)}if(t.select&&h!==void 0&&!P)if(a&&h===u?.data&&t.select===this.#p)h=this.#f;else try{this.#p=t.select,h=t.select(h),h=ve(a?.data,h,t),this.#f=h,this.#a=null}catch(v){this.#a=v}this.#a&&(I=this.#a,h=this.#f,$=Date.now(),R="error");const q=d.fetchStatus==="fetching",B=R==="pending",Q=R==="error",G=B&&q,K=h!==void 0,T={status:R,fetchStatus:d.fetchStatus,isPending:B,isSuccess:R==="success",isError:Q,isInitialLoading:G,isLoading:G,data:h,dataUpdatedAt:d.dataUpdatedAt,error:I,errorUpdatedAt:$,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:q,isRefetching:q&&!B,isLoadingError:Q&&!K,isPaused:d.fetchStatus==="paused",isPlaceholderData:_,isRefetchError:Q&&K,isStale:re(e,t),refetch:this.refetch,promise:this.#s,isEnabled:S(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const v=D=>{T.status==="error"?D.reject(T.error):T.data!==void 0&&D.resolve(T.data)},k=()=>{const D=this.#s=T.promise=be();v(D)},A=this.#s;switch(A.status){case"pending":e.queryHash===r.queryHash&&v(A);break;case"fulfilled":(T.status==="error"||T.data!==A.value)&&k();break;case"rejected":(T.status!=="error"||T.error!==A.reason)&&k();break}}return T}updateResult(){const e=this.#r,t=this.createResult(this.#e,this.options);if(this.#o=this.#e.state,this.#d=this.options,this.#o.data!==void 0&&(this.#h=this.#e),ee(t,e))return;this.#r=t;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:s}=this.options,a=typeof s=="function"?s():s;if(a==="all"||!a&&!this.#m.size)return!0;const u=new Set(a??this.#m);return this.options.throwOnError&&u.add("error"),Object.keys(this.#r).some(o=>{const i=o;return this.#r[i]!==e[i]&&u.has(i)})};this.#O({listeners:r()})}#E(){const e=this.#t.getQueryCache().build(this.#t,this.options);if(e===this.#e)return;const t=this.#e;this.#e=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#v()}#O(e){Te.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#r)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function Nt(e,t){return S(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Ee(e,t){return Nt(e,t)||e.state.data!==void 0&&te(e,t,t.refetchOnMount)}function te(e,t,r){if(S(t.enabled,e)!==!1&&M(t.staleTime,e)!=="static"){const s=typeof r=="function"?r(e):r;return s==="always"||s!==!1&&re(e,t)}return!1}function Oe(e,t,r,s){return(e!==t||S(s.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&re(e,r)}function re(e,t){return S(t.enabled,e)!==!1&&e.isStaleByTime(M(t.staleTime,e))}function Pt(e,t){return!ee(e.getCurrentResult(),t)}var w={exports:{}},j={};var Se;function Dt(){if(Se)return j;Se=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(s,a,u){var o=null;if(u!==void 0&&(o=""+u),a.key!==void 0&&(o=""+a.key),"key"in a){u={};for(var i in a)i!=="key"&&(u[i]=a[i])}else u=a;return a=u.ref,{$$typeof:e,type:s,key:o,ref:a!==void 0?a:null,props:u}}return j.Fragment=t,j.jsx=r,j.jsxs=r,j}var x={};var Ie;function Lt(){return Ie||(Ie=1,process.env.NODE_ENV!=="production"&&(function(){function e(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===D?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case P:return"Fragment";case B:return"Profiler";case q:return"StrictMode";case Me:return"Suspense";case T:return"SuspenseList";case A:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case R:return"Portal";case G:return n.displayName||"Context";case Q:return(n._context.displayName||"Context")+".Consumer";case K:var c=n.render;return n=n.displayName,n||(n=c.displayName||c.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case v:return c=n.displayName||null,c!==null?c:e(n.type)||"Memo";case k:c=n._payload,n=n._init;try{return e(n(c))}catch{}}return null}function t(n){return""+n}function r(n){try{t(n);var c=!1}catch{c=!0}if(c){c=console;var p=c.error,g=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return p.call(c,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",g),t(n)}}function s(n){if(n===P)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===k)return"<...>";try{var c=e(n);return c?"<"+c+">":"<...>"}catch{return"<...>"}}function a(){var n=ne.A;return n===null?null:n.getOwner()}function u(){return Error("react-stack-top-frame")}function o(n){if(je.call(n,"key")){var c=Object.getOwnPropertyDescriptor(n,"key").get;if(c&&c.isReactWarning)return!1}return n.key!==void 0}function i(n,c){function p(){xe||(xe=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",c))}p.isReactWarning=!0,Object.defineProperty(n,"key",{get:p,configurable:!0})}function l(){var n=e(this.type);return Ue[n]||(Ue[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),n=this.props.ref,n!==void 0?n:null}function m(n,c,p,g,z,ae){var y=p.ref;return n={$$typeof:$,type:n,key:c,props:p,_owner:g},(y!==void 0?y:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:l}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:z}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ae}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function d(n,c,p,g,z,ae){var y=c.children;if(y!==void 0)if(g)if(ir(y)){for(g=0;g<y.length;g++)_(y[g]);Object.freeze&&Object.freeze(y)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else _(y);if(je.call(c,"key")){y=e(n);var L=Object.keys(c).filter(function(or){return or!=="key"});g=0<L.length?"{key: someKey, "+L.join(": ..., ")+": ...}":"{key: someKey}",qe[y+g]||(L=0<L.length?"{"+L.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
1
|
+
(function(f,N){typeof exports=="object"&&typeof module<"u"?N(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],N):(f=typeof globalThis<"u"?globalThis:f||self,N(f.FansUnitedDataLayer={},f.React))})(this,(function(f,N){"use strict";function Be(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const E=Be(N);let H=null;function Qe(e){H=e}function O(){if(!H)throw new Error("Data layer config not initialized. Call setConfig() in your root layout.");return H}function He(){return H!==null}function We(e){const t=e.replace(/\/$/,"");function r(){const{sportal365Sports:a}=O();if(!a)throw new Error("Sportal365 Sports API configuration is missing");const u=`${a.username}:${a.password}`;return`Basic ${btoa(u)}`}function s(a){return`${t}${a}`}return{async get(a){const{sportal365Sports:u}=O();if(!u)throw new Error("Sportal365 Sports API configuration is missing");const o=new URL(s(a.path));if(a.params)for(const[l,m]of Object.entries(a.params))m!==void 0&&(Array.isArray(m)?m.length>0&&o.searchParams.set(l,m.join(",")):o.searchParams.set(l,m));const i=await fetch(o.toString(),{method:"GET",headers:{Authorization:r(),"Content-Type":"application/json","X-Project-Id":u.projectId},signal:u.timeout?AbortSignal.timeout(u.timeout):void 0});if(!i.ok)throw new Error(`Sportal365 API error: ${i.status} ${i.statusText}`);return i.json()}}}const C=We("https://football.api.sportal365.com");function oe(e){if(e)return{id:e.id,name:e.name,slug:e.slug,position:e.position,gender:e.gender,assets:e.assets?{photo:e.assets.thumb?.url,photoTransparent:e.assets.thumb_transparent_background?.url}:void 0}}const Ve={GOAL:"GOAL",PENALTY_GOAL:"PENALTY_GOAL",OWN_GOAL:"OWN_GOAL",DISALLOWED_GOAL:"DISALLOWED_GOAL",PENALTY_SHOOTOUT_SCORED:"PENALTY_SHOOTOUT_SCORED",PENALTY_SHOOTOUT_MISSED:"PENALTY_SHOOTOUT_MISSED",YELLOW_CARD:"YELLOW_CARD",RED_CARD:"RED_CARD",YELLOW_RED_CARD:"YELLOW_RED_CARD",SUBSTITUTION:"SUBSTITUTION",KICKOFF:"KICKOFF",HALFTIME:"HALFTIME",START_SECOND_HALF:"START_SECOND_HALF",FINISHED:"FINISHED",INJURY_TIME:"INJURY_TIME",PENALTY_AWARDED:"PENALTY_AWARDED",PENALTY_MISSED:"PENALTY_MISSED",PENALTY_SAVED:"PENALTY_SAVED"};function W(e){const t=Ve[e.type_code];return t?{id:e.id,type:t,competitorPosition:e.team_position==="HOME"?"ONE":"TWO",minute:e.minute,injuryMinute:e.injury_minute,primaryPlayer:oe(e.primary_player),secondaryPlayer:oe(e.secondary_player),score:e.score?{competitorOne:String(e.score.home),competitorTwo:String(e.score.away)}:void 0}:(console.warn(`Unknown event type: ${e.type_code}`),null)}function we(e){return{code:{FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started",ABANDONED:"abandoned"}[e.type]??"not_started",name:e.name,shortName:e.short_name,type:e.type}}function ue(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type??"club",gender:e.gender,assets:e.assets?{logo:e.assets.logo?.url,homeKit:e.assets.home_kit?.url,awayKit:e.assets.away_kit?.url,squadImage:e.assets.squad_image?.url}:void 0,metadata:e.shirt_color?{shirtColor:e.shirt_color}:void 0}}function Ge(e){return{kickoffTime:new Date(e.kickoff_time),currentMinute:e.minute?.regular_time,phaseStartedAt:e.phase_started_at?new Date(e.phase_started_at):void 0,finishedAt:e.finished_at?new Date(e.finished_at):void 0,firstHalfStartedAt:e.first_half_started_at?new Date(e.first_half_started_at):void 0,secondHalfStartedAt:e.second_half_started_at?new Date(e.second_half_started_at):void 0,extraTimeFirstHalfStartedAt:e.extra_time_first_half_started_at?new Date(e.extra_time_first_half_started_at):void 0,extraTimeSecondHalfStartedAt:e.extra_time_second_half_started_at?new Date(e.extra_time_second_half_started_at):void 0}}function Ke(e){if(!e)return;const t=s=>s?{competitorOne:String(s.home),competitorTwo:String(s.away)}:void 0,r=e.total??e.regular_time;return{competitorOne:r?.home!=null?String(r.home):null,competitorTwo:r?.away!=null?String(r.away):null,breakdown:{total:t(e.total),halfTime:t(e.half_time),regularTime:t(e.regular_time),extraTime:t(e.extra_time),penaltyShootout:t(e.penalty_shootout),aggregate:t(e.aggregate)}}}function ze(e){if(e)return{id:e.id,name:e.name,slug:e.slug,assets:e.assets?.image?.url?{image:e.assets.image.url}:void 0}}function Je(e){if(e?.length)return e.map(t=>({id:t.id,name:t.name,slug:t.slug,role:t.role??"REFEREE",gender:t.gender}))}function Xe(e){if(!e.season?.tournament)return;const{tournament:t,...r}=e.season;return{id:t.id,name:t.name,slug:t.slug,type:t.type,region:t.region,country:t.country?{id:t.country.id,name:t.country.name,code:t.country.code??void 0,flag:t.country.assets?.flag?.url}:void 0,season:{id:r.id,name:r.name,status:r.status},stage:e.stage?{id:e.stage.id,name:e.stage.name,type:e.stage.type}:void 0,assets:t.assets?.logo?.url?{logo:t.assets.logo.url}:void 0}}function Ze(e){if(!e.winner?.match?.id)return;const t={"Regular Time":"REGULAR_TIME","Extra Time":"EXTRA_TIME",Penalties:"PENALTIES"};return{competitorId:e.winner.match.id,reason:e.winner.match.reason?.name?t[e.winner.match.reason.name]:void 0,aggregate:!!e.winner.aggregate}}function ce(e){return{id:e.id,slug:e.slug,status:we(e.status),timing:Ge(e),competitorOne:ue(e.home_team),competitorTwo:ue(e.away_team),competition:Xe(e),round:e.round?{id:e.round.id??e.round.key,key:e.round.key,name:e.round.name,type:e.round.type??"REGULAR"}:void 0,group:e.group?{id:e.group.id,name:e.group.name}:void 0,venue:ze(e.venue),officials:Je(e.referees),spectators:e.spectators??void 0,score:Ke(e.score),mainEvents:e.main_events?.map(W).filter(t=>t!==null),penaltyShootoutEvents:e.penalty_shootout_events?.map(W).filter(t=>t!==null),winner:Ze(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,lineupStatus:e.lineup_status==="UNCONFIRMED"?"EXPECTED":e.lineup_status}}function et(e){const t=e.player;return{id:t.id,name:t.name,slug:t.slug,position:t.position,shirtNumber:e.shirt_number,positionX:e.position_x??void 0,positionY:e.position_y??void 0,country:t.country?{id:t.country.id,name:t.country.name,code:t.country.code}:void 0,birthdate:t.birthdate,profile:t.profile?{height:t.profile.height,weight:t.profile.weight}:void 0,events:e.events?.map(W).filter(r=>r!==null)}}function le(e){const t=[],r=[];for(const s of e.players){const a=et(s);s.type.category==="start"?t.push(a):s.type.category==="sub"&&r.push(a)}return{competitorId:e.team_id,formation:e.formation,coach:e.coach?{id:e.coach.id,name:e.coach.name,slug:e.coach.slug,country:e.coach.country?{id:e.coach.country.id,name:e.coach.country.name,code:e.coach.country.code}:void 0,birthdate:e.coach.birthdate}:void 0,starters:t,substitutes:r}}function tt(e){return{matchId:e.match_id,confirmed:e.status==="CONFIRMED",competitorOne:le(e.home_team),competitorTwo:le(e.away_team)}}function b(e,t,r,s){return t==null?null:{key:e,value:String(t),label:r,unit:s}}function de(e,t){const r=(t.shots_on??0)+(t.shots_off??0)+(t.shots_blocked??0),s=[b("possession",t.possession,"Possession","%"),b("shots_total",r,"Shots"),b("shots_on_target",t.shots_on,"Shots on Target"),b("shots_off_target",t.shots_off,"Shots off Target"),b("shots_blocked",t.shots_blocked,"Shots Blocked"),b("corners",t.corners,"Corner Kicks"),b("goal_kicks",t.goal_kicks,"Goal Kicks"),b("throw_ins",t.throw_in,"Throw Ins"),b("offsides",t.offside,"Offsides"),b("fouls",t.fouls_committed,"Fouls"),b("yellow_cards",t.yellow_cards,"Yellow Cards"),b("passes",t.pass,"Passes"),b("crosses",t.crosses,"Crosses")];return{competitorId:e,statistics:s.filter(a=>a!==null)}}function rt(e){const t=e.find(s=>s.home_team),r=e.find(s=>!s.home_team);if(!t||!r)throw new Error("Missing competitor statistics");return{competitorOne:de(String(t.team.id),t.statistics),competitorTwo:de(String(r.team.id),r.statistics)}}function nt(e){const t=e.urls?.find(r=>r.app_type==="desktop")?.url;return{id:e.id,name:e.name,code:e.code,value:e.value??void 0,odds:e.odds,oddsOld:e.odds_old,movement:e.movement==="STABLE"?"NONE":e.movement,url:t}}function st(e){return{type:{id:e.type.id,code:e.type.code,name:e.type.name},period:{id:e.scope.id,type:e.scope.type,name:e.scope.name},selections:e.selections.map(nt)}}function at(e){return{operator:{id:e.bookmaker.id,name:e.bookmaker.name,url:e.bookmaker.url,branding:e.bookmaker.branding?{backgroundColor:e.bookmaker.branding.background_color,textColor:e.bookmaker.branding.text_color,logo:e.bookmaker.assets?.[0]?.logo}:void 0},type:e.type,markets:e.markets.map(st)}}function it(e,t){return{matchId:e,operators:t.map(at)}}function fe(e){if(e==null||e==="")return;const t=typeof e=="number"?e:parseInt(e,10);return isNaN(t)?void 0:t}function ot(e){return{externalId:e.external_id,minute:fe(e.elapsed),addedTime:fe(e.elapsed_plus),text:e.auto_text,details:e.details,meta:{type:e.type,commentaryType:e.commentary_type,subtype1:e.subtype_1,subtype2:e.subtype_2,timestamp:e.incident_timestamp}}}async function he(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/matches/${e}`,params:{language_code:t.languageCode??r?.languageCode??"en",odd_client:t.oddClient,odd_type:t.oddType,scope_type:t.scopeType,odd_format:t.oddFormat,market_types:t.marketTypes,bookmaker_ids:t.bookmakerIds,optional_data:t.optionalData}});return ce(s)}async function ut(e,t={}){const{sportal365Sports:r}=O();return(await C.get({path:`/v2/matches/${e}/events`,params:{language_code:t.languageCode??r?.languageCode??"en"}})).events.map(W).filter(a=>a!==null)}async function ct(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/matches/${e}/lineups`,params:{language_code:t.languageCode??r?.languageCode??"en"}});return tt(s)}async function lt(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/matches/${e}`,params:{language_code:t.languageCode??r?.languageCode??"en",odd_client:t.oddClient??r?.oddClient,odd_type:t.oddType,scope_type:t.scopeType??"ALL",odd_format:t.oddFormat??"DECIMAL",market_types:t.marketTypes,bookmaker_ids:t.bookmakerIds}});return it(e,s.odds??[])}async function dt(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/events/${e}/teamstats`,params:{language_code:t.languageCode??r?.languageCode??"en"}});return rt(s)}async function ft(e,t={}){const{sportal365Sports:r}=O();return(await C.get({path:`/matches/${e}/commentary`,params:{language_code:t.languageCode??r?.languageCode??"en"}})).map(ot)}async function me(e){const{sportal365Sports:t}=O();return(await C.get({path:"/v2/matches",params:{language_code:e.languageCode??t?.languageCode??"en",limit:e.limit.toString(),offset:e.offset.toString(),tournament_ids:e.tournamentIds,season_ids:e.seasonIds,stage_ids:e.stageIds,group_ids:e.groupIds,round_ids:e.roundIds,round_filter:e.roundFilter,from_kickoff_time:e.fromKickoffTime,to_kickoff_time:e.toKickoffTime,team_ids:e.teamIds,team_ids_operator:e.teamIdsOperator,referee_id:e.refereeId,venue_id:e.venueId,player_id:e.playerId,status_types:e.statusTypes,status_codes:e.statusCodes,odd_client:e.oddClient??t?.oddClient,odd_type:e.oddType,scope_type:e.scopeType,odd_format:e.oddFormat,market_types:e.marketTypes,bookmaker_ids:e.bookmakerIds,sort_direction:e.sortDirection,optional_data:e.optionalData}})).matches.map(ce)}function ht(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type==="placeholder"?"club":e.type,gender:e.gender,country:e.country?{id:e.country.id,name:e.country.name,code:e.country.code??void 0,flag:e.country.assets?.flag?.url}:void 0,assets:e.assets?{logo:e.assets.logo?.url,homeKit:e.assets.home_kit?.url,awayKit:e.assets.away_kit?.url,squadImage:e.assets.squad_image?.url}:void 0}}async function mt(e,t={}){const{sportal365Sports:r}=O(),s=await C.get({path:`/v2/teams/${e}`,params:{language_code:t.languageCode??r?.languageCode??"en",optional_data:"form"}});return ht(s)}function pe(e,t){return{id:e.id,name:e.name,shortName:e.shortName,logo:e.assets?.logo?{url:e.assets.logo,alt:e.name}:void 0,score:t!=null?pt(t):void 0}}function pt(e){return{main:e}}function gt(e){switch(e.type){case"LIVE":return"live";case"FINISHED":return"final";case"POSTPONED":return"postponed";case"CANCELLED":return"cancelled";case"INTERRUPTED":case"ABANDONED":return"suspended";case"NOT_STARTED":default:return"scheduled"}}function yt(e,t){if(t.type==="LIVE")return{current:e.currentPeriod,label:e.currentMinute?`${e.currentMinute}'`:void 0}}function _t(e){if(e.type==="LIVE")return{color:"#ef4444"}}function ge(e){return{id:e.id,sport:"football",competitorOne:pe(e.competitorOne,e.score?.competitorOne),competitorTwo:pe(e.competitorTwo,e.score?.competitorTwo),status:gt(e.status),period:yt(e.timing,e.status),liveIndicator:_t(e.status),metadata:{venue:e.venue?.name,date:e.timing.kickoffTime.toISOString().split("T")[0],time:e.timing.kickoffTime.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),competition:e.competition?.name,round:e.round?.name,winner:e.winner?.competitorId===e.competitorOne.id?"competitorOne":e.winner?.competitorId===e.competitorTwo.id?"competitorTwo":void 0},link:e.slug?`/match/${e.slug}`:`/match/${e.id}`}}function vt(e){return e.toISOString().split("T")[0]}async function ye(e,t){const r=await he(e,{languageCode:t?.languageCode});return ge(r)}function bt(e){return{match:ge(e),dateGroup:vt(e.timing.kickoffTime),competitionGroup:e.competition?.name,competitionLogo:e.competition?.assets?.logo,competitionSubtitle:e.competition?.country?.name,roundGroup:e.round?.name}}function Tt(e){const t={limit:e.limit??50,offset:e.offset??0,languageCode:e.languageCode};return e.fromDate&&(t.fromKickoffTime=e.fromDate),e.toDate&&(t.toKickoffTime=e.toDate),e.tournamentIds&&(t.tournamentIds=e.tournamentIds),e.teamId&&(t.teamIds=[e.teamId]),e.roundIds&&(t.roundIds=e.roundIds),e.seasonIds&&(t.seasonIds=e.seasonIds),e.statusTypes&&(t.statusTypes=e.statusTypes),e.variant==="teamResults"||e.variant==="teamResultsByCompetition"?t.sortDirection="desc":(e.variant==="teamFixtures"||e.variant==="teamFixturesByCompetition")&&(t.sortDirection="asc"),t}async function F(e){const t=Tt(e);return{items:(await me(t)).map(a=>bt(a)),variant:e.variant}}var J=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Et={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ot=class{#t=Et;#e=!1;setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&this.#e&&e!==this.#t&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:this.#t,provider:e}),this.#t=e,process.env.NODE_ENV!=="production"&&(this.#e=!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&(this.#e=!0),this.#t.setTimeout(e,t)}clearTimeout(e){this.#t.clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&(this.#e=!0),this.#t.setInterval(e,t)}clearInterval(e){this.#t.clearInterval(e)}},V=new Ot;function St(e){setTimeout(e,0)}var M=typeof window>"u"||"Deno"in globalThis;function X(){}function _e(e){return typeof e=="number"&&e>=0&&e!==1/0}function It(e,t){return Math.max(e+(t||0)-Date.now(),0)}function j(e,t){return typeof e=="function"?e(t):e}function S(e,t){return typeof e=="function"?e(t):e}var Rt=Object.prototype.hasOwnProperty;function Z(e,t){if(e===t)return e;const r=ve(e)&&ve(t);if(!r&&!(be(e)&&be(t)))return t;const a=(r?e:Object.keys(e)).length,u=r?t:Object.keys(t),o=u.length,i=r?new Array(o):{};let l=0;for(let m=0;m<o;m++){const d=r?m:u[m],_=e[d],h=t[d];if(_===h){i[d]=_,(r?m<a:Rt.call(e,d))&&l++;continue}if(_===null||h===null||typeof _!="object"||typeof h!="object"){i[d]=h;continue}const I=Z(_,h);i[d]=I,I===_&&l++}return a===o&&l===a?e:i}function ee(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(e[r]!==t[r])return!1;return!0}function ve(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function be(e){if(!Te(e))return!1;const t=e.constructor;if(t===void 0)return!0;const r=t.prototype;return!(!Te(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Te(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ee(e,t,r){if(typeof r.structuralSharing=="function")return r.structuralSharing(e,t);if(r.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return Z(e,t)}catch(s){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${r.queryHash}]: ${s}`),s}return Z(e,t)}return t}function Ct(e,t){return typeof e=="function"?e(...t):!!e}var kt=class extends J{#t;#e;#n;constructor(){super(),this.#n=e=>{if(!M&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#n=e,this.#e?.(),this.#e=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#t!==e&&(this.#t=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},At=new kt;function Oe(){let e,t;const r=new Promise((a,u)=>{e=a,t=u});r.status="pending",r.catch(()=>{});function s(a){Object.assign(r,a),delete r.resolve,delete r.reject}return r.resolve=a=>{s({status:"fulfilled",value:a}),e(a)},r.reject=a=>{s({status:"rejected",reason:a}),t(a)},r}var Nt=St;function Pt(){let e=[],t=0,r=i=>{i()},s=i=>{i()},a=Nt;const u=i=>{t?e.push(i):a(()=>{r(i)})},o=()=>{const i=e;e=[],i.length&&a(()=>{s(()=>{i.forEach(l=>{r(l)})})})};return{batch:i=>{let l;t++;try{l=i()}finally{t--,t||o()}return l},batchCalls:i=>(...l)=>{u(()=>{i(...l)})},schedule:u,setNotifyFunction:i=>{r=i},setBatchNotifyFunction:i=>{s=i},setScheduler:i=>{a=i}}}var Se=Pt(),Dt=class extends J{#t=!0;#e;#n;constructor(){super(),this.#n=e=>{if(!M&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#n=e,this.#e?.(),this.#e=e(this.setOnline.bind(this))}setOnline(e){this.#t!==e&&(this.#t=e,this.listeners.forEach(r=>{r(e)}))}isOnline(){return this.#t}},Lt=new Dt;function Ft(e){return(e??"online")==="online"?Lt.isOnline():!0}function Mt(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ft(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}var jt=class extends J{constructor(e,t){super(),this.options=t,this.#t=e,this.#a=null,this.#s=Oe(),this.bindMethods(),this.setOptions(t)}#t;#e=void 0;#n=void 0;#r=void 0;#o;#d;#s;#a;#p;#f;#h;#u;#c;#i;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),Ie(this.#e,this.options)?this.#l():this.updateResult(),this.#v())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return te(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return te(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#T(),this.#e.removeObserver(this)}setOptions(e){const t=this.options,r=this.#e;if(this.options=this.#t.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof S(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#E(),this.#e.setOptions(this.options),t._defaulted&&!ee(this.options,t)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const s=this.hasListeners();s&&Re(this.#e,r,this.options,t)&&this.#l(),this.updateResult(),s&&(this.#e!==r||S(this.options.enabled,this.#e)!==S(t.enabled,this.#e)||j(this.options.staleTime,this.#e)!==j(t.staleTime,this.#e))&&this.#g();const a=this.#y();s&&(this.#e!==r||S(this.options.enabled,this.#e)!==S(t.enabled,this.#e)||a!==this.#i)&&this.#_(a)}getOptimisticResult(e){const t=this.#t.getQueryCache().build(this.#t,e),r=this.createResult(t,e);return Ut(this,r)&&(this.#r=r,this.#d=this.options,this.#o=this.#e.state),r}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(r,s)=>(this.trackProp(s),t?.(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#s.status==="pending"&&this.#s.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#t.defaultQueryOptions(e),r=this.#t.getQueryCache().build(this.#t,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#l({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#l(e){this.#E();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(X)),t}#g(){this.#b();const e=j(this.options.staleTime,this.#e);if(M||this.#r.isStale||!_e(e))return;const r=It(this.#r.dataUpdatedAt,e)+1;this.#u=V.setTimeout(()=>{this.#r.isStale||this.updateResult()},r)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#_(e){this.#T(),this.#i=e,!(M||S(this.options.enabled,this.#e)===!1||!_e(this.#i)||this.#i===0)&&(this.#c=V.setInterval(()=>{(this.options.refetchIntervalInBackground||At.isFocused())&&this.#l()},this.#i))}#v(){this.#g(),this.#_(this.#y())}#b(){this.#u&&(V.clearTimeout(this.#u),this.#u=void 0)}#T(){this.#c&&(V.clearInterval(this.#c),this.#c=void 0)}createResult(e,t){const r=this.#e,s=this.options,a=this.#r,u=this.#o,o=this.#d,l=e!==r?e.state:this.#n,{state:m}=e;let d={...m},_=!1,h;if(t._optimisticResults){const v=this.hasListeners(),k=!v&&Ie(e,t),A=v&&Re(e,r,t,s);(k||A)&&(d={...d,...Mt(m.data,e.options)}),t._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:I,errorUpdatedAt:$,status:R}=d;h=d.data;let P=!1;if(t.placeholderData!==void 0&&h===void 0&&R==="pending"){let v;a?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(v=a.data,P=!0):v=typeof t.placeholderData=="function"?t.placeholderData(this.#h?.state.data,this.#h):t.placeholderData,v!==void 0&&(R="success",h=Ee(a?.data,v,t),_=!0)}if(t.select&&h!==void 0&&!P)if(a&&h===u?.data&&t.select===this.#p)h=this.#f;else try{this.#p=t.select,h=t.select(h),h=Ee(a?.data,h,t),this.#f=h,this.#a=null}catch(v){this.#a=v}this.#a&&(I=this.#a,h=this.#f,$=Date.now(),R="error");const q=d.fetchStatus==="fetching",B=R==="pending",Q=R==="error",G=B&&q,K=h!==void 0,T={status:R,fetchStatus:d.fetchStatus,isPending:B,isSuccess:R==="success",isError:Q,isInitialLoading:G,isLoading:G,data:h,dataUpdatedAt:d.dataUpdatedAt,error:I,errorUpdatedAt:$,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:q,isRefetching:q&&!B,isLoadingError:Q&&!K,isPaused:d.fetchStatus==="paused",isPlaceholderData:_,isRefetchError:Q&&K,isStale:re(e,t),refetch:this.refetch,promise:this.#s,isEnabled:S(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const v=D=>{T.status==="error"?D.reject(T.error):T.data!==void 0&&D.resolve(T.data)},k=()=>{const D=this.#s=T.promise=Oe();v(D)},A=this.#s;switch(A.status){case"pending":e.queryHash===r.queryHash&&v(A);break;case"fulfilled":(T.status==="error"||T.data!==A.value)&&k();break;case"rejected":(T.status!=="error"||T.error!==A.reason)&&k();break}}return T}updateResult(){const e=this.#r,t=this.createResult(this.#e,this.options);if(this.#o=this.#e.state,this.#d=this.options,this.#o.data!==void 0&&(this.#h=this.#e),ee(t,e))return;this.#r=t;const r=()=>{if(!e)return!0;const{notifyOnChangeProps:s}=this.options,a=typeof s=="function"?s():s;if(a==="all"||!a&&!this.#m.size)return!0;const u=new Set(a??this.#m);return this.options.throwOnError&&u.add("error"),Object.keys(this.#r).some(o=>{const i=o;return this.#r[i]!==e[i]&&u.has(i)})};this.#O({listeners:r()})}#E(){const e=this.#t.getQueryCache().build(this.#t,this.options);if(e===this.#e)return;const t=this.#e;this.#e=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#v()}#O(e){Se.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#r)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function xt(e,t){return S(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Ie(e,t){return xt(e,t)||e.state.data!==void 0&&te(e,t,t.refetchOnMount)}function te(e,t,r){if(S(t.enabled,e)!==!1&&j(t.staleTime,e)!=="static"){const s=typeof r=="function"?r(e):r;return s==="always"||s!==!1&&re(e,t)}return!1}function Re(e,t,r,s){return(e!==t||S(s.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&re(e,r)}function re(e,t){return S(t.enabled,e)!==!1&&e.isStaleByTime(j(t.staleTime,e))}function Ut(e,t){return!ee(e.getCurrentResult(),t)}var w={exports:{}},x={};var Ce;function Yt(){if(Ce)return x;Ce=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(s,a,u){var o=null;if(u!==void 0&&(o=""+u),a.key!==void 0&&(o=""+a.key),"key"in a){u={};for(var i in a)i!=="key"&&(u[i]=a[i])}else u=a;return a=u.ref,{$$typeof:e,type:s,key:o,ref:a!==void 0?a:null,props:u}}return x.Fragment=t,x.jsx=r,x.jsxs=r,x}var U={};var ke;function $t(){return ke||(ke=1,process.env.NODE_ENV!=="production"&&(function(){function e(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===D?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case P:return"Fragment";case B:return"Profiler";case q:return"StrictMode";case Me:return"Suspense";case T:return"SuspenseList";case A:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case R:return"Portal";case G:return n.displayName||"Context";case Q:return(n._context.displayName||"Context")+".Consumer";case K:var c=n.render;return n=n.displayName,n||(n=c.displayName||c.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case v:return c=n.displayName||null,c!==null?c:e(n.type)||"Memo";case k:c=n._payload,n=n._init;try{return e(n(c))}catch{}}return null}function t(n){return""+n}function r(n){try{t(n);var c=!1}catch{c=!0}if(c){c=console;var p=c.error,g=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return p.call(c,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",g),t(n)}}function s(n){if(n===P)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===k)return"<...>";try{var c=e(n);return c?"<"+c+">":"<...>"}catch{return"<...>"}}function a(){var n=ne.A;return n===null?null:n.getOwner()}function u(){return Error("react-stack-top-frame")}function o(n){if(je.call(n,"key")){var c=Object.getOwnPropertyDescriptor(n,"key").get;if(c&&c.isReactWarning)return!1}return n.key!==void 0}function i(n,c){function p(){xe||(xe=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",c))}p.isReactWarning=!0,Object.defineProperty(n,"key",{get:p,configurable:!0})}function l(){var n=e(this.type);return Ue[n]||(Ue[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),n=this.props.ref,n!==void 0?n:null}function m(n,c,p,g,z,ae){var y=p.ref;return n={$$typeof:$,type:n,key:c,props:p,_owner:g},(y!==void 0?y:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:l}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:z}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ae}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function d(n,c,p,g,z,ae){var y=c.children;if(y!==void 0)if(g)if(ir(y)){for(g=0;g<y.length;g++)_(y[g]);Object.freeze&&Object.freeze(y)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else _(y);if(je.call(c,"key")){y=e(n);var L=Object.keys(c).filter(function(or){return or!=="key"});g=0<L.length?"{key: someKey, "+L.join(": ..., ")+": ...}":"{key: someKey}",qe[y+g]||(L=0<L.length?"{"+L.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
|
5
5
|
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,g,y,L,y),qe[y+g]=!0)}if(y=null,p!==void 0&&(r(p),y=""+p),o(c)&&(r(c.key),y=""+c.key),"key"in c){p={};for(var ie in c)ie!=="key"&&(p[ie]=c[ie])}else p=c;return y&&i(p,typeof n=="function"?n.displayName||n.name||"Unknown":n),m(n,y,p,a(),z,ae)}function _(n){h(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===k&&(n._payload.status==="fulfilled"?h(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function h(n){return typeof n=="object"&&n!==null&&n.$$typeof===$}var I=N,$=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),Q=Symbol.for("react.consumer"),G=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),Me=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),D=Symbol.for("react.client.reference"),ne=I.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,je=Object.prototype.hasOwnProperty,ir=Array.isArray,se=console.createTask?console.createTask:function(){return null};I={react_stack_bottom_frame:function(n){return n()}};var xe,Ue={},Ye=I.react_stack_bottom_frame.bind(I,u)(),$e=se(s(u)),qe={};
|
|
6
|
+
<%s key={someKey} {...props} />`,g,y,L,y),qe[y+g]=!0)}if(y=null,p!==void 0&&(r(p),y=""+p),o(c)&&(r(c.key),y=""+c.key),"key"in c){p={};for(var ie in c)ie!=="key"&&(p[ie]=c[ie])}else p=c;return y&&i(p,typeof n=="function"?n.displayName||n.name||"Unknown":n),m(n,y,p,a(),z,ae)}function _(n){h(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===k&&(n._payload.status==="fulfilled"?h(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function h(n){return typeof n=="object"&&n!==null&&n.$$typeof===$}var I=N,$=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),Q=Symbol.for("react.consumer"),G=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),Me=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),D=Symbol.for("react.client.reference"),ne=I.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,je=Object.prototype.hasOwnProperty,ir=Array.isArray,se=console.createTask?console.createTask:function(){return null};I={react_stack_bottom_frame:function(n){return n()}};var xe,Ue={},Ye=I.react_stack_bottom_frame.bind(I,u)(),$e=se(s(u)),qe={};U.Fragment=P,U.jsx=function(n,c,p){var g=1e4>ne.recentlyCreatedOwnerStacks++;return d(n,c,p,!1,g?Error("react-stack-top-frame"):Ye,g?se(s(n)):$e)},U.jsxs=function(n,c,p){var g=1e4>ne.recentlyCreatedOwnerStacks++;return d(n,c,p,!0,g?Error("react-stack-top-frame"):Ye,g?se(s(n)):$e)}})()),U}var Ae;function qt(){return Ae||(Ae=1,process.env.NODE_ENV==="production"?w.exports=Yt():w.exports=$t()),w.exports}qt();var Bt=E.createContext(void 0),Qt=e=>{const t=E.useContext(Bt);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Ne=E.createContext(!1),Ht=()=>E.useContext(Ne);Ne.Provider;function Wt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Vt=E.createContext(Wt()),wt=()=>E.useContext(Vt),Gt=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},Kt=e=>{E.useEffect(()=>{e.clearReset()},[e])},zt=({result:e,errorResetBoundary:t,throwOnError:r,query:s,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(a&&e.data===void 0||Ct(r,[e.error,s])),Jt=e=>{if(e.suspense){const r=a=>a==="static"?a:Math.max(a??1e3,1e3),s=e.staleTime;e.staleTime=typeof s=="function"?(...a)=>r(s(...a)):r(s),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Xt=(e,t)=>e.isLoading&&e.isFetching&&!t,Zt=(e,t)=>e?.suspense&&t.isPending,Pe=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function er(e,t,r){if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const s=Ht(),a=wt(),u=Qt(),o=u.defaultQueryOptions(e);u.getDefaultOptions().queries?._experimental_beforeQuery?.(o),process.env.NODE_ENV!=="production"&&(o.queryFn||console.error(`[${o.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),o._optimisticResults=s?"isRestoring":"optimistic",Jt(o),Gt(o,a),Kt(a);const i=!u.getQueryCache().get(o.queryHash),[l]=E.useState(()=>new t(u,o)),m=l.getOptimisticResult(o),d=!s&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(_=>{const h=d?l.subscribe(Se.batchCalls(_)):X;return l.updateResult(),h},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),E.useEffect(()=>{l.setOptions(o)},[o,l]),Zt(o,m))throw Pe(o,l,a);if(zt({result:m,errorResetBoundary:a,throwOnError:o.throwOnError,query:u.getQueryCache().get(o.queryHash),suspense:o.suspense}))throw m.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(o,m),o.experimental_prefetchInRender&&!M&&Xt(m,s)&&(i?Pe(o,l,a):u.getQueryCache().get(o.queryHash)?.promise)?.catch(X).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?m:l.trackResult(m)}function Y(e,t){return er(e,jt)}function tr(e,t){return Y({queryKey:["match-score",e,{lang:t?.languageCode}],queryFn:()=>ye(e,{languageCode:t?.languageCode}),initialData:t?.initialData,enabled:t?.enabled??!0,refetchInterval:t?.refetchInterval??!1,refetchIntervalInBackground:!1,staleTime:3e4})}function rr(e){const t=["match-list",e.variant,{fromDate:e.fromDate,toDate:e.toDate,tournamentIds:e.tournamentIds,teamId:e.teamId,roundIds:e.roundIds,seasonIds:e.seasonIds,statusTypes:e.statusTypes,limit:e.limit,offset:e.offset,lang:e.languageCode}];return Y({queryKey:t,queryFn:()=>F(e),initialData:e.initialData,enabled:e.enabled??!0,refetchInterval:e.refetchInterval??!1,refetchIntervalInBackground:!1,staleTime:6e4})}async function De(e,t){const r=t?.groupByCompetition?"teamResultsByCompetition":"teamResults";return F({variant:r,teamId:e,statusTypes:["FINISHED"],languageCode:t?.languageCode,seasonIds:t?.seasonId?[t.seasonId]:void 0,tournamentIds:t?.tournamentIds,limit:t?.limit??20,offset:t?.offset??0})}async function Le(e,t){const r=t?.groupByCompetition?"teamFixturesByCompetition":"teamFixtures";return F({variant:r,teamId:e,statusTypes:["NOT_STARTED"],languageCode:t?.languageCode,seasonIds:t?.seasonId?[t.seasonId]:void 0,tournamentIds:t?.tournamentIds,limit:t?.limit??20,offset:t?.offset??0})}async function Fe(e,t){const r=t?.groupByCompetition?"teamMatchesByCompetition":"teamMatches";return F({variant:r,teamId:e,languageCode:t?.languageCode,seasonIds:t?.seasonId?[t.seasonId]:void 0,tournamentIds:t?.tournamentIds,limit:t?.limit??20,offset:t?.offset??0})}function nr(e,t){const r=t?.groupByCompetition?"teamResultsByCompetition":"teamResults";return Y({queryKey:["team-results",e,r,{seasonId:t?.seasonId,tournamentIds:t?.tournamentIds,limit:t?.limit,offset:t?.offset,lang:t?.languageCode}],queryFn:()=>De(e,t),initialData:t?.initialData,enabled:t?.enabled??!0,refetchInterval:t?.refetchInterval??!1,staleTime:6e4})}function sr(e,t){const r=t?.groupByCompetition?"teamFixturesByCompetition":"teamFixtures";return Y({queryKey:["team-fixtures",e,r,{seasonId:t?.seasonId,tournamentIds:t?.tournamentIds,limit:t?.limit,offset:t?.offset,lang:t?.languageCode}],queryFn:()=>Le(e,t),initialData:t?.initialData,enabled:t?.enabled??!0,refetchInterval:t?.refetchInterval??!1,staleTime:6e4})}function ar(e,t){const r=t?.groupByCompetition?"teamMatchesByCompetition":"teamMatches";return Y({queryKey:["team-matches",e,r,{seasonId:t?.seasonId,tournamentIds:t?.tournamentIds,limit:t?.limit,offset:t?.offset,lang:t?.languageCode}],queryFn:()=>Fe(e,t),initialData:t?.initialData,enabled:t?.enabled??!0,refetchInterval:t?.refetchInterval??!1,staleTime:6e4})}f.getConfig=O,f.getFootballMatch=he,f.getFootballMatchCommentary=ft,f.getFootballMatchEvents=ut,f.getFootballMatchLineups=ct,f.getFootballMatchOdds=lt,f.getFootballMatchStatistics=dt,f.getFootballMatches=me,f.getFootballTeam=mt,f.isConfigured=He,f.prepareMatchList=F,f.prepareMatchScore=ye,f.prepareTeamFixtures=Le,f.prepareTeamMatches=Fe,f.prepareTeamResults=De,f.setConfig=Qe,f.usePrepareMatchList=rr,f.usePrepareMatchScore=tr,f.usePrepareTeamFixtures=sr,f.usePrepareTeamMatches=ar,f.usePrepareTeamResults=nr,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -6,10 +6,8 @@
|
|
|
6
6
|
* - Server function (prepareX) for SSR/SSG
|
|
7
7
|
* - Client hook (usePrepareX) for client-side with React Query
|
|
8
8
|
*/
|
|
9
|
-
export { prepareMatchScore, usePrepareMatchScore } from "./match
|
|
10
|
-
export { prepareMatchList, usePrepareMatchList } from "./match/prepareMatchList";
|
|
9
|
+
export { prepareMatchScore, usePrepareMatchScore, prepareMatchList, usePrepareMatchList } from "./match";
|
|
11
10
|
export { prepareTeamResults, usePrepareTeamResults, prepareTeamFixtures, usePrepareTeamFixtures, prepareTeamMatches, usePrepareTeamMatches, } from "./team";
|
|
12
|
-
export type { PrepareMatchScoreOptions, PrepareMatchScoreResult } from "./match
|
|
13
|
-
export type { PrepareMatchListOptions, PrepareMatchListResult, MatchListVariant } from "./match/prepareMatchList";
|
|
11
|
+
export type { PrepareMatchScoreOptions, PrepareMatchScoreResult, UsePrepareMatchScoreOptions, PrepareMatchListOptions, PrepareMatchListResult, MatchListVariant, UsePrepareMatchListOptions, } from "./match";
|
|
14
12
|
export type { PrepareTeamMatchesBaseOptions, PrepareTeamResultsOptions, PrepareTeamFixturesOptions, PrepareTeamMatchesOptions, UseTeamMatchesHookOptions, } from "./team";
|
|
15
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/use-cases/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/use-cases/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGzG,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,QAAQ,CAAC;AAGhB,YAAY,EACR,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,SAAS,CAAC;AAGjB,YAAY,EACR,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC5B,MAAM,QAAQ,CAAC"}
|
|
@@ -3,8 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Prepare match data for UI components.
|
|
5
5
|
*/
|
|
6
|
-
export { prepareMatchScore
|
|
7
|
-
export type { PrepareMatchScoreOptions, PrepareMatchScoreResult } from "./prepareMatchScore";
|
|
8
|
-
export { prepareMatchList
|
|
9
|
-
export type { PrepareMatchListOptions, PrepareMatchListResult, MatchListVariant
|
|
6
|
+
export { prepareMatchScore } from "./prepareMatchScore.server";
|
|
7
|
+
export type { PrepareMatchScoreOptions, PrepareMatchScoreResult } from "./prepareMatchScore.server";
|
|
8
|
+
export { prepareMatchList } from "./prepareMatchList.server";
|
|
9
|
+
export type { PrepareMatchListOptions, PrepareMatchListResult, MatchListVariant } from "./prepareMatchList.server";
|
|
10
|
+
export { usePrepareMatchScore } from "./usePrepareMatchScore";
|
|
11
|
+
export type { UsePrepareMatchScoreOptions } from "./usePrepareMatchScore";
|
|
12
|
+
export { usePrepareMatchList } from "./usePrepareMatchList";
|
|
13
|
+
export type { UsePrepareMatchListOptions } from "./usePrepareMatchList";
|
|
10
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* prepareMatchList
|
|
2
|
+
* prepareMatchList Server Function
|
|
3
3
|
*
|
|
4
4
|
* Prepares match list data for the MatchListBlock UI component.
|
|
5
5
|
* Supports multiple variants: daily, round, competition, teamResults, etc.
|
|
@@ -50,22 +50,4 @@ export interface PrepareMatchListResult {
|
|
|
50
50
|
* @returns PrepareMatchListResult ready for the MatchListBlock component
|
|
51
51
|
*/
|
|
52
52
|
export declare function prepareMatchList(options: PrepareMatchListOptions): Promise<PrepareMatchListResult>;
|
|
53
|
-
|
|
54
|
-
* Hook options for usePrepareMatchList
|
|
55
|
-
*/
|
|
56
|
-
export interface UsePrepareMatchListOptions extends PrepareMatchListOptions {
|
|
57
|
-
/** Initial data from server (for hydration) */
|
|
58
|
-
initialData?: PrepareMatchListResult;
|
|
59
|
-
/** Whether to enable the query */
|
|
60
|
-
enabled?: boolean;
|
|
61
|
-
/** Refetch interval in milliseconds (false to disable) */
|
|
62
|
-
refetchInterval?: number | false;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Client hook: Prepare match list with React Query
|
|
66
|
-
*
|
|
67
|
-
* @param options - Query options including filters and variant
|
|
68
|
-
* @returns React Query result with PrepareMatchListResult
|
|
69
|
-
*/
|
|
70
|
-
export declare function usePrepareMatchList(options: UsePrepareMatchListOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
71
|
-
//# sourceMappingURL=prepareMatchList.d.ts.map
|
|
53
|
+
//# sourceMappingURL=prepareMatchList.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareMatchList.server.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/prepareMatchList.server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAIrE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,iDAAiD;IACjD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAGrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAGtD,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC7B;AAmDD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAUxG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* prepareMatchScore Server Function
|
|
3
|
+
*
|
|
4
|
+
* Prepares match data for the MatchScore UI component.
|
|
5
|
+
* Use in Server Components for SSR/SSG.
|
|
6
|
+
*/
|
|
7
|
+
import type { MatchScoreContent } from "../types";
|
|
8
|
+
/**
|
|
9
|
+
* Options for prepareMatchScore
|
|
10
|
+
*/
|
|
11
|
+
export interface PrepareMatchScoreOptions {
|
|
12
|
+
/** Language code for translations */
|
|
13
|
+
languageCode?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Result type for prepareMatchScore
|
|
17
|
+
*/
|
|
18
|
+
export type PrepareMatchScoreResult = MatchScoreContent;
|
|
19
|
+
/**
|
|
20
|
+
* Server function: Prepare match data for MatchScore component
|
|
21
|
+
*
|
|
22
|
+
* Use this in Server Components for SSR/SSG:
|
|
23
|
+
* ```tsx
|
|
24
|
+
* const matchData = await prepareMatchScore('123');
|
|
25
|
+
* return <MatchScore match={matchData} />;
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @param matchId - The match ID, UUID, or slug
|
|
29
|
+
* @param options - Optional parameters
|
|
30
|
+
* @returns MatchScoreContent ready for the MatchScore component
|
|
31
|
+
*/
|
|
32
|
+
export declare function prepareMatchScore(matchId: string, options?: PrepareMatchScoreOptions): Promise<PrepareMatchScoreResult>;
|
|
33
|
+
//# sourceMappingURL=prepareMatchScore.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareMatchScore.server.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/prepareMatchScore.server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAMlC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PrepareMatchListOptions, type PrepareMatchListResult } from "./prepareMatchList.server";
|
|
2
|
+
/**
|
|
3
|
+
* Hook options for usePrepareMatchList
|
|
4
|
+
*/
|
|
5
|
+
export interface UsePrepareMatchListOptions extends PrepareMatchListOptions {
|
|
6
|
+
/** Initial data from server (for hydration) */
|
|
7
|
+
initialData?: PrepareMatchListResult;
|
|
8
|
+
/** Whether to enable the query */
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
/** Refetch interval in milliseconds (false to disable) */
|
|
11
|
+
refetchInterval?: number | false;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Client hook: Prepare match list with React Query
|
|
15
|
+
*
|
|
16
|
+
* @param options - Query options including filters and variant
|
|
17
|
+
* @returns React Query result with PrepareMatchListResult
|
|
18
|
+
*/
|
|
19
|
+
export declare function usePrepareMatchList(options: UsePrepareMatchListOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
20
|
+
//# sourceMappingURL=usePrepareMatchList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrepareMatchList.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/usePrepareMatchList.ts"],"names":[],"mappings":"AAUA,OAAO,EAAoB,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExH;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACvE,+CAA+C;IAC/C,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,iFA2BtE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type PrepareMatchScoreOptions, type PrepareMatchScoreResult } from "./prepareMatchScore.server";
|
|
2
|
+
/**
|
|
3
|
+
* Hook options for usePrepareMatchScore
|
|
4
|
+
*/
|
|
5
|
+
export interface UsePrepareMatchScoreOptions extends PrepareMatchScoreOptions {
|
|
6
|
+
/** Initial data from server (for hydration) */
|
|
7
|
+
initialData?: PrepareMatchScoreResult;
|
|
8
|
+
/** Whether to enable the query */
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
/** Refetch interval in milliseconds (false to disable) */
|
|
11
|
+
refetchInterval?: number | false;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Client hook: Prepare match data with React Query
|
|
15
|
+
*
|
|
16
|
+
* Use this in Client Components for live updates:
|
|
17
|
+
* ```tsx
|
|
18
|
+
* 'use client'
|
|
19
|
+
* const { data, isLoading } = usePrepareMatchScore('123', {
|
|
20
|
+
* initialData,
|
|
21
|
+
* refetchInterval: 30000 // Poll every 30s for live matches
|
|
22
|
+
* });
|
|
23
|
+
* return <MatchScore match={data} />;
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @param matchId - The match ID, UUID, or slug
|
|
27
|
+
* @param options - Query options including initial data and refetch interval
|
|
28
|
+
* @returns React Query result with MatchScoreContent
|
|
29
|
+
*/
|
|
30
|
+
export declare function usePrepareMatchScore(matchId: string, options?: UsePrepareMatchScoreOptions): import("@tanstack/react-query").UseQueryResult<import("fansunited-sports-ui").MatchScoreContent, Error>;
|
|
31
|
+
//# sourceMappingURL=usePrepareMatchScore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrepareMatchScore.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/usePrepareMatchScore.ts"],"names":[],"mappings":"AAUA,OAAO,EAAqB,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE5H;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IACzE,+CAA+C;IAC/C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,2GAa1F"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Prepare team-related data for UI components.
|
|
5
5
|
*/
|
|
6
|
-
export { prepareTeamResults,
|
|
7
|
-
export type { PrepareTeamMatchesBaseOptions, PrepareTeamResultsOptions, PrepareTeamFixturesOptions, PrepareTeamMatchesOptions,
|
|
6
|
+
export { prepareTeamResults, prepareTeamFixtures, prepareTeamMatches } from "./prepareTeamMatches.server";
|
|
7
|
+
export type { PrepareTeamMatchesBaseOptions, PrepareTeamResultsOptions, PrepareTeamFixturesOptions, PrepareTeamMatchesOptions, } from "./prepareTeamMatches.server";
|
|
8
|
+
export { usePrepareTeamResults, usePrepareTeamFixtures, usePrepareTeamMatches } from "./usePrepareTeamMatches";
|
|
9
|
+
export type { UseTeamMatchesHookOptions } from "./usePrepareTeamMatches";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/team/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/team/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACR,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC/G,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Team Matches
|
|
2
|
+
* Team Matches Server Functions
|
|
3
3
|
*
|
|
4
4
|
* Convenience wrappers around prepareMatchList for team-specific queries.
|
|
5
5
|
* Provides semantic API for team results, fixtures, and combined matches.
|
|
6
6
|
*/
|
|
7
|
-
import { type PrepareMatchListResult } from "../match/prepareMatchList";
|
|
7
|
+
import { type PrepareMatchListResult } from "../match/prepareMatchList.server";
|
|
8
8
|
/**
|
|
9
9
|
* Common options for team match queries
|
|
10
10
|
*/
|
|
@@ -53,27 +53,4 @@ export declare function prepareTeamFixtures(teamId: string, options?: PrepareTea
|
|
|
53
53
|
* Server function: Get all matches (results + fixtures) for a team
|
|
54
54
|
*/
|
|
55
55
|
export declare function prepareTeamMatches(teamId: string, options?: PrepareTeamMatchesOptions): Promise<PrepareMatchListResult>;
|
|
56
|
-
|
|
57
|
-
* Hook options for team match hooks
|
|
58
|
-
*/
|
|
59
|
-
export interface UseTeamMatchesHookOptions {
|
|
60
|
-
/** Initial data from server (for hydration) */
|
|
61
|
-
initialData?: PrepareMatchListResult;
|
|
62
|
-
/** Whether to enable the query */
|
|
63
|
-
enabled?: boolean;
|
|
64
|
-
/** Refetch interval in milliseconds (false to disable) */
|
|
65
|
-
refetchInterval?: number | false;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Client hook: Get past matches (results) for a team
|
|
69
|
-
*/
|
|
70
|
-
export declare function usePrepareTeamResults(teamId: string, options?: PrepareTeamResultsOptions & UseTeamMatchesHookOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
71
|
-
/**
|
|
72
|
-
* Client hook: Get upcoming matches (fixtures) for a team
|
|
73
|
-
*/
|
|
74
|
-
export declare function usePrepareTeamFixtures(teamId: string, options?: PrepareTeamFixturesOptions & UseTeamMatchesHookOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
75
|
-
/**
|
|
76
|
-
* Client hook: Get all matches (results + fixtures) for a team
|
|
77
|
-
*/
|
|
78
|
-
export declare function usePrepareTeamMatches(teamId: string, options?: PrepareTeamMatchesOptions & UseTeamMatchesHookOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
79
|
-
//# sourceMappingURL=prepareTeamMatches.d.ts.map
|
|
56
|
+
//# sourceMappingURL=prepareTeamMatches.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTeamMatches.server.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/team/prepareTeamMatches.server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEH,KAAK,sBAAsB,EAE9B,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC7E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAajC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAajC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAYjC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { PrepareMatchListResult } from "../match/prepareMatchList.server";
|
|
2
|
+
import { type PrepareTeamResultsOptions, type PrepareTeamFixturesOptions, type PrepareTeamMatchesOptions } from "./prepareTeamMatches.server";
|
|
3
|
+
/**
|
|
4
|
+
* Hook options for team match hooks
|
|
5
|
+
*/
|
|
6
|
+
export interface UseTeamMatchesHookOptions {
|
|
7
|
+
/** Initial data from server (for hydration) */
|
|
8
|
+
initialData?: PrepareMatchListResult;
|
|
9
|
+
/** Whether to enable the query */
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
/** Refetch interval in milliseconds (false to disable) */
|
|
12
|
+
refetchInterval?: number | false;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Client hook: Get past matches (results) for a team
|
|
16
|
+
*/
|
|
17
|
+
export declare function usePrepareTeamResults(teamId: string, options?: PrepareTeamResultsOptions & UseTeamMatchesHookOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
18
|
+
/**
|
|
19
|
+
* Client hook: Get upcoming matches (fixtures) for a team
|
|
20
|
+
*/
|
|
21
|
+
export declare function usePrepareTeamFixtures(teamId: string, options?: PrepareTeamFixturesOptions & UseTeamMatchesHookOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
22
|
+
/**
|
|
23
|
+
* Client hook: Get all matches (results + fixtures) for a team
|
|
24
|
+
*/
|
|
25
|
+
export declare function usePrepareTeamMatches(teamId: string, options?: PrepareTeamMatchesOptions & UseTeamMatchesHookOptions): import("@tanstack/react-query").UseQueryResult<PrepareMatchListResult, Error>;
|
|
26
|
+
//# sourceMappingURL=usePrepareTeamMatches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrepareTeamMatches.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/team/usePrepareTeamMatches.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAIH,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EACjC,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,iFAsBpH;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,GAAG,yBAAyB,iFAuBnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,iFAsBpH"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepareMatchList.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/prepareMatchList.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAIrE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,iDAAiD;IACjD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAGrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAGtD,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC7B;AAmDD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAUxG;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACvE,+CAA+C;IAC/C,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,iFA2BtE"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* prepareMatchScore Use-Case
|
|
3
|
-
*
|
|
4
|
-
* Prepares match data for the MatchScore UI component.
|
|
5
|
-
* Provides both server function and client hook.
|
|
6
|
-
*/
|
|
7
|
-
import type { MatchScoreContent } from "../types";
|
|
8
|
-
/**
|
|
9
|
-
* Options for prepareMatchScore
|
|
10
|
-
*/
|
|
11
|
-
export interface PrepareMatchScoreOptions {
|
|
12
|
-
/** Language code for translations */
|
|
13
|
-
languageCode?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Result type for prepareMatchScore
|
|
17
|
-
*/
|
|
18
|
-
export type PrepareMatchScoreResult = MatchScoreContent;
|
|
19
|
-
/**
|
|
20
|
-
* Server function: Prepare match data for MatchScore component
|
|
21
|
-
*
|
|
22
|
-
* Use this in Server Components for SSR/SSG:
|
|
23
|
-
* ```tsx
|
|
24
|
-
* const matchData = await prepareMatchScore('123');
|
|
25
|
-
* return <MatchScore match={matchData} />;
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* @param matchId - The match ID, UUID, or slug
|
|
29
|
-
* @param options - Optional parameters
|
|
30
|
-
* @returns MatchScoreContent ready for the MatchScore component
|
|
31
|
-
*/
|
|
32
|
-
export declare function prepareMatchScore(matchId: string, options?: PrepareMatchScoreOptions): Promise<PrepareMatchScoreResult>;
|
|
33
|
-
/**
|
|
34
|
-
* Hook options for usePrepareMatchScore
|
|
35
|
-
*/
|
|
36
|
-
export interface UsePrepareMatchScoreOptions extends PrepareMatchScoreOptions {
|
|
37
|
-
/** Initial data from server (for hydration) */
|
|
38
|
-
initialData?: PrepareMatchScoreResult;
|
|
39
|
-
/** Whether to enable the query */
|
|
40
|
-
enabled?: boolean;
|
|
41
|
-
/** Refetch interval in milliseconds (false to disable) */
|
|
42
|
-
refetchInterval?: number | false;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Client hook: Prepare match data with React Query
|
|
46
|
-
*
|
|
47
|
-
* Use this in Client Components for live updates:
|
|
48
|
-
* ```tsx
|
|
49
|
-
* 'use client'
|
|
50
|
-
* const { data, isLoading } = usePrepareMatchScore('123', {
|
|
51
|
-
* initialData,
|
|
52
|
-
* refetchInterval: 30000 // Poll every 30s for live matches
|
|
53
|
-
* });
|
|
54
|
-
* return <MatchScore match={data} />;
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
* @param matchId - The match ID, UUID, or slug
|
|
58
|
-
* @param options - Query options including initial data and refetch interval
|
|
59
|
-
* @returns React Query result with MatchScoreContent
|
|
60
|
-
*/
|
|
61
|
-
export declare function usePrepareMatchScore(matchId: string, options?: UsePrepareMatchScoreOptions): import("@tanstack/react-query").UseQueryResult<MatchScoreContent, Error>;
|
|
62
|
-
//# sourceMappingURL=prepareMatchScore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepareMatchScore.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/match/prepareMatchScore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAMlC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IACzE,+CAA+C;IAC/C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,4EAa1F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTeamMatches.d.ts","sourceRoot":"","sources":["../../../src/lib/use-cases/team/prepareTeamMatches.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAoB,KAAK,sBAAsB,EAAyB,MAAM,2BAA2B,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC7E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAajC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAajC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAYjC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,iFAsBpH;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,GAAG,yBAAyB,iFAuBnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,iFAsBpH"}
|