fansunited-data-layer 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/sportal365-sports/basketball/games/index.d.ts.map +1 -1
- package/api/sportal365-sports/basketball/games/transformers/game.d.ts.map +1 -1
- package/api/sportal365-sports/football/matches/index.d.ts.map +1 -1
- package/api/sportal365-sports/tennis/matches/index.d.ts.map +1 -1
- package/api/sportal365-sports/tennis/matches/transformers/match.d.ts.map +1 -1
- package/api/sportal365-sports/tennis/matches/types.d.ts +1 -1
- package/api/sportal365-sports/tennis/matches/types.d.ts.map +1 -1
- package/client.cjs +1 -1
- package/client.js +2 -2
- package/fansunited-data-layer.cjs +1 -1
- package/fansunited-data-layer.js +120 -110
- package/matches-B-ZxR-B9.cjs +1 -0
- package/{matches-KOom0gwu.js → matches-B8E7KjZU.js} +1 -0
- package/package.json +1 -1
- package/matches-DRzEEGm5.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/basketball/games/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,KAAK,EAAqB,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAGhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,CAAC,EAAE,6BAA6B,EACvC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/basketball/games/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,KAAK,EAAqB,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAGhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,CAAC,EAAE,6BAA6B,EACvC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,CAwB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/basketball/games/transformers/game.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAQhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/basketball/games/transformers/game.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAQhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAkJlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAoC7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/football/matches/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAMR,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,iCAAiC,EACjC,iCAAiC,EACjC,yBAAyB,EACzB,2BAA2B,EAC9B,MAAM,SAAS,CAAC;AAWjB,YAAY,EACR,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,iCAAiC,EACjC,iCAAiC,EACjC,yBAAyB,EACzB,2BAA2B,EAC3B,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,GAClB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,CAAC,CAwBxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,6BAA6B,EACvC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiB/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,8BAA8B,EACxC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAiB/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,2BAA2B,EACrC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAuB5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iCAAiC,EAC3C,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAiBlC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iCAAiC,EAC3C,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAiBnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,yBAAyB,EAClC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsD1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,CAAC,EAAE,2BAA2B,EACrC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/football/matches/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAMR,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,iCAAiC,EACjC,iCAAiC,EACjC,yBAAyB,EACzB,2BAA2B,EAC9B,MAAM,SAAS,CAAC;AAWjB,YAAY,EACR,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,iCAAiC,EACjC,iCAAiC,EACjC,yBAAyB,EACzB,2BAA2B,EAC3B,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,GAClB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,CAAC,CAwBxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,6BAA6B,EACvC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiB/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,8BAA8B,EACxC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAiB/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,2BAA2B,EACrC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAuB5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iCAAiC,EAC3C,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAiBlC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iCAAiC,EAC3C,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAiBnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,yBAAyB,EAClC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsD1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,CAAC,EAAE,2BAA2B,EACrC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,CAkC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/tennis/matches/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,KAAK,EAAkB,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAGzE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,CAAC,EAAE,yBAAyB,EACnC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/tennis/matches/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,KAAK,EAAkB,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAGzE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,CAAC,EAAE,yBAAyB,EACnC,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC,CA4B1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/tennis/matches/transformers/match.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAUhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/api/sportal365-sports/tennis/matches/transformers/match.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,aAAa,EAUhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,UAAU,CAAC;AA2MrE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CA2CvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/tennis/matches/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,eAAe,CAAC;IACxC,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,eAAe,GAAG,KAAK,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/api/sportal365-sports/tennis/matches/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,eAAe,CAAC;IACxC,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,eAAe,GAAG,KAAK,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAMD,MAAM,MAAM,qBAAqB,GAC3B,aAAa,GACb,MAAM,GACN,UAAU,GACV,WAAW,GACX,aAAa,GACb,WAAW,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,yBAAyB;IACtC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,uBAAuB;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAErC,iCAAiC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;IAEvC,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,gBAAgB,CAAC;CAC3B"}
|
package/client.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),B=require("./matches-
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),B=require("./matches-B-ZxR-B9.cjs");var at={exports:{}},$e={};var ya;function Ss(){if(ya)return $e;ya=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function a(i,s,r){var n=null;if(r!==void 0&&(n=""+r),s.key!==void 0&&(n=""+s.key),"key"in s){r={};for(var o in s)o!=="key"&&(r[o]=s[o])}else r=s;return s=r.ref,{$$typeof:e,type:i,key:n,ref:s!==void 0?s:null,props:r}}return $e.Fragment=t,$e.jsx=a,$e.jsxs=a,$e}var Ue={};var wa;function Cs(){return wa||(wa=1,process.env.NODE_ENV!=="production"&&(function(){function e(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===P?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case T:return"Fragment";case O:return"Profiler";case I:return"StrictMode";case g:return"Suspense";case f:return"SuspenseList";case M:return"Activity"}if(typeof w=="object")switch(typeof w.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),w.$$typeof){case v:return"Portal";case G:return w.displayName||"Context";case C:return(w._context.displayName||"Context")+".Consumer";case A:var R=w.render;return w=w.displayName,w||(w=R.displayName||R.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case y:return R=w.displayName||null,R!==null?R:e(w.type)||"Memo";case b:R=w._payload,w=w._init;try{return e(w(R))}catch{}}return null}function t(w){return""+w}function a(w){try{t(w);var R=!1}catch{R=!0}if(R){R=console;var F=R.error,N=typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object";return F.call(R,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",N),t(w)}}function i(w){if(w===T)return"<>";if(typeof w=="object"&&w!==null&&w.$$typeof===b)return"<...>";try{var R=e(w);return R?"<"+R+">":"<...>"}catch{return"<...>"}}function s(){var w=D.A;return w===null?null:w.getOwner()}function r(){return Error("react-stack-top-frame")}function n(w){if(U.call(w,"key")){var R=Object.getOwnPropertyDescriptor(w,"key").get;if(R&&R.isReactWarning)return!1}return w.key!==void 0}function o(w,R){function F(){re||(re=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",R))}F.isReactWarning=!0,Object.defineProperty(w,"key",{get:F,configurable:!0})}function l(){var w=e(this.type);return ie[w]||(ie[w]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),w=this.props.ref,w!==void 0?w:null}function c(w,R,F,N,ne,Ie){var $=F.ref;return w={$$typeof:_,type:w,key:R,props:F,_owner:N},($!==void 0?$:null)!==null?Object.defineProperty(w,"ref",{enumerable:!1,get:l}):Object.defineProperty(w,"ref",{enumerable:!1,value:null}),w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(w,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(w,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ne}),Object.defineProperty(w,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Ie}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w}function d(w,R,F,N,ne,Ie){var $=R.children;if($!==void 0)if(N)if(j($)){for(N=0;N<$.length;N++)p($[N]);Object.freeze&&Object.freeze($)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else p($);if(U.call(R,"key")){$=e(w);var ee=Object.keys(R).filter(function(Ge){return Ge!=="key"});N=0<ee.length?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}",Z[$+N]||(ee=0<ee.length?"{"+ee.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
package/client.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import Ds, { createContext as Xe, useContext as Je, useMemo as P, useCallback as v, useState as U, useEffect as ue, useRef as Ls } from "react";
|
|
3
|
-
import { s as xs, w as Ns, k as Gs, v as ga, x as fa, y as ya, m as wa, o as $s, r as Us, n as Bs, z as Hs, B as Vs, j as Ws } from "./matches-
|
|
4
|
-
import { A as fh } from "./matches-
|
|
3
|
+
import { s as xs, w as Ns, k as Gs, v as ga, x as fa, y as ya, m as wa, o as $s, r as Us, n as Bs, z as Hs, B as Vs, j as Ws } from "./matches-B8E7KjZU.js";
|
|
4
|
+
import { A as fh } from "./matches-B8E7KjZU.js";
|
|
5
5
|
var nt = { exports: {} }, Be = {};
|
|
6
6
|
var _a;
|
|
7
7
|
function zs() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./matches-DRzEEGm5.cjs"),L=require("react");function me(e){return{entityType:"tournament",id:e.id.toString(),name:e.name,slug:e.slug,gender:e.gender,type:e.type,region:e.region,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:d.toProviderRefArray(e.uuid)}}function ge(e){return{entityType:"player",id:e.id.toString(),name:e.name,slug:e.slug,position:e.position,gender:e.gender,birthdate:e.birthdate,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:d.toProviderRefArray(e.uuid)}}function fe(e){return{entityType:"team",id:e.id.toString(),name:e.name,slug:e.slug,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,type:e.type==="national"?"national":"club",gender:e.gender,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:d.toProviderRefArray(e.uuid)}}function pe(e){return{entityType:"president",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:d.toProviderRefArray(e.uuid)}}function ye(e){return{entityType:"venue",id:e.id.toString(),name:e.name,slug:e.slug,city:{id:e.city.id.toString(),name:e.city.name,country:{id:e.city.country.id.toString(),name:e.city.country.name,code:void 0,flag:e.city.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.city.country.uuid)},providerRef:d.toProviderRefArray(e.city.uuid)},country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.country.uuid)},profile:{latitude:e.profile.lat,longitude:e.profile.lng,capacity:e.profile.capacity},assets:e.url_thumb?{image:e.url_thumb}:void 0,providerRef:d.toProviderRefArray(e.uuid)}}function he(e){return{entityType:"coach",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:d.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:d.toProviderRefArray(e.uuid)}}function Te(e){switch(e.entity_type){case"tournament":return me(e);case"player":return ge(e);case"team":return fe(e);case"president":return pe(e);case"venue":return ye(e);case"coach":return he(e);default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function ve(e,t){if(!e.query||e.query.trim()==="")return{results:[],query:e.query||""};const o=t||d.getConfig(),{sportal365Sports:n}=o,s=e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["tournament","player","team","president","venue","coach"],i=await d.footballHttp.get({path:"/search",params:{query:e.query.trim(),entity_type:s.join(","),language_code:e.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e.languageCode??n?.languageCode??"en"},next:e.next,config:o});return!i||i.length===0?{results:[],query:e.query}:{results:i.map(Te),query:e.query}}const Se=d.createHttpClient(d.SPORTAL365_BASKETBALL_DOMAIN);function _e(e){return{code:{FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started"}[e.type]??"not_started",name:e.name,shortName:e.short_name,type:e.type}}function z(e){return{id:e.id,name:e.name,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type==="national"?"national":"club",gender:e.gender}}function Ce(e){return{kickoffTime:new Date(e.game_time),currentMinute:e.minute}}function Ae(e){if(!e.season?.competition)return;const t=e.season.competition;return{id:t.id,name:t.name,slug:t.slug,type:"LEAGUE",gender:t.gender,region:t.region,country:t.country?{id:t.country.id,name:t.country.name}:void 0,season:{id:e.season.id,name:e.season.name,status:e.season.status},stage:e.stage?{id:e.stage.id,name:e.stage.name,type:e.stage.type}:void 0}}function Fe(e){if(e)return{id:e.id,name:e.name,slug:e.slug}}function Me(e){if(!e||e.length===0)return;let t=0,o=0;const n=[];for(const s of e)t+=s.home,o+=s.away,n.push({competitorOne:String(s.home),competitorTwo:String(s.away)});return{competitorOne:String(t),competitorTwo:String(o),breakdown:{total:{competitorOne:String(t),competitorTwo:String(o)},periods:n}}}function Oe(e){if(e.winner)return{competitorId:e.winner.id}}function Re(e){return{id:e.id,slug:e.slug,status:_e(e.status),timing:Ce(e),competitorOne:z(e.home_team),competitorTwo:z(e.away_team),competition:Ae(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:d.toProviderRefArray(e.round.uuid)}:void 0,venue:Fe(e.arena),score:Me(e.score),winner:Oe(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,providerRef:[{provider:"sportal365-basketball",id:e.id}]}}async function Pe(e,t){const o=t||d.getConfig(),{sportal365Sports:n}=o;return(await Se.get({path:"/games",params:{offset:"0",limit:"1000",competition_list:e?.competitionList,status_type:e?.statusTypes,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).games.map(Re)}const Ne=d.createHttpClient(d.SPORTAL365_TENNIS_DOMAIN);function be(e){return{code:{FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed"}[e.type]??"not_started",name:e.name,shortName:e.short_name,type:e.type}}function J(e){if(e.type==="PLAYER")return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"player",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender};if(e.type==="TEAM_DOUBLE"&&e.details&&e.details.length===2){const t={id:e.details[0].id,name:e.details[0].name,shortName:e.details[0].short_name,threeLetterCode:e.details[0].three_letter_code,type:"player",country:e.details[0].country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details[0].gender},o={id:e.details[1].id,name:e.details[1].name,shortName:e.details[1].short_name,threeLetterCode:e.details[1].three_letter_code,type:"player",country:e.details[1].country?{id:e.details[1].country.id,name:e.details[1].country.name}:void 0,gender:e.details[1].gender};return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"pair",players:[t,o]}}else return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"national",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender}}function Ee(e){return{kickoffTime:new Date(e.scheduled_start_time),phaseStartedAt:e.started_at?new Date(e.started_at):void 0,finishedAt:e.finished_at?new Date(e.finished_at):void 0}}function Le(e){if(!e.tournament)return;const t=e.tournament;return{id:t.competition?.id??t.id,name:t.competition?.name??t.name,slug:t.competition?.slug??t.slug,type:"TOURNAMENT",gender:t.gender,region:"INTERNATIONAL",country:t.country?{id:t.country.id,name:t.country.name}:void 0}}function Ge(e){if(!e.results||e.results.length===0)return;const t=[];let o=0,n=0;for(const s of e.results){const i=s.values.find(a=>a.position==="1"),r=s.values.find(a=>a.position==="2");i&&r&&(t.push({competitorOne:i.value,competitorTwo:r.value}),parseInt(i.value)>parseInt(r.value)&&o++,parseInt(r.value)>parseInt(i.value)&&n++)}return{competitorOne:String(o),competitorTwo:String(n),breakdown:{total:{competitorOne:String(o),competitorTwo:String(n)},periods:t}}}function Ie(e){const t=e.participants.find(o=>o.winner==="YES");if(t)return{competitorId:t.id}}function De(e){const t=e.participants.sort((o,n)=>o.position-n.position);return{id:e.id,slug:e.slug,status:be(e.status),timing:Ee(e),competitorOne:J(t[0]),competitorTwo:J(t[1]),competition:Le(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:d.toProviderRefArray(e.round.uuid)}:void 0,score:Ge(e),winner:Ie(e),coverage:e.coverage?.type==="NOT_LIVE"?"UNKNOWN":e.coverage?.type,metadata:{matchType:e.type,bestOfSets:e.best_of_sets,surface:e.tournament?.surface,indoorOutdoor:e.tournament?.indoor_outdoor},providerRef:[{provider:"sportal365-tennis",id:e.id}]}}async function ke(e,t){const o=t||d.getConfig(),{sportal365Sports:n}=o;return(await Ne.get({path:"/matches/livescore",params:{date:e?.date,utc_offset:e?.utcOffset?.toString(),offset:"0",limit:"1000",type:e?.type,gender:e?.gender,status_type:e?.statusType,competition_list:e?.competitionList,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).matches.map(De)}const He=d.createHttpClient(d.SPORTAL365_SPORTS_SEARCH_DOMAIN);function M(e){return{language:e.language,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0}}function O(e){if(!(!e||!e.url))return{url:e.url}}function E(e){if(e)return{id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,providerRef:e.id}}function j(e){return{entityType:"team",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,competitionIds:e.competition_ids,type:e.type,national:e.national,undecided:e.undecided,providerRef:e.id}}function Z(e){return{entityType:"city",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),providerRef:e.id}}function Ue(e){return{entityType:"horse",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,providerRef:e.id}}function Be(e){return{entityType:"player",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,position:e.position??void 0,providerRef:e.id}}function $e(e){return{entityType:"coach",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function xe(e){return{entityType:"referee",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function We(e){return{entityType:"venue",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),city:e.city?Z(e.city):void 0,providerRef:e.id}}function qe(e){return{entityType:e.entity_type,id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:E(e.country),gender:e.gender,type:e.type??void 0,region:e.region??void 0,providerRef:e.id}}function Ve(e){return{entityType:"match",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,competitionId:e.competition_id??void 0,startTime:e.start_time??void 0,homeTeam:e.home_team?j(e.home_team):void 0,awayTeam:e.away_team?j(e.away_team):void 0,providerRef:e.id}}function je(e){return{entityType:"country",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,providerRef:e.id}}function Ye(e){switch(e.entity_type){case"team":return j(e);case"city":return Z(e);case"horse":return Ue(e);case"player":return Be(e);case"coach":return $e(e);case"referee":return xe(e);case"venue":return We(e);case"tournament":case"competition":return qe(e);case"match":return Ve(e);case"country":return je(e);default:{const t=e;throw new Error(`Unknown entity type: ${t.entity_type}`)}}}async function Ke(e={},t){const o=t??d.getConfig(),n={};e.name&&(n.name=e.name),e.entityTypes&&e.entityTypes.length>0&&(n.entity_type=e.entityTypes.join(",")),e.sports&&e.sports.length>0&&(n.sport=e.sports.join(",")),e.eventStartTime&&(n.event_start_time=e.eventStartTime),e.ids&&e.ids.length>0&&(n.ids=e.ids.join(",")),e.competitionIds&&e.competitionIds.length>0&&(n.competition_ids=e.competitionIds.join(",")),e.domain&&(n.domain=e.domain),e.inputLanguage&&(n.input_language=e.inputLanguage),e.translationLanguage&&(n.translation_language=e.translationLanguage),e.limit!==void 0&&(n.limit=e.limit.toString()),e.offset!==void 0&&(n.offset=e.offset.toString());const s=await He.get({path:"/suggest",params:n,next:e.next,config:o});return!s.results||s.results.length===0?{results:[],query:e.name}:{results:s.results.map(Ye),query:e.name}}const ze=d.createHttpClient(d.SPORTAL365_STATISTICS_DOMAIN);function Je(e,t){return{teamId:e.id,teamName:e.name,seasonId:t,statistics:e.statistics.map(o=>({key:o.id,value:o.value,label:o.name}))}}async function Qe(e,t){const o=t||d.getConfig(),n=e.next??{revalidate:600},s=await ze.get({path:"/statistics/aggregate",params:{participant_ids:e.teamId,season_ids:e.seasonId,participant_type:"TEAM"},next:n,config:o});if(!s.data||s.data.length===0)throw new Error(`No statistics found for team ${e.teamId} in season ${e.seasonId}`);return Je(s.data[0],e.seasonId)}function Xe(e){const t=e.replace(/\/$/,"");function o(n){return`${t}${n}`}return{async get(n){const s=n.config||d.getConfig(),{fansUnited:i}=s;if(!i)throw new Error("Fans United configuration is missing. Add 'fansUnited' with 'apiKey' and 'clientId' to your config.");if(!i.apiKey||!i.clientId)throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");const r=new URL(o(n.path));if(r.searchParams.set("key",i.apiKey),r.searchParams.set("client_id",i.clientId),n.params)for(const[m,c]of Object.entries(n.params))c!==void 0&&(Array.isArray(c)?c.length>0&&r.searchParams.set(m,c.join(",")):r.searchParams.set(m,c));const a=3e4,u=new URL(r.toString());u.searchParams.delete("key"),u.searchParams.delete("client_id"),console.log("🔗 FansUnited API URL:",u.toString());const l=await fetch(r.toString(),{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",...n.headers},signal:AbortSignal.timeout(a),...n.next&&{next:n.next}});if(!l.ok){let m=`Fans United API error: ${l.status} ${l.statusText}`;try{const c=await l.text();c&&(m+=` - ${c}`)}catch(c){console.error("[Fans United HTTP] Failed to read error response body:",{error:c instanceof Error?c.message:String(c),status:l.status,statusText:l.statusText})}throw new Error(m)}return l.json()}}}const Ze="https://football.fansunitedapi.com",b=Xe(Ze);function we(e){return{id:String(e.id),name:e.name,active:e.active,providerRef:[{provider:"fansunited",id:String(e.id)}]}}function et(e){const t={id:String(e.id),name:e.name,shortName:e.short_name,slug:e.slug,type:e.type||"LEAGUE",region:e.region,gender:e.gender,providerRef:[{provider:"fansunited",id:String(e.id)}]};return e.country&&(t.country={id:String(e.country.id),name:e.country.name,code:e.country.code,flag:e.country.assets?.flag,providerRef:[{provider:"fansunited",id:String(e.country.id)}]}),e.assets?.logo&&(t.assets={logo:e.assets.logo}),e.seasons&&e.seasons.length>0&&(t.seasons=e.seasons.map(we)),e.current_season&&(t.season={id:String(e.current_season.id),name:e.current_season.name,status:e.current_season.active?"ACTIVE":"INACTIVE"}),t}function tt(e){return e.map(et)}async function ot(e,t){const o={};e?.lang?o.lang=e.lang:o.lang="EN",e?.sortField&&(o.sort_field=e.sortField),e?.sortOrder&&(o.sort_order=e.sortOrder),e?.page!==void 0&&(o.page=String(e.page)),e?.perPage!==void 0&&(o.per_page=String(e.perPage)),e?.countryId!==void 0&&(o.country_id=String(e.countryId)),e?.active!==void 0&&(o.active=e.active?"1":"0");const n=await b.get({path:"/v1/competitions",params:o,config:t,next:e?.next}),s=n.data.map(l=>l.id),i=new Set(s);s.length!==i.size&&console.warn("⚠️ API returned duplicate competitions!");const r=tt(n.data),a=new Set,u=r.filter(l=>a.has(l.id)?!1:(a.add(l.id),!0));return r.length!==u.length&&console.warn(`Removed ${r.length-u.length} duplicate competitions`),u}function nt(e){return{id:e.id,name:e.name,code:e.country_code,assets:e.assets?.flag?{flag:e.assets.flag}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function st(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?nt(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function it(e){return st(e.data)}async function rt(e,t,o){const n=o||d.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/competitions/${e}`,params:s,next:t?.next,config:n});return it(i)}function at(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function w(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?e.gender.toUpperCase():void 0,country:e.country?at(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,metadata:e.colors?{shirtColors:e.colors.primary?[{type:"home",colorCode:e.colors.primary}]:void 0}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ct(e){return w(e.data)}function lt(e){return e.data.map(w)}async function dt(e,t,o){const n=o||d.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/teams/${e}`,params:s,next:t?.next,config:n});return ct(i)}async function ut(e,t){const o=t||d.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.teamIds&&(n.team_ids=e.teamIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.national!==void 0&&(n.national=String(e.national)),e?.gender&&(n.gender=e.gender),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await b.get({path:"/v1/teams",params:n,next:e?.next,config:o});return lt(s)}function Y(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function mt(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,fullName:e.full_name??void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function gt(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ee(e){return{type:"player",id:e.id,name:e.name,position:e.position,birthdate:e.birth_date,country:e.country?Y(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,teams:e.teams?.map(mt),competitions:e.competitions?.map(gt),providerRef:[{provider:"fansunited",id:e.id}]}}function ft(e){return ee(e.data)}function pt(e){return e.data.map(ee)}async function yt(e,t,o){const n=o||d.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/players/${e}`,params:s,next:t?.next,config:n});return ft(i)}async function ht(e,t){const o=t||d.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.playerIds&&(n.player_ids=e.playerIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await b.get({path:"/v1/players",params:n,next:e?.next,config:o});return pt(s)}async function Tt(e,t,o){const n=o||d.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await b.get({path:`/v1/matches/${e}`,params:s,next:t?.next,config:n});return d.transformMatch(i)}async function vt(e,t){const o=t||d.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.competitions&&(n.competitions=e.competitions),e?.countries&&(n.countries=e.countries),e?.fromDate&&(n.from_date=e.fromDate),e?.toDate&&(n.to_date=e.toDate),e?.matches&&(n.matches=e.matches),e?.teams&&(n.teams=e.teams),e?.status&&(n.status=e.status),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder),e?.showDeleted!==void 0&&(n.show_deleted=e.showDeleted?"true":"false");const s=await b.get({path:"/v1/matches",params:n,next:e?.next,config:o});return d.transformMatches(s)}function K(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag||void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function St(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,type:e.type||"LEAGUE",region:e.region,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function _t(e){return{type:"player",id:e.id,name:e.name,position:e.position||void 0,gender:e.gender?.toUpperCase(),birthdate:e.birth_date||void 0,country:e.country?K(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ct(e){return{type:e.national?"national":"club",id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code||void 0,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function V(e){switch(e.entity_type){case"competition":{const t=St(e);return{source:"FOOTBALL",entityType:"competition",entityId:e.id,entityData:t}}case"player":{const t=_t(e);return{source:"FOOTBALL",entityType:"player",entityId:e.id,entityData:t}}case"team":{const t=Ct(e);return{source:"FOOTBALL",entityType:"team",entityId:e.id,entityData:t}}case"venue":case"coach":return null;default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function At(e,t){if(!e.query||e.query.trim()==="")return[];const o=t||d.getConfig(),n={q:e.query.trim()},i=(e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["competition","team","player"]).map(u=>{switch(u){case"team":return"teams";case"player":return"players";case"competition":return"competitions";default:return u}});n.entities=i.join(","),e.lang&&(n.lang=e.lang),e.limit&&(n.limit=String(e.limit));const r=await b.get({path:"/v1/search",params:n,next:e.next,config:o}),a=[];return r.data&&(r.data.competitions&&r.data.competitions.forEach(u=>{const l=V({...u,entity_type:"competition"});l&&a.push(l)}),r.data.teams&&r.data.teams.forEach(u=>{const l=V({...u,entity_type:"team"});l&&a.push(l)}),r.data.players&&r.data.players.forEach(u=>{const l=V({...u,entity_type:"player"});l&&a.push(l)})),a}function Ft(e){return!e.seasons||e.seasons.length===0?void 0:e.seasons.find(o=>o.active)??e.seasons[0]}function Mt(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED",a=new Date(s.timing.kickoffTime)>=o;return i&&r&&a});return n.sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()),n[0]}function Ot(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a});return n.sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime()),n[0]}function Rt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED"||s.status.type==="LIVE",a=new Date(s.timing.kickoffTime)>=o||s.status.type==="LIVE";return i&&r&&a}).sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime())}function Pt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a}).sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime())}function Nt(e,t,o){const n=o.filter(r=>r.status.type==="FINISHED"),s=o.filter(r=>r.status.type==="NOT_STARTED"||r.status.type==="POSTPONED"),i=t.entries.map(r=>{const a=r.competitor.id,u=n.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e),l=s.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e);let m,c;return u.forEach(g=>{const p=g.competitorOne.id===e,y=parseInt(g.score?.competitorOne??"0"),T=parseInt(g.score?.competitorTwo??"0"),R=p?y:T,C=p?T:y;let F;R>C?F="W":R===C?F="D":F="L";const P={result:F,score:`${y} - ${T}`,date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!1};p?m=P:c=P}),l.forEach(g=>{const p=g.competitorOne.id===e;p&&!m?m={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0}:!p&&!c&&(c={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0})}),{rank:r.rank,teamId:r.competitor.id,teamName:r.competitor.name,teamShortName:r.competitor.shortName,teamLogo:r.competitor.logo,gamesPlayed:r.stats.played??0,points:r.stats.points??0,homeResult:m,awayResult:c}});return{teamId:e,rows:i}}function bt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.goals??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.goals??0,i=n.seasonStatistics?.goals??0;if(i!==s)return i-s;const r=o.seasonStatistics?.assists??0;return(n.seasonStatistics?.assists??0)-r}).slice(0,t)}function Et(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.assists??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.assists??0,i=n.seasonStatistics?.assists??0;if(i!==s)return i-s;const r=o.seasonStatistics?.goals??0;return(n.seasonStatistics?.goals??0)-r}).slice(0,t)}function Lt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.appearances??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.appearances??0,i=n.seasonStatistics?.appearances??0;if(i!==s)return i-s;const r=o.seasonStatistics?.minutes??0;return(n.seasonStatistics?.minutes??0)-r}).slice(0,t)}function Gt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.minutes??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.minutes??0,i=n.seasonStatistics?.minutes??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function It(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.cleansheets??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.cleansheets??0,i=n.seasonStatistics?.cleansheets??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function Dt(e,t=10){return e.players.filter(o=>{const n=o.seasonStatistics?.yellowCards??0,s=o.seasonStatistics?.redCards??0;return n+s>0}).sort((o,n)=>{const s=o.seasonStatistics?.yellowCards??0,i=o.seasonStatistics?.redCards??0,r=n.seasonStatistics?.yellowCards??0,a=n.seasonStatistics?.redCards??0,u=s+i*3,l=r+a*3;return l!==u?l-u:a!==i?a-i:r-s}).slice(0,t)}function G(e){const t=new Map,o=new Map;return e.forEach(n=>{!n.mainEvents||n.mainEvents.length===0||n.mainEvents.forEach(s=>{if(s.primaryPlayer){const i=s.primaryPlayer.id;t.has(i)||t.set(i,{playerId:s.primaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);o.has(i)||o.set(i,new Set),o.get(i).add(n.id),(s.type==="GOAL"||s.type==="PENALTY_GOAL")&&(r.goals=(r.goals??0)+1),s.type==="YELLOW_CARD"&&(r.yellowCards=(r.yellowCards??0)+1),(s.type==="RED_CARD"||s.type==="YELLOW_RED_CARD")&&(r.redCards=(r.redCards??0)+1)}if(s.secondaryPlayer&&(s.type==="GOAL"||s.type==="PENALTY_GOAL")){const i=s.secondaryPlayer.id;t.has(i)||t.set(i,{playerId:s.secondaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);r.assists=(r.assists??0)+1,o.has(i)||o.set(i,new Set),o.get(i).add(n.id)}})}),o.forEach((n,s)=>{const i=t.get(s);i&&i.appearances!==void 0&&(i.appearances=n.size)}),t}function U(e){return Array.from(e.values()).map(t=>({...t,totalCards:(t.yellowCards??0)+(t.redCards??0)}))}function te(e,t=10){const o=G(e);return U(o).filter(s=>(s.goals??0)>0).sort((s,i)=>{const r=s.goals??0,a=i.goals??0;if(a!==r)return a-r;const u=s.assists??0;return(i.assists??0)-u}).slice(0,t)}function oe(e,t=10){const o=G(e);return U(o).filter(s=>(s.assists??0)>0).sort((s,i)=>{const r=s.assists??0,a=i.assists??0;if(a!==r)return a-r;const u=s.goals??0;return(i.goals??0)-u}).slice(0,t)}function ne(e,t=10){const o=G(e);return U(o).filter(s=>(s.totalCards??0)>0).sort((s,i)=>{const r=(s.yellowCards??0)+(s.redCards??0)*3,a=(i.yellowCards??0)+(i.redCards??0)*3;if(a!==r)return a-r;const u=s.redCards??0,l=i.redCards??0;if(l!==u)return l-u;const m=s.yellowCards??0;return(i.yellowCards??0)-m}).slice(0,t)}function se(e,t=10){const o=G(e);return U(o).filter(s=>(s.goals??0)+(s.assists??0)>0).sort((s,i)=>{const r=(s.goals??0)+(s.assists??0),a=(i.goals??0)+(i.assists??0);if(a!==r)return a-r;const u=s.goals??0,l=i.goals??0;if(l!==u)return l-u;const m=s.assists??0;return(i.assists??0)-m}).slice(0,t)}function ie(e){const t=G(e);return U(t).sort((n,s)=>{const i=n.appearances??0,r=s.appearances??0;if(r!==i)return r-i;const a=(n.goals??0)+(n.assists??0);return(s.goals??0)+(s.assists??0)-a})}function kt(e,t=10){return L.useMemo(()=>te(e,t),[e,t])}function Ht(e,t=10){return L.useMemo(()=>oe(e,t),[e,t])}function Ut(e,t=10){return L.useMemo(()=>ne(e,t),[e,t])}function Bt(e,t=10){return L.useMemo(()=>se(e,t),[e,t])}function $t(e){return L.useMemo(()=>ie(e),[e])}function re(e){return L.useMemo(()=>G(e),[e])}function xt(e,t){const o=re(e);return L.useMemo(()=>o.get(t),[o,t])}const ae=["GOAL","PENALTY_GOAL","OWN_GOAL"];function A(e,t){return t>0?e/t*100:0}function k(e,t){return t>0?e/t:0}function Wt(e,t=!1,o=2){return t?`${Math.round(e)}%`:Number.isInteger(e)?e.toString():e.toFixed(o)}function qt(e,t){const o=typeof e=="string"?parseFloat(e):e;if(isNaN(o)||t===0)return"0";const n=(o/t).toFixed(1);return`${o} (${n} avg)`}function Vt(e,t){const o=typeof e=="string"?parseFloat(e):e;return isNaN(o)||t===0?"0.0":(o/t).toFixed(1)}function jt(e){const t=parseFloat(e);return isNaN(t)?"0%":`${Math.round(t)}%`}function ce(e,t,o){if(e.status?.type!=="FINISHED"||!e.score)return null;const n=parseInt(e.score.competitorOne||"0"),s=parseInt(e.score.competitorTwo||"0"),i=o?n:s,r=o?s:n;let a=null,u=null;const l=e.score.breakdown?.halfTime;if(l){const p=parseInt(l.competitorOne||"0"),y=parseInt(l.competitorTwo||"0");a=o?p:y,u=o?y:p}const m=e.statistics;let c=null,g=null;if(m){const p=m.find?.(y=>y.type==="CORNERS");p&&(c=o?p.competitorOne:p.competitorTwo,g=o?p.competitorTwo:p.competitorOne)}return{goalsFor:i,goalsAgainst:r,halfTimeGoalsFor:a,halfTimeGoalsAgainst:u,cornersFor:c,cornersAgainst:g,isWin:i>r,isDraw:i===r,isLoss:i<r}}function q(e,t){return e.competitorOne.id===t}function le(e,t){return e.competitorTwo.id===t}function Yt(e,t){return q(e,t)||le(e,t)}function Kt(e){return e.status?.type==="FINISHED"}function zt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")}function Jt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")}function Qt(e,t,o){const n=e.filter(m=>{if(m.status?.type!=="FINISHED"||!m.score)return!1;const c=m.competitorOne.id===t||m.competitorTwo.id===t,g=m.competitorOne.id===o||m.competitorTwo.id===o;return c&&g});let s=0,i=0,r=0,a=0,u=0;n.forEach(m=>{const c=parseInt(m.score?.competitorOne||"0"),g=parseInt(m.score?.competitorTwo||"0"),p=m.competitorOne.id===t,y=p?c:g,T=p?g:c;a+=y,u+=T,y>T?s++:T>y?i++:r++});const l=n.length;return{totalMatches:l,homeTeamWins:s,awayTeamWins:i,draws:r,homeTeamGoals:a,awayTeamGoals:u,homeTeamWinPercentage:l>0?s/l*100:0,awayTeamWinPercentage:l>0?i/l*100:0,drawPercentage:l>0?r/l*100:0,homeTeamAvgGoals:l>0?a/l:0,awayTeamAvgGoals:l>0?u/l:0}}function Xt(e,t,o,n=5){return e.filter(i=>{if(i.status?.type!=="FINISHED"||!i.score)return!1;const r=i.competitorOne.id===t||i.competitorTwo.id===t,a=i.competitorOne.id===o||i.competitorTwo.id===o;return r&&a}).sort((i,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()).slice(0,n).map(i=>{const r=parseInt(i.score?.competitorOne||"0"),a=parseInt(i.score?.competitorTwo||"0"),u=i.competitorOne.id===t,l=u?r:a,m=u?a:r;let c;return l>m?c="home":m>l?c="away":c="draw",{id:i.id,date:new Date(i.timing.kickoffTime).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}),homeTeamName:i.competitorOne.name,awayTeamName:i.competitorTwo.name,homeTeamLogo:i.competitorOne.assets?.logo,awayTeamLogo:i.competitorTwo.assets?.logo,homeScore:r,awayScore:a,venue:i.venue?.name,winner:c}})}function Zt(e,t,o){return e.filter(n=>{const s=n.competitorOne.id===t,i=n.competitorTwo.id===t;return!s&&!i?!1:o==="home"?s:i}).map(n=>{const s=n.competitorOne.id===t;return ce(n,t,s)}).filter(n=>n!==null)}function Q(e,t,o,n){let s=0;for(const i of e){const r=i.competitorOne.id===t,a=i.competitorTwo.id===t;if(!r&&!a||o==="home"&&!r||o==="away"&&!a||i.status?.type!=="FINISHED")continue;const u=i.mainEvents;if(!u||!Array.isArray(u))continue;const l=u.filter(y=>y.type&&ae.includes(y.type)).sort((y,T)=>{const R=y.minute??0,C=T.minute??0;return R!==C?R-C:(y.injuryMinute??0)-(T.injuryMinute??0)});if(l.length===0)continue;const m=l[0],c=r?"ONE":"TWO",g=m.type==="OWN_GOAL";let p;g?p=m.competitorPosition!==c:p=m.competitorPosition===c,(n==="scored"&&p||n==="conceded"&&!p)&&s++}return s}function wt(e,t,o){let n=0;for(const s of e){const i=s.competitorOne.id===t,r=s.competitorTwo.id===t;if(!i&&!r||o==="home"&&!i||o==="away"&&!r||s.status?.type!=="FINISHED")continue;const a=s.mainEvents;a&&Array.isArray(a)&&n++}return n}function eo(e,t,o){const n=Zt(e,t,o),s=n.length;if(s===0)return{played:0,goalsForPerMatch:0,cleanSheets:0,wonToNil:0,scoringRate:0,scoredInBothHalves:0,scoredFirst:0,leadingAtHalfTime:0,goalsAgainstPerMatch:0,failedToScore:0,lostToNil:0,concedingRate:0,concededInBothHalves:0,concededFirst:0,losingAtHalfTime:0,avgCornersFor:0,avgCornersAgainst:0};const i=n.reduce((f,S)=>f+S.goalsFor,0),r=n.reduce((f,S)=>f+S.goalsAgainst,0),a=n.filter(f=>f.goalsAgainst===0).length,u=n.filter(f=>f.isWin&&f.goalsAgainst===0).length,l=n.filter(f=>f.goalsFor>0).length,m=n.filter(f=>f.goalsFor===0).length,c=n.filter(f=>f.isLoss&&f.goalsFor===0).length,g=n.filter(f=>f.goalsAgainst>0).length,p=n.filter(f=>f.halfTimeGoalsFor!==null),y=p.length,T=p.filter(f=>{const S=f.halfTimeGoalsFor,D=f.goalsFor-S;return S>0&&D>0}).length,R=Q(e,t,o,"scored"),C=wt(e,t,o),F=p.filter(f=>f.halfTimeGoalsFor>f.halfTimeGoalsAgainst).length,P=p.filter(f=>{const S=f.halfTimeGoalsAgainst,D=f.goalsAgainst-S;return S>0&&D>0}).length,B=Q(e,t,o,"conceded"),$=p.filter(f=>f.halfTimeGoalsAgainst>f.halfTimeGoalsFor).length,I=n.filter(f=>f.cornersFor!==null),x=I.reduce((f,S)=>f+(S.cornersFor||0),0),W=I.reduce((f,S)=>f+(S.cornersAgainst||0),0);return{played:s,goalsForPerMatch:k(i,s),cleanSheets:A(a,s),wonToNil:A(u,s),scoringRate:A(l,s),scoredInBothHalves:A(T,y),scoredFirst:A(R,C),leadingAtHalfTime:A(F,y),goalsAgainstPerMatch:k(r,s),failedToScore:A(m,s),lostToNil:A(c,s),concedingRate:A(g,s),concededInBothHalves:A(P,y),concededFirst:A(B,C),losingAtHalfTime:A($,y),avgCornersFor:k(x,I.length),avgCornersAgainst:k(W,I.length)}}function to(e,t){return e.filter(o=>o.status?.type!=="FINISHED"?!1:o.competitorOne.id===t||o.competitorTwo.id===t).map(o=>{const n=o.competitorOne.id===t,s=parseInt(o.score?.competitorOne||"0"),i=parseInt(o.score?.competitorTwo||"0"),r=s+i,a=o.periods;let u=null;if(a&&Array.isArray(a)){const l=a.find(m=>m.type==="FIRST_HALF"||m.type==="1ST_HALF");if(l?.score){const m=parseInt(l.score.competitorOne||"0"),c=parseInt(l.score.competitorTwo||"0");u=m+c}}return{totalGoals:r,halfTimeGoals:u,isHome:n}})}function h(e,t){return e.length===0?0:e.filter(n=>n>t).length/e.length*100}function oo(e,t){const o=to(e,t),n=o.filter(c=>c.isHome),s=o.filter(c=>!c.isHome),i=o.map(c=>c.totalGoals),r=n.map(c=>c.totalGoals),a=s.map(c=>c.totalGoals),u=o.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),l=n.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),m=s.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals);return{over05:{home:h(r,.5),total:h(i,.5),away:h(a,.5)},over15:{home:h(r,1.5),total:h(i,1.5),away:h(a,1.5)},over25:{home:h(r,2.5),total:h(i,2.5),away:h(a,2.5)},over35:{home:h(r,3.5),total:h(i,3.5),away:h(a,3.5)},over45:{home:h(r,4.5),total:h(i,4.5),away:h(a,4.5)},over55:{home:h(r,5.5),total:h(i,5.5),away:h(a,5.5)},over05HT:{home:h(l,.5),total:h(u,.5),away:h(m,.5)},over15HT:{home:h(l,1.5),total:h(u,1.5),away:h(m,1.5)},over25HT:{home:h(l,2.5),total:h(u,2.5),away:h(m,2.5)}}}function de(e,t){const o=e.competitorOne.id===t,n=e.competitorTwo.id===t;if(!o&&!n||!e.score)return null;const s=parseInt(o?e.score.competitorOne||"0":e.score.competitorTwo||"0"),i=parseInt(o?e.score.competitorTwo||"0":e.score.competitorOne||"0");let r;return s>i?r="W":s<i?r="L":r="D",{result:{score:`${s}:${i}`,result:r,isHome:o},isHome:o}}function no(e,t,o,n,s,i){const r=t?.entries.find(N=>N.competitor.id===e),a=o?.entries.find(N=>N.competitor.id===e),u=n?.entries.find(N=>N.competitor.id===e),l=s?.entries.find(N=>N.competitor.id===e),m=i?.entries.find(N=>N.competitor.id===e);if(!r)return null;const c=a?.stats?.goalsFor??0,g=u?.stats?.goalsFor??0,p=r?.stats?.goalsFor??0,y=l?.stats?.goalsAgainst??0,T=m?.stats?.goalsAgainst??0,R=r?.stats?.goalsAgainst??0,C=a?.stats?.played??0,F=u?.stats?.played??0,P=r?.stats?.played??0,B=P>0?p/P:0,$=P>0?R/P:0,I=B+$,x=C>0?c/C:0,W=F>0?g/F:0,f=C>0?y/C:0,S=F>0?T/F:0,D=x+f,ue=W+S;return{homeGoals:c,totalGoals:p,awayGoals:g,homeGamesPlayed:C,awayGamesPlayed:F,totalGamesPlayed:P,homeGoalsConceded:y,totalGoalsConceded:R,awayGoalsConceded:T,gfPerMatch:B,gaPerMatch:$,gfGaPerMatch:I,homeGfPerMatch:x,awayGfPerMatch:W,homeGaPerMatch:f,awayGaPerMatch:S,homeGfGaPerMatch:D,awayGfGaPerMatch:ue}}function _(e,t,o,n){const s=e.filter(r=>{const a=r.competitorOne.id===t,u=r.competitorTwo.id===t;return!(!a&&!u||r.status?.type!=="FINISHED"||n==="home"&&!a||n==="away"&&!u)}).sort((r,a)=>new Date(a.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime());if(s.length===0)return null;let i=0;for(const r of s){const a=r.competitorOne.id===t;if(o(r,t,a))i++;else break}return i>0?i:null}const v={win:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n>s},draw:e=>e.score?.competitorOne===e.score?.competitorTwo,loss:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n<s},noWin:(e,t,o)=>!v.win(e,t,o),noDraw:e=>!v.draw(e),noDefeat:(e,t,o)=>!v.loss(e,t,o),scored:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=1,conceded:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=1,noGoalScored:(e,t,o)=>!v.scored(e,t,o),noGoalConceded:(e,t,o)=>!v.conceded(e,t,o),over25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")>2,under25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")<3,scoredTwice:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=2,concededTwice:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=2};function H(e,t,o){return{win:_(e,t,v.win,o),draw:_(e,t,v.draw,o),loss:_(e,t,v.loss,o),noWin:_(e,t,v.noWin,o),noDraw:_(e,t,v.noDraw,o),noDefeat:_(e,t,v.noDefeat,o),scored:_(e,t,v.scored,o),conceded:_(e,t,v.conceded,o),noGoalScored:_(e,t,v.noGoalScored,o),noGoalConceded:_(e,t,v.noGoalConceded,o),over25:_(e,t,v.over25,o),under25:_(e,t,v.under25,o),scoredTwice:_(e,t,v.scoredTwice,o),concededTwice:_(e,t,v.concededTwice,o)}}function so(e,t,o){const n=H(e,t,"home"),s=H(e,t),i=H(e,o,"away"),r=H(e,o);return[{label:"Consecutive wins",homeTeam:{home:n.win,total:s.win},awayTeam:{total:r.win,home:i.win},colorType:"neutral"},{label:"Consecutive draws",homeTeam:{home:n.draw,total:s.draw},awayTeam:{total:r.draw,home:i.draw},colorType:"neutral"},{label:"Consecutive defeats",homeTeam:{home:n.loss,total:s.loss},awayTeam:{total:r.loss,home:i.loss},colorType:"neutral"},{label:"No win",homeTeam:{home:n.noWin,total:s.noWin},awayTeam:{total:r.noWin,home:i.noWin},colorType:"negative"},{label:"No draw",homeTeam:{home:n.noDraw,total:s.noDraw},awayTeam:{total:r.noDraw,home:i.noDraw},colorType:"neutral"},{label:"No defeat",homeTeam:{home:n.noDefeat,total:s.noDefeat},awayTeam:{total:r.noDefeat,home:i.noDefeat},colorType:"positive"},{label:"Scored at least once",homeTeam:{home:n.scored,total:s.scored},awayTeam:{total:r.scored,home:i.scored},colorType:"positive"},{label:"Conceded at least once",homeTeam:{home:n.conceded,total:s.conceded},awayTeam:{total:r.conceded,home:i.conceded},colorType:"negative"},{label:"No goal scored",homeTeam:{home:n.noGoalScored,total:s.noGoalScored},awayTeam:{total:r.noGoalScored,home:i.noGoalScored},colorType:"neutral"},{label:"No goal conceded",homeTeam:{home:n.noGoalConceded,total:s.noGoalConceded},awayTeam:{total:r.noGoalConceded,home:i.noGoalConceded},colorType:"neutral"},{label:"GS + GC over 2.5",homeTeam:{home:n.over25,total:s.over25},awayTeam:{total:r.over25,home:i.over25},colorType:"neutral"},{label:"GS + GC under 2.5",homeTeam:{home:n.under25,total:s.under25},awayTeam:{total:r.under25,home:i.under25},colorType:"neutral"},{label:"Scored at least twice",homeTeam:{home:n.scoredTwice,total:s.scoredTwice},awayTeam:{total:r.scoredTwice,home:i.scoredTwice},colorType:"positive"},{label:"Conceded at least twice",homeTeam:{home:n.concededTwice,total:s.concededTwice},awayTeam:{total:r.concededTwice,home:i.concededTwice},colorType:"negative"}]}function X(e,t){const o=new Map;return e.forEach(n=>{if(n.status?.type!=="FINISHED")return;const s=de(n,t);if(!s)return;const i=s.isHome?n.competitorTwo.id:n.competitorOne.id,r=s.isHome?n.competitorTwo:n.competitorOne,a=o.get(i)||{opponentId:i,opponentName:r.name,opponentLogo:r.assets?.logo};s.isHome?a.homeResult=s.result:a.awayResult=s.result,o.set(i,a)}),o}function io(e,t,o,n,s,i,r){const a=X(e,t),u=X(e,o),l=new Set([...a.keys(),...u.keys(),t,o]),m=[];return l.forEach(c=>{const g=a.get(c),p=u.get(c);if(!g&&!p&&c!==t&&c!==o)return;let y,T;c===t?(y=n,T=i):c===o?(y=s,T=r):(y=g?.opponentName||p?.opponentName||"",T=g?.opponentLogo||p?.opponentLogo),m.push({opponentId:c,opponentName:y,opponentLogo:T,homeTeamHome:g?.homeResult,homeTeamAway:g?.awayResult,awayTeamHome:p?.homeResult,awayTeamAway:p?.awayResult,isHomeTeamRow:c===t,isAwayTeamRow:c===o})}),m.sort((c,g)=>c.isHomeTeamRow?-1:g.isHomeTeamRow?1:c.isAwayTeamRow?-1:g.isAwayTeamRow?1:c.opponentName.localeCompare(g.opponentName))}exports.addProviderRef=d.addProviderRef;exports.getBatchMatchOdds=d.getBatchMatchOdds;exports.getConfig=d.getConfig;exports.getFootballCompetition=d.getFootballCompetition;exports.getFootballLivescore=d.getFootballLivescore;exports.getFootballMatch=d.getFootballMatch;exports.getFootballMatchCommentary=d.getFootballMatchCommentary;exports.getFootballMatchEvents=d.getFootballMatchEvents;exports.getFootballMatchLineups=d.getFootballMatchLineups;exports.getFootballMatchOdds=d.getFootballMatchOdds;exports.getFootballMatchStatistics=d.getFootballMatchStatistics;exports.getFootballMatches=d.getFootballMatches;exports.getFootballPlayerSeasonStatistics=d.getFootballPlayerSeasonStatistics;exports.getFootballSeasonDetails=d.getFootballSeasonDetails;exports.getFootballStandings=d.getFootballStandings;exports.getFootballTeam=d.getFootballTeam;exports.getFootballTeamSquad=d.getFootballTeamSquad;exports.getLeaderboardMatches=d.getLeaderboardMatches;exports.getLeaderboardTeamMatches=d.getLeaderboardTeamMatches;exports.getLeaderboardTemplate=d.getLeaderboardTemplate;exports.getProviderRefId=d.getProviderRefId;exports.isConfigured=d.isConfigured;exports.setConfig=d.setConfig;exports.toProviderRefArray=d.toProviderRefArray;exports.GOAL_EVENT_TYPES=ae;exports.aggregatePlayerStatisticsFromMatches=G;exports.analyzeMatch=ce;exports.calcAverage=k;exports.calcPercentage=A;exports.calculateH2HStats=Qt;exports.calculateStreak=_;exports.formatAsAverage=Vt;exports.formatPossessionPercentage=jt;exports.formatStatValue=Wt;exports.formatWithAverage=qt;exports.getActiveSeason=Ft;exports.getAllPlayerStatisticsFromMatches=ie;exports.getBasketballLivescore=Pe;exports.getFansUnitedFootballCompetition=rt;exports.getFansUnitedFootballCompetitions=ot;exports.getFansUnitedFootballMatch=Tt;exports.getFansUnitedFootballMatches=vt;exports.getFansUnitedFootballPlayer=yt;exports.getFansUnitedFootballPlayers=ht;exports.getFansUnitedFootballSearch=At;exports.getFansUnitedFootballTeam=dt;exports.getFansUnitedFootballTeams=ut;exports.getMatchResult=de;exports.getMostCardedPlayersFromMatches=ne;exports.getOpponentScore=Jt;exports.getRecentH2HMeetings=Xt;exports.getTeamFinishedMatches=Pt;exports.getTeamGoalStats=no;exports.getTeamHomeAwayStats=eo;exports.getTeamMostDecorated=Dt;exports.getTeamNextMatch=Mt;exports.getTeamOverUnderStats=oo;exports.getTeamPreviousMatch=Ot;exports.getTeamResultsTable=Nt;exports.getTeamScore=zt;exports.getTeamSeasonStatistics=Qe;exports.getTeamStreaks=H;exports.getTeamStreaksComparison=so;exports.getTeamTopAppearances=Lt;exports.getTeamTopAssisters=Et;exports.getTeamTopCleanSheets=It;exports.getTeamTopMinutesPlayed=Gt;exports.getTeamTopScorers=bt;exports.getTeamUpcomingMatches=Rt;exports.getTeamsCommonOpponents=io;exports.getTennisLivescore=ke;exports.getTopAssistersFromMatches=oe;exports.getTopGoalContributorsFromMatches=se;exports.getTopScorersFromMatches=te;exports.isMatchFinished=Kt;exports.isTeamAway=le;exports.isTeamHome=q;exports.isTeamInMatch=Yt;exports.search=Ke;exports.searchFootball=ve;exports.streakFilters=v;exports.useAllPlayerStatisticsFromMatches=$t;exports.useMostCardedPlayersFromMatches=Ut;exports.usePlayerStatistics=xt;exports.usePlayerStatisticsMap=re;exports.useTopAssistersFromMatches=Ht;exports.useTopGoalContributorsFromMatches=Bt;exports.useTopScorersFromMatches=kt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./matches-B-ZxR-B9.cjs"),L=require("react");function me(e){return{entityType:"tournament",id:e.id.toString(),name:e.name,slug:e.slug,gender:e.gender,type:e.type,region:e.region,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function ge(e){return{entityType:"player",id:e.id.toString(),name:e.name,slug:e.slug,position:e.position,gender:e.gender,birthdate:e.birthdate,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function fe(e){return{entityType:"team",id:e.id.toString(),name:e.name,slug:e.slug,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,type:e.type==="national"?"national":"club",gender:e.gender,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function pe(e){return{entityType:"president",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function ye(e){return{entityType:"venue",id:e.id.toString(),name:e.name,slug:e.slug,city:{id:e.city.id.toString(),name:e.city.name,country:{id:e.city.country.id.toString(),name:e.city.country.name,code:void 0,flag:e.city.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.city.country.uuid)},providerRef:u.toProviderRefArray(e.city.uuid)},country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},profile:{latitude:e.profile.lat,longitude:e.profile.lng,capacity:e.profile.capacity},assets:e.url_thumb?{image:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function he(e){return{entityType:"coach",id:e.id.toString(),name:e.name,slug:e.slug,birthdate:e.birthdate??void 0,country:{id:e.country.id.toString(),name:e.country.name,code:void 0,flag:e.country.url_flag??void 0,providerRef:u.toProviderRefArray(e.country.uuid)},assets:e.url_thumb?{photo:e.url_thumb}:void 0,providerRef:u.toProviderRefArray(e.uuid)}}function Te(e){switch(e.entity_type){case"tournament":return me(e);case"player":return ge(e);case"team":return fe(e);case"president":return pe(e);case"venue":return ye(e);case"coach":return he(e);default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function ve(e,t){if(!e.query||e.query.trim()==="")return{results:[],query:e.query||""};const o=t||u.getConfig(),{sportal365Sports:n}=o,s=e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["tournament","player","team","president","venue","coach"],i=await u.footballHttp.get({path:"/search",params:{query:e.query.trim(),entity_type:s.join(","),language_code:e.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e.languageCode??n?.languageCode??"en"},next:e.next,config:o});return!i||i.length===0?{results:[],query:e.query}:{results:i.map(Te),query:e.query}}const Se=u.createHttpClient(u.SPORTAL365_BASKETBALL_DOMAIN);function _e(e){return{code:{FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started"}[e.type]??"not_started",name:e.name,shortName:e.short_name,type:e.type}}function z(e){return{id:e.id,name:e.name,threeLetterCode:e.three_letter_code,slug:e.slug,type:e.type==="national"?"national":"club",gender:e.gender}}function Ce(e){return{kickoffTime:new Date(e.game_time),currentMinute:e.minute}}function Ae(e){if(!e.season?.competition)return;const t=e.season.competition;return{id:t.id,name:t.name,slug:t.slug,type:"LEAGUE",gender:t.gender,region:t.region,country:t.country?{id:t.country.id,name:t.country.name}:void 0,season:{id:e.season.id,name:e.season.name,status:e.season.status},stage:e.stage?{id:e.stage.id,name:e.stage.name,type:e.stage.type}:void 0}}function Fe(e){if(e)return{id:e.id,name:e.name,slug:e.slug}}function Me(e){if(!e||e.length===0)return;const t=e.filter(i=>i.result_type.category==="PERIOD");if(t.length===0)return;let o=0,n=0;const s=[];for(const i of t)o+=i.home,n+=i.away,s.push({competitorOne:String(i.home),competitorTwo:String(i.away)});return{competitorOne:String(o),competitorTwo:String(n),breakdown:{total:{competitorOne:String(o),competitorTwo:String(n)},periods:s}}}function Oe(e){if(e.winner)return{competitorId:e.winner.id}}function Re(e){return{id:e.id,slug:e.slug,status:_e(e.status),timing:Ce(e),competitorOne:z(e.home_team),competitorTwo:z(e.away_team),competition:Ae(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:u.toProviderRefArray(e.round.uuid)}:void 0,venue:Fe(e.arena),score:Me(e.score),winner:Oe(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,providerRef:[{provider:"sportal365-basketball",id:e.id}]}}async function Ne(e,t){const o=t||u.getConfig(),{sportal365Sports:n}=o;return(await Se.get({path:"/games",params:{offset:"0",limit:"1000",competition_list:e?.competitionList,status_type:e?.statusTypes,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes,language_code:e?.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).games.map(Re)}const Pe=u.createHttpClient(u.SPORTAL365_TENNIS_DOMAIN);function Ee(e){return{code:{FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed"}[e.type]??"not_started",name:e.name,shortName:e.short_name,type:e.type}}function J(e){if(e.type==="PLAYER")return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"player",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender};if(e.type==="TEAM_DOUBLE"&&e.details&&e.details.length===2){const t={id:e.details[0].id,name:e.details[0].name,shortName:e.details[0].short_name,threeLetterCode:e.details[0].three_letter_code,type:"player",country:e.details[0].country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details[0].gender},o={id:e.details[1].id,name:e.details[1].name,shortName:e.details[1].short_name,threeLetterCode:e.details[1].three_letter_code,type:"player",country:e.details[1].country?{id:e.details[1].country.id,name:e.details[1].country.name}:void 0,gender:e.details[1].gender};return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"pair",players:[t,o]}}else return{id:e.id,name:e.name,shortName:e.short_name,threeLetterCode:e.three_letter_code,type:"national",country:e.details?.[0]?.country?{id:e.details[0].country.id,name:e.details[0].country.name}:void 0,gender:e.details?.[0]?.gender}}function be(e){return{kickoffTime:new Date(e.scheduled_start_time),phaseStartedAt:e.started_at?new Date(e.started_at):void 0,finishedAt:e.finished_at?new Date(e.finished_at):void 0}}function Le(e){if(!e.tournament)return;const t=e.tournament;return{id:t.competition?.id??t.id,name:t.competition?.name??t.name,slug:t.competition?.slug??t.slug,type:"TOURNAMENT",gender:t.gender,region:"INTERNATIONAL",country:t.country?{id:t.country.id,name:t.country.name}:void 0}}function Ge(e){if(!e.results||e.results.length===0)return;const t=e.results.filter(i=>/^SET_\d+$/i.test(i.type.code));if(t.length===0)return;const o=[];let n=0,s=0;for(const i of t){const r=i.values.find(m=>m.position==="1"),a=i.values.find(m=>m.position==="2");if(!r||!a||r.value==null||a.value==null)continue;o.push({competitorOne:r.value,competitorTwo:a.value});const d=parseInt(r.value),l=parseInt(a.value);!isNaN(d)&&!isNaN(l)&&(d>l&&n++,l>d&&s++)}if(o.length!==0)return{competitorOne:String(n),competitorTwo:String(s),breakdown:{total:{competitorOne:String(n),competitorTwo:String(s)},periods:o}}}function De(e){const t=e.participants.find(o=>o.winner==="YES");if(t)return{competitorId:t.id}}function Ie(e){const t=e.participants.sort((o,n)=>o.position-n.position);return{id:e.id,slug:e.slug,status:Ee(e.status),timing:be(e),competitorOne:J(t[0]),competitorTwo:J(t[1]),competition:Le(e),round:e.round?{id:e.round.id,key:e.round.uuid,name:e.round.name,type:"REGULAR",providerRef:u.toProviderRefArray(e.round.uuid)}:void 0,score:Ge(e),winner:De(e),coverage:e.coverage?.type==="NOT_LIVE"?"UNKNOWN":e.coverage?.type,metadata:{matchType:e.type,bestOfSets:e.best_of_sets,surface:e.tournament?.surface,indoorOutdoor:e.tournament?.indoor_outdoor},providerRef:[{provider:"sportal365-tennis",id:e.id}]}}async function ke(e,t){const o=t||u.getConfig(),{sportal365Sports:n}=o;return(await Pe.get({path:"/matches/livescore",params:{date:e?.date,utc_offset:e?.utcOffset?.toString(),offset:"0",limit:"1000",type:e?.type,gender:e?.gender,status_type:e?.statusType,competition_list:e?.competitionList,odd_client:e?.oddClient??n?.oddClient,odd_type:e?.oddType,market_types:e?.marketTypes,language_code:e?.languageCode??n?.languageCode??"en"},headers:{"Accept-Language":e?.languageCode??n?.languageCode??"en"},next:e?.next,config:o})).matches.map(Ie)}const He=u.createHttpClient(u.SPORTAL365_SPORTS_SEARCH_DOMAIN);function M(e){return{language:e.language,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0}}function O(e){if(!(!e||!e.url))return{url:e.url}}function b(e){if(e)return{id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,providerRef:e.id}}function j(e){return{entityType:"team",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,competitionIds:e.competition_ids,type:e.type,national:e.national,undecided:e.undecided,providerRef:e.id}}function Z(e){return{entityType:"city",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),providerRef:e.id}}function Ue(e){return{entityType:"horse",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,providerRef:e.id}}function Be(e){return{entityType:"player",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,birthdate:e.birthdate??void 0,position:e.position??void 0,providerRef:e.id}}function $e(e){return{entityType:"coach",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function xe(e){return{entityType:"referee",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,birthdate:e.birthdate??void 0,providerRef:e.id}}function We(e){return{entityType:"venue",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),city:e.city?Z(e.city):void 0,providerRef:e.id}}function qe(e){return{entityType:e.entity_type,id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,country:b(e.country),gender:e.gender,type:e.type??void 0,region:e.region??void 0,providerRef:e.id}}function Ve(e){return{entityType:"match",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,competitionId:e.competition_id??void 0,startTime:e.start_time??void 0,homeTeam:e.home_team?j(e.home_team):void 0,awayTeam:e.away_team?j(e.away_team):void 0,providerRef:e.id}}function je(e){return{entityType:"country",id:e.id,legacyId:e.legacy_id??void 0,name:e.name,shortName:e.short_name??void 0,threeLetterCode:e.three_letter_code??void 0,translations:e.translations.map(M),displayAsset:O(e.display_asset),slug:e.slug,tagScore:e.tag_score??void 0,sport:e.sport,providerRef:e.id}}function Ye(e){switch(e.entity_type){case"team":return j(e);case"city":return Z(e);case"horse":return Ue(e);case"player":return Be(e);case"coach":return $e(e);case"referee":return xe(e);case"venue":return We(e);case"tournament":case"competition":return qe(e);case"match":return Ve(e);case"country":return je(e);default:{const t=e;throw new Error(`Unknown entity type: ${t.entity_type}`)}}}async function Ke(e={},t){const o=t??u.getConfig(),n={};e.name&&(n.name=e.name),e.entityTypes&&e.entityTypes.length>0&&(n.entity_type=e.entityTypes.join(",")),e.sports&&e.sports.length>0&&(n.sport=e.sports.join(",")),e.eventStartTime&&(n.event_start_time=e.eventStartTime),e.ids&&e.ids.length>0&&(n.ids=e.ids.join(",")),e.competitionIds&&e.competitionIds.length>0&&(n.competition_ids=e.competitionIds.join(",")),e.domain&&(n.domain=e.domain),e.inputLanguage&&(n.input_language=e.inputLanguage),e.translationLanguage&&(n.translation_language=e.translationLanguage),e.limit!==void 0&&(n.limit=e.limit.toString()),e.offset!==void 0&&(n.offset=e.offset.toString());const s=await He.get({path:"/suggest",params:n,next:e.next,config:o});return!s.results||s.results.length===0?{results:[],query:e.name}:{results:s.results.map(Ye),query:e.name}}const ze=u.createHttpClient(u.SPORTAL365_STATISTICS_DOMAIN);function Je(e,t){return{teamId:e.id,teamName:e.name,seasonId:t,statistics:e.statistics.map(o=>({key:o.id,value:o.value,label:o.name}))}}async function Qe(e,t){const o=t||u.getConfig(),n=e.next??{revalidate:600},s=await ze.get({path:"/statistics/aggregate",params:{participant_ids:e.teamId,season_ids:e.seasonId,participant_type:"TEAM"},next:n,config:o});if(!s.data||s.data.length===0)throw new Error(`No statistics found for team ${e.teamId} in season ${e.seasonId}`);return Je(s.data[0],e.seasonId)}function Xe(e){const t=e.replace(/\/$/,"");function o(n){return`${t}${n}`}return{async get(n){const s=n.config||u.getConfig(),{fansUnited:i}=s;if(!i)throw new Error("Fans United configuration is missing. Add 'fansUnited' with 'apiKey' and 'clientId' to your config.");if(!i.apiKey||!i.clientId)throw new Error("Fans United configuration requires both 'apiKey' and 'clientId'");const r=new URL(o(n.path));if(r.searchParams.set("key",i.apiKey),r.searchParams.set("client_id",i.clientId),n.params)for(const[m,c]of Object.entries(n.params))c!==void 0&&(Array.isArray(c)?c.length>0&&r.searchParams.set(m,c.join(",")):r.searchParams.set(m,c));const a=3e4,d=new URL(r.toString());d.searchParams.delete("key"),d.searchParams.delete("client_id"),console.log("🔗 FansUnited API URL:",d.toString());const l=await fetch(r.toString(),{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",...n.headers},signal:AbortSignal.timeout(a),...n.next&&{next:n.next}});if(!l.ok){let m=`Fans United API error: ${l.status} ${l.statusText}`;try{const c=await l.text();c&&(m+=` - ${c}`)}catch(c){console.error("[Fans United HTTP] Failed to read error response body:",{error:c instanceof Error?c.message:String(c),status:l.status,statusText:l.statusText})}throw new Error(m)}return l.json()}}}const Ze="https://football.fansunitedapi.com",E=Xe(Ze);function we(e){return{id:String(e.id),name:e.name,active:e.active,providerRef:[{provider:"fansunited",id:String(e.id)}]}}function et(e){const t={id:String(e.id),name:e.name,shortName:e.short_name,slug:e.slug,type:e.type||"LEAGUE",region:e.region,gender:e.gender,providerRef:[{provider:"fansunited",id:String(e.id)}]};return e.country&&(t.country={id:String(e.country.id),name:e.country.name,code:e.country.code,flag:e.country.assets?.flag,providerRef:[{provider:"fansunited",id:String(e.country.id)}]}),e.assets?.logo&&(t.assets={logo:e.assets.logo}),e.seasons&&e.seasons.length>0&&(t.seasons=e.seasons.map(we)),e.current_season&&(t.season={id:String(e.current_season.id),name:e.current_season.name,status:e.current_season.active?"ACTIVE":"INACTIVE"}),t}function tt(e){return e.map(et)}async function ot(e,t){const o={};e?.lang?o.lang=e.lang:o.lang="EN",e?.sortField&&(o.sort_field=e.sortField),e?.sortOrder&&(o.sort_order=e.sortOrder),e?.page!==void 0&&(o.page=String(e.page)),e?.perPage!==void 0&&(o.per_page=String(e.perPage)),e?.countryId!==void 0&&(o.country_id=String(e.countryId)),e?.active!==void 0&&(o.active=e.active?"1":"0");const n=await E.get({path:"/v1/competitions",params:o,config:t,next:e?.next}),s=n.data.map(l=>l.id),i=new Set(s);s.length!==i.size&&console.warn("⚠️ API returned duplicate competitions!");const r=tt(n.data),a=new Set,d=r.filter(l=>a.has(l.id)?!1:(a.add(l.id),!0));return r.length!==d.length&&console.warn(`Removed ${r.length-d.length} duplicate competitions`),d}function nt(e){return{id:e.id,name:e.name,code:e.country_code,assets:e.assets?.flag?{flag:e.assets.flag}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function st(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?nt(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function it(e){return st(e.data)}async function rt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await E.get({path:`/v1/competitions/${e}`,params:s,next:t?.next,config:n});return it(i)}function at(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function w(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?e.gender.toUpperCase():void 0,country:e.country?at(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,metadata:e.colors?{shirtColors:e.colors.primary?[{type:"home",colorCode:e.colors.primary}]:void 0}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ct(e){return w(e.data)}function lt(e){return e.data.map(w)}async function dt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await E.get({path:`/v1/teams/${e}`,params:s,next:t?.next,config:n});return ct(i)}async function ut(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.teamIds&&(n.team_ids=e.teamIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.national!==void 0&&(n.national=String(e.national)),e?.gender&&(n.gender=e.gender),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await E.get({path:"/v1/teams",params:n,next:e?.next,config:o});return lt(s)}function Y(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag,providerRef:[{provider:"fansunited",id:e.id}]}}function mt(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,fullName:e.full_name??void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function gt(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?Y(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function ee(e){return{type:"player",id:e.id,name:e.name,position:e.position,birthdate:e.birth_date,country:e.country?Y(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,teams:e.teams?.map(mt),competitions:e.competitions?.map(gt),providerRef:[{provider:"fansunited",id:e.id}]}}function ft(e){return ee(e.data)}function pt(e){return e.data.map(ee)}async function yt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await E.get({path:`/v1/players/${e}`,params:s,next:t?.next,config:n});return ft(i)}async function ht(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.playerIds&&(n.player_ids=e.playerIds),e?.countryId&&(n.country_id=e.countryId),e?.name&&(n.name=e.name),e?.scope&&(n.scope=e.scope),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder);const s=await E.get({path:"/v1/players",params:n,next:e?.next,config:o});return pt(s)}async function Tt(e,t,o){const n=o||u.getConfig(),s={};t?.lang&&(s.lang=t.lang);const i=await E.get({path:`/v1/matches/${e}`,params:s,next:t?.next,config:n});return u.transformMatch(i)}async function vt(e,t){const o=t||u.getConfig(),n={};e?.lang&&(n.lang=e.lang),e?.competitions&&(n.competitions=e.competitions),e?.countries&&(n.countries=e.countries),e?.fromDate&&(n.from_date=e.fromDate),e?.toDate&&(n.to_date=e.toDate),e?.matches&&(n.matches=e.matches),e?.teams&&(n.teams=e.teams),e?.status&&(n.status=e.status),e?.limit!==void 0&&(n.limit=String(e.limit)),e?.page!==void 0&&(n.page=String(e.page)),e?.sortField&&(n.sort_field=e.sortField),e?.sortOrder&&(n.sort_order=e.sortOrder),e?.showDeleted!==void 0&&(n.show_deleted=e.showDeleted?"true":"false");const s=await E.get({path:"/v1/matches",params:n,next:e?.next,config:o});return u.transformMatches(s)}function K(e){return{id:e.id,name:e.name,code:e.country_code,flag:e.assets?.flag||void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function St(e){return{id:e.id,name:e.name,shortName:e.short_name||void 0,type:e.type||"LEAGUE",region:e.region,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function _t(e){return{type:"player",id:e.id,name:e.name,position:e.position||void 0,gender:e.gender?.toUpperCase(),birthdate:e.birth_date||void 0,country:e.country?K(e.country):void 0,assets:e.assets?.headshot?{photo:e.assets.headshot}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ct(e){return{type:e.national?"national":"club",id:e.id,name:e.name,shortName:e.short_name||void 0,threeLetterCode:e.code||void 0,gender:e.gender?.toUpperCase(),country:e.country?K(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function V(e){switch(e.entity_type){case"competition":{const t=St(e);return{source:"FOOTBALL",entityType:"competition",entityId:e.id,entityData:t}}case"player":{const t=_t(e);return{source:"FOOTBALL",entityType:"player",entityId:e.id,entityData:t}}case"team":{const t=Ct(e);return{source:"FOOTBALL",entityType:"team",entityId:e.id,entityData:t}}case"venue":case"coach":return null;default:throw new Error(`Unknown entity type: ${e.entity_type}`)}}async function At(e,t){if(!e.query||e.query.trim()==="")return[];const o=t||u.getConfig(),n={q:e.query.trim()},i=(e.entityTypes&&e.entityTypes.length>0?e.entityTypes:["competition","team","player"]).map(d=>{switch(d){case"team":return"teams";case"player":return"players";case"competition":return"competitions";default:return d}});n.entities=i.join(","),e.lang&&(n.lang=e.lang),e.limit&&(n.limit=String(e.limit));const r=await E.get({path:"/v1/search",params:n,next:e.next,config:o}),a=[];return r.data&&(r.data.competitions&&r.data.competitions.forEach(d=>{const l=V({...d,entity_type:"competition"});l&&a.push(l)}),r.data.teams&&r.data.teams.forEach(d=>{const l=V({...d,entity_type:"team"});l&&a.push(l)}),r.data.players&&r.data.players.forEach(d=>{const l=V({...d,entity_type:"player"});l&&a.push(l)})),a}function Ft(e){return!e.seasons||e.seasons.length===0?void 0:e.seasons.find(o=>o.active)??e.seasons[0]}function Mt(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED",a=new Date(s.timing.kickoffTime)>=o;return i&&r&&a});return n.sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()),n[0]}function Ot(e,t){const o=new Date,n=t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a});return n.sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime()),n[0]}function Rt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="NOT_STARTED"||s.status.type==="LIVE",a=new Date(s.timing.kickoffTime)>=o||s.status.type==="LIVE";return i&&r&&a}).sort((s,i)=>new Date(s.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime())}function Nt(e,t){const o=new Date;return t.filter(s=>{const i=s.competitorOne.id===e||s.competitorTwo.id===e,r=s.status.type==="FINISHED",a=new Date(s.timing.kickoffTime)<=o;return i&&r&&a}).sort((s,i)=>new Date(i.timing.kickoffTime).getTime()-new Date(s.timing.kickoffTime).getTime())}function Pt(e,t,o){const n=o.filter(r=>r.status.type==="FINISHED"),s=o.filter(r=>r.status.type==="NOT_STARTED"||r.status.type==="POSTPONED"),i=t.entries.map(r=>{const a=r.competitor.id,d=n.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e),l=s.filter(g=>g.competitorOne.id===e&&g.competitorTwo.id===a||g.competitorOne.id===a&&g.competitorTwo.id===e);let m,c;return d.forEach(g=>{const p=g.competitorOne.id===e,y=parseInt(g.score?.competitorOne??"0"),T=parseInt(g.score?.competitorTwo??"0"),R=p?y:T,C=p?T:y;let F;R>C?F="W":R===C?F="D":F="L";const N={result:F,score:`${y} - ${T}`,date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!1};p?m=N:c=N}),l.forEach(g=>{const p=g.competitorOne.id===e;p&&!m?m={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0}:!p&&!c&&(c={date:g.timing.kickoffTime,matchId:g.id,isUpcoming:!0})}),{rank:r.rank,teamId:r.competitor.id,teamName:r.competitor.name,teamShortName:r.competitor.shortName,teamLogo:r.competitor.logo,gamesPlayed:r.stats.played??0,points:r.stats.points??0,homeResult:m,awayResult:c}});return{teamId:e,rows:i}}function Et(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.goals??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.goals??0,i=n.seasonStatistics?.goals??0;if(i!==s)return i-s;const r=o.seasonStatistics?.assists??0;return(n.seasonStatistics?.assists??0)-r}).slice(0,t)}function bt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.assists??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.assists??0,i=n.seasonStatistics?.assists??0;if(i!==s)return i-s;const r=o.seasonStatistics?.goals??0;return(n.seasonStatistics?.goals??0)-r}).slice(0,t)}function Lt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.appearances??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.appearances??0,i=n.seasonStatistics?.appearances??0;if(i!==s)return i-s;const r=o.seasonStatistics?.minutes??0;return(n.seasonStatistics?.minutes??0)-r}).slice(0,t)}function Gt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.minutes??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.minutes??0,i=n.seasonStatistics?.minutes??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function Dt(e,t=10){return e.players.filter(o=>(o.seasonStatistics?.cleansheets??0)>0).sort((o,n)=>{const s=o.seasonStatistics?.cleansheets??0,i=n.seasonStatistics?.cleansheets??0;if(i!==s)return i-s;const r=o.seasonStatistics?.appearances??0;return(n.seasonStatistics?.appearances??0)-r}).slice(0,t)}function It(e,t=10){return e.players.filter(o=>{const n=o.seasonStatistics?.yellowCards??0,s=o.seasonStatistics?.redCards??0;return n+s>0}).sort((o,n)=>{const s=o.seasonStatistics?.yellowCards??0,i=o.seasonStatistics?.redCards??0,r=n.seasonStatistics?.yellowCards??0,a=n.seasonStatistics?.redCards??0,d=s+i*3,l=r+a*3;return l!==d?l-d:a!==i?a-i:r-s}).slice(0,t)}function G(e){const t=new Map,o=new Map;return e.forEach(n=>{!n.mainEvents||n.mainEvents.length===0||n.mainEvents.forEach(s=>{if(s.primaryPlayer){const i=s.primaryPlayer.id;t.has(i)||t.set(i,{playerId:s.primaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);o.has(i)||o.set(i,new Set),o.get(i).add(n.id),(s.type==="GOAL"||s.type==="PENALTY_GOAL")&&(r.goals=(r.goals??0)+1),s.type==="YELLOW_CARD"&&(r.yellowCards=(r.yellowCards??0)+1),(s.type==="RED_CARD"||s.type==="YELLOW_RED_CARD")&&(r.redCards=(r.redCards??0)+1)}if(s.secondaryPlayer&&(s.type==="GOAL"||s.type==="PENALTY_GOAL")){const i=s.secondaryPlayer.id;t.has(i)||t.set(i,{playerId:s.secondaryPlayer.id,seasonId:"",teamId:"",goals:0,assists:0,yellowCards:0,redCards:0,appearances:0});const r=t.get(i);r.assists=(r.assists??0)+1,o.has(i)||o.set(i,new Set),o.get(i).add(n.id)}})}),o.forEach((n,s)=>{const i=t.get(s);i&&i.appearances!==void 0&&(i.appearances=n.size)}),t}function U(e){return Array.from(e.values()).map(t=>({...t,totalCards:(t.yellowCards??0)+(t.redCards??0)}))}function te(e,t=10){const o=G(e);return U(o).filter(s=>(s.goals??0)>0).sort((s,i)=>{const r=s.goals??0,a=i.goals??0;if(a!==r)return a-r;const d=s.assists??0;return(i.assists??0)-d}).slice(0,t)}function oe(e,t=10){const o=G(e);return U(o).filter(s=>(s.assists??0)>0).sort((s,i)=>{const r=s.assists??0,a=i.assists??0;if(a!==r)return a-r;const d=s.goals??0;return(i.goals??0)-d}).slice(0,t)}function ne(e,t=10){const o=G(e);return U(o).filter(s=>(s.totalCards??0)>0).sort((s,i)=>{const r=(s.yellowCards??0)+(s.redCards??0)*3,a=(i.yellowCards??0)+(i.redCards??0)*3;if(a!==r)return a-r;const d=s.redCards??0,l=i.redCards??0;if(l!==d)return l-d;const m=s.yellowCards??0;return(i.yellowCards??0)-m}).slice(0,t)}function se(e,t=10){const o=G(e);return U(o).filter(s=>(s.goals??0)+(s.assists??0)>0).sort((s,i)=>{const r=(s.goals??0)+(s.assists??0),a=(i.goals??0)+(i.assists??0);if(a!==r)return a-r;const d=s.goals??0,l=i.goals??0;if(l!==d)return l-d;const m=s.assists??0;return(i.assists??0)-m}).slice(0,t)}function ie(e){const t=G(e);return U(t).sort((n,s)=>{const i=n.appearances??0,r=s.appearances??0;if(r!==i)return r-i;const a=(n.goals??0)+(n.assists??0);return(s.goals??0)+(s.assists??0)-a})}function kt(e,t=10){return L.useMemo(()=>te(e,t),[e,t])}function Ht(e,t=10){return L.useMemo(()=>oe(e,t),[e,t])}function Ut(e,t=10){return L.useMemo(()=>ne(e,t),[e,t])}function Bt(e,t=10){return L.useMemo(()=>se(e,t),[e,t])}function $t(e){return L.useMemo(()=>ie(e),[e])}function re(e){return L.useMemo(()=>G(e),[e])}function xt(e,t){const o=re(e);return L.useMemo(()=>o.get(t),[o,t])}const ae=["GOAL","PENALTY_GOAL","OWN_GOAL"];function A(e,t){return t>0?e/t*100:0}function k(e,t){return t>0?e/t:0}function Wt(e,t=!1,o=2){return t?`${Math.round(e)}%`:Number.isInteger(e)?e.toString():e.toFixed(o)}function qt(e,t){const o=typeof e=="string"?parseFloat(e):e;if(isNaN(o)||t===0)return"0";const n=(o/t).toFixed(1);return`${o} (${n} avg)`}function Vt(e,t){const o=typeof e=="string"?parseFloat(e):e;return isNaN(o)||t===0?"0.0":(o/t).toFixed(1)}function jt(e){const t=parseFloat(e);return isNaN(t)?"0%":`${Math.round(t)}%`}function ce(e,t,o){if(e.status?.type!=="FINISHED"||!e.score)return null;const n=parseInt(e.score.competitorOne||"0"),s=parseInt(e.score.competitorTwo||"0"),i=o?n:s,r=o?s:n;let a=null,d=null;const l=e.score.breakdown?.halfTime;if(l){const p=parseInt(l.competitorOne||"0"),y=parseInt(l.competitorTwo||"0");a=o?p:y,d=o?y:p}const m=e.statistics;let c=null,g=null;if(m){const p=m.find?.(y=>y.type==="CORNERS");p&&(c=o?p.competitorOne:p.competitorTwo,g=o?p.competitorTwo:p.competitorOne)}return{goalsFor:i,goalsAgainst:r,halfTimeGoalsFor:a,halfTimeGoalsAgainst:d,cornersFor:c,cornersAgainst:g,isWin:i>r,isDraw:i===r,isLoss:i<r}}function q(e,t){return e.competitorOne.id===t}function le(e,t){return e.competitorTwo.id===t}function Yt(e,t){return q(e,t)||le(e,t)}function Kt(e){return e.status?.type==="FINISHED"}function zt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")}function Jt(e,t){const o=q(e,t);return parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")}function Qt(e,t,o){const n=e.filter(m=>{if(m.status?.type!=="FINISHED"||!m.score)return!1;const c=m.competitorOne.id===t||m.competitorTwo.id===t,g=m.competitorOne.id===o||m.competitorTwo.id===o;return c&&g});let s=0,i=0,r=0,a=0,d=0;n.forEach(m=>{const c=parseInt(m.score?.competitorOne||"0"),g=parseInt(m.score?.competitorTwo||"0"),p=m.competitorOne.id===t,y=p?c:g,T=p?g:c;a+=y,d+=T,y>T?s++:T>y?i++:r++});const l=n.length;return{totalMatches:l,homeTeamWins:s,awayTeamWins:i,draws:r,homeTeamGoals:a,awayTeamGoals:d,homeTeamWinPercentage:l>0?s/l*100:0,awayTeamWinPercentage:l>0?i/l*100:0,drawPercentage:l>0?r/l*100:0,homeTeamAvgGoals:l>0?a/l:0,awayTeamAvgGoals:l>0?d/l:0}}function Xt(e,t,o,n=5){return e.filter(i=>{if(i.status?.type!=="FINISHED"||!i.score)return!1;const r=i.competitorOne.id===t||i.competitorTwo.id===t,a=i.competitorOne.id===o||i.competitorTwo.id===o;return r&&a}).sort((i,r)=>new Date(r.timing.kickoffTime).getTime()-new Date(i.timing.kickoffTime).getTime()).slice(0,n).map(i=>{const r=parseInt(i.score?.competitorOne||"0"),a=parseInt(i.score?.competitorTwo||"0"),d=i.competitorOne.id===t,l=d?r:a,m=d?a:r;let c;return l>m?c="home":m>l?c="away":c="draw",{id:i.id,date:new Date(i.timing.kickoffTime).toLocaleDateString("en-GB",{day:"numeric",month:"short",year:"numeric"}),homeTeamName:i.competitorOne.name,awayTeamName:i.competitorTwo.name,homeTeamLogo:i.competitorOne.assets?.logo,awayTeamLogo:i.competitorTwo.assets?.logo,homeScore:r,awayScore:a,venue:i.venue?.name,winner:c}})}function Zt(e,t,o){return e.filter(n=>{const s=n.competitorOne.id===t,i=n.competitorTwo.id===t;return!s&&!i?!1:o==="home"?s:i}).map(n=>{const s=n.competitorOne.id===t;return ce(n,t,s)}).filter(n=>n!==null)}function Q(e,t,o,n){let s=0;for(const i of e){const r=i.competitorOne.id===t,a=i.competitorTwo.id===t;if(!r&&!a||o==="home"&&!r||o==="away"&&!a||i.status?.type!=="FINISHED")continue;const d=i.mainEvents;if(!d||!Array.isArray(d))continue;const l=d.filter(y=>y.type&&ae.includes(y.type)).sort((y,T)=>{const R=y.minute??0,C=T.minute??0;return R!==C?R-C:(y.injuryMinute??0)-(T.injuryMinute??0)});if(l.length===0)continue;const m=l[0],c=r?"ONE":"TWO",g=m.type==="OWN_GOAL";let p;g?p=m.competitorPosition!==c:p=m.competitorPosition===c,(n==="scored"&&p||n==="conceded"&&!p)&&s++}return s}function wt(e,t,o){let n=0;for(const s of e){const i=s.competitorOne.id===t,r=s.competitorTwo.id===t;if(!i&&!r||o==="home"&&!i||o==="away"&&!r||s.status?.type!=="FINISHED")continue;const a=s.mainEvents;a&&Array.isArray(a)&&n++}return n}function eo(e,t,o){const n=Zt(e,t,o),s=n.length;if(s===0)return{played:0,goalsForPerMatch:0,cleanSheets:0,wonToNil:0,scoringRate:0,scoredInBothHalves:0,scoredFirst:0,leadingAtHalfTime:0,goalsAgainstPerMatch:0,failedToScore:0,lostToNil:0,concedingRate:0,concededInBothHalves:0,concededFirst:0,losingAtHalfTime:0,avgCornersFor:0,avgCornersAgainst:0};const i=n.reduce((f,S)=>f+S.goalsFor,0),r=n.reduce((f,S)=>f+S.goalsAgainst,0),a=n.filter(f=>f.goalsAgainst===0).length,d=n.filter(f=>f.isWin&&f.goalsAgainst===0).length,l=n.filter(f=>f.goalsFor>0).length,m=n.filter(f=>f.goalsFor===0).length,c=n.filter(f=>f.isLoss&&f.goalsFor===0).length,g=n.filter(f=>f.goalsAgainst>0).length,p=n.filter(f=>f.halfTimeGoalsFor!==null),y=p.length,T=p.filter(f=>{const S=f.halfTimeGoalsFor,I=f.goalsFor-S;return S>0&&I>0}).length,R=Q(e,t,o,"scored"),C=wt(e,t,o),F=p.filter(f=>f.halfTimeGoalsFor>f.halfTimeGoalsAgainst).length,N=p.filter(f=>{const S=f.halfTimeGoalsAgainst,I=f.goalsAgainst-S;return S>0&&I>0}).length,B=Q(e,t,o,"conceded"),$=p.filter(f=>f.halfTimeGoalsAgainst>f.halfTimeGoalsFor).length,D=n.filter(f=>f.cornersFor!==null),x=D.reduce((f,S)=>f+(S.cornersFor||0),0),W=D.reduce((f,S)=>f+(S.cornersAgainst||0),0);return{played:s,goalsForPerMatch:k(i,s),cleanSheets:A(a,s),wonToNil:A(d,s),scoringRate:A(l,s),scoredInBothHalves:A(T,y),scoredFirst:A(R,C),leadingAtHalfTime:A(F,y),goalsAgainstPerMatch:k(r,s),failedToScore:A(m,s),lostToNil:A(c,s),concedingRate:A(g,s),concededInBothHalves:A(N,y),concededFirst:A(B,C),losingAtHalfTime:A($,y),avgCornersFor:k(x,D.length),avgCornersAgainst:k(W,D.length)}}function to(e,t){return e.filter(o=>o.status?.type!=="FINISHED"?!1:o.competitorOne.id===t||o.competitorTwo.id===t).map(o=>{const n=o.competitorOne.id===t,s=parseInt(o.score?.competitorOne||"0"),i=parseInt(o.score?.competitorTwo||"0"),r=s+i,a=o.periods;let d=null;if(a&&Array.isArray(a)){const l=a.find(m=>m.type==="FIRST_HALF"||m.type==="1ST_HALF");if(l?.score){const m=parseInt(l.score.competitorOne||"0"),c=parseInt(l.score.competitorTwo||"0");d=m+c}}return{totalGoals:r,halfTimeGoals:d,isHome:n}})}function h(e,t){return e.length===0?0:e.filter(n=>n>t).length/e.length*100}function oo(e,t){const o=to(e,t),n=o.filter(c=>c.isHome),s=o.filter(c=>!c.isHome),i=o.map(c=>c.totalGoals),r=n.map(c=>c.totalGoals),a=s.map(c=>c.totalGoals),d=o.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),l=n.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals),m=s.filter(c=>c.halfTimeGoals!==null).map(c=>c.halfTimeGoals);return{over05:{home:h(r,.5),total:h(i,.5),away:h(a,.5)},over15:{home:h(r,1.5),total:h(i,1.5),away:h(a,1.5)},over25:{home:h(r,2.5),total:h(i,2.5),away:h(a,2.5)},over35:{home:h(r,3.5),total:h(i,3.5),away:h(a,3.5)},over45:{home:h(r,4.5),total:h(i,4.5),away:h(a,4.5)},over55:{home:h(r,5.5),total:h(i,5.5),away:h(a,5.5)},over05HT:{home:h(l,.5),total:h(d,.5),away:h(m,.5)},over15HT:{home:h(l,1.5),total:h(d,1.5),away:h(m,1.5)},over25HT:{home:h(l,2.5),total:h(d,2.5),away:h(m,2.5)}}}function de(e,t){const o=e.competitorOne.id===t,n=e.competitorTwo.id===t;if(!o&&!n||!e.score)return null;const s=parseInt(o?e.score.competitorOne||"0":e.score.competitorTwo||"0"),i=parseInt(o?e.score.competitorTwo||"0":e.score.competitorOne||"0");let r;return s>i?r="W":s<i?r="L":r="D",{result:{score:`${s}:${i}`,result:r,isHome:o},isHome:o}}function no(e,t,o,n,s,i){const r=t?.entries.find(P=>P.competitor.id===e),a=o?.entries.find(P=>P.competitor.id===e),d=n?.entries.find(P=>P.competitor.id===e),l=s?.entries.find(P=>P.competitor.id===e),m=i?.entries.find(P=>P.competitor.id===e);if(!r)return null;const c=a?.stats?.goalsFor??0,g=d?.stats?.goalsFor??0,p=r?.stats?.goalsFor??0,y=l?.stats?.goalsAgainst??0,T=m?.stats?.goalsAgainst??0,R=r?.stats?.goalsAgainst??0,C=a?.stats?.played??0,F=d?.stats?.played??0,N=r?.stats?.played??0,B=N>0?p/N:0,$=N>0?R/N:0,D=B+$,x=C>0?c/C:0,W=F>0?g/F:0,f=C>0?y/C:0,S=F>0?T/F:0,I=x+f,ue=W+S;return{homeGoals:c,totalGoals:p,awayGoals:g,homeGamesPlayed:C,awayGamesPlayed:F,totalGamesPlayed:N,homeGoalsConceded:y,totalGoalsConceded:R,awayGoalsConceded:T,gfPerMatch:B,gaPerMatch:$,gfGaPerMatch:D,homeGfPerMatch:x,awayGfPerMatch:W,homeGaPerMatch:f,awayGaPerMatch:S,homeGfGaPerMatch:I,awayGfGaPerMatch:ue}}function _(e,t,o,n){const s=e.filter(r=>{const a=r.competitorOne.id===t,d=r.competitorTwo.id===t;return!(!a&&!d||r.status?.type!=="FINISHED"||n==="home"&&!a||n==="away"&&!d)}).sort((r,a)=>new Date(a.timing.kickoffTime).getTime()-new Date(r.timing.kickoffTime).getTime());if(s.length===0)return null;let i=0;for(const r of s){const a=r.competitorOne.id===t;if(o(r,t,a))i++;else break}return i>0?i:null}const v={win:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n>s},draw:e=>e.score?.competitorOne===e.score?.competitorTwo,loss:(e,t,o)=>{const n=parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0"),s=parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0");return n<s},noWin:(e,t,o)=>!v.win(e,t,o),noDraw:e=>!v.draw(e),noDefeat:(e,t,o)=>!v.loss(e,t,o),scored:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=1,conceded:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=1,noGoalScored:(e,t,o)=>!v.scored(e,t,o),noGoalConceded:(e,t,o)=>!v.conceded(e,t,o),over25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")>2,under25:e=>parseInt(e.score?.competitorOne||"0")+parseInt(e.score?.competitorTwo||"0")<3,scoredTwice:(e,t,o)=>parseInt(o?e.score?.competitorOne||"0":e.score?.competitorTwo||"0")>=2,concededTwice:(e,t,o)=>parseInt(o?e.score?.competitorTwo||"0":e.score?.competitorOne||"0")>=2};function H(e,t,o){return{win:_(e,t,v.win,o),draw:_(e,t,v.draw,o),loss:_(e,t,v.loss,o),noWin:_(e,t,v.noWin,o),noDraw:_(e,t,v.noDraw,o),noDefeat:_(e,t,v.noDefeat,o),scored:_(e,t,v.scored,o),conceded:_(e,t,v.conceded,o),noGoalScored:_(e,t,v.noGoalScored,o),noGoalConceded:_(e,t,v.noGoalConceded,o),over25:_(e,t,v.over25,o),under25:_(e,t,v.under25,o),scoredTwice:_(e,t,v.scoredTwice,o),concededTwice:_(e,t,v.concededTwice,o)}}function so(e,t,o){const n=H(e,t,"home"),s=H(e,t),i=H(e,o,"away"),r=H(e,o);return[{label:"Consecutive wins",homeTeam:{home:n.win,total:s.win},awayTeam:{total:r.win,home:i.win},colorType:"neutral"},{label:"Consecutive draws",homeTeam:{home:n.draw,total:s.draw},awayTeam:{total:r.draw,home:i.draw},colorType:"neutral"},{label:"Consecutive defeats",homeTeam:{home:n.loss,total:s.loss},awayTeam:{total:r.loss,home:i.loss},colorType:"neutral"},{label:"No win",homeTeam:{home:n.noWin,total:s.noWin},awayTeam:{total:r.noWin,home:i.noWin},colorType:"negative"},{label:"No draw",homeTeam:{home:n.noDraw,total:s.noDraw},awayTeam:{total:r.noDraw,home:i.noDraw},colorType:"neutral"},{label:"No defeat",homeTeam:{home:n.noDefeat,total:s.noDefeat},awayTeam:{total:r.noDefeat,home:i.noDefeat},colorType:"positive"},{label:"Scored at least once",homeTeam:{home:n.scored,total:s.scored},awayTeam:{total:r.scored,home:i.scored},colorType:"positive"},{label:"Conceded at least once",homeTeam:{home:n.conceded,total:s.conceded},awayTeam:{total:r.conceded,home:i.conceded},colorType:"negative"},{label:"No goal scored",homeTeam:{home:n.noGoalScored,total:s.noGoalScored},awayTeam:{total:r.noGoalScored,home:i.noGoalScored},colorType:"neutral"},{label:"No goal conceded",homeTeam:{home:n.noGoalConceded,total:s.noGoalConceded},awayTeam:{total:r.noGoalConceded,home:i.noGoalConceded},colorType:"neutral"},{label:"GS + GC over 2.5",homeTeam:{home:n.over25,total:s.over25},awayTeam:{total:r.over25,home:i.over25},colorType:"neutral"},{label:"GS + GC under 2.5",homeTeam:{home:n.under25,total:s.under25},awayTeam:{total:r.under25,home:i.under25},colorType:"neutral"},{label:"Scored at least twice",homeTeam:{home:n.scoredTwice,total:s.scoredTwice},awayTeam:{total:r.scoredTwice,home:i.scoredTwice},colorType:"positive"},{label:"Conceded at least twice",homeTeam:{home:n.concededTwice,total:s.concededTwice},awayTeam:{total:r.concededTwice,home:i.concededTwice},colorType:"negative"}]}function X(e,t){const o=new Map;return e.forEach(n=>{if(n.status?.type!=="FINISHED")return;const s=de(n,t);if(!s)return;const i=s.isHome?n.competitorTwo.id:n.competitorOne.id,r=s.isHome?n.competitorTwo:n.competitorOne,a=o.get(i)||{opponentId:i,opponentName:r.name,opponentLogo:r.assets?.logo};s.isHome?a.homeResult=s.result:a.awayResult=s.result,o.set(i,a)}),o}function io(e,t,o,n,s,i,r){const a=X(e,t),d=X(e,o),l=new Set([...a.keys(),...d.keys(),t,o]),m=[];return l.forEach(c=>{const g=a.get(c),p=d.get(c);if(!g&&!p&&c!==t&&c!==o)return;let y,T;c===t?(y=n,T=i):c===o?(y=s,T=r):(y=g?.opponentName||p?.opponentName||"",T=g?.opponentLogo||p?.opponentLogo),m.push({opponentId:c,opponentName:y,opponentLogo:T,homeTeamHome:g?.homeResult,homeTeamAway:g?.awayResult,awayTeamHome:p?.homeResult,awayTeamAway:p?.awayResult,isHomeTeamRow:c===t,isAwayTeamRow:c===o})}),m.sort((c,g)=>c.isHomeTeamRow?-1:g.isHomeTeamRow?1:c.isAwayTeamRow?-1:g.isAwayTeamRow?1:c.opponentName.localeCompare(g.opponentName))}exports.addProviderRef=u.addProviderRef;exports.getBatchMatchOdds=u.getBatchMatchOdds;exports.getConfig=u.getConfig;exports.getFootballCompetition=u.getFootballCompetition;exports.getFootballLivescore=u.getFootballLivescore;exports.getFootballMatch=u.getFootballMatch;exports.getFootballMatchCommentary=u.getFootballMatchCommentary;exports.getFootballMatchEvents=u.getFootballMatchEvents;exports.getFootballMatchLineups=u.getFootballMatchLineups;exports.getFootballMatchOdds=u.getFootballMatchOdds;exports.getFootballMatchStatistics=u.getFootballMatchStatistics;exports.getFootballMatches=u.getFootballMatches;exports.getFootballPlayerSeasonStatistics=u.getFootballPlayerSeasonStatistics;exports.getFootballSeasonDetails=u.getFootballSeasonDetails;exports.getFootballStandings=u.getFootballStandings;exports.getFootballTeam=u.getFootballTeam;exports.getFootballTeamSquad=u.getFootballTeamSquad;exports.getLeaderboardMatches=u.getLeaderboardMatches;exports.getLeaderboardTeamMatches=u.getLeaderboardTeamMatches;exports.getLeaderboardTemplate=u.getLeaderboardTemplate;exports.getProviderRefId=u.getProviderRefId;exports.isConfigured=u.isConfigured;exports.setConfig=u.setConfig;exports.toProviderRefArray=u.toProviderRefArray;exports.GOAL_EVENT_TYPES=ae;exports.aggregatePlayerStatisticsFromMatches=G;exports.analyzeMatch=ce;exports.calcAverage=k;exports.calcPercentage=A;exports.calculateH2HStats=Qt;exports.calculateStreak=_;exports.formatAsAverage=Vt;exports.formatPossessionPercentage=jt;exports.formatStatValue=Wt;exports.formatWithAverage=qt;exports.getActiveSeason=Ft;exports.getAllPlayerStatisticsFromMatches=ie;exports.getBasketballLivescore=Ne;exports.getFansUnitedFootballCompetition=rt;exports.getFansUnitedFootballCompetitions=ot;exports.getFansUnitedFootballMatch=Tt;exports.getFansUnitedFootballMatches=vt;exports.getFansUnitedFootballPlayer=yt;exports.getFansUnitedFootballPlayers=ht;exports.getFansUnitedFootballSearch=At;exports.getFansUnitedFootballTeam=dt;exports.getFansUnitedFootballTeams=ut;exports.getMatchResult=de;exports.getMostCardedPlayersFromMatches=ne;exports.getOpponentScore=Jt;exports.getRecentH2HMeetings=Xt;exports.getTeamFinishedMatches=Nt;exports.getTeamGoalStats=no;exports.getTeamHomeAwayStats=eo;exports.getTeamMostDecorated=It;exports.getTeamNextMatch=Mt;exports.getTeamOverUnderStats=oo;exports.getTeamPreviousMatch=Ot;exports.getTeamResultsTable=Pt;exports.getTeamScore=zt;exports.getTeamSeasonStatistics=Qe;exports.getTeamStreaks=H;exports.getTeamStreaksComparison=so;exports.getTeamTopAppearances=Lt;exports.getTeamTopAssisters=bt;exports.getTeamTopCleanSheets=Dt;exports.getTeamTopMinutesPlayed=Gt;exports.getTeamTopScorers=Et;exports.getTeamUpcomingMatches=Rt;exports.getTeamsCommonOpponents=io;exports.getTennisLivescore=ke;exports.getTopAssistersFromMatches=oe;exports.getTopGoalContributorsFromMatches=se;exports.getTopScorersFromMatches=te;exports.isMatchFinished=Kt;exports.isTeamAway=le;exports.isTeamHome=q;exports.isTeamInMatch=Yt;exports.search=Ke;exports.searchFootball=ve;exports.streakFilters=v;exports.useAllPlayerStatisticsFromMatches=$t;exports.useMostCardedPlayersFromMatches=Ut;exports.usePlayerStatistics=xt;exports.usePlayerStatisticsMap=re;exports.useTopAssistersFromMatches=Ht;exports.useTopGoalContributorsFromMatches=Bt;exports.useTopScorersFromMatches=kt;
|
package/fansunited-data-layer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as _, g as A, f as se, c as V, S as ie, a as re, b as ae, d as ce, e as de, h as le } from "./matches-
|
|
2
|
-
import { i as _o, j as So, k as Co, l as Ao, m as Oo, n as No, o as Ro, p as Eo, q as Fo, r as Mo, s as Lo, u as
|
|
1
|
+
import { t as _, g as A, f as se, c as V, S as ie, a as re, b as ae, d as ce, e as de, h as le } from "./matches-B8E7KjZU.js";
|
|
2
|
+
import { i as _o, j as So, k as Co, l as Ao, m as Oo, n as No, o as Ro, p as Eo, q as Fo, r as Mo, s as Lo, u as Do, v as Io, w as Go, x as Po, y as bo, z as ko, A as Ho, B as Bo, C as Uo, D as $o, E as xo } from "./matches-B8E7KjZU.js";
|
|
3
3
|
import { useMemo as G } from "react";
|
|
4
4
|
function ue(e) {
|
|
5
5
|
return {
|
|
@@ -68,7 +68,7 @@ function fe(e) {
|
|
|
68
68
|
providerRef: _(e.uuid)
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
function
|
|
71
|
+
function ge(e) {
|
|
72
72
|
return {
|
|
73
73
|
entityType: "president",
|
|
74
74
|
id: e.id.toString(),
|
|
@@ -88,7 +88,7 @@ function pe(e) {
|
|
|
88
88
|
providerRef: _(e.uuid)
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
|
-
function
|
|
91
|
+
function pe(e) {
|
|
92
92
|
return {
|
|
93
93
|
entityType: "venue",
|
|
94
94
|
id: e.id.toString(),
|
|
@@ -153,9 +153,9 @@ function he(e) {
|
|
|
153
153
|
case "team":
|
|
154
154
|
return fe(e);
|
|
155
155
|
case "president":
|
|
156
|
-
return pe(e);
|
|
157
|
-
case "venue":
|
|
158
156
|
return ge(e);
|
|
157
|
+
case "venue":
|
|
158
|
+
return pe(e);
|
|
159
159
|
case "coach":
|
|
160
160
|
return ye(e);
|
|
161
161
|
default:
|
|
@@ -258,22 +258,24 @@ function Ce(e) {
|
|
|
258
258
|
}
|
|
259
259
|
function Ae(e) {
|
|
260
260
|
if (!e || e.length === 0) return;
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
261
|
+
const t = e.filter((i) => i.result_type.category === "PERIOD");
|
|
262
|
+
if (t.length === 0) return;
|
|
263
|
+
let o = 0, n = 0;
|
|
264
|
+
const s = [];
|
|
265
|
+
for (const i of t)
|
|
266
|
+
o += i.home, n += i.away, s.push({
|
|
267
|
+
competitorOne: String(i.home),
|
|
268
|
+
competitorTwo: String(i.away)
|
|
267
269
|
});
|
|
268
270
|
return {
|
|
269
|
-
competitorOne: String(
|
|
270
|
-
competitorTwo: String(
|
|
271
|
+
competitorOne: String(o),
|
|
272
|
+
competitorTwo: String(n),
|
|
271
273
|
breakdown: {
|
|
272
274
|
total: {
|
|
273
|
-
competitorOne: String(
|
|
274
|
-
competitorTwo: String(
|
|
275
|
+
competitorOne: String(o),
|
|
276
|
+
competitorTwo: String(n)
|
|
275
277
|
},
|
|
276
|
-
periods:
|
|
278
|
+
periods: s
|
|
277
279
|
}
|
|
278
280
|
};
|
|
279
281
|
}
|
|
@@ -322,7 +324,8 @@ async function Nt(e, t) {
|
|
|
322
324
|
status_type: e?.statusTypes,
|
|
323
325
|
odd_client: e?.oddClient ?? n?.oddClient,
|
|
324
326
|
odd_type: e?.oddType,
|
|
325
|
-
market_types: e?.marketTypes
|
|
327
|
+
market_types: e?.marketTypes,
|
|
328
|
+
language_code: e?.languageCode ?? n?.languageCode ?? "en"
|
|
326
329
|
},
|
|
327
330
|
headers: {
|
|
328
331
|
"Accept-Language": e?.languageCode ?? n?.languageCode ?? "en"
|
|
@@ -432,35 +435,41 @@ function Me(e) {
|
|
|
432
435
|
}
|
|
433
436
|
function Le(e) {
|
|
434
437
|
if (!e.results || e.results.length === 0) return;
|
|
435
|
-
const t =
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
438
|
+
const t = e.results.filter((i) => /^SET_\d+$/i.test(i.type.code));
|
|
439
|
+
if (t.length === 0) return;
|
|
440
|
+
const o = [];
|
|
441
|
+
let n = 0, s = 0;
|
|
442
|
+
for (const i of t) {
|
|
443
|
+
const r = i.values.find((u) => u.position === "1"), a = i.values.find((u) => u.position === "2");
|
|
444
|
+
if (!r || !a || r.value == null || a.value == null) continue;
|
|
445
|
+
o.push({
|
|
446
|
+
competitorOne: r.value,
|
|
447
|
+
competitorTwo: a.value
|
|
448
|
+
});
|
|
449
|
+
const l = parseInt(r.value), d = parseInt(a.value);
|
|
450
|
+
!isNaN(l) && !isNaN(d) && (l > d && n++, d > l && s++);
|
|
443
451
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
452
|
+
if (o.length !== 0)
|
|
453
|
+
return {
|
|
454
|
+
competitorOne: String(n),
|
|
455
|
+
competitorTwo: String(s),
|
|
456
|
+
breakdown: {
|
|
457
|
+
total: {
|
|
458
|
+
competitorOne: String(n),
|
|
459
|
+
competitorTwo: String(s)
|
|
460
|
+
},
|
|
461
|
+
periods: o
|
|
462
|
+
}
|
|
463
|
+
};
|
|
455
464
|
}
|
|
456
|
-
function
|
|
465
|
+
function De(e) {
|
|
457
466
|
const t = e.participants.find((o) => o.winner === "YES");
|
|
458
467
|
if (t)
|
|
459
468
|
return {
|
|
460
469
|
competitorId: t.id
|
|
461
470
|
};
|
|
462
471
|
}
|
|
463
|
-
function
|
|
472
|
+
function Ie(e) {
|
|
464
473
|
const t = e.participants.sort((o, n) => o.position - n.position);
|
|
465
474
|
return {
|
|
466
475
|
id: e.id,
|
|
@@ -478,7 +487,7 @@ function De(e) {
|
|
|
478
487
|
providerRef: _(e.round.uuid)
|
|
479
488
|
} : void 0,
|
|
480
489
|
score: Le(e),
|
|
481
|
-
winner:
|
|
490
|
+
winner: De(e),
|
|
482
491
|
coverage: e.coverage?.type === "NOT_LIVE" ? "UNKNOWN" : e.coverage?.type,
|
|
483
492
|
metadata: {
|
|
484
493
|
matchType: e.type,
|
|
@@ -509,14 +518,15 @@ async function Rt(e, t) {
|
|
|
509
518
|
competition_list: e?.competitionList,
|
|
510
519
|
odd_client: e?.oddClient ?? n?.oddClient,
|
|
511
520
|
odd_type: e?.oddType,
|
|
512
|
-
market_types: e?.marketTypes
|
|
521
|
+
market_types: e?.marketTypes,
|
|
522
|
+
language_code: e?.languageCode ?? n?.languageCode ?? "en"
|
|
513
523
|
},
|
|
514
524
|
headers: {
|
|
515
525
|
"Accept-Language": e?.languageCode ?? n?.languageCode ?? "en"
|
|
516
526
|
},
|
|
517
527
|
next: e?.next,
|
|
518
528
|
config: o
|
|
519
|
-
})).matches.map(
|
|
529
|
+
})).matches.map(Ie);
|
|
520
530
|
}
|
|
521
531
|
const Ge = V(ae);
|
|
522
532
|
function R(e) {
|
|
@@ -533,7 +543,7 @@ function E(e) {
|
|
|
533
543
|
url: e.url
|
|
534
544
|
};
|
|
535
545
|
}
|
|
536
|
-
function
|
|
546
|
+
function I(e) {
|
|
537
547
|
if (e)
|
|
538
548
|
return {
|
|
539
549
|
id: e.id,
|
|
@@ -560,7 +570,7 @@ function K(e) {
|
|
|
560
570
|
slug: e.slug,
|
|
561
571
|
tagScore: e.tag_score ?? void 0,
|
|
562
572
|
sport: e.sport,
|
|
563
|
-
country:
|
|
573
|
+
country: I(e.country),
|
|
564
574
|
gender: e.gender,
|
|
565
575
|
competitionIds: e.competition_ids,
|
|
566
576
|
type: e.type,
|
|
@@ -582,7 +592,7 @@ function ee(e) {
|
|
|
582
592
|
slug: e.slug,
|
|
583
593
|
tagScore: e.tag_score ?? void 0,
|
|
584
594
|
sport: e.sport,
|
|
585
|
-
country:
|
|
595
|
+
country: I(e.country),
|
|
586
596
|
providerRef: e.id
|
|
587
597
|
};
|
|
588
598
|
}
|
|
@@ -599,7 +609,7 @@ function Pe(e) {
|
|
|
599
609
|
slug: e.slug,
|
|
600
610
|
tagScore: e.tag_score ?? void 0,
|
|
601
611
|
sport: e.sport,
|
|
602
|
-
country:
|
|
612
|
+
country: I(e.country),
|
|
603
613
|
gender: e.gender,
|
|
604
614
|
providerRef: e.id
|
|
605
615
|
};
|
|
@@ -617,7 +627,7 @@ function be(e) {
|
|
|
617
627
|
slug: e.slug,
|
|
618
628
|
tagScore: e.tag_score ?? void 0,
|
|
619
629
|
sport: e.sport,
|
|
620
|
-
country:
|
|
630
|
+
country: I(e.country),
|
|
621
631
|
gender: e.gender,
|
|
622
632
|
birthdate: e.birthdate ?? void 0,
|
|
623
633
|
position: e.position ?? void 0,
|
|
@@ -637,7 +647,7 @@ function ke(e) {
|
|
|
637
647
|
slug: e.slug,
|
|
638
648
|
tagScore: e.tag_score ?? void 0,
|
|
639
649
|
sport: e.sport,
|
|
640
|
-
country:
|
|
650
|
+
country: I(e.country),
|
|
641
651
|
gender: e.gender,
|
|
642
652
|
birthdate: e.birthdate ?? void 0,
|
|
643
653
|
providerRef: e.id
|
|
@@ -656,7 +666,7 @@ function He(e) {
|
|
|
656
666
|
slug: e.slug,
|
|
657
667
|
tagScore: e.tag_score ?? void 0,
|
|
658
668
|
sport: e.sport,
|
|
659
|
-
country:
|
|
669
|
+
country: I(e.country),
|
|
660
670
|
gender: e.gender,
|
|
661
671
|
birthdate: e.birthdate ?? void 0,
|
|
662
672
|
providerRef: e.id
|
|
@@ -675,7 +685,7 @@ function Be(e) {
|
|
|
675
685
|
slug: e.slug,
|
|
676
686
|
tagScore: e.tag_score ?? void 0,
|
|
677
687
|
sport: e.sport,
|
|
678
|
-
country:
|
|
688
|
+
country: I(e.country),
|
|
679
689
|
city: e.city ? ee(e.city) : void 0,
|
|
680
690
|
providerRef: e.id
|
|
681
691
|
};
|
|
@@ -693,7 +703,7 @@ function Ue(e) {
|
|
|
693
703
|
slug: e.slug,
|
|
694
704
|
tagScore: e.tag_score ?? void 0,
|
|
695
705
|
sport: e.sport,
|
|
696
|
-
country:
|
|
706
|
+
country: I(e.country),
|
|
697
707
|
gender: e.gender,
|
|
698
708
|
type: e.type ?? void 0,
|
|
699
709
|
region: e.region ?? void 0,
|
|
@@ -860,7 +870,7 @@ function je(e) {
|
|
|
860
870
|
}
|
|
861
871
|
};
|
|
862
872
|
}
|
|
863
|
-
const Ke = "https://football.fansunitedapi.com",
|
|
873
|
+
const Ke = "https://football.fansunitedapi.com", D = je(Ke);
|
|
864
874
|
function Ye(e) {
|
|
865
875
|
return {
|
|
866
876
|
id: String(e.id),
|
|
@@ -915,7 +925,7 @@ function Je(e) {
|
|
|
915
925
|
async function Mt(e, t) {
|
|
916
926
|
const o = {};
|
|
917
927
|
e?.lang ? o.lang = e.lang : o.lang = "EN", e?.sortField && (o.sort_field = e.sortField), e?.sortOrder && (o.sort_order = e.sortOrder), e?.page !== void 0 && (o.page = String(e.page)), e?.perPage !== void 0 && (o.per_page = String(e.perPage)), e?.countryId !== void 0 && (o.country_id = String(e.countryId)), e?.active !== void 0 && (o.active = e.active ? "1" : "0");
|
|
918
|
-
const n = await
|
|
928
|
+
const n = await D.get({
|
|
919
929
|
path: "/v1/competitions",
|
|
920
930
|
params: o,
|
|
921
931
|
config: t,
|
|
@@ -965,7 +975,7 @@ function Ze(e) {
|
|
|
965
975
|
async function Lt(e, t, o) {
|
|
966
976
|
const n = o || A(), s = {};
|
|
967
977
|
t?.lang && (s.lang = t.lang);
|
|
968
|
-
const i = await
|
|
978
|
+
const i = await D.get({
|
|
969
979
|
path: `/v1/competitions/${e}`,
|
|
970
980
|
params: s,
|
|
971
981
|
next: t?.next,
|
|
@@ -1021,10 +1031,10 @@ function et(e) {
|
|
|
1021
1031
|
function tt(e) {
|
|
1022
1032
|
return e.data.map(te);
|
|
1023
1033
|
}
|
|
1024
|
-
async function
|
|
1034
|
+
async function Dt(e, t, o) {
|
|
1025
1035
|
const n = o || A(), s = {};
|
|
1026
1036
|
t?.lang && (s.lang = t.lang);
|
|
1027
|
-
const i = await
|
|
1037
|
+
const i = await D.get({
|
|
1028
1038
|
path: `/v1/teams/${e}`,
|
|
1029
1039
|
params: s,
|
|
1030
1040
|
next: t?.next,
|
|
@@ -1032,10 +1042,10 @@ async function It(e, t, o) {
|
|
|
1032
1042
|
});
|
|
1033
1043
|
return et(i);
|
|
1034
1044
|
}
|
|
1035
|
-
async function
|
|
1045
|
+
async function It(e, t) {
|
|
1036
1046
|
const o = t || A(), n = {};
|
|
1037
1047
|
e?.lang && (n.lang = e.lang), e?.teamIds && (n.team_ids = e.teamIds), e?.countryId && (n.country_id = e.countryId), e?.name && (n.name = e.name), e?.scope && (n.scope = e.scope), e?.national !== void 0 && (n.national = String(e.national)), e?.gender && (n.gender = e.gender), e?.limit !== void 0 && (n.limit = String(e.limit)), e?.page !== void 0 && (n.page = String(e.page)), e?.sortField && (n.sort_field = e.sortField), e?.sortOrder && (n.sort_order = e.sortOrder);
|
|
1038
|
-
const s = await
|
|
1048
|
+
const s = await D.get({
|
|
1039
1049
|
path: "/v1/teams",
|
|
1040
1050
|
params: n,
|
|
1041
1051
|
next: e?.next,
|
|
@@ -1126,7 +1136,7 @@ function it(e) {
|
|
|
1126
1136
|
async function Gt(e, t, o) {
|
|
1127
1137
|
const n = o || A(), s = {};
|
|
1128
1138
|
t?.lang && (s.lang = t.lang);
|
|
1129
|
-
const i = await
|
|
1139
|
+
const i = await D.get({
|
|
1130
1140
|
path: `/v1/players/${e}`,
|
|
1131
1141
|
params: s,
|
|
1132
1142
|
next: t?.next,
|
|
@@ -1137,7 +1147,7 @@ async function Gt(e, t, o) {
|
|
|
1137
1147
|
async function Pt(e, t) {
|
|
1138
1148
|
const o = t || A(), n = {};
|
|
1139
1149
|
e?.lang && (n.lang = e.lang), e?.playerIds && (n.player_ids = e.playerIds), e?.countryId && (n.country_id = e.countryId), e?.name && (n.name = e.name), e?.scope && (n.scope = e.scope), e?.limit !== void 0 && (n.limit = String(e.limit)), e?.page !== void 0 && (n.page = String(e.page)), e?.sortField && (n.sort_field = e.sortField), e?.sortOrder && (n.sort_order = e.sortOrder);
|
|
1140
|
-
const s = await
|
|
1150
|
+
const s = await D.get({
|
|
1141
1151
|
path: "/v1/players",
|
|
1142
1152
|
params: n,
|
|
1143
1153
|
next: e?.next,
|
|
@@ -1148,7 +1158,7 @@ async function Pt(e, t) {
|
|
|
1148
1158
|
async function bt(e, t, o) {
|
|
1149
1159
|
const n = o || A(), s = {};
|
|
1150
1160
|
t?.lang && (s.lang = t.lang);
|
|
1151
|
-
const i = await
|
|
1161
|
+
const i = await D.get({
|
|
1152
1162
|
path: `/v1/matches/${e}`,
|
|
1153
1163
|
params: s,
|
|
1154
1164
|
next: t?.next,
|
|
@@ -1159,7 +1169,7 @@ async function bt(e, t, o) {
|
|
|
1159
1169
|
async function kt(e, t) {
|
|
1160
1170
|
const o = t || A(), n = {};
|
|
1161
1171
|
e?.lang && (n.lang = e.lang), e?.competitions && (n.competitions = e.competitions), e?.countries && (n.countries = e.countries), e?.fromDate && (n.from_date = e.fromDate), e?.toDate && (n.to_date = e.toDate), e?.matches && (n.matches = e.matches), e?.teams && (n.teams = e.teams), e?.status && (n.status = e.status), e?.limit !== void 0 && (n.limit = String(e.limit)), e?.page !== void 0 && (n.page = String(e.page)), e?.sortField && (n.sort_field = e.sortField), e?.sortOrder && (n.sort_order = e.sortOrder), e?.showDeleted !== void 0 && (n.show_deleted = e.showDeleted ? "true" : "false");
|
|
1162
|
-
const s = await
|
|
1172
|
+
const s = await D.get({
|
|
1163
1173
|
path: "/v1/matches",
|
|
1164
1174
|
params: n,
|
|
1165
1175
|
next: e?.next,
|
|
@@ -1295,7 +1305,7 @@ async function Ht(e, t) {
|
|
|
1295
1305
|
}
|
|
1296
1306
|
});
|
|
1297
1307
|
n.entities = i.join(","), e.lang && (n.lang = e.lang), e.limit && (n.limit = String(e.limit));
|
|
1298
|
-
const r = await
|
|
1308
|
+
const r = await D.get({
|
|
1299
1309
|
path: "/v1/search",
|
|
1300
1310
|
params: n,
|
|
1301
1311
|
next: e.next,
|
|
@@ -1358,24 +1368,24 @@ function qt(e, t, o) {
|
|
|
1358
1368
|
);
|
|
1359
1369
|
let u, c;
|
|
1360
1370
|
return l.forEach((m) => {
|
|
1361
|
-
const
|
|
1371
|
+
const g = m.competitorOne.id === e, p = parseInt(m.score?.competitorOne ?? "0"), h = parseInt(m.score?.competitorTwo ?? "0"), F = g ? p : h, S = g ? h : p;
|
|
1362
1372
|
let O;
|
|
1363
1373
|
F > S ? O = "W" : F === S ? O = "D" : O = "L";
|
|
1364
1374
|
const M = {
|
|
1365
1375
|
result: O,
|
|
1366
|
-
score: `${
|
|
1376
|
+
score: `${p} - ${h}`,
|
|
1367
1377
|
date: m.timing.kickoffTime,
|
|
1368
1378
|
matchId: m.id,
|
|
1369
1379
|
isUpcoming: !1
|
|
1370
1380
|
};
|
|
1371
|
-
|
|
1381
|
+
g ? u = M : c = M;
|
|
1372
1382
|
}), d.forEach((m) => {
|
|
1373
|
-
const
|
|
1374
|
-
|
|
1383
|
+
const g = m.competitorOne.id === e;
|
|
1384
|
+
g && !u ? u = {
|
|
1375
1385
|
date: m.timing.kickoffTime,
|
|
1376
1386
|
matchId: m.id,
|
|
1377
1387
|
isUpcoming: !0
|
|
1378
|
-
} : !
|
|
1388
|
+
} : !g && !c && (c = {
|
|
1379
1389
|
date: m.timing.kickoffTime,
|
|
1380
1390
|
matchId: m.id,
|
|
1381
1391
|
isUpcoming: !0
|
|
@@ -1572,14 +1582,14 @@ function wt(e, t = 10) {
|
|
|
1572
1582
|
function eo(e) {
|
|
1573
1583
|
return G(() => ft(e), [e]);
|
|
1574
1584
|
}
|
|
1575
|
-
function
|
|
1585
|
+
function gt(e) {
|
|
1576
1586
|
return G(() => b(e), [e]);
|
|
1577
1587
|
}
|
|
1578
1588
|
function to(e, t) {
|
|
1579
|
-
const o =
|
|
1589
|
+
const o = gt(e);
|
|
1580
1590
|
return G(() => o.get(t), [o, t]);
|
|
1581
1591
|
}
|
|
1582
|
-
const
|
|
1592
|
+
const pt = ["GOAL", "PENALTY_GOAL", "OWN_GOAL"];
|
|
1583
1593
|
function N(e, t) {
|
|
1584
1594
|
return t > 0 ? e / t * 100 : 0;
|
|
1585
1595
|
}
|
|
@@ -1609,14 +1619,14 @@ function yt(e, t, o) {
|
|
|
1609
1619
|
let a = null, l = null;
|
|
1610
1620
|
const d = e.score.breakdown?.halfTime;
|
|
1611
1621
|
if (d) {
|
|
1612
|
-
const
|
|
1613
|
-
a = o ?
|
|
1622
|
+
const g = parseInt(d.competitorOne || "0"), p = parseInt(d.competitorTwo || "0");
|
|
1623
|
+
a = o ? g : p, l = o ? p : g;
|
|
1614
1624
|
}
|
|
1615
1625
|
const u = e.statistics;
|
|
1616
1626
|
let c = null, m = null;
|
|
1617
1627
|
if (u) {
|
|
1618
|
-
const
|
|
1619
|
-
|
|
1628
|
+
const g = u.find?.((p) => p.type === "CORNERS");
|
|
1629
|
+
g && (c = o ? g.competitorOne : g.competitorTwo, m = o ? g.competitorTwo : g.competitorOne);
|
|
1620
1630
|
}
|
|
1621
1631
|
return {
|
|
1622
1632
|
goalsFor: i,
|
|
@@ -1658,8 +1668,8 @@ function uo(e, t, o) {
|
|
|
1658
1668
|
});
|
|
1659
1669
|
let s = 0, i = 0, r = 0, a = 0, l = 0;
|
|
1660
1670
|
n.forEach((u) => {
|
|
1661
|
-
const c = parseInt(u.score?.competitorOne || "0"), m = parseInt(u.score?.competitorTwo || "0"),
|
|
1662
|
-
a +=
|
|
1671
|
+
const c = parseInt(u.score?.competitorOne || "0"), m = parseInt(u.score?.competitorTwo || "0"), g = u.competitorOne.id === t, p = g ? c : m, h = g ? m : c;
|
|
1672
|
+
a += p, l += h, p > h ? s++ : h > p ? i++ : r++;
|
|
1663
1673
|
});
|
|
1664
1674
|
const d = n.length;
|
|
1665
1675
|
return {
|
|
@@ -1718,14 +1728,14 @@ function Z(e, t, o, n) {
|
|
|
1718
1728
|
if (!r && !a || o === "home" && !r || o === "away" && !a || i.status?.type !== "FINISHED") continue;
|
|
1719
1729
|
const l = i.mainEvents;
|
|
1720
1730
|
if (!l || !Array.isArray(l)) continue;
|
|
1721
|
-
const d = l.filter((
|
|
1722
|
-
const F =
|
|
1723
|
-
return F !== S ? F - S : (
|
|
1731
|
+
const d = l.filter((p) => p.type && pt.includes(p.type)).sort((p, h) => {
|
|
1732
|
+
const F = p.minute ?? 0, S = h.minute ?? 0;
|
|
1733
|
+
return F !== S ? F - S : (p.injuryMinute ?? 0) - (h.injuryMinute ?? 0);
|
|
1724
1734
|
});
|
|
1725
1735
|
if (d.length === 0) continue;
|
|
1726
1736
|
const u = d[0], c = r ? "ONE" : "TWO", m = u.type === "OWN_GOAL";
|
|
1727
|
-
let
|
|
1728
|
-
m ?
|
|
1737
|
+
let g;
|
|
1738
|
+
m ? g = u.competitorPosition !== c : g = u.competitorPosition === c, (n === "scored" && g || n === "conceded" && !g) && s++;
|
|
1729
1739
|
}
|
|
1730
1740
|
return s;
|
|
1731
1741
|
}
|
|
@@ -1761,29 +1771,29 @@ function fo(e, t, o) {
|
|
|
1761
1771
|
avgCornersFor: 0,
|
|
1762
1772
|
avgCornersAgainst: 0
|
|
1763
1773
|
};
|
|
1764
|
-
const i = n.reduce((f, v) => f + v.goalsFor, 0), r = n.reduce((f, v) => f + v.goalsAgainst, 0), a = n.filter((f) => f.goalsAgainst === 0).length, l = n.filter((f) => f.isWin && f.goalsAgainst === 0).length, d = n.filter((f) => f.goalsFor > 0).length, u = n.filter((f) => f.goalsFor === 0).length, c = n.filter((f) => f.isLoss && f.goalsFor === 0).length, m = n.filter((f) => f.goalsAgainst > 0).length,
|
|
1774
|
+
const i = n.reduce((f, v) => f + v.goalsFor, 0), r = n.reduce((f, v) => f + v.goalsAgainst, 0), a = n.filter((f) => f.goalsAgainst === 0).length, l = n.filter((f) => f.isWin && f.goalsAgainst === 0).length, d = n.filter((f) => f.goalsFor > 0).length, u = n.filter((f) => f.goalsFor === 0).length, c = n.filter((f) => f.isLoss && f.goalsFor === 0).length, m = n.filter((f) => f.goalsAgainst > 0).length, g = n.filter((f) => f.halfTimeGoalsFor !== null), p = g.length, h = g.filter((f) => {
|
|
1765
1775
|
const v = f.halfTimeGoalsFor, k = f.goalsFor - v;
|
|
1766
1776
|
return v > 0 && k > 0;
|
|
1767
|
-
}).length, F = Z(e, t, o, "scored"), S = vt(e, t, o), O =
|
|
1777
|
+
}).length, F = Z(e, t, o, "scored"), S = vt(e, t, o), O = g.filter((f) => f.halfTimeGoalsFor > f.halfTimeGoalsAgainst).length, M = g.filter((f) => {
|
|
1768
1778
|
const v = f.halfTimeGoalsAgainst, k = f.goalsAgainst - v;
|
|
1769
1779
|
return v > 0 && k > 0;
|
|
1770
|
-
}).length, B = Z(e, t, o, "conceded"), U =
|
|
1780
|
+
}).length, B = Z(e, t, o, "conceded"), U = g.filter((f) => f.halfTimeGoalsAgainst > f.halfTimeGoalsFor).length, P = n.filter((f) => f.cornersFor !== null), $ = P.reduce((f, v) => f + (v.cornersFor || 0), 0), x = P.reduce((f, v) => f + (v.cornersAgainst || 0), 0);
|
|
1771
1781
|
return {
|
|
1772
1782
|
played: s,
|
|
1773
1783
|
goalsForPerMatch: W(i, s),
|
|
1774
1784
|
cleanSheets: N(a, s),
|
|
1775
1785
|
wonToNil: N(l, s),
|
|
1776
1786
|
scoringRate: N(d, s),
|
|
1777
|
-
scoredInBothHalves: N(h,
|
|
1787
|
+
scoredInBothHalves: N(h, p),
|
|
1778
1788
|
scoredFirst: N(F, S),
|
|
1779
|
-
leadingAtHalfTime: N(O,
|
|
1789
|
+
leadingAtHalfTime: N(O, p),
|
|
1780
1790
|
goalsAgainstPerMatch: W(r, s),
|
|
1781
1791
|
failedToScore: N(u, s),
|
|
1782
1792
|
lostToNil: N(c, s),
|
|
1783
1793
|
concedingRate: N(m, s),
|
|
1784
|
-
concededInBothHalves: N(M,
|
|
1794
|
+
concededInBothHalves: N(M, p),
|
|
1785
1795
|
concededFirst: N(B, S),
|
|
1786
|
-
losingAtHalfTime: N(U,
|
|
1796
|
+
losingAtHalfTime: N(U, p),
|
|
1787
1797
|
avgCornersFor: W($, P.length),
|
|
1788
1798
|
avgCornersAgainst: W(x, P.length)
|
|
1789
1799
|
};
|
|
@@ -1807,7 +1817,7 @@ function _t(e, t) {
|
|
|
1807
1817
|
function y(e, t) {
|
|
1808
1818
|
return e.length === 0 ? 0 : e.filter((n) => n > t).length / e.length * 100;
|
|
1809
1819
|
}
|
|
1810
|
-
function
|
|
1820
|
+
function go(e, t) {
|
|
1811
1821
|
const o = _t(e, t), n = o.filter((c) => c.isHome), s = o.filter((c) => !c.isHome), i = o.map((c) => c.totalGoals), r = n.map((c) => c.totalGoals), a = s.map((c) => c.totalGoals), l = o.filter((c) => c.halfTimeGoals !== null).map((c) => c.halfTimeGoals), d = n.filter((c) => c.halfTimeGoals !== null).map((c) => c.halfTimeGoals), u = s.filter((c) => c.halfTimeGoals !== null).map((c) => c.halfTimeGoals);
|
|
1812
1822
|
return {
|
|
1813
1823
|
over05: {
|
|
@@ -1867,18 +1877,18 @@ function St(e, t) {
|
|
|
1867
1877
|
isHome: o
|
|
1868
1878
|
};
|
|
1869
1879
|
}
|
|
1870
|
-
function
|
|
1880
|
+
function po(e, t, o, n, s, i) {
|
|
1871
1881
|
const r = t?.entries.find((L) => L.competitor.id === e), a = o?.entries.find((L) => L.competitor.id === e), l = n?.entries.find((L) => L.competitor.id === e), d = s?.entries.find((L) => L.competitor.id === e), u = i?.entries.find((L) => L.competitor.id === e);
|
|
1872
1882
|
if (!r) return null;
|
|
1873
|
-
const c = a?.stats?.goalsFor ?? 0, m = l?.stats?.goalsFor ?? 0,
|
|
1883
|
+
const c = a?.stats?.goalsFor ?? 0, m = l?.stats?.goalsFor ?? 0, g = r?.stats?.goalsFor ?? 0, p = d?.stats?.goalsAgainst ?? 0, h = u?.stats?.goalsAgainst ?? 0, F = r?.stats?.goalsAgainst ?? 0, S = a?.stats?.played ?? 0, O = l?.stats?.played ?? 0, M = r?.stats?.played ?? 0, B = M > 0 ? g / M : 0, U = M > 0 ? F / M : 0, P = B + U, $ = S > 0 ? c / S : 0, x = O > 0 ? m / O : 0, f = S > 0 ? p / S : 0, v = O > 0 ? h / O : 0, k = $ + f, ne = x + v;
|
|
1874
1884
|
return {
|
|
1875
1885
|
homeGoals: c,
|
|
1876
|
-
totalGoals:
|
|
1886
|
+
totalGoals: g,
|
|
1877
1887
|
awayGoals: m,
|
|
1878
1888
|
homeGamesPlayed: S,
|
|
1879
1889
|
awayGamesPlayed: O,
|
|
1880
1890
|
totalGamesPlayed: M,
|
|
1881
|
-
homeGoalsConceded:
|
|
1891
|
+
homeGoalsConceded: p,
|
|
1882
1892
|
totalGoalsConceded: F,
|
|
1883
1893
|
awayGoalsConceded: h,
|
|
1884
1894
|
gfPerMatch: B,
|
|
@@ -2061,25 +2071,25 @@ function ho(e, t, o, n, s, i, r) {
|
|
|
2061
2071
|
// Include away team as row for home team results
|
|
2062
2072
|
]), u = [];
|
|
2063
2073
|
return d.forEach((c) => {
|
|
2064
|
-
const m = a.get(c),
|
|
2065
|
-
if (!m && !
|
|
2074
|
+
const m = a.get(c), g = l.get(c);
|
|
2075
|
+
if (!m && !g && c !== t && c !== o)
|
|
2066
2076
|
return;
|
|
2067
|
-
let
|
|
2068
|
-
c === t ? (
|
|
2077
|
+
let p, h;
|
|
2078
|
+
c === t ? (p = n, h = i) : c === o ? (p = s, h = r) : (p = m?.opponentName || g?.opponentName || "", h = m?.opponentLogo || g?.opponentLogo), u.push({
|
|
2069
2079
|
opponentId: c,
|
|
2070
|
-
opponentName:
|
|
2080
|
+
opponentName: p,
|
|
2071
2081
|
opponentLogo: h,
|
|
2072
2082
|
homeTeamHome: m?.homeResult,
|
|
2073
2083
|
homeTeamAway: m?.awayResult,
|
|
2074
|
-
awayTeamHome:
|
|
2075
|
-
awayTeamAway:
|
|
2084
|
+
awayTeamHome: g?.homeResult,
|
|
2085
|
+
awayTeamAway: g?.awayResult,
|
|
2076
2086
|
isHomeTeamRow: c === t,
|
|
2077
2087
|
isAwayTeamRow: c === o
|
|
2078
2088
|
});
|
|
2079
2089
|
}), u.sort((c, m) => c.isHomeTeamRow ? -1 : m.isHomeTeamRow ? 1 : c.isAwayTeamRow ? -1 : m.isAwayTeamRow ? 1 : c.opponentName.localeCompare(m.opponentName));
|
|
2080
2090
|
}
|
|
2081
2091
|
export {
|
|
2082
|
-
|
|
2092
|
+
pt as GOAL_EVENT_TYPES,
|
|
2083
2093
|
_o as addProviderRef,
|
|
2084
2094
|
b as aggregatePlayerStatisticsFromMatches,
|
|
2085
2095
|
yt as analyzeMatch,
|
|
@@ -2103,8 +2113,8 @@ export {
|
|
|
2103
2113
|
Gt as getFansUnitedFootballPlayer,
|
|
2104
2114
|
Pt as getFansUnitedFootballPlayers,
|
|
2105
2115
|
Ht as getFansUnitedFootballSearch,
|
|
2106
|
-
|
|
2107
|
-
|
|
2116
|
+
Dt as getFansUnitedFootballTeam,
|
|
2117
|
+
It as getFansUnitedFootballTeams,
|
|
2108
2118
|
Co as getFootballCompetition,
|
|
2109
2119
|
Ao as getFootballLivescore,
|
|
2110
2120
|
Oo as getFootballMatch,
|
|
@@ -2114,8 +2124,8 @@ export {
|
|
|
2114
2124
|
Fo as getFootballMatchOdds,
|
|
2115
2125
|
Mo as getFootballMatchStatistics,
|
|
2116
2126
|
Lo as getFootballMatches,
|
|
2117
|
-
|
|
2118
|
-
|
|
2127
|
+
Do as getFootballPlayerSeasonStatistics,
|
|
2128
|
+
Io as getFootballSeasonDetails,
|
|
2119
2129
|
Go as getFootballStandings,
|
|
2120
2130
|
Po as getFootballTeam,
|
|
2121
2131
|
bo as getFootballTeamSquad,
|
|
@@ -2128,11 +2138,11 @@ export {
|
|
|
2128
2138
|
Uo as getProviderRefId,
|
|
2129
2139
|
mo as getRecentH2HMeetings,
|
|
2130
2140
|
Wt as getTeamFinishedMatches,
|
|
2131
|
-
|
|
2141
|
+
po as getTeamGoalStats,
|
|
2132
2142
|
fo as getTeamHomeAwayStats,
|
|
2133
2143
|
Jt as getTeamMostDecorated,
|
|
2134
2144
|
Ut as getTeamNextMatch,
|
|
2135
|
-
|
|
2145
|
+
go as getTeamOverUnderStats,
|
|
2136
2146
|
$t as getTeamPreviousMatch,
|
|
2137
2147
|
qt as getTeamResultsTable,
|
|
2138
2148
|
co as getTeamScore,
|
|
@@ -2163,7 +2173,7 @@ export {
|
|
|
2163
2173
|
eo as useAllPlayerStatisticsFromMatches,
|
|
2164
2174
|
Zt as useMostCardedPlayersFromMatches,
|
|
2165
2175
|
to as usePlayerStatistics,
|
|
2166
|
-
|
|
2176
|
+
gt as usePlayerStatisticsMap,
|
|
2167
2177
|
Xt as useTopAssistersFromMatches,
|
|
2168
2178
|
wt as useTopGoalContributorsFromMatches,
|
|
2169
2179
|
Qt as useTopScorersFromMatches
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const A="__FANSUNITED_DATA_LAYER_CONFIG__";function $(e){globalThis[A]=e}function g(){const e=globalThis[A];if(!e)throw new Error("Data layer config not initialized. Call setConfig() in your root layout.");return e}function Y(){return globalThis[A]!==void 0}function F(e){const t=e.replace(/\/$/,"");function n(a){const{sportal365Sports:s}=a;if(!s)throw new Error("Sportal365 Sports API configuration is missing");const u=`${s.username}:${s.password}`;return`Basic ${btoa(u)}`}function o(a){return`${t}${a}`}return{async get(a){const s=a.config||g(),{sportal365Sports:u}=s;if(!u)throw new Error("Sportal365 Sports API configuration is missing");const r=new URL(o(a.path));if(a.params)for(const[f,l]of Object.entries(a.params))l!==void 0&&(Array.isArray(l)?l.length>0&&r.searchParams.set(f,l.join(",")):r.searchParams.set(f,l));const d=await fetch(r.toString(),{method:"GET",headers:{Authorization:n(s),"Content-Type":"application/json","X-Project":u.projectId,...a.headers},signal:u.timeout?AbortSignal.timeout(u.timeout):void 0,...a.next&&{next:a.next}});if(!d.ok)throw new Error(`Sportal365 API error: ${d.status} ${d.statusText}`);return d.json()}}}const B="https://football.api.sportal365.com",G="https://basketball.api.sportal365.com",V="https://tennis.api.sportal365.com",W="https://sports-statistics.api.sportal365.com",K="https://sports-search.api.sportal365.com",m=F(B);function O(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 j={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 T(e){const t=j[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:O(e.primary_player),secondaryPlayer:O(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 i(e,t="sportal365"){if(e)return[{provider:t,id:e}]}function q(e,t){return e?e.find(o=>o.provider===t)?.id:void 0}function X(e,t,n){const o=e??[],a=o.findIndex(s=>s.provider===t);if(a>=0){const s=[...o];return s[a]={provider:t,id:n},s}else return[...o,{provider:t,id:n}]}function z(e){const t={finished_ap:"finished_after_penalties",finished_aet:"finished_after_extra_time",finished:"finished",not_started:"not_started",live:"live",interrupted:"interrupted",cancelled:"cancelled",postponed:"postponed",abandoned:"abandoned"};let n;return e.code&&t[e.code]?n=t[e.code]:n={FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started",ABANDONED:"abandoned"}[e.type]??"not_started",{code:n,name:e.name,shortName:e.short_name,type:e.type}}function R(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==="national"?"national":"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?{shirtColors:[{type:"home",colorCode:e.shirt_color}]}:void 0,providerRef:i(e.uuid)}}function J(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 Q(e){if(!e)return;const t=o=>o?{competitorOne:String(o.home),competitorTwo:String(o.away)}:void 0,n=e.after_extra_time??e.regular_time;return{competitorOne:n?.home!=null?String(n.home):null,competitorTwo:n?.away!=null?String(n.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 Z(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,providerRef:i(e.uuid)}}function w(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 ee(e){if(!e.season?.tournament)return;const{tournament:t,...n}=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,providerRef:i(t.country.uuid)}:void 0,season:{id:n.id,name:n.name,status:n.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,providerRef:i(t.uuid)}}function te(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 E(e){return{id:e.id,slug:e.slug,status:z(e.status),timing:J(e),competitorOne:R(e.home_team),competitorTwo:R(e.away_team),competition:ee(e),round:e.round?{id:e.round.id??e.round.key,key:e.round.key,name:e.round.name,type:e.round.type??"REGULAR",providerRef:i(e.round.uuid)}:void 0,group:e.group?{id:e.group.id,name:e.group.name,providerRef:i(e.group.uuid)}:void 0,venue:Z(e.venue),officials:w(e.referees),spectators:e.spectators??void 0,score:Q(e.score),mainEvents:e.main_events?.map(T).filter(t=>t!==null),penaltyShootoutEvents:e.penalty_shootout_events?.map(T).filter(t=>t!==null),winner:te(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,lineupStatus:e.lineup_status==="UNCONFIRMED"?"EXPECTED":e.lineup_status,providerRef:i(e.uuid)}}function oe(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,providerRef:i(t.country.uuid)}:void 0,birthdate:t.birthdate,profile:t.profile?{height:t.profile.height,weight:t.profile.weight}:void 0,assets:t.assets?{photo:t.assets.thumb?.url,photoTransparent:t.assets.thumb_transparent_background?.url}:void 0,events:e.events?.map(T).filter(n=>n!==null),providerRef:i(t.uuid)}}function L(e){const t=[],n=[];for(const o of e.players){const a=oe(o);o.type.category==="start"?t.push(a):o.type.category==="sub"&&n.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,providerRef:i(e.coach.country.uuid)}:void 0,birthdate:e.coach.birthdate,providerRef:i(e.coach.uuid)}:void 0,starters:t,substitutes:n}}function ne(e){return{matchId:e.match_id,confirmed:e.status==="CONFIRMED",competitorOne:L(e.home_team),competitorTwo:L(e.away_team)}}function p(e,t,n,o){return t==null?null:{key:e,value:String(t),label:n,unit:o}}function k(e,t){const n=(t.shots_on??0)+(t.shots_off??0)+(t.shots_blocked??0),o=[p("possession",t.possession,"Possession","%"),p("shots_total",n,"Shots"),p("shots_on_target",t.shots_on,"Shots on Target"),p("shots_off_target",t.shots_off,"Shots off Target"),p("shots_blocked",t.shots_blocked,"Shots Blocked"),p("corners",t.corners,"Corner Kicks"),p("goal_kicks",t.goal_kicks,"Goal Kicks"),p("throw_ins",t.throw_in,"Throw Ins"),p("offsides",t.offside,"Offsides"),p("fouls",t.fouls_committed,"Fouls"),p("yellow_cards",t.yellow_cards,"Yellow Cards"),p("passes",t.pass,"Passes"),p("crosses",t.crosses,"Crosses")];return{competitorId:e,statistics:o.filter(a=>a!==null)}}function ae(e){const t=e.find(o=>o.home_team),n=e.find(o=>!o.home_team);if(!t||!n)throw new Error("Missing competitor statistics");return{competitorOne:k(String(t.team.id),t.statistics),competitorTwo:k(String(n.team.id),n.statistics)}}function se(e){const t=e.urls?.find(n=>n.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 ie(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(se)}}function re(e){if(!e)return!0;const t=e.replace("#",""),n=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),a=parseInt(t.substring(4,6),16);return(.2126*n+.7152*o+.0722*a)/255<.5}function de(e){const t=e.bookmaker.assets?.[0],n=e.bookmaker.branding||t,o=e.bookmaker.branding?.background_color||t?.background_color,a=e.bookmaker.branding?.text_color||(re(o)?"#FFFFFF":"#000000");return{operator:{id:e.bookmaker.id,name:e.bookmaker.name,url:e.bookmaker.url,branding:n?{backgroundColor:o,textColor:a,logo:t?.logo}:void 0},type:e.type,markets:e.markets.map(ie)}}function ce(e,t){return{matchId:e,operators:t.map(de)}}function D(e){if(e==null||e==="")return;const t=typeof e=="number"?e:parseInt(e,10);return isNaN(t)?void 0:t}function ue(e){return{externalId:e.external_id,minute:D(e.elapsed),addedTime:D(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 le(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/matches/${e}`,params:{language_code:t?.languageCode??a?.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},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return E(s)}async function ge(e,t,n){const o=n||g(),{sportal365Sports:a}=o;return(await m.get({path:`/v2/matches/${e}/events`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o})).events.map(T).filter(u=>u!==null)}async function me(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/matches/${e}/lineups`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ne(s)}async function pe(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/matches/${e}`,params:{language_code:t?.languageCode??a?.languageCode??"en",odd_client:t?.oddClient??a?.oddClient,odd_type:t?.oddType,scope_type:t?.scopeType??"ALL",odd_format:t?.oddFormat??"DECIMAL",market_types:t?.marketTypes,bookmaker_ids:t?.bookmakerIds},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ce(e,s.odds??[])}async function fe(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/events/${e}/teamstats`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ae(s)}async function _e(e,t,n){const o=n||g(),{sportal365Sports:a}=o;return(await m.get({path:`/matches/${e}/commentary`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o})).map(ue)}async function ye(e,t){const n=t||g(),{sportal365Sports:o}=n;return(await m.get({path:"/v2/matches",params:{language_code:e.languageCode??o?.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??o?.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},headers:{"Accept-Language":e.languageCode??o?.languageCode??"en"},next:e.next,config:n})).matches.map(E)}async function he(e,t){const n=t||g(),{sportal365Sports:o}=n;return(await m.get({path:"/v2/matches/livescore",params:{match_ids:e?.matchIds,date:e?.date,utc_offset:e?.utcOffset?.toString(),tournament_group:e?.tournamentGroup,status_types:e?.statusTypes,selection_filter:e?.selectionFilter,language_code:e?.languageCode??o?.languageCode??"en",odd_client:e?.oddClient??o?.oddClient,odd_type:e?.oddType,scope_type:e?.scopeType,odd_format:e?.oddFormat,market_types:e?.marketTypes,optional_data:e?.optionalData},headers:{"Accept-Language":e?.languageCode??o?.languageCode??"en"},next:e?.next,config:n})).matches.map(E)}function ve(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"||e.type==="club"?"club":"national",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,providerRef:i(e.country.uuid)}:void 0,venue:e.venue?{id:e.venue.id,name:e.venue.name,slug:e.venue.slug,city:e.venue.city?{id:e.venue.city.id,name:e.venue.city.name,country:e.venue.city.country?{id:e.venue.city.country.id,name:e.venue.city.country.name,code:e.venue.city.country.code??void 0,flag:e.venue.city.country.assets?.flag?.url,providerRef:i(e.venue.city.country.uuid)}:void 0,providerRef:i(e.venue.city.uuid??void 0)}:void 0,country:e.venue.country?{id:e.venue.country.id,name:e.venue.country.name,code:e.venue.country.code??void 0,flag:e.venue.country.assets?.flag?.url,providerRef:i(e.venue.country.uuid)}:void 0,profile:e.venue.profile?{latitude:e.venue.profile.lat,longitude:e.venue.profile.lng,capacity:e.venue.profile.capacity}:void 0,assets:e.venue.assets?.image?.url?{image:e.venue.assets.image.url}:void 0,providerRef:i(e.venue.uuid)}:void 0,coach:e.coach?{id:e.coach.id,name:e.coach.name,slug:e.coach.slug,country:{id:e.coach.country.id,name:e.coach.country.name,code:e.coach.country.code??void 0,flag:e.coach.country.assets?.flag?.url,providerRef:i(e.coach.country.uuid)},birthdate:e.coach.birthdate,providerRef:i(e.coach.uuid)}:void 0,founded:e.founded,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:{shirtColors:e.shirt_colors?.map(t=>({type:t.type,colorCode:t.color_code})),socials:e.social?{website:e.social.web,x:e.social.twitter_id,facebook:e.social.facebook_id,instagram:e.social.instagram_id,wikipedia:e.social.wikipedia_id}:void 0},activeSeasons:e.active_seasons?.map(t=>({id:t.id,name:t.name,slug:t.slug,active:t.status==="ACTIVE",providerRef:i(t.uuid)})),currentSeason:e.current_season?{id:e.current_season.id,name:e.current_season.name,slug:e.current_season.slug,active:e.current_season.status==="ACTIVE",providerRef:i(e.current_season.uuid)}:void 0,form:e.form&&e.form.length>0?{competitorId:e.id,results:e.form.map(t=>{const o=t.participants[0].id===e.uuid?t.participants[1]:t.participants[0],a=t.result[0]?.results.find(r=>r.position==="1")?.value,s=t.result[0]?.results.find(r=>r.position==="2")?.value,u=t.outcome==="win"?"W":t.outcome==="draw"?"D":"L";return{matchId:t.id,result:u,score:a&&s?`${a}-${s}`:void 0,opponent:{id:o.id,name:o.name,logo:o.display_asset?.url},date:new Date(t.start_time),competition:t.competition?{id:t.competition.id,name:t.competition.name}:void 0}}),formString:e.form.map(t=>t.outcome==="win"?"W":t.outcome==="draw"?"D":"L").join("")}:void 0,providerRef:i(e.uuid)}}function Te(e){const t=e.player;return{id:t.id,name:t.name,slug:t.slug,position:t.position,shirtNumber:e.shirt_number,country:t.country?{id:t.country.id,name:t.country.name,code:t.country.code??void 0,flag:t.country.assets?.flag?.url,providerRef:i(t.country.uuid)}:void 0,gender:t.gender,birthdate:t.birthdate,profile:{height:t.profile?.height??void 0,weight:t.profile?.weight??void 0},assets:t.assets?{photo:t.assets.thumb?.url,photoTransparent:t.assets.thumb_transparent_background?.url}:void 0,status:e.status,contractType:e.contract_type,contractUntil:e.contract_until??void 0,joinedDate:e.start_date??void 0,providerRef:i(t.id)}}function Se(e){return{id:e.id,name:e.name,slug:e.slug,country:e.country?{id:e.country.id,name:e.country.name,code:e.country.code??void 0,flag:e.country.assets?.flag?.url,providerRef:i(e.country.uuid)}:void 0,birthdate:e.birthdate,providerRef:i(e.uuid)}}function Ce(e){return{teamId:e.team.id,teamName:e.team.name,coach:e.coach?Se(e.coach):void 0,players:e.players.map(Te)}}function Ae(e){const t=parseInt(e,10);return isNaN(t)?void 0:t}function c(e,t){const n=e.find(o=>o.name===t);return n?Ae(n.value):void 0}function Ee(e,t){const n=e.statistics;return{playerId:e.player.id,seasonId:e.season.id,teamId:t,appearances:c(n,"played"),started:c(n,"started"),substituteIn:c(n,"substitute_in"),substituteOut:c(n,"substitute_out"),minutes:c(n,"minutes"),minutesSubstitute:c(n,"minutes_substitute"),goals:c(n,"goals"),goalsSubstitute:c(n,"goals_substitute"),penaltyGoals:c(n,"penalty_goals"),ownGoals:c(n,"own_goals"),assists:c(n,"assists"),shots:c(n,"shots"),shotsOnTarget:c(n,"shots_on_target"),yellowCards:c(n,"yellow_cards"),redCards:c(n,"red_cards"),foulsCommitted:c(n,"fouls_committed"),penaltiesCommitted:c(n,"penalties_committed"),penaltiesMissed:c(n,"penalties_missed"),cleansheets:c(n,"cleansheets"),saves:c(n,"saves"),conceded:c(n,"conceded"),caughtBall:c(n,"caught_ball"),penaltiesReceived:c(n,"penalties_received"),offsides:c(n,"offsides"),rawStatistics:n.map(o=>({name:o.name,value:o.value}))}}async function P(e,t){const n=t||g(),{sportal365Sports:o}=n,{seasonIds:a,teamId:s,languageCode:u,next:r}=e,d=r??{revalidate:0},f={season_ids:a.join(","),team_id:s,language_code:u??o?.languageCode??"en"},l=await m.get({path:"/v2/statistics/players/season",params:f,headers:{"Accept-Language":u??o?.languageCode??"en"},next:d,config:n});if(!l.statistics)return console.error("[getFootballPlayerSeasonStatistics] Invalid API response - missing statistics array:",{teamId:s,seasonIds:a,response:l}),{};if(l.statistics.length===0)throw console.warn("[getFootballPlayerSeasonStatistics] API returned empty statistics array:",{teamId:s,seasonIds:a,hint:"This could be due to: wrong credentials, wrong project header, no data for this team/season, or API issue"}),new Error(`No player statistics found for team ${s} in seasons ${a.join(", ")}. This could be due to: wrong credentials, wrong X-Project header, or no data available for this team/season.`);const h={};for(const v of l.statistics){const S=v.player.id;h[S]=Ee(v,s)}return h}async function be(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/teams/${e}`,params:{language_code:t?.languageCode??a?.languageCode??"en",optional_data:"form"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ve(s)}async function Ie(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=t?.seasonIds&&t.seasonIds.length>0?{revalidate:0}:t?.next,u=await m.get({path:`/v2/teams/${e}/squad`,params:{language_code:t?.languageCode??a?.languageCode??"en",memberStatus:t?.memberStatus??"ACTIVE"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:s,config:o}),r=Ce(u);if(t?.seasonIds&&t.seasonIds.length>0)try{const d=await P({seasonIds:t.seasonIds,teamId:e,languageCode:t.languageCode,next:t.next},o);for(const f of r.players){const l=d[f.id];l&&(f.seasonStatistics=l)}}catch(d){console.error("[getFootballTeamSquad] Failed to fetch player statistics:",{error:d instanceof Error?d.message:String(d),stack:d instanceof Error?d.stack:void 0,teamId:e,seasonIds:t.seasonIds})}else console.log("[getFootballTeamSquad] No seasonIds provided, skipping stats fetch");return r}function Oe(e){return{id:String(e.id),name:e.name,slug:e.slug,type:e.type,region:e.region,gender:e.gender,country:{id:String(e.country.id),name:e.country.name,flag:e.country.url_flag,providerRef:i(e.country.uuid)},seasons:e.seasons.map(t=>({id:String(t.id),name:t.name,slug:t.slug,active:t.active,providerRef:i(t.uuid)})),assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:i(e.uuid)}}function Re(e){const t=e.rounds.map(n=>({id:n.id,name:n.name,key:n.key,type:n.type,status:n.status,startDate:n.start_date,endDate:n.end_date,providerRef:i(n.uuid)}));return{id:e.stage.id,name:e.stage.name,slug:e.stage.slug,shortName:e.stage.short_name??void 0,type:e.stage.type,status:e.stage.status,coverage:e.stage.coverage,order:e.stage.order_in_season,startDate:e.stage.start_date,endDate:e.stage.end_date,rounds:t,providerRef:i(e.stage.uuid)}}function Le(e){const{season:t,stages:n}=e,{tournament:o}=t,a={id:o.id,name:o.name,slug:o.slug,type:o.type,region:o.region,gender:o.gender,country:{id:o.country.id,name:o.country.name,code:o.country.code??void 0,flag:o.country.assets?.flag?.url,providerRef:i(o.country.uuid)},assets:o.assets?.logo?.url?{logo:o.assets.logo.url}:void 0,providerRef:i(o.uuid)};return{id:t.id,name:t.name,slug:t.slug,active:t.status==="ACTIVE",status:t.status==="ACTIVE"?"ACTIVE":"INACTIVE",competition:a,stages:n.map(Re),providerRef:i(t.uuid)}}async function ke(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/tournaments/${e}`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return Oe(s)}async function De(e,t){const n=t||g(),{sportal365Sports:o}=n;if(!e?.seasonId&&!e?.competitionId)throw new Error("Either seasonId or competitionId must be provided");const a={language_code:e?.languageCode??o?.languageCode??"en"};e.seasonId?a.season_id=e.seasonId:e.competitionId&&(a.tournament_id=e.competitionId,e.status&&(a.status=e.status));const s=await m.get({path:"/v2/seasons/details",params:a,headers:{"Accept-Language":e?.languageCode??o?.languageCode??"en"},next:e?.next,config:n});return Le(s)}function b(e){return{championsleague:"championsLeague",europaleague:"europaLeague",conferenceleague:"conferenceLeague",relegation:"relegation",playoff:"playoff",promotion:"promotion"}[e.toLowerCase()]??e.toLowerCase().replace(/_/g,"")}function Ne(e){const t=e.toLowerCase();return t==="relegation"?"BOTTOM":t==="playoff"?"MIDDLE":"TOP"}function Fe(e,t){if(!t||t.length===0)return;const n=t.map(a=>{const s=a.event,u=s.home_team.id===e,r=u?s.away_team:s.home_team,d=`${s.goal_home}-${s.goal_away}`;return{matchId:s.id.toString(),result:a.outcome,score:d,homeAway:u?"HOME":"AWAY",opponent:{id:r.id.toString(),name:r.name,logo:r.url_logo},date:new Date(s.start_time),competition:void 0}}),o=n.map(a=>a.result).join("");return{competitorId:e.toString(),results:n,formString:o}}function Pe(e){return{key:b(e.code),name:e.name,position:Ne(e.type)}}function Me(e){const t={played:e.played,won:e.wins,drawn:e.draws,lost:e.defeits,goalsFor:e.goals_for,goalsAgainst:e.goals_against,goalDifference:e.goals_for-e.goals_against,points:e.points},n=e.rules?.length>0?e.rules.map(a=>b(a.code)):void 0,o=Fe(e.team.id,e.team.form??[]);return{rank:e.rank,competitor:{id:e.team.id.toString(),name:e.team.name,shortName:e.team.short_name??void 0,logo:e.team.url_logo},stats:t,form:o,rules:n}}function xe(e){const t=e.map(Me),n=new Map;for(const o of e)if(o.rules)for(const a of o.rules){const s=b(a.code);n.has(s)||n.set(s,Pe(a))}return{entries:t,metadata:{legend:Array.from(n.values())}}}async function Ue(e,t){const n=t||g(),{sportal365Sports:o}=n,a=e.expand?.join(","),s=await m.get({path:`/tournaments/seasons/stages/${e.stageId}/standing`,params:{expand:a,language_code:e.languageCode??o?.languageCode??"en"},headers:{"Accept-Language":e.languageCode??o?.languageCode??"en"},next:e.next,config:n});return!s||s.length===0?{entries:[],metadata:{legend:[]}}:xe(s)}function M(e){return{id:e.id,name:e.name,code:e.country_code,assets:e.assets?.flag?{flag:e.assets.flag}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function He(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?M(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function $e(e){if(e.status){const s={notstarted:{code:"not_started",type:"NOT_STARTED",name:"Not Started"},live:{code:"live",type:"LIVE",name:"Live"},finished:{code:"finished",type:"FINISHED",name:"Finished"},postponed:{code:"postponed",type:"POSTPONED",name:"Postponed"},cancelled:{code:"cancelled",type:"CANCELLED",name:"Cancelled"},abandoned:{code:"abandoned",type:"ABANDONED",name:"Abandoned"}}[e.status.type];if(s)return s}let t="not_started",n="NOT_STARTED",o="Not Started";return e.finished_at?(t="finished",n="FINISHED",o="Finished"):e.started_at&&(t="live",n="LIVE",o="Live"),{code:t,name:o,type:n}}function Ye(e){return{kickoffTime:new Date(e.kickoff_at),currentMinute:e.minute??void 0,currentPeriod:void 0}}function N(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,fullName:e.full_name??void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?.toUpperCase(),country:e.country?M(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Be(e){if(!e)return;const t=o=>o?{competitorOne:o.home_goals!==null?String(o.home_goals):"0",competitorTwo:o.away_goals!==null?String(o.away_goals):"0"}:void 0,n=t(e.ft_score);if(n)return{competitorOne:n.competitorOne,competitorTwo:n.competitorTwo,breakdown:{total:n,halfTime:t(e.ht_score),regularTime:t(e.ft_score),extraTime:t(e.aet_score),penaltyShootout:t(e.pen_score)}}}function I(e){return{id:e.id,status:$e(e),timing:Ye(e),competitorOne:N(e.home_team),competitorTwo:N(e.away_team),score:Be(e.scores),competition:e.context?.competition?He(e.context.competition):void 0,lineupStatus:e.lineups_confirmed?"CONFIRMED":"NOT_AVAILABLE",updatedAt:e.updated_at?new Date(e.updated_at):void 0,isUndecided:e.undecided??void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ge(e){return I(e.data)}function Ve(e){return e.data.map(I)}function We(e){return e.map(I)}async function x(e,t,n){const o=await e.loyalty.getTemplateMatches(t,n?.groupId,n?.disableCache);return We(o)}async function Ke(e,t,n,o){return(await x(e,t,o)).filter(s=>s.competitorOne.id===n||s.competitorTwo.id===n)}async function je(e,t,n){const o=await e.loyalty.getTemplateById(t,n?.disableCache);return{id:o.id,name:o.name,description:o.description,type:o.type,fromDate:o.fromDate,toDate:o.toDate,markets:o.markets||[],teamIds:o.teamIds||[],matchIds:o.matchIds||[],groups:(o.groups||[]).map(s=>({groupId:s.groupId,label:s.label,flags:s.flags||[],filters:{fromDate:s.filters?.fromDate||"",toDate:s.filters?.toDate||"",matchIds:s.filters?.matchIds||[]}})),gameIds:o.gameIds||[],gameTypes:o.gameTypes||[],competitionIds:o.competitionIds||[],excludedProfileIds:o.excludedProfileIds||[],rules:o.rules||"",labels:o.labels||{},customFields:o.customFields||{},branding:o.branding?JSON.parse(JSON.stringify(o.branding)):{},brandingId:null,flags:o.flags||[],images:{main:o.images?.main||null,cover:o.images?.cover||null,mobile:o.images?.mobile||null},status:o.status,automaticallyChangeStatus:o.automaticallyChangeStatus||!1,createdAt:o.createdAt,updatedAt:o.updatedAt,related:o.related||[],adContent:o.adContent||""}}function qe(e){return{"1x2":"1X2",12:"12",OVER_UNDER:"OVER_UNDER",DOUBLE_CHANCE:"DOUBLE_CHANCE",BOTH_TO_SCORE:"BOTH_TO_SCORE",DRAW_NO_BET:"DRAW_NO_BET",FIRST_TEAM_TO_SCORE:"FIRST_TEAM_TO_SCORE",CORRECT_SCORE:"CORRECT_SCORE",FIRST_HALF_GOALS:"FIRST_HALF_GOALS",FIRST_PLAYER_TO_SCORE:"FIRST_PLAYER_TO_SCORE",PLAYER_TO_SCORE_DURING_GAME:"PLAYER_TO_SCORE_DURING_GAME",PLAYER_TO_RECEIVE_CARD:"PLAYER_TO_RECEIVE_CARD",FIRST_HALF_AND_FINAL_RESULT:"FIRST_HALF_AND_FINAL_RESULT"}[e]||e.toUpperCase()}function Xe(e,t){const n=new Map;return e.forEach((o,a)=>{if(!o||o.length===0)return;const u=(t?o.filter(r=>r.bookmaker&&t.includes(r.bookmaker.id)):o).filter(r=>r.bookmaker&&r.markets&&r.markets.length>0).map(r=>{const d=r.bookmaker,f=d.assets?.[0],l=d.branding?.backgroundColor||f?.backgroundColor,h=d.branding?.textColor||(ze(l)?"#FFFFFF":"#000000"),v=f?.transparentBackgroundUrl||f?.logo,S=d.eventUrls?.find(_=>_.appType==="desktop")?.url||d.links?.find(_=>_.appType==="desktop")?.homepageUrl||d.url||"";return{operator:{id:d.id,name:d.name,url:S,branding:{backgroundColor:l,textColor:h,logo:v}},type:r.type,markets:r.markets.map(_=>({type:{id:_.type.id,code:_.type.code,name:_.type.name},period:{id:_.scope.id,type:_.scope.type,name:_.scope.name},selections:_.selections.map(y=>{const U=y.urls?.find(H=>H.appType==="desktop")?.url;let C="NONE";return y.movement==="UP"?C="UP":y.movement==="DOWN"&&(C="DOWN"),{id:y.id,name:y.name,code:y.code,value:y.value,odds:y.odds,oddsOld:y.oddsOld,movement:C,url:U}})}))}});n.set(a,u)}),n}function ze(e){if(!e)return!0;const t=e.replace("#",""),n=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),a=parseInt(t.substring(4,6),16);return(.2126*n+.7152*o+.0722*a)/255<.5}async function Je(e,t,n){if(!t||t.length===0)return new Map;const o={oddType:n?.oddType||"ALL",scopeType:n?.scopeType||"ORDINARY_TIME",oddFormat:n?.oddFormat||"DECIMAL"};n?.marketTypes&&n.marketTypes.length>0&&(o.marketTypes=n.marketTypes.map(s=>qe(s)));const a=await e.odds.getByMatchIds(t,o);return Xe(a,n?.bookmakerIds)}exports.SPORTAL365_BASKETBALL_DOMAIN=G;exports.SPORTAL365_SPORTS_SEARCH_DOMAIN=K;exports.SPORTAL365_STATISTICS_DOMAIN=W;exports.SPORTAL365_TENNIS_DOMAIN=V;exports.addProviderRef=X;exports.createHttpClient=F;exports.footballHttp=m;exports.getBatchMatchOdds=Je;exports.getConfig=g;exports.getFootballCompetition=ke;exports.getFootballLivescore=he;exports.getFootballMatch=le;exports.getFootballMatchCommentary=_e;exports.getFootballMatchEvents=ge;exports.getFootballMatchLineups=me;exports.getFootballMatchOdds=pe;exports.getFootballMatchStatistics=fe;exports.getFootballMatches=ye;exports.getFootballPlayerSeasonStatistics=P;exports.getFootballSeasonDetails=De;exports.getFootballStandings=Ue;exports.getFootballTeam=be;exports.getFootballTeamSquad=Ie;exports.getLeaderboardMatches=x;exports.getLeaderboardTeamMatches=Ke;exports.getLeaderboardTemplate=je;exports.getProviderRefId=q;exports.isConfigured=Y;exports.setConfig=$;exports.toProviderRefArray=i;exports.transformMatch=Ge;exports.transformMatches=Ve;
|
|
@@ -633,6 +633,7 @@ async function Ye(e, t) {
|
|
|
633
633
|
tournament_group: e?.tournamentGroup,
|
|
634
634
|
status_types: e?.statusTypes,
|
|
635
635
|
selection_filter: e?.selectionFilter,
|
|
636
|
+
language_code: e?.languageCode ?? o?.languageCode ?? "en",
|
|
636
637
|
// Odds parameters
|
|
637
638
|
odd_client: e?.oddClient ?? o?.oddClient,
|
|
638
639
|
odd_type: e?.oddType,
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "A TypeScript library for fetching and transforming sports data from multiple API providers. Returns clean, canonical types that are provider-agnostic.",
|
|
5
5
|
"homepage": "https://fansunited.com/",
|
|
6
6
|
"private": false,
|
|
7
|
-
"version": "0.8.
|
|
7
|
+
"version": "0.8.2",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "./fansunited-data-layer.cjs",
|
|
10
10
|
"module": "./fansunited-data-layer.js",
|
package/matches-DRzEEGm5.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const A="__FANSUNITED_DATA_LAYER_CONFIG__";function $(e){globalThis[A]=e}function g(){const e=globalThis[A];if(!e)throw new Error("Data layer config not initialized. Call setConfig() in your root layout.");return e}function Y(){return globalThis[A]!==void 0}function F(e){const t=e.replace(/\/$/,"");function n(a){const{sportal365Sports:s}=a;if(!s)throw new Error("Sportal365 Sports API configuration is missing");const u=`${s.username}:${s.password}`;return`Basic ${btoa(u)}`}function o(a){return`${t}${a}`}return{async get(a){const s=a.config||g(),{sportal365Sports:u}=s;if(!u)throw new Error("Sportal365 Sports API configuration is missing");const r=new URL(o(a.path));if(a.params)for(const[f,l]of Object.entries(a.params))l!==void 0&&(Array.isArray(l)?l.length>0&&r.searchParams.set(f,l.join(",")):r.searchParams.set(f,l));const d=await fetch(r.toString(),{method:"GET",headers:{Authorization:n(s),"Content-Type":"application/json","X-Project":u.projectId,...a.headers},signal:u.timeout?AbortSignal.timeout(u.timeout):void 0,...a.next&&{next:a.next}});if(!d.ok)throw new Error(`Sportal365 API error: ${d.status} ${d.statusText}`);return d.json()}}}const B="https://football.api.sportal365.com",G="https://basketball.api.sportal365.com",V="https://tennis.api.sportal365.com",W="https://sports-statistics.api.sportal365.com",K="https://sports-search.api.sportal365.com",m=F(B);function O(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 j={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 T(e){const t=j[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:O(e.primary_player),secondaryPlayer:O(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 i(e,t="sportal365"){if(e)return[{provider:t,id:e}]}function q(e,t){return e?e.find(o=>o.provider===t)?.id:void 0}function X(e,t,n){const o=e??[],a=o.findIndex(s=>s.provider===t);if(a>=0){const s=[...o];return s[a]={provider:t,id:n},s}else return[...o,{provider:t,id:n}]}function z(e){const t={finished_ap:"finished_after_penalties",finished_aet:"finished_after_extra_time",finished:"finished",not_started:"not_started",live:"live",interrupted:"interrupted",cancelled:"cancelled",postponed:"postponed",abandoned:"abandoned"};let n;return e.code&&t[e.code]?n=t[e.code]:n={FINISHED:"finished",NOT_STARTED:"not_started",LIVE:"live",INTERRUPTED:"interrupted",CANCELLED:"cancelled",POSTPONED:"postponed",UNKNOWN:"not_started",ABANDONED:"abandoned"}[e.type]??"not_started",{code:n,name:e.name,shortName:e.short_name,type:e.type}}function R(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==="national"?"national":"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?{shirtColors:[{type:"home",colorCode:e.shirt_color}]}:void 0,providerRef:i(e.uuid)}}function J(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 Q(e){if(!e)return;const t=o=>o?{competitorOne:String(o.home),competitorTwo:String(o.away)}:void 0,n=e.after_extra_time??e.regular_time;return{competitorOne:n?.home!=null?String(n.home):null,competitorTwo:n?.away!=null?String(n.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 Z(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,providerRef:i(e.uuid)}}function w(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 ee(e){if(!e.season?.tournament)return;const{tournament:t,...n}=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,providerRef:i(t.country.uuid)}:void 0,season:{id:n.id,name:n.name,status:n.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,providerRef:i(t.uuid)}}function te(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 E(e){return{id:e.id,slug:e.slug,status:z(e.status),timing:J(e),competitorOne:R(e.home_team),competitorTwo:R(e.away_team),competition:ee(e),round:e.round?{id:e.round.id??e.round.key,key:e.round.key,name:e.round.name,type:e.round.type??"REGULAR",providerRef:i(e.round.uuid)}:void 0,group:e.group?{id:e.group.id,name:e.group.name,providerRef:i(e.group.uuid)}:void 0,venue:Z(e.venue),officials:w(e.referees),spectators:e.spectators??void 0,score:Q(e.score),mainEvents:e.main_events?.map(T).filter(t=>t!==null),penaltyShootoutEvents:e.penalty_shootout_events?.map(T).filter(t=>t!==null),winner:te(e),coverage:e.coverage==="NOT_LIVE"?"UNKNOWN":e.coverage,lineupStatus:e.lineup_status==="UNCONFIRMED"?"EXPECTED":e.lineup_status,providerRef:i(e.uuid)}}function oe(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,providerRef:i(t.country.uuid)}:void 0,birthdate:t.birthdate,profile:t.profile?{height:t.profile.height,weight:t.profile.weight}:void 0,assets:t.assets?{photo:t.assets.thumb?.url,photoTransparent:t.assets.thumb_transparent_background?.url}:void 0,events:e.events?.map(T).filter(n=>n!==null),providerRef:i(t.uuid)}}function L(e){const t=[],n=[];for(const o of e.players){const a=oe(o);o.type.category==="start"?t.push(a):o.type.category==="sub"&&n.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,providerRef:i(e.coach.country.uuid)}:void 0,birthdate:e.coach.birthdate,providerRef:i(e.coach.uuid)}:void 0,starters:t,substitutes:n}}function ne(e){return{matchId:e.match_id,confirmed:e.status==="CONFIRMED",competitorOne:L(e.home_team),competitorTwo:L(e.away_team)}}function p(e,t,n,o){return t==null?null:{key:e,value:String(t),label:n,unit:o}}function k(e,t){const n=(t.shots_on??0)+(t.shots_off??0)+(t.shots_blocked??0),o=[p("possession",t.possession,"Possession","%"),p("shots_total",n,"Shots"),p("shots_on_target",t.shots_on,"Shots on Target"),p("shots_off_target",t.shots_off,"Shots off Target"),p("shots_blocked",t.shots_blocked,"Shots Blocked"),p("corners",t.corners,"Corner Kicks"),p("goal_kicks",t.goal_kicks,"Goal Kicks"),p("throw_ins",t.throw_in,"Throw Ins"),p("offsides",t.offside,"Offsides"),p("fouls",t.fouls_committed,"Fouls"),p("yellow_cards",t.yellow_cards,"Yellow Cards"),p("passes",t.pass,"Passes"),p("crosses",t.crosses,"Crosses")];return{competitorId:e,statistics:o.filter(a=>a!==null)}}function ae(e){const t=e.find(o=>o.home_team),n=e.find(o=>!o.home_team);if(!t||!n)throw new Error("Missing competitor statistics");return{competitorOne:k(String(t.team.id),t.statistics),competitorTwo:k(String(n.team.id),n.statistics)}}function se(e){const t=e.urls?.find(n=>n.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 ie(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(se)}}function re(e){if(!e)return!0;const t=e.replace("#",""),n=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),a=parseInt(t.substring(4,6),16);return(.2126*n+.7152*o+.0722*a)/255<.5}function de(e){const t=e.bookmaker.assets?.[0],n=e.bookmaker.branding||t,o=e.bookmaker.branding?.background_color||t?.background_color,a=e.bookmaker.branding?.text_color||(re(o)?"#FFFFFF":"#000000");return{operator:{id:e.bookmaker.id,name:e.bookmaker.name,url:e.bookmaker.url,branding:n?{backgroundColor:o,textColor:a,logo:t?.logo}:void 0},type:e.type,markets:e.markets.map(ie)}}function ce(e,t){return{matchId:e,operators:t.map(de)}}function D(e){if(e==null||e==="")return;const t=typeof e=="number"?e:parseInt(e,10);return isNaN(t)?void 0:t}function ue(e){return{externalId:e.external_id,minute:D(e.elapsed),addedTime:D(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 le(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/matches/${e}`,params:{language_code:t?.languageCode??a?.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},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return E(s)}async function ge(e,t,n){const o=n||g(),{sportal365Sports:a}=o;return(await m.get({path:`/v2/matches/${e}/events`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o})).events.map(T).filter(u=>u!==null)}async function me(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/matches/${e}/lineups`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ne(s)}async function pe(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/matches/${e}`,params:{language_code:t?.languageCode??a?.languageCode??"en",odd_client:t?.oddClient??a?.oddClient,odd_type:t?.oddType,scope_type:t?.scopeType??"ALL",odd_format:t?.oddFormat??"DECIMAL",market_types:t?.marketTypes,bookmaker_ids:t?.bookmakerIds},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ce(e,s.odds??[])}async function fe(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/events/${e}/teamstats`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ae(s)}async function _e(e,t,n){const o=n||g(),{sportal365Sports:a}=o;return(await m.get({path:`/matches/${e}/commentary`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o})).map(ue)}async function ye(e,t){const n=t||g(),{sportal365Sports:o}=n;return(await m.get({path:"/v2/matches",params:{language_code:e.languageCode??o?.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??o?.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},headers:{"Accept-Language":e.languageCode??o?.languageCode??"en"},next:e.next,config:n})).matches.map(E)}async function he(e,t){const n=t||g(),{sportal365Sports:o}=n;return(await m.get({path:"/v2/matches/livescore",params:{match_ids:e?.matchIds,date:e?.date,utc_offset:e?.utcOffset?.toString(),tournament_group:e?.tournamentGroup,status_types:e?.statusTypes,selection_filter:e?.selectionFilter,odd_client:e?.oddClient??o?.oddClient,odd_type:e?.oddType,scope_type:e?.scopeType,odd_format:e?.oddFormat,market_types:e?.marketTypes,optional_data:e?.optionalData},headers:{"Accept-Language":e?.languageCode??o?.languageCode??"en"},next:e?.next,config:n})).matches.map(E)}function ve(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"||e.type==="club"?"club":"national",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,providerRef:i(e.country.uuid)}:void 0,venue:e.venue?{id:e.venue.id,name:e.venue.name,slug:e.venue.slug,city:e.venue.city?{id:e.venue.city.id,name:e.venue.city.name,country:e.venue.city.country?{id:e.venue.city.country.id,name:e.venue.city.country.name,code:e.venue.city.country.code??void 0,flag:e.venue.city.country.assets?.flag?.url,providerRef:i(e.venue.city.country.uuid)}:void 0,providerRef:i(e.venue.city.uuid??void 0)}:void 0,country:e.venue.country?{id:e.venue.country.id,name:e.venue.country.name,code:e.venue.country.code??void 0,flag:e.venue.country.assets?.flag?.url,providerRef:i(e.venue.country.uuid)}:void 0,profile:e.venue.profile?{latitude:e.venue.profile.lat,longitude:e.venue.profile.lng,capacity:e.venue.profile.capacity}:void 0,assets:e.venue.assets?.image?.url?{image:e.venue.assets.image.url}:void 0,providerRef:i(e.venue.uuid)}:void 0,coach:e.coach?{id:e.coach.id,name:e.coach.name,slug:e.coach.slug,country:{id:e.coach.country.id,name:e.coach.country.name,code:e.coach.country.code??void 0,flag:e.coach.country.assets?.flag?.url,providerRef:i(e.coach.country.uuid)},birthdate:e.coach.birthdate,providerRef:i(e.coach.uuid)}:void 0,founded:e.founded,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:{shirtColors:e.shirt_colors?.map(t=>({type:t.type,colorCode:t.color_code})),socials:e.social?{website:e.social.web,x:e.social.twitter_id,facebook:e.social.facebook_id,instagram:e.social.instagram_id,wikipedia:e.social.wikipedia_id}:void 0},activeSeasons:e.active_seasons?.map(t=>({id:t.id,name:t.name,slug:t.slug,active:t.status==="ACTIVE",providerRef:i(t.uuid)})),currentSeason:e.current_season?{id:e.current_season.id,name:e.current_season.name,slug:e.current_season.slug,active:e.current_season.status==="ACTIVE",providerRef:i(e.current_season.uuid)}:void 0,form:e.form&&e.form.length>0?{competitorId:e.id,results:e.form.map(t=>{const o=t.participants[0].id===e.uuid?t.participants[1]:t.participants[0],a=t.result[0]?.results.find(r=>r.position==="1")?.value,s=t.result[0]?.results.find(r=>r.position==="2")?.value,u=t.outcome==="win"?"W":t.outcome==="draw"?"D":"L";return{matchId:t.id,result:u,score:a&&s?`${a}-${s}`:void 0,opponent:{id:o.id,name:o.name,logo:o.display_asset?.url},date:new Date(t.start_time),competition:t.competition?{id:t.competition.id,name:t.competition.name}:void 0}}),formString:e.form.map(t=>t.outcome==="win"?"W":t.outcome==="draw"?"D":"L").join("")}:void 0,providerRef:i(e.uuid)}}function Te(e){const t=e.player;return{id:t.id,name:t.name,slug:t.slug,position:t.position,shirtNumber:e.shirt_number,country:t.country?{id:t.country.id,name:t.country.name,code:t.country.code??void 0,flag:t.country.assets?.flag?.url,providerRef:i(t.country.uuid)}:void 0,gender:t.gender,birthdate:t.birthdate,profile:{height:t.profile?.height??void 0,weight:t.profile?.weight??void 0},assets:t.assets?{photo:t.assets.thumb?.url,photoTransparent:t.assets.thumb_transparent_background?.url}:void 0,status:e.status,contractType:e.contract_type,contractUntil:e.contract_until??void 0,joinedDate:e.start_date??void 0,providerRef:i(t.id)}}function Se(e){return{id:e.id,name:e.name,slug:e.slug,country:e.country?{id:e.country.id,name:e.country.name,code:e.country.code??void 0,flag:e.country.assets?.flag?.url,providerRef:i(e.country.uuid)}:void 0,birthdate:e.birthdate,providerRef:i(e.uuid)}}function Ce(e){return{teamId:e.team.id,teamName:e.team.name,coach:e.coach?Se(e.coach):void 0,players:e.players.map(Te)}}function Ae(e){const t=parseInt(e,10);return isNaN(t)?void 0:t}function c(e,t){const n=e.find(o=>o.name===t);return n?Ae(n.value):void 0}function Ee(e,t){const n=e.statistics;return{playerId:e.player.id,seasonId:e.season.id,teamId:t,appearances:c(n,"played"),started:c(n,"started"),substituteIn:c(n,"substitute_in"),substituteOut:c(n,"substitute_out"),minutes:c(n,"minutes"),minutesSubstitute:c(n,"minutes_substitute"),goals:c(n,"goals"),goalsSubstitute:c(n,"goals_substitute"),penaltyGoals:c(n,"penalty_goals"),ownGoals:c(n,"own_goals"),assists:c(n,"assists"),shots:c(n,"shots"),shotsOnTarget:c(n,"shots_on_target"),yellowCards:c(n,"yellow_cards"),redCards:c(n,"red_cards"),foulsCommitted:c(n,"fouls_committed"),penaltiesCommitted:c(n,"penalties_committed"),penaltiesMissed:c(n,"penalties_missed"),cleansheets:c(n,"cleansheets"),saves:c(n,"saves"),conceded:c(n,"conceded"),caughtBall:c(n,"caught_ball"),penaltiesReceived:c(n,"penalties_received"),offsides:c(n,"offsides"),rawStatistics:n.map(o=>({name:o.name,value:o.value}))}}async function P(e,t){const n=t||g(),{sportal365Sports:o}=n,{seasonIds:a,teamId:s,languageCode:u,next:r}=e,d=r??{revalidate:0},f={season_ids:a.join(","),team_id:s,language_code:u??o?.languageCode??"en"},l=await m.get({path:"/v2/statistics/players/season",params:f,headers:{"Accept-Language":u??o?.languageCode??"en"},next:d,config:n});if(!l.statistics)return console.error("[getFootballPlayerSeasonStatistics] Invalid API response - missing statistics array:",{teamId:s,seasonIds:a,response:l}),{};if(l.statistics.length===0)throw console.warn("[getFootballPlayerSeasonStatistics] API returned empty statistics array:",{teamId:s,seasonIds:a,hint:"This could be due to: wrong credentials, wrong project header, no data for this team/season, or API issue"}),new Error(`No player statistics found for team ${s} in seasons ${a.join(", ")}. This could be due to: wrong credentials, wrong X-Project header, or no data available for this team/season.`);const h={};for(const v of l.statistics){const S=v.player.id;h[S]=Ee(v,s)}return h}async function be(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/v2/teams/${e}`,params:{language_code:t?.languageCode??a?.languageCode??"en",optional_data:"form"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return ve(s)}async function Ie(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=t?.seasonIds&&t.seasonIds.length>0?{revalidate:0}:t?.next,u=await m.get({path:`/v2/teams/${e}/squad`,params:{language_code:t?.languageCode??a?.languageCode??"en",memberStatus:t?.memberStatus??"ACTIVE"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:s,config:o}),r=Ce(u);if(t?.seasonIds&&t.seasonIds.length>0)try{const d=await P({seasonIds:t.seasonIds,teamId:e,languageCode:t.languageCode,next:t.next},o);for(const f of r.players){const l=d[f.id];l&&(f.seasonStatistics=l)}}catch(d){console.error("[getFootballTeamSquad] Failed to fetch player statistics:",{error:d instanceof Error?d.message:String(d),stack:d instanceof Error?d.stack:void 0,teamId:e,seasonIds:t.seasonIds})}else console.log("[getFootballTeamSquad] No seasonIds provided, skipping stats fetch");return r}function Oe(e){return{id:String(e.id),name:e.name,slug:e.slug,type:e.type,region:e.region,gender:e.gender,country:{id:String(e.country.id),name:e.country.name,flag:e.country.url_flag,providerRef:i(e.country.uuid)},seasons:e.seasons.map(t=>({id:String(t.id),name:t.name,slug:t.slug,active:t.active,providerRef:i(t.uuid)})),assets:e.url_logo?{logo:e.url_logo}:void 0,providerRef:i(e.uuid)}}function Re(e){const t=e.rounds.map(n=>({id:n.id,name:n.name,key:n.key,type:n.type,status:n.status,startDate:n.start_date,endDate:n.end_date,providerRef:i(n.uuid)}));return{id:e.stage.id,name:e.stage.name,slug:e.stage.slug,shortName:e.stage.short_name??void 0,type:e.stage.type,status:e.stage.status,coverage:e.stage.coverage,order:e.stage.order_in_season,startDate:e.stage.start_date,endDate:e.stage.end_date,rounds:t,providerRef:i(e.stage.uuid)}}function Le(e){const{season:t,stages:n}=e,{tournament:o}=t,a={id:o.id,name:o.name,slug:o.slug,type:o.type,region:o.region,gender:o.gender,country:{id:o.country.id,name:o.country.name,code:o.country.code??void 0,flag:o.country.assets?.flag?.url,providerRef:i(o.country.uuid)},assets:o.assets?.logo?.url?{logo:o.assets.logo.url}:void 0,providerRef:i(o.uuid)};return{id:t.id,name:t.name,slug:t.slug,active:t.status==="ACTIVE",status:t.status==="ACTIVE"?"ACTIVE":"INACTIVE",competition:a,stages:n.map(Re),providerRef:i(t.uuid)}}async function ke(e,t,n){const o=n||g(),{sportal365Sports:a}=o,s=await m.get({path:`/tournaments/${e}`,params:{language_code:t?.languageCode??a?.languageCode??"en"},headers:{"Accept-Language":t?.languageCode??a?.languageCode??"en"},next:t?.next,config:o});return Oe(s)}async function De(e,t){const n=t||g(),{sportal365Sports:o}=n;if(!e?.seasonId&&!e?.competitionId)throw new Error("Either seasonId or competitionId must be provided");const a={language_code:e?.languageCode??o?.languageCode??"en"};e.seasonId?a.season_id=e.seasonId:e.competitionId&&(a.tournament_id=e.competitionId,e.status&&(a.status=e.status));const s=await m.get({path:"/v2/seasons/details",params:a,headers:{"Accept-Language":e?.languageCode??o?.languageCode??"en"},next:e?.next,config:n});return Le(s)}function b(e){return{championsleague:"championsLeague",europaleague:"europaLeague",conferenceleague:"conferenceLeague",relegation:"relegation",playoff:"playoff",promotion:"promotion"}[e.toLowerCase()]??e.toLowerCase().replace(/_/g,"")}function Ne(e){const t=e.toLowerCase();return t==="relegation"?"BOTTOM":t==="playoff"?"MIDDLE":"TOP"}function Fe(e,t){if(!t||t.length===0)return;const n=t.map(a=>{const s=a.event,u=s.home_team.id===e,r=u?s.away_team:s.home_team,d=`${s.goal_home}-${s.goal_away}`;return{matchId:s.id.toString(),result:a.outcome,score:d,homeAway:u?"HOME":"AWAY",opponent:{id:r.id.toString(),name:r.name,logo:r.url_logo},date:new Date(s.start_time),competition:void 0}}),o=n.map(a=>a.result).join("");return{competitorId:e.toString(),results:n,formString:o}}function Pe(e){return{key:b(e.code),name:e.name,position:Ne(e.type)}}function Me(e){const t={played:e.played,won:e.wins,drawn:e.draws,lost:e.defeits,goalsFor:e.goals_for,goalsAgainst:e.goals_against,goalDifference:e.goals_for-e.goals_against,points:e.points},n=e.rules?.length>0?e.rules.map(a=>b(a.code)):void 0,o=Fe(e.team.id,e.team.form??[]);return{rank:e.rank,competitor:{id:e.team.id.toString(),name:e.team.name,shortName:e.team.short_name??void 0,logo:e.team.url_logo},stats:t,form:o,rules:n}}function xe(e){const t=e.map(Me),n=new Map;for(const o of e)if(o.rules)for(const a of o.rules){const s=b(a.code);n.has(s)||n.set(s,Pe(a))}return{entries:t,metadata:{legend:Array.from(n.values())}}}async function Ue(e,t){const n=t||g(),{sportal365Sports:o}=n,a=e.expand?.join(","),s=await m.get({path:`/tournaments/seasons/stages/${e.stageId}/standing`,params:{expand:a,language_code:e.languageCode??o?.languageCode??"en"},headers:{"Accept-Language":e.languageCode??o?.languageCode??"en"},next:e.next,config:n});return!s||s.length===0?{entries:[],metadata:{legend:[]}}:xe(s)}function M(e){return{id:e.id,name:e.name,code:e.country_code,assets:e.assets?.flag?{flag:e.assets.flag}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function He(e){return{id:e.id,name:e.name,type:e.type?.toUpperCase()||"LEAGUE",gender:e.gender?.toUpperCase(),country:e.country?M(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function $e(e){if(e.status){const s={notstarted:{code:"not_started",type:"NOT_STARTED",name:"Not Started"},live:{code:"live",type:"LIVE",name:"Live"},finished:{code:"finished",type:"FINISHED",name:"Finished"},postponed:{code:"postponed",type:"POSTPONED",name:"Postponed"},cancelled:{code:"cancelled",type:"CANCELLED",name:"Cancelled"},abandoned:{code:"abandoned",type:"ABANDONED",name:"Abandoned"}}[e.status.type];if(s)return s}let t="not_started",n="NOT_STARTED",o="Not Started";return e.finished_at?(t="finished",n="FINISHED",o="Finished"):e.started_at&&(t="live",n="LIVE",o="Live"),{code:t,name:o,type:n}}function Ye(e){return{kickoffTime:new Date(e.kickoff_at),currentMinute:e.minute??void 0,currentPeriod:void 0}}function N(e){return{id:e.id,name:e.name,shortName:e.short_name??void 0,fullName:e.full_name??void 0,threeLetterCode:e.code,type:e.national?"national":"club",gender:e.gender?.toUpperCase(),country:e.country?M(e.country):void 0,assets:e.assets?.logo?{logo:e.assets.logo}:void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Be(e){if(!e)return;const t=o=>o?{competitorOne:o.home_goals!==null?String(o.home_goals):"0",competitorTwo:o.away_goals!==null?String(o.away_goals):"0"}:void 0,n=t(e.ft_score);if(n)return{competitorOne:n.competitorOne,competitorTwo:n.competitorTwo,breakdown:{total:n,halfTime:t(e.ht_score),regularTime:t(e.ft_score),extraTime:t(e.aet_score),penaltyShootout:t(e.pen_score)}}}function I(e){return{id:e.id,status:$e(e),timing:Ye(e),competitorOne:N(e.home_team),competitorTwo:N(e.away_team),score:Be(e.scores),competition:e.context?.competition?He(e.context.competition):void 0,lineupStatus:e.lineups_confirmed?"CONFIRMED":"NOT_AVAILABLE",updatedAt:e.updated_at?new Date(e.updated_at):void 0,isUndecided:e.undecided??void 0,providerRef:[{provider:"fansunited",id:e.id}]}}function Ge(e){return I(e.data)}function Ve(e){return e.data.map(I)}function We(e){return e.map(I)}async function x(e,t,n){const o=await e.loyalty.getTemplateMatches(t,n?.groupId,n?.disableCache);return We(o)}async function Ke(e,t,n,o){return(await x(e,t,o)).filter(s=>s.competitorOne.id===n||s.competitorTwo.id===n)}async function je(e,t,n){const o=await e.loyalty.getTemplateById(t,n?.disableCache);return{id:o.id,name:o.name,description:o.description,type:o.type,fromDate:o.fromDate,toDate:o.toDate,markets:o.markets||[],teamIds:o.teamIds||[],matchIds:o.matchIds||[],groups:(o.groups||[]).map(s=>({groupId:s.groupId,label:s.label,flags:s.flags||[],filters:{fromDate:s.filters?.fromDate||"",toDate:s.filters?.toDate||"",matchIds:s.filters?.matchIds||[]}})),gameIds:o.gameIds||[],gameTypes:o.gameTypes||[],competitionIds:o.competitionIds||[],excludedProfileIds:o.excludedProfileIds||[],rules:o.rules||"",labels:o.labels||{},customFields:o.customFields||{},branding:o.branding?JSON.parse(JSON.stringify(o.branding)):{},brandingId:null,flags:o.flags||[],images:{main:o.images?.main||null,cover:o.images?.cover||null,mobile:o.images?.mobile||null},status:o.status,automaticallyChangeStatus:o.automaticallyChangeStatus||!1,createdAt:o.createdAt,updatedAt:o.updatedAt,related:o.related||[],adContent:o.adContent||""}}function qe(e){return{"1x2":"1X2",12:"12",OVER_UNDER:"OVER_UNDER",DOUBLE_CHANCE:"DOUBLE_CHANCE",BOTH_TO_SCORE:"BOTH_TO_SCORE",DRAW_NO_BET:"DRAW_NO_BET",FIRST_TEAM_TO_SCORE:"FIRST_TEAM_TO_SCORE",CORRECT_SCORE:"CORRECT_SCORE",FIRST_HALF_GOALS:"FIRST_HALF_GOALS",FIRST_PLAYER_TO_SCORE:"FIRST_PLAYER_TO_SCORE",PLAYER_TO_SCORE_DURING_GAME:"PLAYER_TO_SCORE_DURING_GAME",PLAYER_TO_RECEIVE_CARD:"PLAYER_TO_RECEIVE_CARD",FIRST_HALF_AND_FINAL_RESULT:"FIRST_HALF_AND_FINAL_RESULT"}[e]||e.toUpperCase()}function Xe(e,t){const n=new Map;return e.forEach((o,a)=>{if(!o||o.length===0)return;const u=(t?o.filter(r=>r.bookmaker&&t.includes(r.bookmaker.id)):o).filter(r=>r.bookmaker&&r.markets&&r.markets.length>0).map(r=>{const d=r.bookmaker,f=d.assets?.[0],l=d.branding?.backgroundColor||f?.backgroundColor,h=d.branding?.textColor||(ze(l)?"#FFFFFF":"#000000"),v=f?.transparentBackgroundUrl||f?.logo,S=d.eventUrls?.find(_=>_.appType==="desktop")?.url||d.links?.find(_=>_.appType==="desktop")?.homepageUrl||d.url||"";return{operator:{id:d.id,name:d.name,url:S,branding:{backgroundColor:l,textColor:h,logo:v}},type:r.type,markets:r.markets.map(_=>({type:{id:_.type.id,code:_.type.code,name:_.type.name},period:{id:_.scope.id,type:_.scope.type,name:_.scope.name},selections:_.selections.map(y=>{const U=y.urls?.find(H=>H.appType==="desktop")?.url;let C="NONE";return y.movement==="UP"?C="UP":y.movement==="DOWN"&&(C="DOWN"),{id:y.id,name:y.name,code:y.code,value:y.value,odds:y.odds,oddsOld:y.oddsOld,movement:C,url:U}})}))}});n.set(a,u)}),n}function ze(e){if(!e)return!0;const t=e.replace("#",""),n=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),a=parseInt(t.substring(4,6),16);return(.2126*n+.7152*o+.0722*a)/255<.5}async function Je(e,t,n){if(!t||t.length===0)return new Map;const o={oddType:n?.oddType||"ALL",scopeType:n?.scopeType||"ORDINARY_TIME",oddFormat:n?.oddFormat||"DECIMAL"};n?.marketTypes&&n.marketTypes.length>0&&(o.marketTypes=n.marketTypes.map(s=>qe(s)));const a=await e.odds.getByMatchIds(t,o);return Xe(a,n?.bookmakerIds)}exports.SPORTAL365_BASKETBALL_DOMAIN=G;exports.SPORTAL365_SPORTS_SEARCH_DOMAIN=K;exports.SPORTAL365_STATISTICS_DOMAIN=W;exports.SPORTAL365_TENNIS_DOMAIN=V;exports.addProviderRef=X;exports.createHttpClient=F;exports.footballHttp=m;exports.getBatchMatchOdds=Je;exports.getConfig=g;exports.getFootballCompetition=ke;exports.getFootballLivescore=he;exports.getFootballMatch=le;exports.getFootballMatchCommentary=_e;exports.getFootballMatchEvents=ge;exports.getFootballMatchLineups=me;exports.getFootballMatchOdds=pe;exports.getFootballMatchStatistics=fe;exports.getFootballMatches=ye;exports.getFootballPlayerSeasonStatistics=P;exports.getFootballSeasonDetails=De;exports.getFootballStandings=Ue;exports.getFootballTeam=be;exports.getFootballTeamSquad=Ie;exports.getLeaderboardMatches=x;exports.getLeaderboardTeamMatches=Ke;exports.getLeaderboardTemplate=je;exports.getProviderRefId=q;exports.isConfigured=Y;exports.setConfig=$;exports.toProviderRefArray=i;exports.transformMatch=Ge;exports.transformMatches=Ve;
|