overtime-utils 0.0.1 → 0.0.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/index.ts +3 -0
- package/main.js +1 -1
- package/package.json +1 -1
- package/src/constants/marketTypes.ts +288 -1
- package/src/enums/marketTypes.ts +307 -0
- package/src/types/sgp.ts +14 -0
- package/src/utils/markets.ts +317 -1
package/index.ts
CHANGED
package/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.overtimeUtils=t():e.overtimeUtils=t()}(self,(()=>(()=>{"use strict";var e,t={d:(e,o)=>{for(var r in o)t.o(o,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:o[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};t.r(o),t.d(o,{MarketType:()=>e,WINNER_MARKET_TYPES:()=>r,isWinnerMarket:()=>n}),function(e){e[e.EMPTY=-1]="EMPTY",e[e.WINNER=0]="WINNER"}(e||(e={}));const r=[e.WINNER],n=e=>r.includes(e);return o})()));
|
|
1
|
+
!function(_,E){"object"==typeof exports&&"object"==typeof module?module.exports=E():"function"==typeof define&&define.amd?define([],E):"object"==typeof exports?exports.overtimeUtils=E():_.overtimeUtils=E()}(self,(()=>(()=>{"use strict";var _,E={d:(_,R)=>{for(var O in R)E.o(R,O)&&!E.o(_,O)&&Object.defineProperty(_,O,{enumerable:!0,get:R[O]})},o:(_,E)=>Object.prototype.hasOwnProperty.call(_,E),r:_=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})}},R={};E.r(R),E.d(R,{AWAY_TEAM_TOTAL_MARKET_TYPES:()=>S,BOTH_TEAMS_TO_SCORE_MARKET_TYPES:()=>Y,COMBINED_POSITIONS_MARKET_TYPES:()=>L,CORRECT_SCORE_MARKET_TYPES:()=>e,HOME_TEAM_TOTAL_MARKET_TYPES:()=>P,MarketType:()=>_,ONE_SIDE_PLAYER_PROPS_MARKET_TYPES:()=>H,OTHER_YES_NO_MARKET_TYPES:()=>M,PLAYER_PROPS_MARKET_TYPES:()=>N,SGP_NOT_SUPPORTED_MARKET_TYPES:()=>o,SPREAD_MARKET_TYPES:()=>D,TOTAL_EXACT_MARKET_TYPES:()=>I,TOTAL_MARKET_TYPES:()=>T,TOTAL_ODD_EVEN_MARKET_TYPES:()=>A,UFC_ENDING_METHOD_MARKET_TYPES:()=>U,UFC_METHOD_OF_VICTORY_MARKET_TYPES:()=>t,UFC_SPECIFIC_MARKET_TYPES:()=>F,UFC_WINNING_ROUND_MARKET_TYPES:()=>W,WINNER_MARKET_TYPES:()=>O,YES_NO_PLAYER_PROPS_MARKET_TYPES:()=>C,getSgpMarketsCombinationAllowed:()=>v,isAwayTeamTotalMarket:()=>s,isBothTeamsToScoreMarket:()=>a,isCombinedPositionsMarket:()=>c,isCorrectScoreMarket:()=>u,isEndingUfcMarket:()=>X,isHomeTeamTotalMarket:()=>i,isMarketNotSupportedForSgp:()=>m,isOneSidePlayerPropsMarket:()=>d,isOtherYesNoMarket:()=>K,isPlayerPropsMarket:()=>l,isSpreadMarket:()=>n,isTotalExactMarket:()=>V,isTotalMarket:()=>r,isTotalOddEvenMarket:()=>B,isTotalOrSpreadWithWholeLine:()=>g,isUfcSpecificMarket:()=>y,isUfcVictoryMarket:()=>k,isUfcWinningMarket:()=>f,isWinnerMarket:()=>G,isYesNoPlayerPropsMarket:()=>p}),function(_){_[_.EMPTY=-1]="EMPTY",_[_.WINNER=0]="WINNER",_[_.DRAW_NO_BET=10010]="DRAW_NO_BET",_[_.WINNER2=10011]="WINNER2",_[_.WINNER3=10012]="WINNER3",_[_.FIRST_SCORE=10019]="FIRST_SCORE",_[_.LAST_SCORE=10020]="LAST_SCORE",_[_.CLEAN_SHEET_HOME_TEAM=10141]="CLEAN_SHEET_HOME_TEAM",_[_.CLEAN_SHEET_AWAY_TEAM=10142]="CLEAN_SHEET_AWAY_TEAM",_[_.FIRST_PERIOD_WINNER=10021]="FIRST_PERIOD_WINNER",_[_.SECOND_PERIOD_WINNER=10022]="SECOND_PERIOD_WINNER",_[_.THIRD_PERIOD_WINNER=10023]="THIRD_PERIOD_WINNER",_[_.FOURTH_PERIOD_WINNER=10024]="FOURTH_PERIOD_WINNER",_[_.FIFTH_PERIOD_WINNER=10025]="FIFTH_PERIOD_WINNER",_[_.SIXTH_PERIOD_WINNER=10026]="SIXTH_PERIOD_WINNER",_[_.SEVENTH_PERIOD_WINNER=10027]="SEVENTH_PERIOD_WINNER",_[_.EIGHTH_PERIOD_WINNER=10028]="EIGHTH_PERIOD_WINNER",_[_.NINTH_PERIOD_WINNER=10029]="NINTH_PERIOD_WINNER",_[_.FIRST_PERIOD_WINNER2=10051]="FIRST_PERIOD_WINNER2",_[_.SECOND_PERIOD_WINNER2=10052]="SECOND_PERIOD_WINNER2",_[_.THIRD_PERIOD_WINNER2=10053]="THIRD_PERIOD_WINNER2",_[_.FOURTH_PERIOD_WINNER2=10054]="FOURTH_PERIOD_WINNER2",_[_.FIFTH_PERIOD_WINNER2=10055]="FIFTH_PERIOD_WINNER2",_[_.SIXTH_PERIOD_WINNER2=10056]="SIXTH_PERIOD_WINNER2",_[_.SEVENTH_PERIOD_WINNER2=10057]="SEVENTH_PERIOD_WINNER2",_[_.EIGHTH_PERIOD_WINNER2=10058]="EIGHTH_PERIOD_WINNER2",_[_.NINTH_PERIOD_WINNER2=10059]="NINTH_PERIOD_WINNER2",_[_.FIRST_PERIOD_DRAW_NO_BET=10121]="FIRST_PERIOD_DRAW_NO_BET",_[_.SECOND_PERIOD_DRAW_NO_BET=10122]="SECOND_PERIOD_DRAW_NO_BET",_[_.THIRD_PERIOD_DRAW_NO_BET=10123]="THIRD_PERIOD_DRAW_NO_BET",_[_.FOURTH_PERIOD_DRAW_NO_BET=10124]="FOURTH_PERIOD_DRAW_NO_BET",_[_.SPREAD=10001]="SPREAD",_[_.SPREAD2=10013]="SPREAD2",_[_.FIRST_PERIOD_SPREAD=10041]="FIRST_PERIOD_SPREAD",_[_.SECOND_PERIOD_SPREAD=10042]="SECOND_PERIOD_SPREAD",_[_.THIRD_PERIOD_SPREAD=10043]="THIRD_PERIOD_SPREAD",_[_.FOURTH_PERIOD_SPREAD=10044]="FOURTH_PERIOD_SPREAD",_[_.FIFTH_PERIOD_SPREAD=10045]="FIFTH_PERIOD_SPREAD",_[_.SIXTH_PERIOD_SPREAD=10046]="SIXTH_PERIOD_SPREAD",_[_.SEVENTH_PERIOD_SPREAD=10047]="SEVENTH_PERIOD_SPREAD",_[_.EIGHTH_PERIOD_SPREAD=10048]="EIGHTH_PERIOD_SPREAD",_[_.NINTH_PERIOD_SPREAD=10049]="NINTH_PERIOD_SPREAD",_[_.FIRST_PERIOD_SPREAD2=10071]="FIRST_PERIOD_SPREAD2",_[_.SECOND_PERIOD_SPREAD2=10072]="SECOND_PERIOD_SPREAD2",_[_.THIRD_PERIOD_SPREAD2=10073]="THIRD_PERIOD_SPREAD2",_[_.FOURTH_PERIOD_SPREAD2=10074]="FOURTH_PERIOD_SPREAD2",_[_.FIFTH_PERIOD_SPREAD2=10075]="FIFTH_PERIOD_SPREAD2",_[_.SIXTH_PERIOD_SPREAD2=10076]="SIXTH_PERIOD_SPREAD2",_[_.SEVENTH_PERIOD_SPREAD2=10077]="SEVENTH_PERIOD_SPREAD2",_[_.EIGHTH_PERIOD_SPREAD2=10078]="EIGHTH_PERIOD_SPREAD2",_[_.NINTH_PERIOD_SPREAD2=10079]="NINTH_PERIOD_SPREAD2",_[_.TOTAL=10002]="TOTAL",_[_.TOTAL2=10014]="TOTAL2",_[_.FIRST_PERIOD_TOTAL=10031]="FIRST_PERIOD_TOTAL",_[_.SECOND_PERIOD_TOTAL=10032]="SECOND_PERIOD_TOTAL",_[_.THIRD_PERIOD_TOTAL=10033]="THIRD_PERIOD_TOTAL",_[_.FOURTH_PERIOD_TOTAL=10034]="FOURTH_PERIOD_TOTAL",_[_.FIFTH_PERIOD_TOTAL=10035]="FIFTH_PERIOD_TOTAL",_[_.SIXTH_PERIOD_TOTAL=10036]="SIXTH_PERIOD_TOTAL",_[_.SEVENTH_PERIOD_TOTAL=10037]="SEVENTH_PERIOD_TOTAL",_[_.EIGHTH_PERIOD_TOTAL=10038]="EIGHTH_PERIOD_TOTAL",_[_.NINTH_PERIOD_TOTAL=10039]="NINTH_PERIOD_TOTAL",_[_.FIRST_PERIOD_TOTAL2=10061]="FIRST_PERIOD_TOTAL2",_[_.SECOND_PERIOD_TOTAL2=10062]="SECOND_PERIOD_TOTAL2",_[_.THIRD_PERIOD_TOTAL2=10063]="THIRD_PERIOD_TOTAL2",_[_.FOURTH_PERIOD_TOTAL2=10064]="FOURTH_PERIOD_TOTAL2",_[_.FIFTH_PERIOD_TOTAL2=10065]="FIFTH_PERIOD_TOTAL2",_[_.SIXTH_PERIOD_TOTAL2=10066]="SIXTH_PERIOD_TOTAL2",_[_.SEVENTH_PERIOD_TOTAL2=10067]="SEVENTH_PERIOD_TOTAL2",_[_.EIGHTH_PERIOD_TOTAL2=10068]="EIGHTH_PERIOD_TOTAL2",_[_.NINTH_PERIOD_TOTAL2=10069]="NINTH_PERIOD_TOTAL2",_[_.TOTAL_HOME_TEAM=10017]="TOTAL_HOME_TEAM",_[_.TOTAL_AWAY_TEAM=10018]="TOTAL_AWAY_TEAM",_[_.FIRST_PERIOD_TOTAL_HOME_TEAM=10111]="FIRST_PERIOD_TOTAL_HOME_TEAM",_[_.FIRST_PERIOD_TOTAL_AWAY_TEAM=10112]="FIRST_PERIOD_TOTAL_AWAY_TEAM",_[_.SECOND_PERIOD_TOTAL_HOME_TEAM=10211]="SECOND_PERIOD_TOTAL_HOME_TEAM",_[_.SECOND_PERIOD_TOTAL_AWAY_TEAM=10212]="SECOND_PERIOD_TOTAL_AWAY_TEAM",_[_.FIRST_PERIOD_TOTAL2_HOME_TEAM=10118]="FIRST_PERIOD_TOTAL2_HOME_TEAM",_[_.FIRST_PERIOD_TOTAL2_AWAY_TEAM=10119]="FIRST_PERIOD_TOTAL2_AWAY_TEAM",_[_.SECOND_PERIOD_TOTAL2_HOME_TEAM=10218]="SECOND_PERIOD_TOTAL2_HOME_TEAM",_[_.SECOND_PERIOD_TOTAL2_AWAY_TEAM=10219]="SECOND_PERIOD_TOTAL2_AWAY_TEAM",_[_.TOTAL_ODD_EVEN=10005]="TOTAL_ODD_EVEN",_[_.FIRST_PERIOD_TOTAL_ODD_EVEN=10081]="FIRST_PERIOD_TOTAL_ODD_EVEN",_[_.SECOND_PERIOD_TOTAL_ODD_EVEN=10082]="SECOND_PERIOD_TOTAL_ODD_EVEN",_[_.THIRD_PERIOD_TOTAL_ODD_EVEN=10083]="THIRD_PERIOD_TOTAL_ODD_EVEN",_[_.FOURTH_PERIOD_TOTAL_ODD_EVEN=10084]="FOURTH_PERIOD_TOTAL_ODD_EVEN",_[_.FIFTH_PERIOD_TOTAL_ODD_EVEN=10085]="FIFTH_PERIOD_TOTAL_ODD_EVEN",_[_.SIXTH_PERIOD_TOTAL_ODD_EVEN=10086]="SIXTH_PERIOD_TOTAL_ODD_EVEN",_[_.SEVENTH_PERIOD_TOTAL_ODD_EVEN=10087]="SEVENTH_PERIOD_TOTAL_ODD_EVEN",_[_.EIGHTH_PERIOD_TOTAL_ODD_EVEN=10088]="EIGHTH_PERIOD_TOTAL_ODD_EVEN",_[_.NINTH_PERIOD_TOTAL_ODD_EVEN=10089]="NINTH_PERIOD_TOTAL_ODD_EVEN",_[_.FIRST_PERIOD_TOTAL2_ODD_EVEN=10091]="FIRST_PERIOD_TOTAL2_ODD_EVEN",_[_.SECOND_PERIOD_TOTAL2_ODD_EVEN=10092]="SECOND_PERIOD_TOTAL2_ODD_EVEN",_[_.THIRD_PERIOD_TOTAL2_ODD_EVEN=10093]="THIRD_PERIOD_TOTAL2_ODD_EVEN",_[_.FOURTH_PERIOD_TOTAL2_ODD_EVEN=10094]="FOURTH_PERIOD_TOTAL2_ODD_EVEN",_[_.FIFTH_PERIOD_TOTAL2_ODD_EVEN=10095]="FIFTH_PERIOD_TOTAL2_ODD_EVEN",_[_.SIXTH_PERIOD_TOTAL2_ODD_EVEN=10096]="SIXTH_PERIOD_TOTAL2_ODD_EVEN",_[_.SEVENTH_PERIOD_TOTAL2_ODD_EVEN=10097]="SEVENTH_PERIOD_TOTAL2_ODD_EVEN",_[_.EIGHTH_PERIOD_TOTAL2_ODD_EVEN=10098]="EIGHTH_PERIOD_TOTAL2_ODD_EVEN",_[_.NINTH_PERIOD_TOTAL2_ODD_EVEN=10099]="NINTH_PERIOD_TOTAL2_ODD_EVEN",_[_.DOUBLE_CHANCE=10003]="DOUBLE_CHANCE",_[_.FIRST_PERIOD_DOUBLE_CHANCE=10015]="FIRST_PERIOD_DOUBLE_CHANCE",_[_.SECOND_PERIOD_DOUBLE_CHANCE=10016]="SECOND_PERIOD_DOUBLE_CHANCE",_[_.BOTH_TEAMS_TO_SCORE=10009]="BOTH_TEAMS_TO_SCORE",_[_.FIRST_PERIOD_BOTH_TEAMS_TO_SCORE=10101]="FIRST_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.SECOND_PERIOD_BOTH_TEAMS_TO_SCORE=10102]="SECOND_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.THIRD_PERIOD_BOTH_TEAMS_TO_SCORE=10103]="THIRD_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.FOURTH_PERIOD_BOTH_TEAMS_TO_SCORE=10104]="FOURTH_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.FIFTH_PERIOD_BOTH_TEAMS_TO_SCORE=10105]="FIFTH_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.SIXTH_PERIOD_BOTH_TEAMS_TO_SCORE=10106]="SIXTH_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.SEVENTH_PERIOD_BOTH_TEAMS_TO_SCORE=10107]="SEVENTH_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.EIGHTH_PERIOD_BOTH_TEAMS_TO_SCORE=10108]="EIGHTH_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.NINTH_PERIOD_BOTH_TEAMS_TO_SCORE=10109]="NINTH_PERIOD_BOTH_TEAMS_TO_SCORE",_[_.WINNER_TOTAL=10004]="WINNER_TOTAL",_[_.HALFTIME_FULLTIME=10006]="HALFTIME_FULLTIME",_[_.GOALS=10007]="GOALS",_[_.HALFTIME_FULLTIME_GOALS=10008]="HALFTIME_FULLTIME_GOALS",_[_.WHO_WILL_QUALIFY=10130]="WHO_WILL_QUALIFY",_[_.WILL_THERE_BE_OVERTIME=10131]="WILL_THERE_BE_OVERTIME",_[_.FIRST_INNING_NO_RUNS=10132]="FIRST_INNING_NO_RUNS",_[_.PLAYER_PROPS_HOMERUNS=11010]="PLAYER_PROPS_HOMERUNS",_[_.PLAYER_PROPS_BASES=11011]="PLAYER_PROPS_BASES",_[_.PLAYER_PROPS_STRIKEOUTS=11019]="PLAYER_PROPS_STRIKEOUTS",_[_.PLAYER_PROPS_PASSING_YARDS=11051]="PLAYER_PROPS_PASSING_YARDS",_[_.PLAYER_PROPS_PASSING_TOUCHDOWNS=11052]="PLAYER_PROPS_PASSING_TOUCHDOWNS",_[_.PLAYER_PROPS_RUSHING_YARDS=11053]="PLAYER_PROPS_RUSHING_YARDS",_[_.PLAYER_PROPS_RECEIVING_YARDS=11057]="PLAYER_PROPS_RECEIVING_YARDS",_[_.PLAYER_PROPS_TOUCHDOWNS_SCORER=11055]="PLAYER_PROPS_TOUCHDOWNS_SCORER",_[_.PLAYER_PROPS_FIELD_GOALS_MADE=11060]="PLAYER_PROPS_FIELD_GOALS_MADE",_[_.PLAYER_PROPS_PITCHER_HITS_ALLOWED=11047]="PLAYER_PROPS_PITCHER_HITS_ALLOWED",_[_.PLAYER_PROPS_POINTS=11029]="PLAYER_PROPS_POINTS",_[_.PLAYER_PROPS_SHOTS=11097]="PLAYER_PROPS_SHOTS",_[_.PLAYER_PROPS_GOALS=11086]="PLAYER_PROPS_GOALS",_[_.PLAYER_PROPS_HITS_RECORDED=11012]="PLAYER_PROPS_HITS_RECORDED",_[_.PLAYER_PROPS_REBOUNDS=11035]="PLAYER_PROPS_REBOUNDS",_[_.PLAYER_PROPS_ASSISTS=11039]="PLAYER_PROPS_ASSISTS",_[_.PLAYER_PROPS_DOUBLE_DOUBLE=11087]="PLAYER_PROPS_DOUBLE_DOUBLE",_[_.PLAYER_PROPS_TRIPLE_DOUBLE=11088]="PLAYER_PROPS_TRIPLE_DOUBLE",_[_.PLAYER_PROPS_RECEPTIONS=11058]="PLAYER_PROPS_RECEPTIONS",_[_.PLAYER_PROPS_FIRST_TOUCHDOWN=11049]="PLAYER_PROPS_FIRST_TOUCHDOWN",_[_.PLAYER_PROPS_LAST_TOUCHDOWN=11056]="PLAYER_PROPS_LAST_TOUCHDOWN",_[_.PLAYER_PROPS_3PTS_MADE=11038]="PLAYER_PROPS_3PTS_MADE",_[_.PLAYER_PROPS_BLOCKS=11098]="PLAYER_PROPS_BLOCKS",_[_.PLAYER_PROPS_OVER_GOALS=11100]="PLAYER_PROPS_OVER_GOALS",_[_.PLAYER_PROPS_INTERCEPTIONS=11202]="PLAYER_PROPS_INTERCEPTIONS",_[_.PLAYER_PROPS_KICKING_POINTS=11203]="PLAYER_PROPS_KICKING_POINTS",_[_.PLAYER_PROPS_PASSING_ATTEMPTS=11204]="PLAYER_PROPS_PASSING_ATTEMPTS",_[_.PLAYER_PROPS_PASSING_COMPLETIONS=11205]="PLAYER_PROPS_PASSING_COMPLETIONS",_[_.PLAYER_PROPS_TOUCHDOWNS=11206]="PLAYER_PROPS_TOUCHDOWNS",_[_.PLAYER_PROPS_SACKS=11207]="PLAYER_PROPS_SACKS",_[_.PLAYER_PROPS_PASSING_RUSHING=11208]="PLAYER_PROPS_PASSING_RUSHING",_[_.PLAYER_PROPS_RUSHING_RECEIVING=11209]="PLAYER_PROPS_RUSHING_RECEIVING",_[_.PLAYER_PROPS_LONGEST_RECEPTION=11210]="PLAYER_PROPS_LONGEST_RECEPTION",_[_.PLAYER_PROPS_EXTRA_POINTS=11211]="PLAYER_PROPS_EXTRA_POINTS",_[_.PLAYER_PROPS_TACKLES=11212]="PLAYER_PROPS_TACKLES",_[_.PLAYER_PROPS_OUTS=11213]="PLAYER_PROPS_OUTS",_[_.PLAYER_PROPS_RBIS=11214]="PLAYER_PROPS_RBIS",_[_.PLAYER_PROPS_HITS_RUNS_RBIS=11215]="PLAYER_PROPS_HITS_RUNS_RBIS",_[_.PLAYER_PROPS_EARNED_RUNS=11216]="PLAYER_PROPS_EARNED_RUNS",_[_.PLAYER_PROPS_DOUBLES=11217]="PLAYER_PROPS_DOUBLES",_[_.PLAYER_PROPS_BATTING_WALKS=11218]="PLAYER_PROPS_BATTING_WALKS",_[_.PLAYER_PROPS_BATTING_STRIKEOUTS=11219]="PLAYER_PROPS_BATTING_STRIKEOUTS",_[_.PLAYER_PROPS_SINGLES=11220]="PLAYER_PROPS_SINGLES",_[_.PLAYER_PROPS_STOLEN_BASES=11221]="PLAYER_PROPS_STOLEN_BASES",_[_.PLAYER_PROPS_RUNS=11222]="PLAYER_PROPS_RUNS",_[_.PLAYER_PROPS_WALKS=11223]="PLAYER_PROPS_WALKS",_[_.PLAYER_PROPS_POINTS_ASSISTS=11225]="PLAYER_PROPS_POINTS_ASSISTS",_[_.PLAYER_PROPS_POINTS_REBOUNDS=11226]="PLAYER_PROPS_POINTS_REBOUNDS",_[_.PLAYER_PROPS_POINTS_REBOUNDS_ASSISTS=11227]="PLAYER_PROPS_POINTS_REBOUNDS_ASSISTS",_[_.PLAYER_PROPS_REBOUNDS_ASSISTS=11228]="PLAYER_PROPS_REBOUNDS_ASSISTS",_[_.PLAYER_PROPS_STEALS=11229]="PLAYER_PROPS_STEALS",_[_.PLAYER_PROPS_STEALS_BLOCKS=11230]="PLAYER_PROPS_STEALS_BLOCKS",_[_.PLAYER_PROPS_LONGEST_RUSH=11241]="PLAYER_PROPS_LONGEST_RUSH",_[_.PLAYER_PROPS_CARD_RECEIVER=11234]="PLAYER_PROPS_CARD_RECEIVER",_[_.PLAYER_PROPS_RED_CARD_RECEIVER=11235]="PLAYER_PROPS_RED_CARD_RECEIVER",_[_.PLAYER_PROPS_FIRST_SCORER=11236]="PLAYER_PROPS_FIRST_SCORER",_[_.PLAYER_PROPS_LAST_SCORER=11237]="PLAYER_PROPS_LAST_SCORER",_[_.PLAYER_PROPS_SHOTS_ON_TARGET=11238]="PLAYER_PROPS_SHOTS_ON_TARGET",_[_.PLAYER_PROPS_TOTAL_SHOTS=11239]="PLAYER_PROPS_TOTAL_SHOTS",_[_.PLAYER_PROPS_ACES=11231]="PLAYER_PROPS_ACES",_[_.PLAYER_PROPS_BREAK_POINTS_WON=11232]="PLAYER_PROPS_BREAK_POINTS_WON",_[_.PLAYER_PROPS_DOUBLE_FAULTS=11240]="PLAYER_PROPS_DOUBLE_FAULTS",_[_.WINNING_ROUND=10151]="WINNING_ROUND",_[_.GO_THE_DISTANCE=10154]="GO_THE_DISTANCE",_[_.WILL_FIGHT_END_IN_FIRST_MINUTE=10155]="WILL_FIGHT_END_IN_FIRST_MINUTE",_[_.WILL_POINT_BE_DEDUCTED=10156]="WILL_POINT_BE_DEDUCTED",_[_.ENDING_METHOD=10157]="ENDING_METHOD",_[_.METHOD_OF_VICTORY=10158]="METHOD_OF_VICTORY",_[_.PLAYER_PROPS_UFC_TAKEDOWNS_LANDED=11200]="PLAYER_PROPS_UFC_TAKEDOWNS_LANDED",_[_.PLAYER_PROPS_UFC_SIGNIFICANT_STRIKES_LANDED=11201]="PLAYER_PROPS_UFC_SIGNIFICANT_STRIKES_LANDED",_[_.US_ELECTION_POPULAR_VOTE_WINNER=10900]="US_ELECTION_POPULAR_VOTE_WINNER",_[_.US_ELECTION_WINNING_PARTY=10901]="US_ELECTION_WINNING_PARTY",_[_.US_ELECTION_WINNING_PARTY_ARIZONA=10902]="US_ELECTION_WINNING_PARTY_ARIZONA",_[_.US_ELECTION_WINNING_PARTY_GEORGIA=10903]="US_ELECTION_WINNING_PARTY_GEORGIA",_[_.US_ELECTION_WINNING_PARTY_MICHIGAN=10904]="US_ELECTION_WINNING_PARTY_MICHIGAN",_[_.US_ELECTION_WINNING_PARTY_NEVADA=10905]="US_ELECTION_WINNING_PARTY_NEVADA",_[_.US_ELECTION_WINNING_PARTY_PENNSYLVANIA=10906]="US_ELECTION_WINNING_PARTY_PENNSYLVANIA",_[_.US_ELECTION_WINNING_PARTY_WINSCONSIN=10907]="US_ELECTION_WINNING_PARTY_WINSCONSIN",_[_.US_ELECTION_WINNING_PARTY_NORTH_CAROLINA=10908]="US_ELECTION_WINNING_PARTY_NORTH_CAROLINA",_[_.CORRECT_SCORE=10100]="CORRECT_SCORE",_[_.TOTAL_EXACT_HOME_TEAM=10143]="TOTAL_EXACT_HOME_TEAM",_[_.TOTAL_EXACT_AWAY_TEAM=10144]="TOTAL_EXACT_AWAY_TEAM",_[_.FIRST_PERIOD_TOTAL_EXACT_HOME_TEAM=10145]="FIRST_PERIOD_TOTAL_EXACT_HOME_TEAM",_[_.FIRST_PERIOD_TOTAL_EXACT_AWAY_TEAM=10146]="FIRST_PERIOD_TOTAL_EXACT_AWAY_TEAM",_[_.SECOND_PERIOD_TOTAL_EXACT_HOME_TEAM=10147]="SECOND_PERIOD_TOTAL_EXACT_HOME_TEAM",_[_.SECOND_PERIOD_TOTAL_EXACT_AWAY_TEAM=10148]="SECOND_PERIOD_TOTAL_EXACT_AWAY_TEAM",_[_.LEAGUE_WINNER=13001]="LEAGUE_WINNER",_[_.MVP=13002]="MVP",_[_.CUP_WINNER=13003]="CUP_WINNER",_[_.TO_MAKE_FINAL_FOUR=13005]="TO_MAKE_FINAL_FOUR",_[_.SPREAD_CORNERS=10221]="SPREAD_CORNERS",_[_.TOTAL_CORNERS=10222]="TOTAL_CORNERS",_[_.TOTAL_CORNERS_HOME_TEAM=10223]="TOTAL_CORNERS_HOME_TEAM",_[_.TOTAL_CORNERS_AWAY_TEAM=10224]="TOTAL_CORNERS_AWAY_TEAM",_[_.TOTAL_CORNERS_ODD_EVEN=10225]="TOTAL_CORNERS_ODD_EVEN",_[_.FIRST_PERIOD_TOTAL_CORNERS=10226]="FIRST_PERIOD_TOTAL_CORNERS",_[_.SECOND_PERIOD_TOTAL_CORNERS=10227]="SECOND_PERIOD_TOTAL_CORNERS",_[_.FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM=10228]="FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM",_[_.FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM=10229]="FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM",_[_.SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM=10230]="SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM",_[_.SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM=10231]="SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM",_[_.FIRST_PERIOD_SPREAD_CORNERS=10232]="FIRST_PERIOD_SPREAD_CORNERS",_[_.SECOND_PERIOD_SPREAD_CORNERS=10233]="SECOND_PERIOD_SPREAD_CORNERS",_[_.MOST_CORNERS=10234]="MOST_CORNERS",_[_.FIRST_PERIOD_MOST_CORNERS=10235]="FIRST_PERIOD_MOST_CORNERS",_[_.SECOND_PERIOD_MOST_CORNERS=10236]="SECOND_PERIOD_MOST_CORNERS",_[_.SPREAD_CARDS=10241]="SPREAD_CARDS",_[_.TOTAL_CARDS=10242]="TOTAL_CARDS",_[_.TOTAL_CARDS_HOME_TEAM=10243]="TOTAL_CARDS_HOME_TEAM",_[_.TOTAL_CARDS_AWAY_TEAM=10244]="TOTAL_CARDS_AWAY_TEAM",_[_.TOTA_RED_CARDS=10245]="TOTA_RED_CARDS",_[_.MOST_CARDS=10246]="MOST_CARDS",_[_.FIRST_CARD=10247]="FIRST_CARD",_[_.LAST_CARD=10248]="LAST_CARD"}(_||(_={}));const O=[_.WINNER,_.DRAW_NO_BET,_.WINNER2,_.WINNER3,_.FIRST_PERIOD_WINNER,_.SECOND_PERIOD_WINNER,_.THIRD_PERIOD_WINNER,_.FOURTH_PERIOD_WINNER,_.FIFTH_PERIOD_WINNER,_.SIXTH_PERIOD_WINNER,_.SEVENTH_PERIOD_WINNER,_.EIGHTH_PERIOD_WINNER,_.NINTH_PERIOD_WINNER,_.FIRST_PERIOD_WINNER2,_.SECOND_PERIOD_WINNER2,_.THIRD_PERIOD_WINNER2,_.FOURTH_PERIOD_WINNER2,_.FIFTH_PERIOD_WINNER2,_.SIXTH_PERIOD_WINNER2,_.SEVENTH_PERIOD_WINNER2,_.EIGHTH_PERIOD_WINNER2,_.NINTH_PERIOD_WINNER2,_.FIRST_PERIOD_DRAW_NO_BET,_.SECOND_PERIOD_DRAW_NO_BET,_.THIRD_PERIOD_DRAW_NO_BET,_.FOURTH_PERIOD_DRAW_NO_BET,_.WHO_WILL_QUALIFY,_.MOST_CORNERS,_.FIRST_PERIOD_MOST_CORNERS,_.SECOND_PERIOD_MOST_CORNERS,_.MOST_CARDS],T=[_.TOTAL,_.TOTAL2,_.TOTAL_HOME_TEAM,_.TOTAL_AWAY_TEAM,_.FIRST_PERIOD_TOTAL,_.SECOND_PERIOD_TOTAL,_.THIRD_PERIOD_TOTAL,_.FOURTH_PERIOD_TOTAL,_.FIFTH_PERIOD_TOTAL,_.SIXTH_PERIOD_TOTAL,_.SEVENTH_PERIOD_TOTAL,_.EIGHTH_PERIOD_TOTAL,_.NINTH_PERIOD_TOTAL,_.FIRST_PERIOD_TOTAL2,_.SECOND_PERIOD_TOTAL2,_.THIRD_PERIOD_TOTAL2,_.FOURTH_PERIOD_TOTAL2,_.FIFTH_PERIOD_TOTAL2,_.SIXTH_PERIOD_TOTAL2,_.SEVENTH_PERIOD_TOTAL2,_.EIGHTH_PERIOD_TOTAL2,_.NINTH_PERIOD_TOTAL2,_.FIRST_PERIOD_TOTAL_HOME_TEAM,_.FIRST_PERIOD_TOTAL_AWAY_TEAM,_.SECOND_PERIOD_TOTAL_HOME_TEAM,_.SECOND_PERIOD_TOTAL_AWAY_TEAM,_.FIRST_PERIOD_TOTAL2_HOME_TEAM,_.FIRST_PERIOD_TOTAL2_AWAY_TEAM,_.SECOND_PERIOD_TOTAL2_HOME_TEAM,_.SECOND_PERIOD_TOTAL2_AWAY_TEAM,_.TOTAL_CORNERS,_.TOTAL_CORNERS_HOME_TEAM,_.TOTAL_CORNERS_AWAY_TEAM,_.FIRST_PERIOD_TOTAL_CORNERS,_.SECOND_PERIOD_TOTAL_CORNERS,_.FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM,_.FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM,_.SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM,_.SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM,_.TOTAL_CARDS,_.TOTAL_CARDS_HOME_TEAM,_.TOTAL_CARDS_AWAY_TEAM,_.TOTA_RED_CARDS],P=[_.TOTAL_HOME_TEAM,_.FIRST_PERIOD_TOTAL_HOME_TEAM,_.SECOND_PERIOD_TOTAL_HOME_TEAM,_.FIRST_PERIOD_TOTAL2_HOME_TEAM,_.SECOND_PERIOD_TOTAL2_HOME_TEAM,_.TOTAL_CORNERS_HOME_TEAM,_.FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM,_.SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM,_.TOTAL_CARDS_HOME_TEAM],S=[_.TOTAL_AWAY_TEAM,_.FIRST_PERIOD_TOTAL_AWAY_TEAM,_.SECOND_PERIOD_TOTAL_AWAY_TEAM,_.FIRST_PERIOD_TOTAL2_AWAY_TEAM,_.SECOND_PERIOD_TOTAL2_AWAY_TEAM,_.TOTAL_CORNERS_AWAY_TEAM,_.FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM,_.SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM,_.TOTAL_CARDS_AWAY_TEAM],A=[_.TOTAL_ODD_EVEN,_.FIRST_PERIOD_TOTAL_ODD_EVEN,_.SECOND_PERIOD_TOTAL_ODD_EVEN,_.THIRD_PERIOD_TOTAL_ODD_EVEN,_.FOURTH_PERIOD_TOTAL_ODD_EVEN,_.FIFTH_PERIOD_TOTAL_ODD_EVEN,_.SIXTH_PERIOD_TOTAL_ODD_EVEN,_.SEVENTH_PERIOD_TOTAL_ODD_EVEN,_.EIGHTH_PERIOD_TOTAL_ODD_EVEN,_.NINTH_PERIOD_TOTAL_ODD_EVEN,_.FIRST_PERIOD_TOTAL2_ODD_EVEN,_.SECOND_PERIOD_TOTAL2_ODD_EVEN,_.THIRD_PERIOD_TOTAL2_ODD_EVEN,_.FOURTH_PERIOD_TOTAL2_ODD_EVEN,_.FIFTH_PERIOD_TOTAL2_ODD_EVEN,_.SIXTH_PERIOD_TOTAL2_ODD_EVEN,_.SEVENTH_PERIOD_TOTAL2_ODD_EVEN,_.EIGHTH_PERIOD_TOTAL2_ODD_EVEN,_.NINTH_PERIOD_TOTAL2_ODD_EVEN,_.TOTAL_CORNERS_ODD_EVEN],I=[_.TOTAL_EXACT_HOME_TEAM,_.TOTAL_EXACT_AWAY_TEAM,_.FIRST_PERIOD_TOTAL_EXACT_HOME_TEAM,_.FIRST_PERIOD_TOTAL_EXACT_AWAY_TEAM,_.SECOND_PERIOD_TOTAL_EXACT_HOME_TEAM,_.SECOND_PERIOD_TOTAL_EXACT_AWAY_TEAM],D=[_.SPREAD,_.SPREAD2,_.FIRST_PERIOD_SPREAD,_.SECOND_PERIOD_SPREAD,_.THIRD_PERIOD_SPREAD,_.FOURTH_PERIOD_SPREAD,_.FIFTH_PERIOD_SPREAD,_.SIXTH_PERIOD_SPREAD,_.SEVENTH_PERIOD_SPREAD,_.EIGHTH_PERIOD_SPREAD,_.NINTH_PERIOD_SPREAD,_.FIRST_PERIOD_SPREAD2,_.SECOND_PERIOD_SPREAD2,_.THIRD_PERIOD_SPREAD2,_.FOURTH_PERIOD_SPREAD2,_.FIFTH_PERIOD_SPREAD2,_.SIXTH_PERIOD_SPREAD2,_.SEVENTH_PERIOD_SPREAD2,_.EIGHTH_PERIOD_SPREAD2,_.NINTH_PERIOD_SPREAD2,_.SPREAD_CORNERS,_.FIRST_PERIOD_SPREAD_CORNERS,_.SECOND_PERIOD_SPREAD_CORNERS,_.SPREAD_CARDS],N=[_.PLAYER_PROPS_HOMERUNS,_.PLAYER_PROPS_BASES,_.PLAYER_PROPS_STRIKEOUTS,_.PLAYER_PROPS_PASSING_YARDS,_.PLAYER_PROPS_PASSING_TOUCHDOWNS,_.PLAYER_PROPS_RUSHING_YARDS,_.PLAYER_PROPS_RECEIVING_YARDS,_.PLAYER_PROPS_TOUCHDOWNS_SCORER,_.PLAYER_PROPS_FIELD_GOALS_MADE,_.PLAYER_PROPS_PITCHER_HITS_ALLOWED,_.PLAYER_PROPS_POINTS,_.PLAYER_PROPS_SHOTS,_.PLAYER_PROPS_GOALS,_.PLAYER_PROPS_HITS_RECORDED,_.PLAYER_PROPS_REBOUNDS,_.PLAYER_PROPS_ASSISTS,_.PLAYER_PROPS_DOUBLE_DOUBLE,_.PLAYER_PROPS_TRIPLE_DOUBLE,_.PLAYER_PROPS_RECEPTIONS,_.PLAYER_PROPS_FIRST_TOUCHDOWN,_.PLAYER_PROPS_LAST_TOUCHDOWN,_.PLAYER_PROPS_3PTS_MADE,_.PLAYER_PROPS_BLOCKS,_.PLAYER_PROPS_OVER_GOALS,_.PLAYER_PROPS_UFC_TAKEDOWNS_LANDED,_.PLAYER_PROPS_UFC_SIGNIFICANT_STRIKES_LANDED,_.PLAYER_PROPS_INTERCEPTIONS,_.PLAYER_PROPS_KICKING_POINTS,_.PLAYER_PROPS_PASSING_ATTEMPTS,_.PLAYER_PROPS_PASSING_COMPLETIONS,_.PLAYER_PROPS_TOUCHDOWNS,_.PLAYER_PROPS_SACKS,_.PLAYER_PROPS_RUSHING_RECEIVING,_.PLAYER_PROPS_PASSING_RUSHING,_.PLAYER_PROPS_LONGEST_RECEPTION,_.PLAYER_PROPS_EXTRA_POINTS,_.PLAYER_PROPS_TACKLES,_.PLAYER_PROPS_OUTS,_.PLAYER_PROPS_RBIS,_.PLAYER_PROPS_HITS_RUNS_RBIS,_.PLAYER_PROPS_EARNED_RUNS,_.PLAYER_PROPS_DOUBLES,_.PLAYER_PROPS_BATTING_WALKS,_.PLAYER_PROPS_BATTING_STRIKEOUTS,_.PLAYER_PROPS_SINGLES,_.PLAYER_PROPS_STOLEN_BASES,_.PLAYER_PROPS_RUNS,_.PLAYER_PROPS_WALKS,_.PLAYER_PROPS_POINTS_ASSISTS,_.PLAYER_PROPS_POINTS_REBOUNDS,_.PLAYER_PROPS_POINTS_REBOUNDS_ASSISTS,_.PLAYER_PROPS_REBOUNDS_ASSISTS,_.PLAYER_PROPS_STEALS,_.PLAYER_PROPS_STEALS_BLOCKS,_.PLAYER_PROPS_LONGEST_RUSH,_.PLAYER_PROPS_CARD_RECEIVER,_.PLAYER_PROPS_RED_CARD_RECEIVER,_.PLAYER_PROPS_FIRST_SCORER,_.PLAYER_PROPS_LAST_SCORER,_.PLAYER_PROPS_SHOTS_ON_TARGET,_.PLAYER_PROPS_TOTAL_SHOTS,_.PLAYER_PROPS_ACES,_.PLAYER_PROPS_BREAK_POINTS_WON,_.PLAYER_PROPS_DOUBLE_FAULTS],L=[_.WINNER_TOTAL,_.HALFTIME_FULLTIME,_.GOALS,_.HALFTIME_FULLTIME_GOALS],H=[_.PLAYER_PROPS_TOUCHDOWNS_SCORER,_.PLAYER_PROPS_GOALS,_.PLAYER_PROPS_FIRST_TOUCHDOWN,_.PLAYER_PROPS_LAST_TOUCHDOWN,_.PLAYER_PROPS_CARD_RECEIVER,_.PLAYER_PROPS_RED_CARD_RECEIVER,_.PLAYER_PROPS_FIRST_SCORER,_.PLAYER_PROPS_LAST_SCORER],C=[_.PLAYER_PROPS_DOUBLE_DOUBLE,_.PLAYER_PROPS_TRIPLE_DOUBLE],Y=[_.BOTH_TEAMS_TO_SCORE,_.FIRST_PERIOD_BOTH_TEAMS_TO_SCORE,_.SECOND_PERIOD_BOTH_TEAMS_TO_SCORE,_.THIRD_PERIOD_BOTH_TEAMS_TO_SCORE,_.FOURTH_PERIOD_BOTH_TEAMS_TO_SCORE,_.FIFTH_PERIOD_BOTH_TEAMS_TO_SCORE,_.SIXTH_PERIOD_BOTH_TEAMS_TO_SCORE,_.SEVENTH_PERIOD_BOTH_TEAMS_TO_SCORE,_.EIGHTH_PERIOD_BOTH_TEAMS_TO_SCORE,_.NINTH_PERIOD_BOTH_TEAMS_TO_SCORE],M=[_.CLEAN_SHEET_HOME_TEAM,_.CLEAN_SHEET_AWAY_TEAM,_.WILL_THERE_BE_OVERTIME,_.FIRST_INNING_NO_RUNS,_.GO_THE_DISTANCE,_.WILL_FIGHT_END_IN_FIRST_MINUTE,_.WILL_POINT_BE_DEDUCTED,_.TO_MAKE_FINAL_FOUR],e=[_.CORRECT_SCORE],F=[_.WINNING_ROUND,_.ENDING_METHOD,_.METHOD_OF_VICTORY],W=[_.WINNING_ROUND],U=[_.ENDING_METHOD],t=[_.METHOD_OF_VICTORY],o=[_.WINNER_TOTAL],G=_=>O.includes(_),r=_=>T.includes(_),i=_=>P.includes(_),s=_=>S.includes(_),B=_=>A.includes(_),V=_=>I.includes(_),n=_=>D.includes(_),l=_=>N.includes(_),c=_=>L.includes(_),d=_=>H.includes(_),p=_=>C.includes(_),a=_=>Y.includes(_),K=_=>M.includes(_),u=_=>e.includes(_),y=_=>F.includes(_),f=_=>W.includes(_),X=_=>U.includes(_),k=_=>t.includes(_),g=(_,E)=>(r(_)||n(_))&&E%1==0,m=_=>o.includes(_),b=(_,E)=>_.filter((_=>_.blockerGroup===E)),h=(_,E,R)=>_.find((_=>_.blockerGroup===E&&_.blockerNumber===R)),v=(_,E)=>{const R=E.length&&(((_,E)=>{let R="";if(b(E,0).length){const O=0;for(let T=0;T<_.length;T++){const P=_[T],S=P.typeId,A=P.playerId,I=P.position;if(_.filter(((_,E)=>E!==T)).some((_=>_.typeId===S&&_.playerId===A&&_.position===I))){R=h(E,0,O)?.message||`Blocker group 0, #${O}`;break}}}return R})(_,E)||((_,E)=>{const R=b(E,1);let O="";for(let E=0;E<R.length;E++){const T=h(R,1,E);if(T){const R=_.some((_=>T.blockerTypeIds.includes(_.typeId))),P=_.some((_=>T.combineWithTypeIds.includes(_.typeId)));if(R&&P){O=T?.message||`Blocker group 1, #${E}`;break}}}return O})(_,E)||((_,E)=>{const R=b(E,2);let O="";for(let E=0;E<R.length;E++){const T=h(R,2,E);if(T)for(let R=0;R<_.length;R++){const P=_[R],S=_.filter(((_,E)=>E!==R));if(T.blockerTypeIds.includes(P.typeId)&&S.some((_=>(!T.combineWithTypeIds.length||T.combineWithTypeIds.includes(_.typeId))&&_.playerId>0&&_.playerId===P.playerId))){O=T?.message||`Blocker group 2, #${E}`;break}}}return O})(_,E)||((_,E)=>{const R=b(E,3);let O="";for(let E=0;E<R.length;E++){const T=h(R,3,E);if(T)for(let R=0;R<_.length;R++){const P=_[R],S=_.filter(((_,E)=>E!==R));if(T.blockerTypeIds.includes(P.typeId)&&S.some((_=>T.combineWithTypeIds.length&&T.combineWithTypeIds.includes(_.typeId)&&0===_.playerId&&_.position===P.position))){O=T?.message||`Blocker group 3, #${E}`;break}}}return O})(_,E)||((_,E)=>{const R=b(E,4);let O="";for(let E=0;E<R.length;E++){const T=h(R,4,E);if(T)for(let R=0;R<_.length;R++){const P=_[R],S=_.filter(((_,E)=>E!==R));if(T.blockerTypeIds.includes(P.typeId)&&S.some((_=>T.combineWithTypeIds.length&&T.combineWithTypeIds.every((E=>E===_.typeId))&&0===_.playerId&&_.position===P.position))){O=T?.message||`Blocker group 4, #${E}`;break}}}return O})(_,E)||((_,E)=>{const R=b(E,5);let O="";for(let E=0;E<R.length;E++){const T=h(R,5,E);if(T)for(let R=0;R<_.length;R++){const P=_[R],S=_.filter(((_,E)=>E!==R));if(T.blockerTypeIds.includes(P.typeId)&&S.some((_=>T.combineWithTypeIds.length&&T.combineWithTypeIds.every((E=>E===_.typeId))&&0===_.playerId))){O=T?.message||`Blocker group 5, #${E}`;break}}}return O})(_,E))||"";return{isAllowed:!R,message:R}};return R})()));
|
package/package.json
CHANGED
|
@@ -1,3 +1,290 @@
|
|
|
1
1
|
import { MarketType } from '../enums/marketTypes';
|
|
2
2
|
|
|
3
|
-
export const WINNER_MARKET_TYPES = [
|
|
3
|
+
export const WINNER_MARKET_TYPES = [
|
|
4
|
+
MarketType.WINNER,
|
|
5
|
+
MarketType.DRAW_NO_BET,
|
|
6
|
+
MarketType.WINNER2,
|
|
7
|
+
MarketType.WINNER3,
|
|
8
|
+
MarketType.FIRST_PERIOD_WINNER,
|
|
9
|
+
MarketType.SECOND_PERIOD_WINNER,
|
|
10
|
+
MarketType.THIRD_PERIOD_WINNER,
|
|
11
|
+
MarketType.FOURTH_PERIOD_WINNER,
|
|
12
|
+
MarketType.FIFTH_PERIOD_WINNER,
|
|
13
|
+
MarketType.SIXTH_PERIOD_WINNER,
|
|
14
|
+
MarketType.SEVENTH_PERIOD_WINNER,
|
|
15
|
+
MarketType.EIGHTH_PERIOD_WINNER,
|
|
16
|
+
MarketType.NINTH_PERIOD_WINNER,
|
|
17
|
+
MarketType.FIRST_PERIOD_WINNER2,
|
|
18
|
+
MarketType.SECOND_PERIOD_WINNER2,
|
|
19
|
+
MarketType.THIRD_PERIOD_WINNER2,
|
|
20
|
+
MarketType.FOURTH_PERIOD_WINNER2,
|
|
21
|
+
MarketType.FIFTH_PERIOD_WINNER2,
|
|
22
|
+
MarketType.SIXTH_PERIOD_WINNER2,
|
|
23
|
+
MarketType.SEVENTH_PERIOD_WINNER2,
|
|
24
|
+
MarketType.EIGHTH_PERIOD_WINNER2,
|
|
25
|
+
MarketType.NINTH_PERIOD_WINNER2,
|
|
26
|
+
MarketType.FIRST_PERIOD_DRAW_NO_BET,
|
|
27
|
+
MarketType.SECOND_PERIOD_DRAW_NO_BET,
|
|
28
|
+
MarketType.THIRD_PERIOD_DRAW_NO_BET,
|
|
29
|
+
MarketType.FOURTH_PERIOD_DRAW_NO_BET,
|
|
30
|
+
MarketType.WHO_WILL_QUALIFY,
|
|
31
|
+
MarketType.MOST_CORNERS,
|
|
32
|
+
MarketType.FIRST_PERIOD_MOST_CORNERS,
|
|
33
|
+
MarketType.SECOND_PERIOD_MOST_CORNERS,
|
|
34
|
+
MarketType.MOST_CARDS,
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
export const TOTAL_MARKET_TYPES = [
|
|
38
|
+
MarketType.TOTAL,
|
|
39
|
+
MarketType.TOTAL2,
|
|
40
|
+
MarketType.TOTAL_HOME_TEAM,
|
|
41
|
+
MarketType.TOTAL_AWAY_TEAM,
|
|
42
|
+
MarketType.FIRST_PERIOD_TOTAL,
|
|
43
|
+
MarketType.SECOND_PERIOD_TOTAL,
|
|
44
|
+
MarketType.THIRD_PERIOD_TOTAL,
|
|
45
|
+
MarketType.FOURTH_PERIOD_TOTAL,
|
|
46
|
+
MarketType.FIFTH_PERIOD_TOTAL,
|
|
47
|
+
MarketType.SIXTH_PERIOD_TOTAL,
|
|
48
|
+
MarketType.SEVENTH_PERIOD_TOTAL,
|
|
49
|
+
MarketType.EIGHTH_PERIOD_TOTAL,
|
|
50
|
+
MarketType.NINTH_PERIOD_TOTAL,
|
|
51
|
+
MarketType.FIRST_PERIOD_TOTAL2,
|
|
52
|
+
MarketType.SECOND_PERIOD_TOTAL2,
|
|
53
|
+
MarketType.THIRD_PERIOD_TOTAL2,
|
|
54
|
+
MarketType.FOURTH_PERIOD_TOTAL2,
|
|
55
|
+
MarketType.FIFTH_PERIOD_TOTAL2,
|
|
56
|
+
MarketType.SIXTH_PERIOD_TOTAL2,
|
|
57
|
+
MarketType.SEVENTH_PERIOD_TOTAL2,
|
|
58
|
+
MarketType.EIGHTH_PERIOD_TOTAL2,
|
|
59
|
+
MarketType.NINTH_PERIOD_TOTAL2,
|
|
60
|
+
MarketType.FIRST_PERIOD_TOTAL_HOME_TEAM,
|
|
61
|
+
MarketType.FIRST_PERIOD_TOTAL_AWAY_TEAM,
|
|
62
|
+
MarketType.SECOND_PERIOD_TOTAL_HOME_TEAM,
|
|
63
|
+
MarketType.SECOND_PERIOD_TOTAL_AWAY_TEAM,
|
|
64
|
+
MarketType.FIRST_PERIOD_TOTAL2_HOME_TEAM,
|
|
65
|
+
MarketType.FIRST_PERIOD_TOTAL2_AWAY_TEAM,
|
|
66
|
+
MarketType.SECOND_PERIOD_TOTAL2_HOME_TEAM,
|
|
67
|
+
MarketType.SECOND_PERIOD_TOTAL2_AWAY_TEAM,
|
|
68
|
+
MarketType.TOTAL_CORNERS,
|
|
69
|
+
MarketType.TOTAL_CORNERS_HOME_TEAM,
|
|
70
|
+
MarketType.TOTAL_CORNERS_AWAY_TEAM,
|
|
71
|
+
MarketType.FIRST_PERIOD_TOTAL_CORNERS,
|
|
72
|
+
MarketType.SECOND_PERIOD_TOTAL_CORNERS,
|
|
73
|
+
MarketType.FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM,
|
|
74
|
+
MarketType.FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM,
|
|
75
|
+
MarketType.SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM,
|
|
76
|
+
MarketType.SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM,
|
|
77
|
+
MarketType.TOTAL_CARDS,
|
|
78
|
+
MarketType.TOTAL_CARDS_HOME_TEAM,
|
|
79
|
+
MarketType.TOTAL_CARDS_AWAY_TEAM,
|
|
80
|
+
MarketType.TOTA_RED_CARDS,
|
|
81
|
+
];
|
|
82
|
+
|
|
83
|
+
export const HOME_TEAM_TOTAL_MARKET_TYPES = [
|
|
84
|
+
MarketType.TOTAL_HOME_TEAM,
|
|
85
|
+
MarketType.FIRST_PERIOD_TOTAL_HOME_TEAM,
|
|
86
|
+
MarketType.SECOND_PERIOD_TOTAL_HOME_TEAM,
|
|
87
|
+
MarketType.FIRST_PERIOD_TOTAL2_HOME_TEAM,
|
|
88
|
+
MarketType.SECOND_PERIOD_TOTAL2_HOME_TEAM,
|
|
89
|
+
MarketType.TOTAL_CORNERS_HOME_TEAM,
|
|
90
|
+
MarketType.FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM,
|
|
91
|
+
MarketType.SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM,
|
|
92
|
+
MarketType.TOTAL_CARDS_HOME_TEAM,
|
|
93
|
+
];
|
|
94
|
+
export const AWAY_TEAM_TOTAL_MARKET_TYPES = [
|
|
95
|
+
MarketType.TOTAL_AWAY_TEAM,
|
|
96
|
+
MarketType.FIRST_PERIOD_TOTAL_AWAY_TEAM,
|
|
97
|
+
MarketType.SECOND_PERIOD_TOTAL_AWAY_TEAM,
|
|
98
|
+
MarketType.FIRST_PERIOD_TOTAL2_AWAY_TEAM,
|
|
99
|
+
MarketType.SECOND_PERIOD_TOTAL2_AWAY_TEAM,
|
|
100
|
+
MarketType.TOTAL_CORNERS_AWAY_TEAM,
|
|
101
|
+
MarketType.FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM,
|
|
102
|
+
MarketType.SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM,
|
|
103
|
+
MarketType.TOTAL_CARDS_AWAY_TEAM,
|
|
104
|
+
];
|
|
105
|
+
|
|
106
|
+
export const TOTAL_ODD_EVEN_MARKET_TYPES = [
|
|
107
|
+
MarketType.TOTAL_ODD_EVEN,
|
|
108
|
+
MarketType.FIRST_PERIOD_TOTAL_ODD_EVEN,
|
|
109
|
+
MarketType.SECOND_PERIOD_TOTAL_ODD_EVEN,
|
|
110
|
+
MarketType.THIRD_PERIOD_TOTAL_ODD_EVEN,
|
|
111
|
+
MarketType.FOURTH_PERIOD_TOTAL_ODD_EVEN,
|
|
112
|
+
MarketType.FIFTH_PERIOD_TOTAL_ODD_EVEN,
|
|
113
|
+
MarketType.SIXTH_PERIOD_TOTAL_ODD_EVEN,
|
|
114
|
+
MarketType.SEVENTH_PERIOD_TOTAL_ODD_EVEN,
|
|
115
|
+
MarketType.EIGHTH_PERIOD_TOTAL_ODD_EVEN,
|
|
116
|
+
MarketType.NINTH_PERIOD_TOTAL_ODD_EVEN,
|
|
117
|
+
MarketType.FIRST_PERIOD_TOTAL2_ODD_EVEN,
|
|
118
|
+
MarketType.SECOND_PERIOD_TOTAL2_ODD_EVEN,
|
|
119
|
+
MarketType.THIRD_PERIOD_TOTAL2_ODD_EVEN,
|
|
120
|
+
MarketType.FOURTH_PERIOD_TOTAL2_ODD_EVEN,
|
|
121
|
+
MarketType.FIFTH_PERIOD_TOTAL2_ODD_EVEN,
|
|
122
|
+
MarketType.SIXTH_PERIOD_TOTAL2_ODD_EVEN,
|
|
123
|
+
MarketType.SEVENTH_PERIOD_TOTAL2_ODD_EVEN,
|
|
124
|
+
MarketType.EIGHTH_PERIOD_TOTAL2_ODD_EVEN,
|
|
125
|
+
MarketType.NINTH_PERIOD_TOTAL2_ODD_EVEN,
|
|
126
|
+
MarketType.TOTAL_CORNERS_ODD_EVEN,
|
|
127
|
+
];
|
|
128
|
+
|
|
129
|
+
export const TOTAL_EXACT_MARKET_TYPES = [
|
|
130
|
+
MarketType.TOTAL_EXACT_HOME_TEAM,
|
|
131
|
+
MarketType.TOTAL_EXACT_AWAY_TEAM,
|
|
132
|
+
MarketType.FIRST_PERIOD_TOTAL_EXACT_HOME_TEAM,
|
|
133
|
+
MarketType.FIRST_PERIOD_TOTAL_EXACT_AWAY_TEAM,
|
|
134
|
+
MarketType.SECOND_PERIOD_TOTAL_EXACT_HOME_TEAM,
|
|
135
|
+
MarketType.SECOND_PERIOD_TOTAL_EXACT_AWAY_TEAM,
|
|
136
|
+
];
|
|
137
|
+
|
|
138
|
+
export const SPREAD_MARKET_TYPES = [
|
|
139
|
+
MarketType.SPREAD,
|
|
140
|
+
MarketType.SPREAD2,
|
|
141
|
+
MarketType.FIRST_PERIOD_SPREAD,
|
|
142
|
+
MarketType.SECOND_PERIOD_SPREAD,
|
|
143
|
+
MarketType.THIRD_PERIOD_SPREAD,
|
|
144
|
+
MarketType.FOURTH_PERIOD_SPREAD,
|
|
145
|
+
MarketType.FIFTH_PERIOD_SPREAD,
|
|
146
|
+
MarketType.SIXTH_PERIOD_SPREAD,
|
|
147
|
+
MarketType.SEVENTH_PERIOD_SPREAD,
|
|
148
|
+
MarketType.EIGHTH_PERIOD_SPREAD,
|
|
149
|
+
MarketType.NINTH_PERIOD_SPREAD,
|
|
150
|
+
MarketType.FIRST_PERIOD_SPREAD2,
|
|
151
|
+
MarketType.SECOND_PERIOD_SPREAD2,
|
|
152
|
+
MarketType.THIRD_PERIOD_SPREAD2,
|
|
153
|
+
MarketType.FOURTH_PERIOD_SPREAD2,
|
|
154
|
+
MarketType.FIFTH_PERIOD_SPREAD2,
|
|
155
|
+
MarketType.SIXTH_PERIOD_SPREAD2,
|
|
156
|
+
MarketType.SEVENTH_PERIOD_SPREAD2,
|
|
157
|
+
MarketType.EIGHTH_PERIOD_SPREAD2,
|
|
158
|
+
MarketType.NINTH_PERIOD_SPREAD2,
|
|
159
|
+
MarketType.SPREAD_CORNERS,
|
|
160
|
+
MarketType.FIRST_PERIOD_SPREAD_CORNERS,
|
|
161
|
+
MarketType.SECOND_PERIOD_SPREAD_CORNERS,
|
|
162
|
+
MarketType.SPREAD_CARDS,
|
|
163
|
+
];
|
|
164
|
+
|
|
165
|
+
export const PLAYER_PROPS_MARKET_TYPES = [
|
|
166
|
+
MarketType.PLAYER_PROPS_HOMERUNS,
|
|
167
|
+
MarketType.PLAYER_PROPS_BASES,
|
|
168
|
+
MarketType.PLAYER_PROPS_STRIKEOUTS,
|
|
169
|
+
MarketType.PLAYER_PROPS_PASSING_YARDS,
|
|
170
|
+
MarketType.PLAYER_PROPS_PASSING_TOUCHDOWNS,
|
|
171
|
+
MarketType.PLAYER_PROPS_RUSHING_YARDS,
|
|
172
|
+
MarketType.PLAYER_PROPS_RECEIVING_YARDS,
|
|
173
|
+
MarketType.PLAYER_PROPS_TOUCHDOWNS_SCORER,
|
|
174
|
+
MarketType.PLAYER_PROPS_FIELD_GOALS_MADE,
|
|
175
|
+
MarketType.PLAYER_PROPS_PITCHER_HITS_ALLOWED,
|
|
176
|
+
MarketType.PLAYER_PROPS_POINTS,
|
|
177
|
+
MarketType.PLAYER_PROPS_SHOTS,
|
|
178
|
+
MarketType.PLAYER_PROPS_GOALS,
|
|
179
|
+
MarketType.PLAYER_PROPS_HITS_RECORDED,
|
|
180
|
+
MarketType.PLAYER_PROPS_REBOUNDS,
|
|
181
|
+
MarketType.PLAYER_PROPS_ASSISTS,
|
|
182
|
+
MarketType.PLAYER_PROPS_DOUBLE_DOUBLE,
|
|
183
|
+
MarketType.PLAYER_PROPS_TRIPLE_DOUBLE,
|
|
184
|
+
MarketType.PLAYER_PROPS_RECEPTIONS,
|
|
185
|
+
MarketType.PLAYER_PROPS_FIRST_TOUCHDOWN,
|
|
186
|
+
MarketType.PLAYER_PROPS_LAST_TOUCHDOWN,
|
|
187
|
+
MarketType.PLAYER_PROPS_3PTS_MADE,
|
|
188
|
+
MarketType.PLAYER_PROPS_BLOCKS,
|
|
189
|
+
MarketType.PLAYER_PROPS_OVER_GOALS,
|
|
190
|
+
MarketType.PLAYER_PROPS_UFC_TAKEDOWNS_LANDED,
|
|
191
|
+
MarketType.PLAYER_PROPS_UFC_SIGNIFICANT_STRIKES_LANDED,
|
|
192
|
+
MarketType.PLAYER_PROPS_INTERCEPTIONS,
|
|
193
|
+
MarketType.PLAYER_PROPS_KICKING_POINTS,
|
|
194
|
+
MarketType.PLAYER_PROPS_PASSING_ATTEMPTS,
|
|
195
|
+
MarketType.PLAYER_PROPS_PASSING_COMPLETIONS,
|
|
196
|
+
MarketType.PLAYER_PROPS_TOUCHDOWNS,
|
|
197
|
+
MarketType.PLAYER_PROPS_SACKS,
|
|
198
|
+
MarketType.PLAYER_PROPS_RUSHING_RECEIVING,
|
|
199
|
+
MarketType.PLAYER_PROPS_PASSING_RUSHING,
|
|
200
|
+
MarketType.PLAYER_PROPS_LONGEST_RECEPTION,
|
|
201
|
+
MarketType.PLAYER_PROPS_EXTRA_POINTS,
|
|
202
|
+
MarketType.PLAYER_PROPS_TACKLES,
|
|
203
|
+
MarketType.PLAYER_PROPS_OUTS,
|
|
204
|
+
MarketType.PLAYER_PROPS_RBIS,
|
|
205
|
+
MarketType.PLAYER_PROPS_HITS_RUNS_RBIS,
|
|
206
|
+
MarketType.PLAYER_PROPS_EARNED_RUNS,
|
|
207
|
+
MarketType.PLAYER_PROPS_DOUBLES,
|
|
208
|
+
MarketType.PLAYER_PROPS_BATTING_WALKS,
|
|
209
|
+
MarketType.PLAYER_PROPS_BATTING_STRIKEOUTS,
|
|
210
|
+
MarketType.PLAYER_PROPS_SINGLES,
|
|
211
|
+
MarketType.PLAYER_PROPS_STOLEN_BASES,
|
|
212
|
+
MarketType.PLAYER_PROPS_RUNS,
|
|
213
|
+
MarketType.PLAYER_PROPS_WALKS,
|
|
214
|
+
MarketType.PLAYER_PROPS_POINTS_ASSISTS,
|
|
215
|
+
MarketType.PLAYER_PROPS_POINTS_REBOUNDS,
|
|
216
|
+
MarketType.PLAYER_PROPS_POINTS_REBOUNDS_ASSISTS,
|
|
217
|
+
MarketType.PLAYER_PROPS_REBOUNDS_ASSISTS,
|
|
218
|
+
MarketType.PLAYER_PROPS_STEALS,
|
|
219
|
+
MarketType.PLAYER_PROPS_STEALS_BLOCKS,
|
|
220
|
+
MarketType.PLAYER_PROPS_LONGEST_RUSH,
|
|
221
|
+
MarketType.PLAYER_PROPS_CARD_RECEIVER,
|
|
222
|
+
MarketType.PLAYER_PROPS_RED_CARD_RECEIVER,
|
|
223
|
+
MarketType.PLAYER_PROPS_FIRST_SCORER,
|
|
224
|
+
MarketType.PLAYER_PROPS_LAST_SCORER,
|
|
225
|
+
MarketType.PLAYER_PROPS_SHOTS_ON_TARGET,
|
|
226
|
+
MarketType.PLAYER_PROPS_TOTAL_SHOTS,
|
|
227
|
+
MarketType.PLAYER_PROPS_ACES,
|
|
228
|
+
MarketType.PLAYER_PROPS_BREAK_POINTS_WON,
|
|
229
|
+
MarketType.PLAYER_PROPS_DOUBLE_FAULTS,
|
|
230
|
+
];
|
|
231
|
+
|
|
232
|
+
export const COMBINED_POSITIONS_MARKET_TYPES = [
|
|
233
|
+
MarketType.WINNER_TOTAL,
|
|
234
|
+
MarketType.HALFTIME_FULLTIME,
|
|
235
|
+
MarketType.GOALS,
|
|
236
|
+
MarketType.HALFTIME_FULLTIME_GOALS,
|
|
237
|
+
];
|
|
238
|
+
|
|
239
|
+
export const ONE_SIDE_PLAYER_PROPS_MARKET_TYPES = [
|
|
240
|
+
MarketType.PLAYER_PROPS_TOUCHDOWNS_SCORER,
|
|
241
|
+
MarketType.PLAYER_PROPS_GOALS,
|
|
242
|
+
MarketType.PLAYER_PROPS_FIRST_TOUCHDOWN,
|
|
243
|
+
MarketType.PLAYER_PROPS_LAST_TOUCHDOWN,
|
|
244
|
+
MarketType.PLAYER_PROPS_CARD_RECEIVER,
|
|
245
|
+
MarketType.PLAYER_PROPS_RED_CARD_RECEIVER,
|
|
246
|
+
MarketType.PLAYER_PROPS_FIRST_SCORER,
|
|
247
|
+
MarketType.PLAYER_PROPS_LAST_SCORER,
|
|
248
|
+
];
|
|
249
|
+
|
|
250
|
+
export const YES_NO_PLAYER_PROPS_MARKET_TYPES = [
|
|
251
|
+
MarketType.PLAYER_PROPS_DOUBLE_DOUBLE,
|
|
252
|
+
MarketType.PLAYER_PROPS_TRIPLE_DOUBLE,
|
|
253
|
+
];
|
|
254
|
+
|
|
255
|
+
export const BOTH_TEAMS_TO_SCORE_MARKET_TYPES = [
|
|
256
|
+
MarketType.BOTH_TEAMS_TO_SCORE,
|
|
257
|
+
MarketType.FIRST_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
258
|
+
MarketType.SECOND_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
259
|
+
MarketType.THIRD_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
260
|
+
MarketType.FOURTH_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
261
|
+
MarketType.FIFTH_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
262
|
+
MarketType.SIXTH_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
263
|
+
MarketType.SEVENTH_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
264
|
+
MarketType.EIGHTH_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
265
|
+
MarketType.NINTH_PERIOD_BOTH_TEAMS_TO_SCORE,
|
|
266
|
+
];
|
|
267
|
+
|
|
268
|
+
export const OTHER_YES_NO_MARKET_TYPES = [
|
|
269
|
+
MarketType.CLEAN_SHEET_HOME_TEAM,
|
|
270
|
+
MarketType.CLEAN_SHEET_AWAY_TEAM,
|
|
271
|
+
MarketType.WILL_THERE_BE_OVERTIME,
|
|
272
|
+
MarketType.FIRST_INNING_NO_RUNS,
|
|
273
|
+
MarketType.GO_THE_DISTANCE,
|
|
274
|
+
MarketType.WILL_FIGHT_END_IN_FIRST_MINUTE,
|
|
275
|
+
MarketType.WILL_POINT_BE_DEDUCTED,
|
|
276
|
+
MarketType.TO_MAKE_FINAL_FOUR,
|
|
277
|
+
];
|
|
278
|
+
|
|
279
|
+
export const CORRECT_SCORE_MARKET_TYPES = [MarketType.CORRECT_SCORE];
|
|
280
|
+
|
|
281
|
+
export const UFC_SPECIFIC_MARKET_TYPES = [
|
|
282
|
+
MarketType.WINNING_ROUND,
|
|
283
|
+
MarketType.ENDING_METHOD,
|
|
284
|
+
MarketType.METHOD_OF_VICTORY,
|
|
285
|
+
];
|
|
286
|
+
export const UFC_WINNING_ROUND_MARKET_TYPES = [MarketType.WINNING_ROUND];
|
|
287
|
+
export const UFC_ENDING_METHOD_MARKET_TYPES = [MarketType.ENDING_METHOD];
|
|
288
|
+
export const UFC_METHOD_OF_VICTORY_MARKET_TYPES = [MarketType.METHOD_OF_VICTORY];
|
|
289
|
+
|
|
290
|
+
export const SGP_NOT_SUPPORTED_MARKET_TYPES = [MarketType.WINNER_TOTAL];
|
package/src/enums/marketTypes.ts
CHANGED
|
@@ -2,4 +2,311 @@ export enum MarketType {
|
|
|
2
2
|
EMPTY = -1,
|
|
3
3
|
// Winner
|
|
4
4
|
WINNER = 0,
|
|
5
|
+
// Winner without draw
|
|
6
|
+
DRAW_NO_BET = 10010,
|
|
7
|
+
// Winner with draw - for hockey
|
|
8
|
+
WINNER2 = 10011,
|
|
9
|
+
// Winner (placeholder)
|
|
10
|
+
WINNER3 = 10012,
|
|
11
|
+
// Who will score first
|
|
12
|
+
FIRST_SCORE = 10019,
|
|
13
|
+
// Who will score last
|
|
14
|
+
LAST_SCORE = 10020,
|
|
15
|
+
// Clean sheet per team
|
|
16
|
+
CLEAN_SHEET_HOME_TEAM = 10141,
|
|
17
|
+
CLEAN_SHEET_AWAY_TEAM = 10142,
|
|
18
|
+
// Winner period - half for soccer, quarter for basketball
|
|
19
|
+
FIRST_PERIOD_WINNER = 10021,
|
|
20
|
+
SECOND_PERIOD_WINNER = 10022,
|
|
21
|
+
THIRD_PERIOD_WINNER = 10023,
|
|
22
|
+
FOURTH_PERIOD_WINNER = 10024,
|
|
23
|
+
FIFTH_PERIOD_WINNER = 10025,
|
|
24
|
+
SIXTH_PERIOD_WINNER = 10026,
|
|
25
|
+
SEVENTH_PERIOD_WINNER = 10027,
|
|
26
|
+
EIGHTH_PERIOD_WINNER = 10028,
|
|
27
|
+
NINTH_PERIOD_WINNER = 10029,
|
|
28
|
+
// Winner period - half for basketball
|
|
29
|
+
FIRST_PERIOD_WINNER2 = 10051,
|
|
30
|
+
SECOND_PERIOD_WINNER2 = 10052,
|
|
31
|
+
THIRD_PERIOD_WINNER2 = 10053,
|
|
32
|
+
FOURTH_PERIOD_WINNER2 = 10054,
|
|
33
|
+
FIFTH_PERIOD_WINNER2 = 10055,
|
|
34
|
+
SIXTH_PERIOD_WINNER2 = 10056,
|
|
35
|
+
SEVENTH_PERIOD_WINNER2 = 10057,
|
|
36
|
+
EIGHTH_PERIOD_WINNER2 = 10058,
|
|
37
|
+
NINTH_PERIOD_WINNER2 = 10059,
|
|
38
|
+
// Winner without draw period - half for soccer, quarter for basketball
|
|
39
|
+
FIRST_PERIOD_DRAW_NO_BET = 10121,
|
|
40
|
+
SECOND_PERIOD_DRAW_NO_BET = 10122,
|
|
41
|
+
THIRD_PERIOD_DRAW_NO_BET = 10123,
|
|
42
|
+
FOURTH_PERIOD_DRAW_NO_BET = 10124,
|
|
43
|
+
|
|
44
|
+
// Spread (handicap)
|
|
45
|
+
SPREAD = 10001,
|
|
46
|
+
// Spread (handicap) - sets for tennis
|
|
47
|
+
SPREAD2 = 10013,
|
|
48
|
+
// Spread period - half for soccer, quarter for basketball
|
|
49
|
+
FIRST_PERIOD_SPREAD = 10041,
|
|
50
|
+
SECOND_PERIOD_SPREAD = 10042,
|
|
51
|
+
THIRD_PERIOD_SPREAD = 10043,
|
|
52
|
+
FOURTH_PERIOD_SPREAD = 10044,
|
|
53
|
+
FIFTH_PERIOD_SPREAD = 10045,
|
|
54
|
+
SIXTH_PERIOD_SPREAD = 10046,
|
|
55
|
+
SEVENTH_PERIOD_SPREAD = 10047,
|
|
56
|
+
EIGHTH_PERIOD_SPREAD = 10048,
|
|
57
|
+
NINTH_PERIOD_SPREAD = 10049,
|
|
58
|
+
// Spread period - half for basketball
|
|
59
|
+
FIRST_PERIOD_SPREAD2 = 10071,
|
|
60
|
+
SECOND_PERIOD_SPREAD2 = 10072,
|
|
61
|
+
THIRD_PERIOD_SPREAD2 = 10073,
|
|
62
|
+
FOURTH_PERIOD_SPREAD2 = 10074,
|
|
63
|
+
FIFTH_PERIOD_SPREAD2 = 10075,
|
|
64
|
+
SIXTH_PERIOD_SPREAD2 = 10076,
|
|
65
|
+
SEVENTH_PERIOD_SPREAD2 = 10077,
|
|
66
|
+
EIGHTH_PERIOD_SPREAD2 = 10078,
|
|
67
|
+
NINTH_PERIOD_SPREAD2 = 10079,
|
|
68
|
+
|
|
69
|
+
// Total
|
|
70
|
+
TOTAL = 10002,
|
|
71
|
+
// Total - sets for tennis
|
|
72
|
+
TOTAL2 = 10014,
|
|
73
|
+
// Total period - half for soccer, quarter for basketball
|
|
74
|
+
FIRST_PERIOD_TOTAL = 10031,
|
|
75
|
+
SECOND_PERIOD_TOTAL = 10032,
|
|
76
|
+
THIRD_PERIOD_TOTAL = 10033,
|
|
77
|
+
FOURTH_PERIOD_TOTAL = 10034,
|
|
78
|
+
FIFTH_PERIOD_TOTAL = 10035,
|
|
79
|
+
SIXTH_PERIOD_TOTAL = 10036,
|
|
80
|
+
SEVENTH_PERIOD_TOTAL = 10037,
|
|
81
|
+
EIGHTH_PERIOD_TOTAL = 10038,
|
|
82
|
+
NINTH_PERIOD_TOTAL = 10039,
|
|
83
|
+
// Total period - half for basketball
|
|
84
|
+
FIRST_PERIOD_TOTAL2 = 10061,
|
|
85
|
+
SECOND_PERIOD_TOTAL2 = 10062,
|
|
86
|
+
THIRD_PERIOD_TOTAL2 = 10063,
|
|
87
|
+
FOURTH_PERIOD_TOTAL2 = 10064,
|
|
88
|
+
FIFTH_PERIOD_TOTAL2 = 10065,
|
|
89
|
+
SIXTH_PERIOD_TOTAL2 = 10066,
|
|
90
|
+
SEVENTH_PERIOD_TOTAL2 = 10067,
|
|
91
|
+
EIGHTH_PERIOD_TOTAL2 = 10068,
|
|
92
|
+
NINTH_PERIOD_TOTAL2 = 10069,
|
|
93
|
+
// Total per team
|
|
94
|
+
TOTAL_HOME_TEAM = 10017,
|
|
95
|
+
TOTAL_AWAY_TEAM = 10018,
|
|
96
|
+
// Total per team period - half for soccer
|
|
97
|
+
FIRST_PERIOD_TOTAL_HOME_TEAM = 10111,
|
|
98
|
+
FIRST_PERIOD_TOTAL_AWAY_TEAM = 10112,
|
|
99
|
+
SECOND_PERIOD_TOTAL_HOME_TEAM = 10211,
|
|
100
|
+
SECOND_PERIOD_TOTAL_AWAY_TEAM = 10212,
|
|
101
|
+
// Total per team period - half for basketball
|
|
102
|
+
FIRST_PERIOD_TOTAL2_HOME_TEAM = 10118,
|
|
103
|
+
FIRST_PERIOD_TOTAL2_AWAY_TEAM = 10119,
|
|
104
|
+
SECOND_PERIOD_TOTAL2_HOME_TEAM = 10218,
|
|
105
|
+
SECOND_PERIOD_TOTAL2_AWAY_TEAM = 10219,
|
|
106
|
+
|
|
107
|
+
// Total odd/even
|
|
108
|
+
TOTAL_ODD_EVEN = 10005,
|
|
109
|
+
// Total odd/even period - half for soccer, quarter for basketball
|
|
110
|
+
FIRST_PERIOD_TOTAL_ODD_EVEN = 10081,
|
|
111
|
+
SECOND_PERIOD_TOTAL_ODD_EVEN = 10082,
|
|
112
|
+
THIRD_PERIOD_TOTAL_ODD_EVEN = 10083,
|
|
113
|
+
FOURTH_PERIOD_TOTAL_ODD_EVEN = 10084,
|
|
114
|
+
FIFTH_PERIOD_TOTAL_ODD_EVEN = 10085,
|
|
115
|
+
SIXTH_PERIOD_TOTAL_ODD_EVEN = 10086,
|
|
116
|
+
SEVENTH_PERIOD_TOTAL_ODD_EVEN = 10087,
|
|
117
|
+
EIGHTH_PERIOD_TOTAL_ODD_EVEN = 10088,
|
|
118
|
+
NINTH_PERIOD_TOTAL_ODD_EVEN = 10089,
|
|
119
|
+
// Total odd/even period - half for basketball
|
|
120
|
+
FIRST_PERIOD_TOTAL2_ODD_EVEN = 10091,
|
|
121
|
+
SECOND_PERIOD_TOTAL2_ODD_EVEN = 10092,
|
|
122
|
+
THIRD_PERIOD_TOTAL2_ODD_EVEN = 10093,
|
|
123
|
+
FOURTH_PERIOD_TOTAL2_ODD_EVEN = 10094,
|
|
124
|
+
FIFTH_PERIOD_TOTAL2_ODD_EVEN = 10095,
|
|
125
|
+
SIXTH_PERIOD_TOTAL2_ODD_EVEN = 10096,
|
|
126
|
+
SEVENTH_PERIOD_TOTAL2_ODD_EVEN = 10097,
|
|
127
|
+
EIGHTH_PERIOD_TOTAL2_ODD_EVEN = 10098,
|
|
128
|
+
NINTH_PERIOD_TOTAL2_ODD_EVEN = 10099,
|
|
129
|
+
|
|
130
|
+
// Double chance
|
|
131
|
+
DOUBLE_CHANCE = 10003,
|
|
132
|
+
// Double chance period - half for soccer
|
|
133
|
+
FIRST_PERIOD_DOUBLE_CHANCE = 10015,
|
|
134
|
+
SECOND_PERIOD_DOUBLE_CHANCE = 10016,
|
|
135
|
+
|
|
136
|
+
// Both teams to score
|
|
137
|
+
BOTH_TEAMS_TO_SCORE = 10009,
|
|
138
|
+
// Both teams to score period - half for soccer
|
|
139
|
+
FIRST_PERIOD_BOTH_TEAMS_TO_SCORE = 10101,
|
|
140
|
+
SECOND_PERIOD_BOTH_TEAMS_TO_SCORE = 10102,
|
|
141
|
+
THIRD_PERIOD_BOTH_TEAMS_TO_SCORE = 10103,
|
|
142
|
+
FOURTH_PERIOD_BOTH_TEAMS_TO_SCORE = 10104,
|
|
143
|
+
FIFTH_PERIOD_BOTH_TEAMS_TO_SCORE = 10105,
|
|
144
|
+
SIXTH_PERIOD_BOTH_TEAMS_TO_SCORE = 10106,
|
|
145
|
+
SEVENTH_PERIOD_BOTH_TEAMS_TO_SCORE = 10107,
|
|
146
|
+
EIGHTH_PERIOD_BOTH_TEAMS_TO_SCORE = 10108,
|
|
147
|
+
NINTH_PERIOD_BOTH_TEAMS_TO_SCORE = 10109,
|
|
148
|
+
|
|
149
|
+
// Combined positions
|
|
150
|
+
WINNER_TOTAL = 10004,
|
|
151
|
+
HALFTIME_FULLTIME = 10006,
|
|
152
|
+
GOALS = 10007,
|
|
153
|
+
HALFTIME_FULLTIME_GOALS = 10008,
|
|
154
|
+
|
|
155
|
+
// Who will qualify for the next round
|
|
156
|
+
WHO_WILL_QUALIFY = 10130,
|
|
157
|
+
// Will there be overtime in the game
|
|
158
|
+
WILL_THERE_BE_OVERTIME = 10131,
|
|
159
|
+
// No runs in the first inning
|
|
160
|
+
FIRST_INNING_NO_RUNS = 10132,
|
|
161
|
+
|
|
162
|
+
// Player props
|
|
163
|
+
PLAYER_PROPS_HOMERUNS = 11010,
|
|
164
|
+
PLAYER_PROPS_BASES = 11011,
|
|
165
|
+
PLAYER_PROPS_STRIKEOUTS = 11019,
|
|
166
|
+
PLAYER_PROPS_PASSING_YARDS = 11051,
|
|
167
|
+
PLAYER_PROPS_PASSING_TOUCHDOWNS = 11052,
|
|
168
|
+
PLAYER_PROPS_RUSHING_YARDS = 11053,
|
|
169
|
+
PLAYER_PROPS_RECEIVING_YARDS = 11057,
|
|
170
|
+
PLAYER_PROPS_TOUCHDOWNS_SCORER = 11055,
|
|
171
|
+
PLAYER_PROPS_FIELD_GOALS_MADE = 11060,
|
|
172
|
+
PLAYER_PROPS_PITCHER_HITS_ALLOWED = 11047,
|
|
173
|
+
PLAYER_PROPS_POINTS = 11029,
|
|
174
|
+
PLAYER_PROPS_SHOTS = 11097,
|
|
175
|
+
PLAYER_PROPS_GOALS = 11086,
|
|
176
|
+
PLAYER_PROPS_HITS_RECORDED = 11012,
|
|
177
|
+
PLAYER_PROPS_REBOUNDS = 11035,
|
|
178
|
+
PLAYER_PROPS_ASSISTS = 11039,
|
|
179
|
+
PLAYER_PROPS_DOUBLE_DOUBLE = 11087,
|
|
180
|
+
PLAYER_PROPS_TRIPLE_DOUBLE = 11088,
|
|
181
|
+
PLAYER_PROPS_RECEPTIONS = 11058,
|
|
182
|
+
PLAYER_PROPS_FIRST_TOUCHDOWN = 11049,
|
|
183
|
+
PLAYER_PROPS_LAST_TOUCHDOWN = 11056,
|
|
184
|
+
PLAYER_PROPS_3PTS_MADE = 11038,
|
|
185
|
+
PLAYER_PROPS_BLOCKS = 11098,
|
|
186
|
+
PLAYER_PROPS_OVER_GOALS = 11100,
|
|
187
|
+
|
|
188
|
+
PLAYER_PROPS_INTERCEPTIONS = 11202,
|
|
189
|
+
PLAYER_PROPS_KICKING_POINTS = 11203,
|
|
190
|
+
PLAYER_PROPS_PASSING_ATTEMPTS = 11204,
|
|
191
|
+
PLAYER_PROPS_PASSING_COMPLETIONS = 11205,
|
|
192
|
+
PLAYER_PROPS_TOUCHDOWNS = 11206,
|
|
193
|
+
|
|
194
|
+
PLAYER_PROPS_SACKS = 11207,
|
|
195
|
+
PLAYER_PROPS_PASSING_RUSHING = 11208,
|
|
196
|
+
PLAYER_PROPS_RUSHING_RECEIVING = 11209,
|
|
197
|
+
PLAYER_PROPS_LONGEST_RECEPTION = 11210,
|
|
198
|
+
PLAYER_PROPS_EXTRA_POINTS = 11211,
|
|
199
|
+
PLAYER_PROPS_TACKLES = 11212,
|
|
200
|
+
|
|
201
|
+
PLAYER_PROPS_OUTS = 11213,
|
|
202
|
+
PLAYER_PROPS_RBIS = 11214,
|
|
203
|
+
PLAYER_PROPS_HITS_RUNS_RBIS = 11215,
|
|
204
|
+
PLAYER_PROPS_EARNED_RUNS = 11216,
|
|
205
|
+
PLAYER_PROPS_DOUBLES = 11217,
|
|
206
|
+
PLAYER_PROPS_BATTING_WALKS = 11218,
|
|
207
|
+
PLAYER_PROPS_BATTING_STRIKEOUTS = 11219,
|
|
208
|
+
PLAYER_PROPS_SINGLES = 11220,
|
|
209
|
+
PLAYER_PROPS_STOLEN_BASES = 11221,
|
|
210
|
+
PLAYER_PROPS_RUNS = 11222,
|
|
211
|
+
PLAYER_PROPS_WALKS = 11223,
|
|
212
|
+
PLAYER_PROPS_POINTS_ASSISTS = 11225,
|
|
213
|
+
PLAYER_PROPS_POINTS_REBOUNDS = 11226,
|
|
214
|
+
PLAYER_PROPS_POINTS_REBOUNDS_ASSISTS = 11227,
|
|
215
|
+
PLAYER_PROPS_REBOUNDS_ASSISTS = 11228,
|
|
216
|
+
PLAYER_PROPS_STEALS = 11229,
|
|
217
|
+
PLAYER_PROPS_STEALS_BLOCKS = 11230,
|
|
218
|
+
PLAYER_PROPS_LONGEST_RUSH = 11241,
|
|
219
|
+
|
|
220
|
+
PLAYER_PROPS_CARD_RECEIVER = 11234,
|
|
221
|
+
PLAYER_PROPS_RED_CARD_RECEIVER = 11235,
|
|
222
|
+
PLAYER_PROPS_FIRST_SCORER = 11236,
|
|
223
|
+
PLAYER_PROPS_LAST_SCORER = 11237,
|
|
224
|
+
PLAYER_PROPS_SHOTS_ON_TARGET = 11238,
|
|
225
|
+
PLAYER_PROPS_TOTAL_SHOTS = 11239,
|
|
226
|
+
|
|
227
|
+
// Tennis player props market types
|
|
228
|
+
PLAYER_PROPS_ACES = 11231,
|
|
229
|
+
PLAYER_PROPS_BREAK_POINTS_WON = 11232,
|
|
230
|
+
PLAYER_PROPS_DOUBLE_FAULTS = 11240,
|
|
231
|
+
|
|
232
|
+
// UFC market types
|
|
233
|
+
WINNING_ROUND = 10151,
|
|
234
|
+
GO_THE_DISTANCE = 10154,
|
|
235
|
+
WILL_FIGHT_END_IN_FIRST_MINUTE = 10155,
|
|
236
|
+
WILL_POINT_BE_DEDUCTED = 10156,
|
|
237
|
+
ENDING_METHOD = 10157,
|
|
238
|
+
METHOD_OF_VICTORY = 10158,
|
|
239
|
+
// UFC player props market types
|
|
240
|
+
PLAYER_PROPS_UFC_TAKEDOWNS_LANDED = 11200,
|
|
241
|
+
PLAYER_PROPS_UFC_SIGNIFICANT_STRIKES_LANDED = 11201,
|
|
242
|
+
|
|
243
|
+
// US election market types
|
|
244
|
+
US_ELECTION_POPULAR_VOTE_WINNER = 10900,
|
|
245
|
+
US_ELECTION_WINNING_PARTY = 10901,
|
|
246
|
+
US_ELECTION_WINNING_PARTY_ARIZONA = 10902,
|
|
247
|
+
US_ELECTION_WINNING_PARTY_GEORGIA = 10903,
|
|
248
|
+
US_ELECTION_WINNING_PARTY_MICHIGAN = 10904,
|
|
249
|
+
US_ELECTION_WINNING_PARTY_NEVADA = 10905,
|
|
250
|
+
US_ELECTION_WINNING_PARTY_PENNSYLVANIA = 10906,
|
|
251
|
+
US_ELECTION_WINNING_PARTY_WINSCONSIN = 10907,
|
|
252
|
+
US_ELECTION_WINNING_PARTY_NORTH_CAROLINA = 10908,
|
|
253
|
+
|
|
254
|
+
// Correct score
|
|
255
|
+
CORRECT_SCORE = 10100,
|
|
256
|
+
|
|
257
|
+
// Total exact per team
|
|
258
|
+
TOTAL_EXACT_HOME_TEAM = 10143,
|
|
259
|
+
TOTAL_EXACT_AWAY_TEAM = 10144,
|
|
260
|
+
// Total exact per team - half for soccer
|
|
261
|
+
FIRST_PERIOD_TOTAL_EXACT_HOME_TEAM = 10145,
|
|
262
|
+
FIRST_PERIOD_TOTAL_EXACT_AWAY_TEAM = 10146,
|
|
263
|
+
SECOND_PERIOD_TOTAL_EXACT_HOME_TEAM = 10147,
|
|
264
|
+
SECOND_PERIOD_TOTAL_EXACT_AWAY_TEAM = 10148,
|
|
265
|
+
|
|
266
|
+
// Futures
|
|
267
|
+
LEAGUE_WINNER = 13001,
|
|
268
|
+
MVP = 13002,
|
|
269
|
+
CUP_WINNER = 13003,
|
|
270
|
+
TO_MAKE_FINAL_FOUR = 13005,
|
|
271
|
+
|
|
272
|
+
// Spread (handicap) corners
|
|
273
|
+
SPREAD_CORNERS = 10221,
|
|
274
|
+
// Total corners
|
|
275
|
+
TOTAL_CORNERS = 10222,
|
|
276
|
+
// Total corners per team
|
|
277
|
+
TOTAL_CORNERS_HOME_TEAM = 10223,
|
|
278
|
+
TOTAL_CORNERS_AWAY_TEAM = 10224,
|
|
279
|
+
// Total corners odd/even
|
|
280
|
+
TOTAL_CORNERS_ODD_EVEN = 10225,
|
|
281
|
+
// Total corners period - half for soccer
|
|
282
|
+
FIRST_PERIOD_TOTAL_CORNERS = 10226,
|
|
283
|
+
SECOND_PERIOD_TOTAL_CORNERS = 10227,
|
|
284
|
+
// Total corners per team period - half for soccer
|
|
285
|
+
FIRST_PERIOD_TOTAL_CORNERS_HOME_TEAM = 10228,
|
|
286
|
+
FIRST_PERIOD_TOTAL_CORNERS_AWAY_TEAM = 10229,
|
|
287
|
+
SECOND_PERIOD_TOTAL_CORNERS_HOME_TEAM = 10230,
|
|
288
|
+
SECOND_PERIOD_TOTAL_CORNERS_AWAY_TEAM = 10231,
|
|
289
|
+
// Spread corners period - half for soccer
|
|
290
|
+
FIRST_PERIOD_SPREAD_CORNERS = 10232,
|
|
291
|
+
SECOND_PERIOD_SPREAD_CORNERS = 10233,
|
|
292
|
+
// Most corners
|
|
293
|
+
MOST_CORNERS = 10234,
|
|
294
|
+
// Most corners period - half for soccer
|
|
295
|
+
FIRST_PERIOD_MOST_CORNERS = 10235,
|
|
296
|
+
SECOND_PERIOD_MOST_CORNERS = 10236,
|
|
297
|
+
|
|
298
|
+
// Spread (handicap) cards
|
|
299
|
+
SPREAD_CARDS = 10241,
|
|
300
|
+
// Total cards
|
|
301
|
+
TOTAL_CARDS = 10242,
|
|
302
|
+
// Total cards per team
|
|
303
|
+
TOTAL_CARDS_HOME_TEAM = 10243,
|
|
304
|
+
TOTAL_CARDS_AWAY_TEAM = 10244,
|
|
305
|
+
// Total red cards
|
|
306
|
+
TOTA_RED_CARDS = 10245,
|
|
307
|
+
// Most cards
|
|
308
|
+
MOST_CARDS = 10246,
|
|
309
|
+
//First/last card
|
|
310
|
+
FIRST_CARD = 10247,
|
|
311
|
+
LAST_CARD = 10248,
|
|
5
312
|
}
|
package/src/types/sgp.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type SgpBlocker = {
|
|
2
|
+
blockerGroup: number;
|
|
3
|
+
blockerNumber: number;
|
|
4
|
+
blockerTypeIds: number[];
|
|
5
|
+
combineWithTypeIds: number[];
|
|
6
|
+
message: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type SgpBlockerMarket = {
|
|
10
|
+
typeId: number;
|
|
11
|
+
playerId: number;
|
|
12
|
+
line: number;
|
|
13
|
+
position: number;
|
|
14
|
+
};
|
package/src/utils/markets.ts
CHANGED
|
@@ -1,4 +1,320 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
AWAY_TEAM_TOTAL_MARKET_TYPES,
|
|
3
|
+
BOTH_TEAMS_TO_SCORE_MARKET_TYPES,
|
|
4
|
+
COMBINED_POSITIONS_MARKET_TYPES,
|
|
5
|
+
CORRECT_SCORE_MARKET_TYPES,
|
|
6
|
+
HOME_TEAM_TOTAL_MARKET_TYPES,
|
|
7
|
+
ONE_SIDE_PLAYER_PROPS_MARKET_TYPES,
|
|
8
|
+
OTHER_YES_NO_MARKET_TYPES,
|
|
9
|
+
PLAYER_PROPS_MARKET_TYPES,
|
|
10
|
+
SGP_NOT_SUPPORTED_MARKET_TYPES,
|
|
11
|
+
SPREAD_MARKET_TYPES,
|
|
12
|
+
TOTAL_EXACT_MARKET_TYPES,
|
|
13
|
+
TOTAL_MARKET_TYPES,
|
|
14
|
+
TOTAL_ODD_EVEN_MARKET_TYPES,
|
|
15
|
+
UFC_ENDING_METHOD_MARKET_TYPES,
|
|
16
|
+
UFC_METHOD_OF_VICTORY_MARKET_TYPES,
|
|
17
|
+
UFC_SPECIFIC_MARKET_TYPES,
|
|
18
|
+
UFC_WINNING_ROUND_MARKET_TYPES,
|
|
19
|
+
WINNER_MARKET_TYPES,
|
|
20
|
+
YES_NO_PLAYER_PROPS_MARKET_TYPES,
|
|
21
|
+
} from '../constants/marketTypes';
|
|
2
22
|
import { MarketType } from '../enums/marketTypes';
|
|
23
|
+
import { SgpBlocker, SgpBlockerMarket } from '../types/sgp';
|
|
3
24
|
|
|
4
25
|
export const isWinnerMarket = (marketType: MarketType) => WINNER_MARKET_TYPES.includes(marketType);
|
|
26
|
+
|
|
27
|
+
export const isTotalMarket = (marketType: MarketType) => TOTAL_MARKET_TYPES.includes(marketType);
|
|
28
|
+
export const isHomeTeamTotalMarket = (marketType: MarketType) => HOME_TEAM_TOTAL_MARKET_TYPES.includes(marketType);
|
|
29
|
+
export const isAwayTeamTotalMarket = (marketType: MarketType) => AWAY_TEAM_TOTAL_MARKET_TYPES.includes(marketType);
|
|
30
|
+
export const isTotalOddEvenMarket = (marketType: MarketType) => TOTAL_ODD_EVEN_MARKET_TYPES.includes(marketType);
|
|
31
|
+
export const isTotalExactMarket = (marketType: MarketType) => TOTAL_EXACT_MARKET_TYPES.includes(marketType);
|
|
32
|
+
|
|
33
|
+
export const isSpreadMarket = (marketType: MarketType) => SPREAD_MARKET_TYPES.includes(marketType);
|
|
34
|
+
|
|
35
|
+
export const isPlayerPropsMarket = (marketType: MarketType) => PLAYER_PROPS_MARKET_TYPES.includes(marketType);
|
|
36
|
+
|
|
37
|
+
export const isCombinedPositionsMarket = (marketType: MarketType) =>
|
|
38
|
+
COMBINED_POSITIONS_MARKET_TYPES.includes(marketType);
|
|
39
|
+
|
|
40
|
+
export const isOneSidePlayerPropsMarket = (marketType: MarketType) =>
|
|
41
|
+
ONE_SIDE_PLAYER_PROPS_MARKET_TYPES.includes(marketType);
|
|
42
|
+
|
|
43
|
+
export const isYesNoPlayerPropsMarket = (marketType: MarketType) =>
|
|
44
|
+
YES_NO_PLAYER_PROPS_MARKET_TYPES.includes(marketType);
|
|
45
|
+
|
|
46
|
+
export const isBothTeamsToScoreMarket = (marketType: MarketType) =>
|
|
47
|
+
BOTH_TEAMS_TO_SCORE_MARKET_TYPES.includes(marketType);
|
|
48
|
+
|
|
49
|
+
export const isOtherYesNoMarket = (marketType: MarketType) => OTHER_YES_NO_MARKET_TYPES.includes(marketType);
|
|
50
|
+
|
|
51
|
+
export const isCorrectScoreMarket = (marketType: MarketType) => CORRECT_SCORE_MARKET_TYPES.includes(marketType);
|
|
52
|
+
|
|
53
|
+
export const isUfcSpecificMarket = (marketType: MarketType) => UFC_SPECIFIC_MARKET_TYPES.includes(marketType);
|
|
54
|
+
export const isUfcWinningMarket = (marketType: MarketType) => UFC_WINNING_ROUND_MARKET_TYPES.includes(marketType);
|
|
55
|
+
export const isEndingUfcMarket = (marketType: MarketType) => UFC_ENDING_METHOD_MARKET_TYPES.includes(marketType);
|
|
56
|
+
export const isUfcVictoryMarket = (marketType: MarketType) => UFC_METHOD_OF_VICTORY_MARKET_TYPES.includes(marketType);
|
|
57
|
+
|
|
58
|
+
export const isTotalOrSpreadWithWholeLine = (marketType: MarketType, line: number) =>
|
|
59
|
+
(isTotalMarket(marketType) || isSpreadMarket(marketType)) && line % 1 === 0;
|
|
60
|
+
|
|
61
|
+
export const isMarketNotSupportedForSgp = (marketType: MarketType) =>
|
|
62
|
+
SGP_NOT_SUPPORTED_MARKET_TYPES.includes(marketType);
|
|
63
|
+
|
|
64
|
+
/*
|
|
65
|
+
Blocking rules for SGP markets combination:
|
|
66
|
+
|
|
67
|
+
0. Block if markets have same type id and player id, block two markets on the SGP in same direction (both over or both under)
|
|
68
|
+
1. Block halftime-fulltime combining with moneyline
|
|
69
|
+
2. Block same playerId and same typeId for points and PR or PRA combinations
|
|
70
|
+
Block DD and Triple Double on a player with any other prop on that player
|
|
71
|
+
Disalowed props combos (for same playerID > 0):
|
|
72
|
+
- Triple double not allowed with any other prop
|
|
73
|
+
- Double double not allowed with any other prop
|
|
74
|
+
- PRA not allowed with PR, PA and points, rebounds or assist props
|
|
75
|
+
- PR not allowed with points or rebounds
|
|
76
|
+
- PA not allowed with points or assists
|
|
77
|
+
3. Block moneyline and spread on the same team
|
|
78
|
+
Disalowed props for same position (player ID is 0):
|
|
79
|
+
- Moneyline and Spread full time
|
|
80
|
+
- Moneyline and Spread first period
|
|
81
|
+
- Moneyline and Spread second period
|
|
82
|
+
- Moneyline and Spread secondary first period ...
|
|
83
|
+
- Both teams to score on football and over goals per team
|
|
84
|
+
4. Block moneyline with betting on each period individually on the same team
|
|
85
|
+
(e.g. betting on a team to win each period and win moneyline, the first implied the other)
|
|
86
|
+
5. Block over points on each period and over on the whole game
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
const getBlockers = (sgpBlockers: SgpBlocker[], blockerGroup: number) =>
|
|
90
|
+
sgpBlockers.filter((data) => data.blockerGroup === blockerGroup);
|
|
91
|
+
|
|
92
|
+
const getBlocker = (sgpBlockers: SgpBlocker[], blockerGroup: number, blockerNumber: number) =>
|
|
93
|
+
sgpBlockers.find((data) => data.blockerGroup === blockerGroup && data.blockerNumber === blockerNumber);
|
|
94
|
+
|
|
95
|
+
// Rule #0
|
|
96
|
+
const validateMarketsWithSameDirection = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
97
|
+
const BLOCKER_GROUP = 0;
|
|
98
|
+
|
|
99
|
+
const blockers = getBlockers(sgpBlockers, BLOCKER_GROUP);
|
|
100
|
+
|
|
101
|
+
let message = '';
|
|
102
|
+
|
|
103
|
+
if (blockers.length) {
|
|
104
|
+
const blockerNumber = 0;
|
|
105
|
+
|
|
106
|
+
for (let index = 0; index < markets.length; index++) {
|
|
107
|
+
const market = markets[index];
|
|
108
|
+
|
|
109
|
+
const typeId = market.typeId;
|
|
110
|
+
const playerId = market.playerId;
|
|
111
|
+
const position = market.position;
|
|
112
|
+
|
|
113
|
+
const otherMarkets = markets.filter((_, i) => i !== index);
|
|
114
|
+
const isSameMarketDirection = otherMarkets.some(
|
|
115
|
+
(otherMarket) =>
|
|
116
|
+
otherMarket.typeId === typeId &&
|
|
117
|
+
otherMarket.playerId === playerId &&
|
|
118
|
+
otherMarket.position === position
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
if (isSameMarketDirection) {
|
|
122
|
+
message =
|
|
123
|
+
getBlocker(sgpBlockers, BLOCKER_GROUP, blockerNumber)?.message ||
|
|
124
|
+
`Blocker group ${BLOCKER_GROUP}, #${blockerNumber}`;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return message;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
// Rule #1
|
|
134
|
+
const validateMoneylineWithHalfOrFullTimeMarkets = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
135
|
+
const BLOCKER_GROUP = 1;
|
|
136
|
+
|
|
137
|
+
const blockers = getBlockers(sgpBlockers, BLOCKER_GROUP);
|
|
138
|
+
|
|
139
|
+
let message = '';
|
|
140
|
+
|
|
141
|
+
for (let blockerIndex = 0; blockerIndex < blockers.length; blockerIndex++) {
|
|
142
|
+
const blocker = getBlocker(blockers, BLOCKER_GROUP, blockerIndex);
|
|
143
|
+
|
|
144
|
+
if (blocker) {
|
|
145
|
+
const hasMoneyline = markets.some((market) => blocker.blockerTypeIds.includes(market.typeId));
|
|
146
|
+
const hasHalfFullTime = markets.some((market) => blocker.combineWithTypeIds.includes(market.typeId));
|
|
147
|
+
|
|
148
|
+
if (hasMoneyline && hasHalfFullTime) {
|
|
149
|
+
message = blocker?.message || `Blocker group ${BLOCKER_GROUP}, #${blockerIndex}`;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return message;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
// Rule #2
|
|
159
|
+
const validatePlayerPropsCombinations = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
160
|
+
const BLOCKER_GROUP = 2;
|
|
161
|
+
|
|
162
|
+
const blockers = getBlockers(sgpBlockers, BLOCKER_GROUP);
|
|
163
|
+
|
|
164
|
+
let message = '';
|
|
165
|
+
|
|
166
|
+
for (let blockerIndex = 0; blockerIndex < blockers.length; blockerIndex++) {
|
|
167
|
+
const blocker = getBlocker(blockers, BLOCKER_GROUP, blockerIndex);
|
|
168
|
+
|
|
169
|
+
if (blocker) {
|
|
170
|
+
for (let marketIndex = 0; marketIndex < markets.length; marketIndex++) {
|
|
171
|
+
const market = markets[marketIndex];
|
|
172
|
+
const otherMarkets = markets.filter((_, i) => i !== marketIndex);
|
|
173
|
+
|
|
174
|
+
const hasBlockerTypeId = blocker.blockerTypeIds.includes(market.typeId);
|
|
175
|
+
if (hasBlockerTypeId) {
|
|
176
|
+
const hasCombineWithTypeIds = otherMarkets.some(
|
|
177
|
+
(otherMarket) =>
|
|
178
|
+
(!blocker.combineWithTypeIds.length ||
|
|
179
|
+
blocker.combineWithTypeIds.includes(otherMarket.typeId)) &&
|
|
180
|
+
otherMarket.playerId > 0 &&
|
|
181
|
+
otherMarket.playerId === market.playerId
|
|
182
|
+
);
|
|
183
|
+
if (hasCombineWithTypeIds) {
|
|
184
|
+
message = blocker?.message || `Blocker group ${BLOCKER_GROUP}, #${blockerIndex}`;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return message;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
// Rule #3
|
|
196
|
+
const validateMoneylineWithSpread = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
197
|
+
const BLOCKER_GROUP = 3;
|
|
198
|
+
|
|
199
|
+
const blockers = getBlockers(sgpBlockers, BLOCKER_GROUP);
|
|
200
|
+
|
|
201
|
+
let message = '';
|
|
202
|
+
|
|
203
|
+
for (let blockerIndex = 0; blockerIndex < blockers.length; blockerIndex++) {
|
|
204
|
+
const blocker = getBlocker(blockers, BLOCKER_GROUP, blockerIndex);
|
|
205
|
+
|
|
206
|
+
if (blocker) {
|
|
207
|
+
for (let marketIndex = 0; marketIndex < markets.length; marketIndex++) {
|
|
208
|
+
const market = markets[marketIndex];
|
|
209
|
+
const otherMarkets = markets.filter((_, i) => i !== marketIndex);
|
|
210
|
+
|
|
211
|
+
const hasBlockerTypeId = blocker.blockerTypeIds.includes(market.typeId);
|
|
212
|
+
if (hasBlockerTypeId) {
|
|
213
|
+
const hasCombineWithTypeIds = otherMarkets.some(
|
|
214
|
+
(otherMarket) =>
|
|
215
|
+
blocker.combineWithTypeIds.length &&
|
|
216
|
+
blocker.combineWithTypeIds.includes(otherMarket.typeId) &&
|
|
217
|
+
otherMarket.playerId === 0 &&
|
|
218
|
+
otherMarket.position === market.position
|
|
219
|
+
);
|
|
220
|
+
if (hasCombineWithTypeIds) {
|
|
221
|
+
message = blocker?.message || `Blocker group ${BLOCKER_GROUP}, #${blockerIndex}`;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return message;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// Rule #4
|
|
233
|
+
const validateMoneylineWithEachPeriod = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
234
|
+
const BLOCKER_GROUP = 4;
|
|
235
|
+
|
|
236
|
+
const blockers = getBlockers(sgpBlockers, BLOCKER_GROUP);
|
|
237
|
+
|
|
238
|
+
let message = '';
|
|
239
|
+
|
|
240
|
+
for (let blockerIndex = 0; blockerIndex < blockers.length; blockerIndex++) {
|
|
241
|
+
const blocker = getBlocker(blockers, BLOCKER_GROUP, blockerIndex);
|
|
242
|
+
|
|
243
|
+
if (blocker) {
|
|
244
|
+
for (let marketIndex = 0; marketIndex < markets.length; marketIndex++) {
|
|
245
|
+
const market = markets[marketIndex];
|
|
246
|
+
const otherMarkets = markets.filter((_, i) => i !== marketIndex);
|
|
247
|
+
|
|
248
|
+
const hasBlockerTypeId = blocker.blockerTypeIds.includes(market.typeId);
|
|
249
|
+
if (hasBlockerTypeId) {
|
|
250
|
+
const hasCombineWithTypeIds = otherMarkets.some(
|
|
251
|
+
(otherMarket) =>
|
|
252
|
+
blocker.combineWithTypeIds.length &&
|
|
253
|
+
blocker.combineWithTypeIds.every((combineTypeId) => combineTypeId === otherMarket.typeId) &&
|
|
254
|
+
otherMarket.playerId === 0 &&
|
|
255
|
+
otherMarket.position === market.position
|
|
256
|
+
);
|
|
257
|
+
if (hasCombineWithTypeIds) {
|
|
258
|
+
message = blocker?.message || `Blocker group ${BLOCKER_GROUP}, #${blockerIndex}`;
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
return message;
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
// Rule #5
|
|
270
|
+
const validateTotalWithEachPeriod = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
271
|
+
const BLOCKER_GROUP = 5;
|
|
272
|
+
|
|
273
|
+
const blockers = getBlockers(sgpBlockers, BLOCKER_GROUP);
|
|
274
|
+
|
|
275
|
+
let message = '';
|
|
276
|
+
|
|
277
|
+
for (let blockerIndex = 0; blockerIndex < blockers.length; blockerIndex++) {
|
|
278
|
+
const blocker = getBlocker(blockers, BLOCKER_GROUP, blockerIndex);
|
|
279
|
+
|
|
280
|
+
if (blocker) {
|
|
281
|
+
for (let marketIndex = 0; marketIndex < markets.length; marketIndex++) {
|
|
282
|
+
const market = markets[marketIndex];
|
|
283
|
+
const otherMarkets = markets.filter((_, i) => i !== marketIndex);
|
|
284
|
+
|
|
285
|
+
const hasBlockerTypeId = blocker.blockerTypeIds.includes(market.typeId);
|
|
286
|
+
if (hasBlockerTypeId) {
|
|
287
|
+
const hasCombineWithTypeIds = otherMarkets.some(
|
|
288
|
+
(otherMarket) =>
|
|
289
|
+
blocker.combineWithTypeIds.length &&
|
|
290
|
+
blocker.combineWithTypeIds.every((combineTypeId) => combineTypeId === otherMarket.typeId) &&
|
|
291
|
+
otherMarket.playerId === 0
|
|
292
|
+
);
|
|
293
|
+
if (hasCombineWithTypeIds) {
|
|
294
|
+
message = blocker?.message || `Blocker group ${BLOCKER_GROUP}, #${blockerIndex}`;
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
return message;
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
export const getSgpMarketsCombinationAllowed = (markets: SgpBlockerMarket[], sgpBlockers: SgpBlocker[]) => {
|
|
306
|
+
const message = sgpBlockers.length
|
|
307
|
+
? validateMarketsWithSameDirection(markets, sgpBlockers) ||
|
|
308
|
+
validateMoneylineWithHalfOrFullTimeMarkets(markets, sgpBlockers) ||
|
|
309
|
+
validatePlayerPropsCombinations(markets, sgpBlockers) ||
|
|
310
|
+
validateMoneylineWithSpread(markets, sgpBlockers) ||
|
|
311
|
+
validateMoneylineWithEachPeriod(markets, sgpBlockers) ||
|
|
312
|
+
validateTotalWithEachPeriod(markets, sgpBlockers) ||
|
|
313
|
+
''
|
|
314
|
+
: '';
|
|
315
|
+
|
|
316
|
+
return {
|
|
317
|
+
isAllowed: !message,
|
|
318
|
+
message,
|
|
319
|
+
};
|
|
320
|
+
};
|