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.
Files changed (25) hide show
  1. package/dist/fansunited-data-layer.js +185 -185
  2. package/dist/fansunited-data-layer.umd.cjs +2 -2
  3. package/dist/use-cases/index.d.ts +2 -4
  4. package/dist/use-cases/index.d.ts.map +1 -1
  5. package/dist/use-cases/match/index.d.ts +8 -4
  6. package/dist/use-cases/match/index.d.ts.map +1 -1
  7. package/dist/use-cases/match/{prepareMatchList.d.ts → prepareMatchList.server.d.ts} +2 -20
  8. package/dist/use-cases/match/prepareMatchList.server.d.ts.map +1 -0
  9. package/dist/use-cases/match/prepareMatchScore.server.d.ts +33 -0
  10. package/dist/use-cases/match/prepareMatchScore.server.d.ts.map +1 -0
  11. package/dist/use-cases/match/usePrepareMatchList.d.ts +20 -0
  12. package/dist/use-cases/match/usePrepareMatchList.d.ts.map +1 -0
  13. package/dist/use-cases/match/usePrepareMatchScore.d.ts +31 -0
  14. package/dist/use-cases/match/usePrepareMatchScore.d.ts.map +1 -0
  15. package/dist/use-cases/team/index.d.ts +4 -2
  16. package/dist/use-cases/team/index.d.ts.map +1 -1
  17. package/dist/use-cases/team/{prepareTeamMatches.d.ts → prepareTeamMatches.server.d.ts} +3 -26
  18. package/dist/use-cases/team/prepareTeamMatches.server.d.ts.map +1 -0
  19. package/dist/use-cases/team/usePrepareTeamMatches.d.ts +26 -0
  20. package/dist/use-cases/team/usePrepareTeamMatches.d.ts.map +1 -0
  21. package/package.json +1 -1
  22. package/dist/use-cases/match/prepareMatchList.d.ts.map +0 -1
  23. package/dist/use-cases/match/prepareMatchScore.d.ts +0 -62
  24. package/dist/use-cases/match/prepareMatchScore.d.ts.map +0 -1
  25. 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
- }, st = {
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
- }, it = class {
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 = st;
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 it();
618
- function ot(e) {
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 ye(e) {
725
+ function _e(e) {
625
726
  return typeof e == "number" && e >= 0 && e !== 1 / 0;
626
727
  }
627
- function at(e, t) {
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 ut = Object.prototype.hasOwnProperty;
737
+ var gt = Object.prototype.hasOwnProperty;
637
738
  function ee(e, t) {
638
739
  if (e === t)
639
740
  return e;
640
- const r = _e(e) && _e(t);
641
- if (!r && !(ve(e) && ve(t))) return t;
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 : ut.call(e, d)) && l++;
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 _e(e) {
768
+ function ve(e) {
668
769
  return Array.isArray(e) && e.length === Object.keys(e).length;
669
770
  }
670
- function ve(e) {
671
- if (!be(e))
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 !(!be(r) || !r.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
778
+ return !(!Ee(r) || !r.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
678
779
  }
679
- function be(e) {
780
+ function Ee(e) {
680
781
  return Object.prototype.toString.call(e) === "[object Object]";
681
782
  }
682
- function Ee(e, t, r) {
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 ct(e, t) {
799
+ function yt(e, t) {
699
800
  return typeof e == "function" ? e(...t) : !!e;
700
801
  }
701
- var lt = class extends ne {
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
- }, dt = new lt();
739
- function Te() {
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 ft = ot;
762
- function ht() {
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 = ft;
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 De = ht(), mt = class extends ne {
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
- }, pt = new mt();
853
- function gt(e) {
854
- return (e ?? "online") === "online" ? pt.isOnline() : !0;
953
+ }, St = new Tt();
954
+ function Ot(e) {
955
+ return (e ?? "online") === "online" ? St.isOnline() : !0;
855
956
  }
856
- function yt(e, t) {
957
+ function It(e, t) {
857
958
  return {
858
959
  fetchFailureCount: 0,
859
960
  fetchFailureReason: null,
860
- fetchStatus: gt(t.networkMode) ? "fetching" : "paused",
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 _t = class extends ne {
968
+ var Rt = class extends ne {
868
969
  constructor(e, t) {
869
- super(), this.options = t, this.#t = e, this.#i = null, this.#s = Te(), this.bindMethods(), this.setOptions(t);
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), Se(this.#e, this.options) ? this.#l() : this.updateResult(), this.#v());
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 && Oe(
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 bt(this, r) && (this.#r = r, this.#d = this.options, this.#a = this.#e.state), r;
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 || !ye(e))
1087
+ if (Y || this.#r.isStale || !_e(e))
987
1088
  return;
988
- const r = at(this.#r.dataUpdatedAt, e) + 1;
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 || !ye(this.#o) || this.#o === 0) && (this.#c = H.setInterval(() => {
998
- (this.options.refetchIntervalInBackground || dt.isFocused()) && this.#l();
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 = !_ && Se(e, t), C = _ && Oe(e, r, t, s);
1115
+ const _ = this.hasListeners(), R = !_ && Oe(e, t), C = _ && Ie(e, r, t, s);
1015
1116
  (R || C) && (d = {
1016
1117
  ...d,
1017
- ...yt(h.data, e.options)
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 = Ee(
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 = Ee(i?.data, f, t), this.#f = f, this.#i = null;
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 = Te();
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
- De.batch(() => {
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 vt(e, t) {
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 Se(e, t) {
1139
- return vt(e, t) || e.state.data !== void 0 && re(e, t, t.refetchOnMount);
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 Oe(e, t, r, s) {
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 bt(e, t) {
1255
+ function kt(e, t) {
1155
1256
  return !te(e.getCurrentResult(), t);
1156
1257
  }
1157
1258
  var W = { exports: {} }, x = {};
1158
- var Ie;
1159
- function Et() {
1160
- if (Ie) return x;
1161
- Ie = 1;
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 Re;
1182
- function Tt() {
1183
- return Re || (Re = 1, process.env.NODE_ENV !== "production" && (function() {
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 Ce;
1413
- function St() {
1414
- return Ce || (Ce = 1, process.env.NODE_ENV === "production" ? W.exports = Et() : W.exports = Tt()), W.exports;
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
- St();
1417
- var Ot = T.createContext(
1517
+ Dt();
1518
+ var Pt = T.createContext(
1418
1519
  void 0
1419
- ), It = (e) => {
1420
- const t = T.useContext(Ot);
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
- }, Pe = T.createContext(!1), Rt = () => T.useContext(Pe);
1425
- Pe.Provider;
1426
- function Ct() {
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 kt = T.createContext(Ct()), At = () => T.useContext(kt), Nt = (e, t) => {
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
- }, Dt = (e) => {
1541
+ }, Yt = (e) => {
1441
1542
  T.useEffect(() => {
1442
1543
  e.clearReset();
1443
1544
  }, [e]);
1444
- }, Pt = ({
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 || ct(r, [e.error, s])), Lt = (e) => {
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
- }, Ft = (e, t) => e.isLoading && e.isFetching && !t, Mt = (e, t) => e?.suspense && t.isPending, ke = (e, t, r) => t.fetchOptimistic(e).catch(() => {
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 xt(e, t, r) {
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 = Rt(), i = At(), u = It(), a = u.defaultQueryOptions(e);
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", Lt(a), Nt(a, i), Dt(i);
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(De.batchCalls(y)) : Z;
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]), Mt(a, h))
1491
- throw ke(a, l, i);
1492
- if (Pt({
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 && Ft(h, s) && (o ? (
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
- ke(a, l, i)
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 xt(e, _t);
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: () => Bt(e, {
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
- Bt as prepareMatchScore,
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={};x.Fragment=P,x.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)},x.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)}})()),x}var Re;function Ft(){return Re||(Re=1,process.env.NODE_ENV==="production"?w.exports=Dt():w.exports=Lt()),w.exports}Ft();var Mt=E.createContext(void 0),jt=e=>{const t=E.useContext(Mt);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Ce=E.createContext(!1),xt=()=>E.useContext(Ce);Ce.Provider;function Ut(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Yt=E.createContext(Ut()),$t=()=>E.useContext(Yt),qt=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},Bt=e=>{E.useEffect(()=>{e.clearReset()},[e])},Qt=({result:e,errorResetBoundary:t,throwOnError:r,query:s,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(a&&e.data===void 0||bt(r,[e.error,s])),Ht=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))}},Wt=(e,t)=>e.isLoading&&e.isFetching&&!t,Vt=(e,t)=>e?.suspense&&t.isPending,ke=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function wt(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=xt(),a=$t(),u=jt(),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",Ht(o),qt(o,a),Bt(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(Te.batchCalls(_)):X;return l.updateResult(),h},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),E.useEffect(()=>{l.setOptions(o)},[o,l]),Vt(o,m))throw ke(o,l,a);if(Qt({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&&!F&&Wt(m,s)&&(i?ke(o,l,a):u.getQueryCache().get(o.queryHash)?.promise)?.catch(X).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?m:l.trackResult(m)}function U(e,t){return wt(e,At)}function Ae(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?Gt(t):void 0}}function Gt(e){return{main:e}}function Kt(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 zt(e,t){if(t.type==="LIVE")return{current:e.currentPeriod,label:e.currentMinute?`${e.currentMinute}'`:void 0}}function Jt(e){if(e.type==="LIVE")return{color:"#ef4444"}}function Ne(e){return{id:e.id,sport:"football",competitorOne:Ae(e.competitorOne,e.score?.competitorOne),competitorTwo:Ae(e.competitorTwo,e.score?.competitorTwo),status:Kt(e.status),period:zt(e.timing,e.status),liveIndicator:Jt(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 Xt(e){return e.toISOString().split("T")[0]}async function Pe(e,t){const r=await he(e,{languageCode:t?.languageCode});return Ne(r)}function Zt(e,t){return U({queryKey:["match-score",e,{lang:t?.languageCode}],queryFn:()=>Pe(e,{languageCode:t?.languageCode}),initialData:t?.initialData,enabled:t?.enabled??!0,refetchInterval:t?.refetchInterval??!1,refetchIntervalInBackground:!1,staleTime:3e4})}function er(e){return{match:Ne(e),dateGroup:Xt(e.timing.kickoffTime),competitionGroup:e.competition?.name,competitionLogo:e.competition?.assets?.logo,competitionSubtitle:e.competition?.country?.name,roundGroup:e.round?.name}}function tr(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 Y(e){const t=tr(e);return{items:(await me(t)).map(a=>er(a)),variant:e.variant}}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 U({queryKey:t,queryFn:()=>Y(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 Y({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 Y({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 Y({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 U({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 U({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 U({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=Y,f.prepareMatchScore=Pe,f.prepareTeamFixtures=Le,f.prepareTeamMatches=Fe,f.prepareTeamResults=De,f.setConfig=Qe,f.usePrepareMatchList=rr,f.usePrepareMatchScore=Zt,f.usePrepareTeamFixtures=sr,f.usePrepareTeamMatches=ar,f.usePrepareTeamResults=nr,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}));
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/prepareMatchScore";
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/prepareMatchScore";
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,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,QAAQ,CAAC;AAGhB,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACnG,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGlH,YAAY,EACR,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC5B,MAAM,QAAQ,CAAC"}
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, usePrepareMatchScore } from "./prepareMatchScore";
7
- export type { PrepareMatchScoreOptions, PrepareMatchScoreResult } from "./prepareMatchScore";
8
- export { prepareMatchList, usePrepareMatchList } from "./prepareMatchList";
9
- export type { PrepareMatchListOptions, PrepareMatchListResult, MatchListVariant, } from "./prepareMatchList";
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;AAEH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,YAAY,EACR,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,GACnB,MAAM,oBAAoB,CAAC"}
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 Use-Case
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, usePrepareTeamResults, prepareTeamFixtures, usePrepareTeamFixtures, prepareTeamMatches, usePrepareTeamMatches, } from "./prepareTeamMatches";
7
- export type { PrepareTeamMatchesBaseOptions, PrepareTeamResultsOptions, PrepareTeamFixturesOptions, PrepareTeamMatchesOptions, UseTeamMatchesHookOptions, } from "./prepareTeamMatches";
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;AAEH,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACR,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC5B,MAAM,sBAAsB,CAAC"}
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 Use-Cases
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,7 +1,7 @@
1
1
  {
2
2
  "name": "fansunited-data-layer",
3
3
  "private": false,
4
- "version": "0.0.3",
4
+ "version": "0.0.4",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -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"}