fansunited-data-layer 0.16.0 → 0.17.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.
Files changed (73) hide show
  1. package/README.md +41 -0
  2. package/api/fansunited/index.d.ts +2 -2
  3. package/api/fansunited/index.d.ts.map +1 -1
  4. package/api/fansunited/search/__tests__/locale-agnostic-cache.test.d.ts +2 -0
  5. package/api/fansunited/search/__tests__/locale-agnostic-cache.test.d.ts.map +1 -0
  6. package/api/fansunited/search/index.d.ts.map +1 -1
  7. package/api/fansunited/search/index.js +41 -25
  8. package/api/fansunited/search/index.js.map +1 -1
  9. package/api/fansunited/search/transformer.d.ts +6 -0
  10. package/api/fansunited/search/transformer.d.ts.map +1 -1
  11. package/api/fansunited/search/transformer.js +4 -2
  12. package/api/fansunited/search/transformer.js.map +1 -1
  13. package/api/fansunited/sports/competition/__tests__/exports.test.d.ts +2 -0
  14. package/api/fansunited/sports/competition/__tests__/exports.test.d.ts.map +1 -0
  15. package/api/fansunited/sports/competition/__tests__/hydrated.test.d.ts +2 -0
  16. package/api/fansunited/sports/competition/__tests__/hydrated.test.d.ts.map +1 -0
  17. package/api/fansunited/sports/competition/__tests__/index.test.d.ts +2 -0
  18. package/api/fansunited/sports/competition/__tests__/index.test.d.ts.map +1 -0
  19. package/api/fansunited/sports/competition/hydrated.d.ts +45 -0
  20. package/api/fansunited/sports/competition/hydrated.d.ts.map +1 -0
  21. package/api/fansunited/sports/competition/hydrated.js +26 -0
  22. package/api/fansunited/sports/competition/hydrated.js.map +1 -0
  23. package/api/fansunited/sports/competition/index.d.ts +3 -12
  24. package/api/fansunited/sports/competition/index.d.ts.map +1 -1
  25. package/api/fansunited/sports/competition/index.js +16 -10
  26. package/api/fansunited/sports/competition/index.js.map +1 -1
  27. package/api/fansunited/sports/index.d.ts +6 -0
  28. package/api/fansunited/sports/index.d.ts.map +1 -1
  29. package/api/fansunited/sports/livescore/__tests__/hydrated.test.d.ts +2 -0
  30. package/api/fansunited/sports/livescore/__tests__/hydrated.test.d.ts.map +1 -0
  31. package/api/fansunited/sports/livescore/hydrated.d.ts +48 -0
  32. package/api/fansunited/sports/livescore/hydrated.d.ts.map +1 -0
  33. package/api/fansunited/sports/livescore/hydrated.js +34 -0
  34. package/api/fansunited/sports/livescore/hydrated.js.map +1 -0
  35. package/api/fansunited/sports/livescore/index.d.ts +27 -0
  36. package/api/fansunited/sports/livescore/index.d.ts.map +1 -0
  37. package/api/fansunited/sports/livescore/index.js +36 -0
  38. package/api/fansunited/sports/livescore/index.js.map +1 -0
  39. package/api/fansunited/sports/livescore/transformer.d.ts +8 -0
  40. package/api/fansunited/sports/livescore/transformer.d.ts.map +1 -0
  41. package/api/fansunited/sports/livescore/transformer.js +44 -0
  42. package/api/fansunited/sports/livescore/transformer.js.map +1 -0
  43. package/api/fansunited/sports/livescore/types.d.ts +58 -0
  44. package/api/fansunited/sports/livescore/types.d.ts.map +1 -0
  45. package/cache/__tests__/redis-integration.test.d.ts +14 -0
  46. package/cache/__tests__/redis-integration.test.d.ts.map +1 -0
  47. package/cache/__tests__/redis-l2-store.d.ts +52 -0
  48. package/cache/__tests__/redis-l2-store.d.ts.map +1 -0
  49. package/cache/__tests__/test-l2-store.d.ts +18 -0
  50. package/cache/__tests__/test-l2-store.d.ts.map +1 -0
  51. package/cache/cache-manager.d.ts +117 -12
  52. package/cache/cache-manager.d.ts.map +1 -1
  53. package/cache/cache-manager.js +23 -14
  54. package/cache/cache-manager.js.map +1 -1
  55. package/cache/cleanup.d.ts +1 -1
  56. package/cache/cleanup.d.ts.map +1 -1
  57. package/cache/index.d.ts +3 -2
  58. package/cache/index.d.ts.map +1 -1
  59. package/cache/sqlite-store.d.ts +4 -4
  60. package/cache/sqlite-store.d.ts.map +1 -1
  61. package/cache/types.d.ts +9 -1
  62. package/cache/types.d.ts.map +1 -1
  63. package/cache/types.js +5 -0
  64. package/cache/types.js.map +1 -0
  65. package/fansunited-data-layer.js +11 -1
  66. package/fansunited-data-layer.js.map +1 -1
  67. package/index.d.ts +5 -5
  68. package/index.d.ts.map +1 -1
  69. package/package.json +2 -1
  70. package/types/canonical/index.d.ts +1 -0
  71. package/types/canonical/index.d.ts.map +1 -1
  72. package/types/canonical/sports-livescore.types.d.ts +84 -0
  73. package/types/canonical/sports-livescore.types.d.ts.map +1 -0
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Canonical types for the Fans United Sports API livescore endpoint.
3
+ *
4
+ * Returns events for a given date grouped by competition, optionally filtered
5
+ * by sport, competitions, match IDs, and event status.
6
+ */
7
+ /**
8
+ * Sports the livescore endpoint currently supports. Treated as an open string
9
+ * so future additions don't force a library bump.
10
+ */
11
+ export type FUSportsLivescoreSport = "FOOTBALL" | "BASKETBALL" | "TENNIS" | "AMERICAN_FOOTBALL" | "FORMULA_1" | "HOCKEY" | (string & {});
12
+ /**
13
+ * Event status filter value accepted by the endpoint.
14
+ */
15
+ export type FUSportsLivescoreEventStatus = "NOTSTARTED" | "LIVE" | "FINISHED";
16
+ /**
17
+ * Status block on each livescore event. The API surfaces a high-level `type`
18
+ * plus a finer-grained `code`/`subType` pair (e.g. type="FINISHED",
19
+ * code="finished", subType="finished"; or type="SCHEDULED", code="scheduled",
20
+ * subType="not_started").
21
+ */
22
+ export interface FUSportsLivescoreStatus {
23
+ type: string;
24
+ code: string;
25
+ subType: string;
26
+ }
27
+ /**
28
+ * A single score line for an event. Football emits `result`, `full_time`,
29
+ * `half_time`; basketball adds `q1`–`q4`; other sports will introduce their
30
+ * own keys. Values are kept as strings to match the source API verbatim.
31
+ */
32
+ export interface FUSportsLivescoreScore {
33
+ key: string;
34
+ competitorOne: string;
35
+ competitorTwo: string;
36
+ }
37
+ /**
38
+ * Lightweight competitor identity attached to each event. `type` distinguishes
39
+ * teams from individuals ("team", "player", …).
40
+ */
41
+ export interface FUSportsLivescoreCompetitor {
42
+ id: string;
43
+ type: string;
44
+ }
45
+ /**
46
+ * One match within a competition group.
47
+ *
48
+ * `score` is omitted for events that haven't started yet (SCHEDULED). For
49
+ * finished/live events it carries an ordered list of score lines whose keys
50
+ * vary by sport.
51
+ */
52
+ export interface FUSportsLivescoreEvent {
53
+ id: string;
54
+ status: FUSportsLivescoreStatus;
55
+ score?: FUSportsLivescoreScore[];
56
+ competitorOne: FUSportsLivescoreCompetitor;
57
+ competitorTwo: FUSportsLivescoreCompetitor;
58
+ /** ISO-ish start time as returned by the API (e.g. "2026-06-11 17:00:00Z"). */
59
+ startTime: string;
60
+ }
61
+ /**
62
+ * Events for a given competition. Competitions are returned in the order
63
+ * dictated by the `competitionsOrder` option, with the remainder appended.
64
+ */
65
+ export interface FUSportsLivescoreCompetitionGroup {
66
+ competitionId: string;
67
+ sport: FUSportsLivescoreSport;
68
+ events: FUSportsLivescoreEvent[];
69
+ }
70
+ /**
71
+ * Response-level totals.
72
+ */
73
+ export interface FUSportsLivescoreMeta {
74
+ totalCompetitions: number;
75
+ totalEvents: number;
76
+ }
77
+ /**
78
+ * Full livescore payload returned by `GET /v1/livescore`.
79
+ */
80
+ export interface FUSportsLivescore {
81
+ data: FUSportsLivescoreCompetitionGroup[];
82
+ meta: FUSportsLivescoreMeta;
83
+ }
84
+ //# sourceMappingURL=sports-livescore.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sports-livescore.types.d.ts","sourceRoot":"","sources":["../../../src/lib/types/canonical/sports-livescore.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC5B,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,mBAAmB,GACnB,WAAW,GACX,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACjC,aAAa,EAAE,2BAA2B,CAAC;IAC3C,aAAa,EAAE,2BAA2B,CAAC;IAC3C,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,MAAM,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,iCAAiC,EAAE,CAAC;IAC1C,IAAI,EAAE,qBAAqB,CAAC;CAC/B"}