@levrbet/shared 0.2.87 → 0.2.89

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 (45) hide show
  1. package/dist/core/contracts/abis/LevrManager.d.ts +1008 -988
  2. package/dist/core/contracts/abis/LevrManager.js +1538 -499
  3. package/dist/core/contracts/abis/LevrManager.js.map +1 -1
  4. package/dist/core/contracts/abis/index.d.ts +1008 -988
  5. package/dist/core/contracts/addresses.d.ts +21 -21
  6. package/dist/core/contracts/addresses.js +19 -19
  7. package/dist/react/hooks/contracts/useContracts.d.ts +19 -19
  8. package/dist/server/config/redis.d.ts +28 -49
  9. package/dist/server/config/redis.js +57 -127
  10. package/dist/server/config/redis.js.map +1 -1
  11. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.d.ts +9 -9
  12. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.js.map +1 -1
  13. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js +1 -1
  14. package/dist/server/liquidation-engine/redis.cache.manager/prices.set.manager.test.js.map +1 -1
  15. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.d.ts +4 -0
  16. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js +5 -1
  17. package/dist/server/oracle/config/game-periods/providers/optic-odds.periods.js.map +1 -1
  18. package/dist/server/oracle/config/game-periods/sports.config.d.ts +1 -1
  19. package/dist/server/oracle/config/game-periods/sports.config.js +53 -4
  20. package/dist/server/oracle/config/game-periods/sports.config.js.map +1 -1
  21. package/dist/server/oracle/config/game-periods/types.d.ts +9 -1
  22. package/dist/server/oracle/config/game-periods/types.js +5 -0
  23. package/dist/server/oracle/config/game-periods/types.js.map +1 -1
  24. package/dist/server/oracle/redis-cache-manager/channels.d.ts +2 -2
  25. package/dist/server/oracle/redis-cache-manager/channels.js.map +1 -1
  26. package/dist/server/oracle/redis-cache-manager/game.cache.service.d.ts +27 -26
  27. package/dist/server/oracle/redis-cache-manager/game.cache.service.js.map +1 -1
  28. package/dist/server/oracle/redis-cache-manager/game.progress.d.ts +4 -4
  29. package/dist/server/oracle/redis-cache-manager/game.progress.js.map +1 -1
  30. package/dist/server/oracle/redis-cache-manager/leagues.cache.service.d.ts +3 -3
  31. package/dist/server/oracle/redis-cache-manager/leagues.cache.service.js.map +1 -1
  32. package/dist/server/oracle/redis-cache-manager/market.cache.service.d.ts +10 -10
  33. package/dist/server/oracle/redis-cache-manager/market.cache.service.js.map +1 -1
  34. package/dist/server/oracle/redis-cache-manager/market.query.engine.d.ts +17 -17
  35. package/dist/server/oracle/redis-cache-manager/market.query.engine.js.map +1 -1
  36. package/dist/server/utils/game_progress/caclulate.game.progress.d.ts +132 -4
  37. package/dist/server/utils/game_progress/caclulate.game.progress.js +195 -24
  38. package/dist/server/utils/game_progress/caclulate.game.progress.js.map +1 -1
  39. package/dist/server/utils/game_progress/game.utils.d.ts +10 -1
  40. package/dist/server/utils/game_progress/game.utils.js +95 -38
  41. package/dist/server/utils/game_progress/game.utils.js.map +1 -1
  42. package/dist/server/utils/game_progress/parser.js +6 -0
  43. package/dist/server/utils/game_progress/parser.js.map +1 -1
  44. package/package.json +1 -1
  45. package/prisma/schema.prisma +39 -3
@@ -1 +1 @@
1
- {"version":3,"file":"market.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.cache.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.cache.service.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.cache.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Market, MarketStatus, MarketType, Odds } from "@prisma/client";
2
- import { Redis } from "ioredis";
2
+ import type { RedisClient } from "../../config";
3
3
  import { LevrChain, MarketWithRelations } from "../../../core";
4
4
  /**
5
5
  * Redis Query Engine using RediSearch
@@ -32,34 +32,34 @@ export interface SearchResult<T> {
32
32
  * @param limit - Number of latest odds to return (from the end)
33
33
  * @returns Array of Odds objects
34
34
  */
35
- export declare const getOddsList: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<Odds[]>;
35
+ export declare const getOddsList: (redis: RedisClient, gameUniqueId: string, marketType: MarketType) => Promise<Odds[]>;
36
36
  /**
37
37
  * Fallback market query engine for Redis instances without RediSearch support
38
38
  * Uses simple hash operations instead of full-text search indexing
39
39
  */
40
- export declare const searchMarketsFallback: (redis: Redis, levrGameObjectId: string, marketType: MarketType) => Promise<Market | null>;
40
+ export declare const searchMarketsFallback: (redis: RedisClient, levrGameObjectId: string, marketType: MarketType) => Promise<Market | null>;
41
41
  /**
42
42
  * Add a new market to cache with RediSearch indexing
43
43
  * @param redis - Redis client instance
44
44
  * @param market - Array of Market objects to cache
45
45
  */
46
- export declare const updateMarketCache: (redis: Redis, market: Market[]) => Promise<void>;
46
+ export declare const updateMarketCache: (redis: RedisClient, market: Market[]) => Promise<void>;
47
47
  /**
48
48
  * Create market index with proper schema
49
49
  */
50
- export declare const createMarketIndex: (redis: Redis) => Promise<void>;
50
+ export declare const createMarketIndex: (redis: RedisClient) => Promise<void>;
51
51
  /**
52
52
  * Creates a RediSearch index for odds lists by market identifiers
53
53
  * @param redis - Redis client instance
54
54
  */
55
- export declare const createOddsIndex: (redis: Redis) => Promise<void>;
55
+ export declare const createOddsIndex: (redis: RedisClient) => Promise<void>;
56
56
  /**
57
57
  * Search markets using RediSearch query engine
58
58
  * @param redis - Redis client instance
59
59
  * @param params - Search parameters
60
60
  * @returns Array of Market objects
61
61
  */
62
- export declare const searchMarkets: (redis: Redis, params: SearchQuery) => Promise<Market[]>;
62
+ export declare const searchMarkets: (redis: RedisClient, params: SearchQuery) => Promise<Market[]>;
63
63
  /**
64
64
  * Get market by game unique ID and market type directly from hash
65
65
  * @param redis - Redis client instance
@@ -67,7 +67,7 @@ export declare const searchMarkets: (redis: Redis, params: SearchQuery) => Promi
67
67
  * @param marketType - Market type
68
68
  * @returns Market object or null if not found
69
69
  */
70
- export declare const getMarketByGameAndType: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<Market | null>;
70
+ export declare const getMarketByGameAndType: (redis: RedisClient, gameUniqueId: string, marketType: MarketType) => Promise<Market | null>;
71
71
  /**
72
72
  * Search markets with their associated odds - FALLBACK version
73
73
  * Uses simple hash operations when RediSearch is unavailable
@@ -76,14 +76,14 @@ export declare const getMarketByGameAndType: (redis: Redis, gameUniqueId: string
76
76
  * @param marketType - Market type
77
77
  * @returns Markets with their odds
78
78
  */
79
- export declare const searchMarketsWithOddsFallback: (redis: Redis, levrGameObjectId: string, marketType: MarketType) => Promise<MarketWithRelations | null>;
79
+ export declare const searchMarketsWithOddsFallback: (redis: RedisClient, levrGameObjectId: string, marketType: MarketType) => Promise<MarketWithRelations | null>;
80
80
  /**
81
81
  * Search markets with their associated odds
82
82
  * @param redis - Redis client instance
83
83
  * @param query - Search query parameters
84
84
  * @returns Search results with markets and their odds
85
85
  */
86
- export declare const searchMarketsWithOdds: (redis: Redis, query: any) => Promise<SearchResult<MarketWithRelations>>;
86
+ export declare const searchMarketsWithOdds: (redis: RedisClient, query: any) => Promise<SearchResult<MarketWithRelations>>;
87
87
  /**
88
88
  * Search multiple markets with their associated odds - FALLBACK version
89
89
  * Uses simple hash operations when RediSearch is unavailable
@@ -91,7 +91,7 @@ export declare const searchMarketsWithOdds: (redis: Redis, query: any) => Promis
91
91
  * @param queries - Array of search query parameters with gameUniqueIdentifier and marketType
92
92
  * @returns Combined search results with markets and their odds
93
93
  */
94
- export declare const searchMultipleMarketsWithOddsFallback: (redis: Redis, queries: Array<{
94
+ export declare const searchMultipleMarketsWithOddsFallback: (redis: RedisClient, queries: Array<{
95
95
  gameUniqueIdentifier: string;
96
96
  marketType: MarketType;
97
97
  }>) => Promise<{
@@ -105,7 +105,7 @@ export declare const searchMultipleMarketsWithOddsFallback: (redis: Redis, queri
105
105
  * @param queries - Array of search query parameters
106
106
  * @returns Combined search results with markets and their odds
107
107
  */
108
- export declare const searchMultipleMarketsWithOdds: (redis: Redis, queries: SearchQuery[]) => Promise<{
108
+ export declare const searchMultipleMarketsWithOdds: (redis: RedisClient, queries: SearchQuery[]) => Promise<{
109
109
  total: number;
110
110
  results: Record<string, MarketWithRelations[]>;
111
111
  duration: number;
@@ -117,7 +117,7 @@ export declare const searchMultipleMarketsWithOdds: (redis: Redis, queries: Sear
117
117
  * @param marketType - Market type
118
118
  * @param odds - Array of Odds objects to cache
119
119
  */
120
- export declare const addOddsToOddsCache: (redis: Redis, gameUniqueId: string, marketType: MarketType, odds: Odds[]) => Promise<void>;
120
+ export declare const addOddsToOddsCache: (redis: RedisClient, gameUniqueId: string, marketType: MarketType, odds: Odds[]) => Promise<void>;
121
121
  /**
122
122
  * Search odds lists by market identifiers using RediSearch
123
123
  * @param redis - Redis client instance
@@ -126,7 +126,7 @@ export declare const addOddsToOddsCache: (redis: Redis, gameUniqueId: string, ma
126
126
  * @param levrGameObjectId - Levr game object ID to search
127
127
  * @returns Array of odds lists matching the query
128
128
  */
129
- export declare const searchOddsLists: (redis: Redis, gameMarketId?: string, marketType?: MarketType, levrGameObjectId?: string) => Promise<Odds[][]>;
129
+ export declare const searchOddsLists: (redis: RedisClient, gameMarketId?: string, marketType?: MarketType, levrGameObjectId?: string) => Promise<Odds[][]>;
130
130
  /**
131
131
  * Get the latest odds for a specific game and market type
132
132
  * @param redis - Redis client instance
@@ -134,7 +134,7 @@ export declare const searchOddsLists: (redis: Redis, gameMarketId?: string, mark
134
134
  * @param marketType - Market type
135
135
  * @returns Latest Odds object or null if not found
136
136
  */
137
- export declare const getLatestOdds: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<Odds | null>;
137
+ export declare const getLatestOdds: (redis: RedisClient, gameUniqueId: string, marketType: MarketType) => Promise<Odds | null>;
138
138
  /**
139
139
  * Get the latest odds with its related market
140
140
  * @param redis - Redis client instance
@@ -142,11 +142,11 @@ export declare const getLatestOdds: (redis: Redis, gameUniqueId: string, marketT
142
142
  * @param marketType - Market type
143
143
  * @returns Odds with related market or null if not found
144
144
  */
145
- export declare const getLatestOddsWithMarket: (redis: Redis, gameUniqueId: string, marketType: MarketType) => Promise<(Odds & {
145
+ export declare const getLatestOddsWithMarket: (redis: RedisClient, gameUniqueId: string, marketType: MarketType) => Promise<(Odds & {
146
146
  market?: Market;
147
147
  }) | null>;
148
148
  /**
149
149
  * Drop all search indices
150
150
  * @param redis - Redis client instance
151
151
  */
152
- export declare const dropAllIndices: (redis: Redis) => Promise<void>;
152
+ export declare const dropAllIndices: (redis: RedisClient) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"market.query.engine.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.query.engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.query.engine.js","sourceRoot":"","sources":["../../../../src/server/oracle/redis-cache-manager/market.query.engine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,134 @@
1
+ /**
2
+ * @fileoverview Game progress calculation utilities for various sports.
3
+ * This module provides functions to calculate game progress in basis points (BPS)
4
+ * for different sports including Soccer, Basketball, Football, and Baseball.
5
+ * It supports multiple odds providers (LSports, OpticOdds) with provider-specific
6
+ * period mapping logic.
7
+ * @module game_progress/calculate.game.progress
8
+ */
1
9
  import { SportGroup } from "@prisma/client";
2
10
  import { OddsServices } from "../../../core";
3
- export declare const calculateSoccerProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
4
- export declare const calculateBasketballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
5
- export declare const calculateFootballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
6
- export declare const calculateBaseballProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices) => number | null;
11
+ /**
12
+ * Calculates the game progress in basis points (BPS) for a given sport.
13
+ * This is the core calculation function used by all sport-specific progress functions.
14
+ *
15
+ * @param currentPeriod - The current period/quarter/half number from the provider
16
+ * @param gameClock - The game clock string (e.g., "12:30", "45:00")
17
+ * @param sportGroup - The sport group enum value (Soccer, Basketball, Football, Baseball)
18
+ * @param provider - The odds service provider (LSports, OpticOdds)
19
+ * @param isTopOfInning - For baseball only: whether it's the top of the inning
20
+ * @param leagueSelector - Optional league identifier for league-specific configurations (e.g., NCAA)
21
+ * @returns The game progress in basis points (0-10000) or null if invalid input
22
+ *
23
+ * @example
24
+ * // Calculate NBA game progress at 5:30 remaining in Q2
25
+ * calculateGameProgress(2, "05:30", SportGroup.Basketball, OddsServices.LSPORTS)
26
+ * // Returns approximately 3125 BPS (31.25% through the game)
27
+ */
28
+ export declare const calculateGameProgress: (currentPeriod: number, gameClock: string, sportGroup: SportGroup, provider: OddsServices, isTopOfInning?: boolean, leagueSelector?: string) => number | null;
29
+ /**
30
+ * Calculates game progress for Soccer matches in basis points (BPS).
31
+ * Soccer uses 2 x 45 minute halves with a count-up clock.
32
+ *
33
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
34
+ * @param gameClock - The elapsed time in "MM:SS" format (e.g., "32:15")
35
+ * @param provider - The odds service provider
36
+ * @returns Game progress in BPS (0-10000) or null if invalid
37
+ *
38
+ * @example
39
+ * // First half at 30 minutes
40
+ * calculateSoccerProgress(10, "30:00", SportGroup.Soccer, OddsServices.LSPORTS)
41
+ * // Returns ~3333 BPS (33.33% through the game)
42
+ */
43
+ export declare const calculateSoccerProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
44
+ /**
45
+ * Calculates game progress for Basketball (NBA) matches in basis points (BPS).
46
+ * NBA uses 4 x 12 minute quarters with a countdown clock.
47
+ *
48
+ * @param currentPeriod - The current quarter (1-4)
49
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "08:45")
50
+ * @param provider - The odds service provider
51
+ * @returns Game progress in BPS (0-10000) or null if invalid
52
+ *
53
+ * @example
54
+ * // Third quarter with 6 minutes remaining
55
+ * calculateBasketballProgress(3, "06:00", SportGroup.Basketball, OddsServices.LSPORTS)
56
+ * // Returns ~6250 BPS (62.5% through the game)
57
+ */
58
+ export declare const calculateBasketballProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
59
+ /**
60
+ * Calculates game progress for American Football (NFL) matches in basis points (BPS).
61
+ * NFL uses 4 x 15 minute quarters with a countdown clock.
62
+ *
63
+ * @param currentPeriod - The current quarter (1-4)
64
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "12:30")
65
+ * @param provider - The odds service provider
66
+ * @returns Game progress in BPS (0-10000) or null if invalid
67
+ *
68
+ * @example
69
+ * // Second quarter with 8 minutes remaining
70
+ * calculateFootballProgress(2, "08:00", SportGroup.Football, OddsServices.LSPORTS)
71
+ * // Returns ~3667 BPS (36.67% through the game)
72
+ */
73
+ export declare const calculateFootballProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
74
+ /**
75
+ * Calculates game progress for Baseball (MLB) matches in basis points (BPS).
76
+ * Baseball uses 9 innings, each with a top and bottom half.
77
+ * Progress is calculated based on completed half-innings.
78
+ *
79
+ * @param currentPeriod - The current inning (1-9)
80
+ * @param isTopOfInning - True if it's the top of the inning (away team batting)
81
+ * @returns Game progress in BPS (0-10000) or null if invalid
82
+ *
83
+ * @example
84
+ * // Top of the 5th inning
85
+ * calculateBaseballProgress(5, true)
86
+ * // Returns ~4444 BPS (44.44% through the game)
87
+ *
88
+ * @example
89
+ * // Bottom of the 7th inning
90
+ * calculateBaseballProgress(7, false)
91
+ * // Returns ~7778 BPS (77.78% through the game)
92
+ */
93
+ export declare const calculateBaseballProgress: (currentPeriod: number, isTopOfInning: boolean) => number | null;
94
+ /**
95
+ * Calculates game progress for NCAA Basketball (NCAAB) matches in basis points (BPS).
96
+ * NCAAB uses 2 x 20 minute halves with a countdown clock (different from NBA's 4 quarters).
97
+ *
98
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
99
+ * @param gameClock - The time remaining
100
+ * @param provider - The odds service provider
101
+ * @returns Game progress in BPS (0-10000) or null if invalid
102
+ *
103
+ * @remarks
104
+ * - LSports uses period codes 10 and 20 for 1st and 2nd halves respectively
105
+ * - OpticOdds uses standard 1 and 2 for halves
106
+ * - Total game duration: 40 minutes (2 x 20 min halves)
107
+ *
108
+ * @example
109
+ * // First half with 10 minutes remaining (LSports)
110
+ * calculateNCAABProgress(10, "10:00", OddsServices.LSPORTS)
111
+ * // Returns ~2500 BPS (25% through the game)
112
+ */
113
+ export declare const calculateNCAABProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
114
+ /**
115
+ * Calculates game progress for NCAA Football (NCAAF) matches in basis points (BPS).
116
+ * NCAAF uses 2 x 30 minute halves (equivalent to 4 x 15 min quarters) with a countdown clock.
117
+ *
118
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
119
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "25:00")
120
+ * @param provider - The odds service provider
121
+ * @returns Game progress in BPS (0-10000) or null if invalid
122
+ *
123
+ * @remarks
124
+ * - LSports uses period codes 10 and 20 for 1st and 2nd halves respectively
125
+ * - OpticOdds uses standard 1 and 2 for halves
126
+ * - Total game duration: 60 minutes (2 x 30 min halves)
127
+ * - Quarters are grouped into halves for period tracking
128
+ *
129
+ * @example
130
+ * // First half with 20 minutes remaining (LSports)
131
+ * calculateNCAAFProgress(10, "20:00", OddsServices.LSPORTS)
132
+ * // Returns ~1667 BPS (16.67% through the game)
133
+ */
134
+ export declare const calculateNCAAFProgress: (currentPeriod: number, gameClock: string, provider: OddsServices) => number | null;
@@ -1,11 +1,27 @@
1
1
  "use strict";
2
+ /**
3
+ * @fileoverview Game progress calculation utilities for various sports.
4
+ * This module provides functions to calculate game progress in basis points (BPS)
5
+ * for different sports including Soccer, Basketball, Football, and Baseball.
6
+ * It supports multiple odds providers (LSports, OpticOdds) with provider-specific
7
+ * period mapping logic.
8
+ * @module game_progress/calculate.game.progress
9
+ */
2
10
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateBaseballProgress = exports.calculateFootballProgress = exports.calculateBasketballProgress = exports.calculateSoccerProgress = void 0;
11
+ exports.calculateNCAAFProgress = exports.calculateNCAABProgress = exports.calculateBaseballProgress = exports.calculateFootballProgress = exports.calculateBasketballProgress = exports.calculateSoccerProgress = exports.calculateGameProgress = void 0;
4
12
  const client_1 = require("@prisma/client");
13
+ const core_1 = require("../../../core");
14
+ const oracle_1 = require("../../oracle");
5
15
  const game_utils_1 = require("../game_progress/game.utils");
6
16
  const parser_1 = require("./parser");
7
- const oracle_1 = require("../../oracle");
8
- const core_1 = require("../../../core");
17
+ /**
18
+ * Provider and sport-specific period mappers.
19
+ * Maps raw period values from odds providers to normalized period numbers.
20
+ *
21
+ * @remarks
22
+ * - LSports Soccer uses 10 for 1st half, 20 for 2nd half
23
+ * - Other sports typically use sequential period numbers (1, 2, 3, etc.)
24
+ */
9
25
  const PERIOD_MAPPERS = {
10
26
  [core_1.OddsServices.LSPORTS]: {
11
27
  [client_1.SportGroup.Soccer]: (currentPeriod) => {
@@ -54,43 +70,198 @@ const PERIOD_MAPPERS = {
54
70
  },
55
71
  },
56
72
  };
57
- const calculateGameProgress = (currentPeriod, gameClock, sportGroup, provider) => {
73
+ /**
74
+ * Period mappers specifically for NCAA leagues.
75
+ * NCAA sports in LSports use 10/20 notation for halves instead of 1/2.
76
+ *
77
+ * @remarks
78
+ * - LSports: period 10 = 1st half, period 20 = 2nd half
79
+ * - OpticOdds: uses standard sequential period numbering
80
+ */
81
+ const NCAA_PERIOD_MAPPERS = {
82
+ [core_1.OddsServices.LSPORTS]: (currentPeriod) => {
83
+ if (currentPeriod === 10)
84
+ return 1;
85
+ if (currentPeriod === 20)
86
+ return 2;
87
+ return null;
88
+ },
89
+ [core_1.OddsServices.OPTIC_ODDS]: (currentPeriod, totalPeriods) => {
90
+ if (currentPeriod >= 1 && currentPeriod <= totalPeriods)
91
+ return currentPeriod;
92
+ return null;
93
+ },
94
+ };
95
+ /**
96
+ * Calculates the game progress in basis points (BPS) for a given sport.
97
+ * This is the core calculation function used by all sport-specific progress functions.
98
+ *
99
+ * @param currentPeriod - The current period/quarter/half number from the provider
100
+ * @param gameClock - The game clock string (e.g., "12:30", "45:00")
101
+ * @param sportGroup - The sport group enum value (Soccer, Basketball, Football, Baseball)
102
+ * @param provider - The odds service provider (LSports, OpticOdds)
103
+ * @param isTopOfInning - For baseball only: whether it's the top of the inning
104
+ * @param leagueSelector - Optional league identifier for league-specific configurations (e.g., NCAA)
105
+ * @returns The game progress in basis points (0-10000) or null if invalid input
106
+ *
107
+ * @example
108
+ * // Calculate NBA game progress at 5:30 remaining in Q2
109
+ * calculateGameProgress(2, "05:30", SportGroup.Basketball, OddsServices.LSPORTS)
110
+ * // Returns approximately 3125 BPS (31.25% through the game)
111
+ */
112
+ const calculateGameProgress = (currentPeriod, gameClock, sportGroup, provider, isTopOfInning, leagueSelector) => {
58
113
  const config = oracle_1.SportsGamePeriodClockConfig[sportGroup];
59
- if (!config?.[provider].sportPeriods.regular.includes(currentPeriod))
114
+ if (!config)
115
+ return null;
116
+ // Check if this is a league-specific config (NCAA)
117
+ const leagueConfig = leagueSelector ? config[provider].leaguePeriods?.[leagueSelector] : null;
118
+ const mainPeriodsConfig = leagueConfig ?? config[provider].sportPeriods;
119
+ // Extract the actual PeriodConfig (handle nested structure), to cater for league-specific configs
120
+ const periodConfig = "periodConfig" in mainPeriodsConfig ? mainPeriodsConfig.periodConfig : mainPeriodsConfig;
121
+ if (!periodConfig.regular.includes(currentPeriod))
60
122
  return null;
61
- const periodMapper = PERIOD_MAPPERS[provider]?.[sportGroup];
123
+ // Use NCAA period mapper for league-specific calculations
124
+ const periodMapper = leagueConfig ? NCAA_PERIOD_MAPPERS[provider] : PERIOD_MAPPERS[provider]?.[sportGroup];
62
125
  if (!periodMapper)
63
126
  return null;
64
- const period = periodMapper(currentPeriod, config.totalPeriods);
127
+ const totalPeriods = leagueConfig ? leagueConfig.totalPeriods : config.totalPeriods;
128
+ const totalPeriodDurationInSeconds = leagueConfig
129
+ ? leagueConfig.totalPeriodDurationInSeconds
130
+ : config.totalPeriodDurationInSeconds;
131
+ const period = periodMapper(currentPeriod, totalPeriods);
65
132
  if (period === null)
66
133
  return null;
67
134
  const gameClockInSeconds = (0, parser_1.parseGameClockToSeconds)(gameClock);
68
135
  if (gameClockInSeconds === null)
69
136
  return null;
70
- return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, config.totalPeriodDurationInSeconds, config.totalPeriods, period, sportGroup, config[provider].sportPeriods.countUpClock);
137
+ return (0, game_utils_1.getGameProgressBPS)(gameClockInSeconds, totalPeriodDurationInSeconds, period, totalPeriods, sportGroup, periodConfig.countUpClock, isTopOfInning);
71
138
  };
72
- const calculateSoccerProgress = (currentPeriod, gameClock, sportGroup, provider) => {
73
- if (sportGroup !== client_1.SportGroup.Soccer)
74
- throw new Error("Sport group is not soccer");
75
- return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
139
+ exports.calculateGameProgress = calculateGameProgress;
140
+ /**
141
+ * Calculates game progress for Soccer matches in basis points (BPS).
142
+ * Soccer uses 2 x 45 minute halves with a count-up clock.
143
+ *
144
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
145
+ * @param gameClock - The elapsed time in "MM:SS" format (e.g., "32:15")
146
+ * @param provider - The odds service provider
147
+ * @returns Game progress in BPS (0-10000) or null if invalid
148
+ *
149
+ * @example
150
+ * // First half at 30 minutes
151
+ * calculateSoccerProgress(10, "30:00", SportGroup.Soccer, OddsServices.LSPORTS)
152
+ * // Returns ~3333 BPS (33.33% through the game)
153
+ */
154
+ const calculateSoccerProgress = (currentPeriod, gameClock, provider) => {
155
+ return (0, exports.calculateGameProgress)(currentPeriod, gameClock, client_1.SportGroup.Soccer, provider);
76
156
  };
77
157
  exports.calculateSoccerProgress = calculateSoccerProgress;
78
- const calculateBasketballProgress = (currentPeriod, gameClock, sportGroup, provider) => {
79
- if (sportGroup !== client_1.SportGroup.Basketball)
80
- throw new Error("Sport group is not basketball");
81
- return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
158
+ /**
159
+ * Calculates game progress for Basketball (NBA) matches in basis points (BPS).
160
+ * NBA uses 4 x 12 minute quarters with a countdown clock.
161
+ *
162
+ * @param currentPeriod - The current quarter (1-4)
163
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "08:45")
164
+ * @param provider - The odds service provider
165
+ * @returns Game progress in BPS (0-10000) or null if invalid
166
+ *
167
+ * @example
168
+ * // Third quarter with 6 minutes remaining
169
+ * calculateBasketballProgress(3, "06:00", SportGroup.Basketball, OddsServices.LSPORTS)
170
+ * // Returns ~6250 BPS (62.5% through the game)
171
+ */
172
+ const calculateBasketballProgress = (currentPeriod, gameClock, provider) => {
173
+ return (0, exports.calculateGameProgress)(currentPeriod, gameClock, client_1.SportGroup.Basketball, provider);
82
174
  };
83
175
  exports.calculateBasketballProgress = calculateBasketballProgress;
84
- const calculateFootballProgress = (currentPeriod, gameClock, sportGroup, provider) => {
85
- if (sportGroup !== client_1.SportGroup.Football)
86
- throw new Error("Sport group is not football");
87
- return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
176
+ /**
177
+ * Calculates game progress for American Football (NFL) matches in basis points (BPS).
178
+ * NFL uses 4 x 15 minute quarters with a countdown clock.
179
+ *
180
+ * @param currentPeriod - The current quarter (1-4)
181
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "12:30")
182
+ * @param provider - The odds service provider
183
+ * @returns Game progress in BPS (0-10000) or null if invalid
184
+ *
185
+ * @example
186
+ * // Second quarter with 8 minutes remaining
187
+ * calculateFootballProgress(2, "08:00", SportGroup.Football, OddsServices.LSPORTS)
188
+ * // Returns ~3667 BPS (36.67% through the game)
189
+ */
190
+ const calculateFootballProgress = (currentPeriod, gameClock, provider) => {
191
+ return (0, exports.calculateGameProgress)(currentPeriod, gameClock, client_1.SportGroup.Football, provider);
88
192
  };
89
193
  exports.calculateFootballProgress = calculateFootballProgress;
90
- const calculateBaseballProgress = (currentPeriod, gameClock, sportGroup, provider) => {
91
- if (sportGroup !== client_1.SportGroup.Baseball)
92
- throw new Error("Sport group is not baseball");
93
- return calculateGameProgress(currentPeriod, gameClock, sportGroup, provider);
194
+ /**
195
+ * Calculates game progress for Baseball (MLB) matches in basis points (BPS).
196
+ * Baseball uses 9 innings, each with a top and bottom half.
197
+ * Progress is calculated based on completed half-innings.
198
+ *
199
+ * @param currentPeriod - The current inning (1-9)
200
+ * @param isTopOfInning - True if it's the top of the inning (away team batting)
201
+ * @returns Game progress in BPS (0-10000) or null if invalid
202
+ *
203
+ * @example
204
+ * // Top of the 5th inning
205
+ * calculateBaseballProgress(5, true)
206
+ * // Returns ~4444 BPS (44.44% through the game)
207
+ *
208
+ * @example
209
+ * // Bottom of the 7th inning
210
+ * calculateBaseballProgress(7, false)
211
+ * // Returns ~7778 BPS (77.78% through the game)
212
+ */
213
+ const calculateBaseballProgress = (currentPeriod, isTopOfInning) => {
214
+ const config = oracle_1.SportsGamePeriodClockConfig[client_1.SportGroup.Baseball];
215
+ if (!config)
216
+ return null;
217
+ return (0, game_utils_1.calculateBaseballProgressBPS)(currentPeriod, config.totalPeriods, isTopOfInning);
94
218
  };
95
219
  exports.calculateBaseballProgress = calculateBaseballProgress;
220
+ /**
221
+ * Calculates game progress for NCAA Basketball (NCAAB) matches in basis points (BPS).
222
+ * NCAAB uses 2 x 20 minute halves with a countdown clock (different from NBA's 4 quarters).
223
+ *
224
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
225
+ * @param gameClock - The time remaining
226
+ * @param provider - The odds service provider
227
+ * @returns Game progress in BPS (0-10000) or null if invalid
228
+ *
229
+ * @remarks
230
+ * - LSports uses period codes 10 and 20 for 1st and 2nd halves respectively
231
+ * - OpticOdds uses standard 1 and 2 for halves
232
+ * - Total game duration: 40 minutes (2 x 20 min halves)
233
+ *
234
+ * @example
235
+ * // First half with 10 minutes remaining (LSports)
236
+ * calculateNCAABProgress(10, "10:00", OddsServices.LSPORTS)
237
+ * // Returns ~2500 BPS (25% through the game)
238
+ */
239
+ const calculateNCAABProgress = (currentPeriod, gameClock, provider) => {
240
+ return (0, exports.calculateGameProgress)(currentPeriod, gameClock, client_1.SportGroup.Basketball, provider, undefined, oracle_1.LEAGUE_SELECTORS.NCAA_BASKETBALL);
241
+ };
242
+ exports.calculateNCAABProgress = calculateNCAABProgress;
243
+ /**
244
+ * Calculates game progress for NCAA Football (NCAAF) matches in basis points (BPS).
245
+ * NCAAF uses 2 x 30 minute halves (equivalent to 4 x 15 min quarters) with a countdown clock.
246
+ *
247
+ * @param currentPeriod - The current half (LSports: 10=1st half, 20=2nd half; OpticOdds: 1 or 2)
248
+ * @param gameClock - The time remaining in "MM:SS" format (e.g., "25:00")
249
+ * @param provider - The odds service provider
250
+ * @returns Game progress in BPS (0-10000) or null if invalid
251
+ *
252
+ * @remarks
253
+ * - LSports uses period codes 10 and 20 for 1st and 2nd halves respectively
254
+ * - OpticOdds uses standard 1 and 2 for halves
255
+ * - Total game duration: 60 minutes (2 x 30 min halves)
256
+ * - Quarters are grouped into halves for period tracking
257
+ *
258
+ * @example
259
+ * // First half with 20 minutes remaining (LSports)
260
+ * calculateNCAAFProgress(10, "20:00", OddsServices.LSPORTS)
261
+ * // Returns ~1667 BPS (16.67% through the game)
262
+ */
263
+ const calculateNCAAFProgress = (currentPeriod, gameClock, provider) => {
264
+ return (0, exports.calculateGameProgress)(currentPeriod, gameClock, client_1.SportGroup.Football, provider, undefined, oracle_1.LEAGUE_SELECTORS.NCAA_FOOTBALL);
265
+ };
266
+ exports.calculateNCAAFProgress = calculateNCAAFProgress;
96
267
  //# sourceMappingURL=caclulate.game.progress.js.map