overtime-live-trading-utils 0.0.91 → 0.0.99

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 CHANGED
@@ -1,15 +1,6 @@
1
1
  //utils
2
2
  export * from './src/utils/bookmakers';
3
3
  export * from './src/utils/gameMatching';
4
- export * from './src/utils/markets';
5
4
  export * from './src/utils/odds';
6
5
  export * from './src/utils/sports';
7
6
  export * from './src/utils/spread';
8
-
9
- // constants
10
- export * from './src/constants/common';
11
- export * from './src/constants/constantsOpticodds';
12
- export * from './src/constants/sports';
13
-
14
- export * from './src/enums/sports';
15
- export * from './src/enums/statuses';
package/main.js CHANGED
@@ -1 +1 @@
1
- !function(e,_){"object"==typeof exports&&"object"==typeof module?module.exports=_():"function"==typeof define&&define.amd?define([],_):"object"==typeof exports?exports.thalesUtils=_():e.thalesUtils=_()}(this,(()=>(()=>{"use strict";var e={d:(_,a)=>{for(var r in a)e.o(a,r)&&!e.o(_,r)&&Object.defineProperty(_,r,{enumerable:!0,get:a[r]})},o:(e,_)=>Object.prototype.hasOwnProperty.call(e,_),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},_={};e.r(_),e.d(_,{ANYTIME_GOAL_SCORER:()=>D,ASIAN_HANDICAP:()=>B,ASIAN_HANDICAP_CARDS:()=>V,ASIAN_HANDICAP_CORNERS:()=>v,BOTH_TEAMS_TO_SCORE:()=>g,CORRECT_SCORE:()=>H,DRAW:()=>Pa,DRAW_NO_BET:()=>b,EIGHTH_INNING_MONEYLINE_3_WAY:()=>ve,EIGHTH_INNING_RUN_LINE:()=>ge,EIGHTH_INNING_TOTAL_RUNS:()=>He,FIFTH_INNING_MONEYLINE_3_WAY:()=>me,FIFTH_INNING_RUN_LINE:()=>Ue,FIFTH_INNING_TOTAL_RUNS:()=>fe,FIRST_3_INNINGS_MONEYLINE:()=>re,FIRST_3_INNINGS_RUN_LINE:()=>te,FIRST_3_INNINGS_TEAM_TOTAL:()=>oe,FIRST_3_INNINGS_TOTAL_RUNS:()=>ne,FIRST_7_INNINGS_MONEYLINE:()=>Ee,FIRST_7_INNINGS_RUN_LINE:()=>ie,FIRST_7_INNINGS_TEAM_TOTAL:()=>Ae,FIRST_7_INNINGS_TOTAL_RUNS:()=>Ne,FIRST_BASKET_INCLUDING_FT:()=>V_,FIRST_GOAL_SCORER:()=>h,FIRST_HALF_ASIAN_HANDICAP:()=>T,FIRST_HALF_ASIAN_HANDICAP_CORNERS:()=>O,FIRST_HALF_BOTH_TEAMS_TO_SCORE:()=>d,FIRST_HALF_CORRECT_SCORE:()=>R,FIRST_HALF_DOUBLE_CHANCE:()=>N_,FIRST_HALF_MONEYLINE:()=>M,FIRST_HALF_MONEYLINE_3_WAY:()=>I_,FIRST_HALF_POINT_SPREAD:()=>S_,FIRST_HALF_RACE_TO_20_POINTS:()=>s_,FIRST_HALF_RACE_TO_25_POINTS:()=>L_,FIRST_HALF_RACE_TO_30_POINTS:()=>l_,FIRST_HALF_RACE_TO_35_POINTS:()=>T_,FIRST_HALF_RACE_TO_40_POINTS:()=>O_,FIRST_HALF_RACE_TO_45_POINTS:()=>d_,FIRST_HALF_RACE_TO_50_POINTS:()=>R_,FIRST_HALF_RACE_TO_55_POINTS:()=>M_,FIRST_HALF_RACE_TO_60_POINTS:()=>C_,FIRST_HALF_RUN_LINE:()=>Ie,FIRST_HALF_TEAM_TOTAL:()=>C,FIRST_HALF_TEAM_TOTAL_EXACT:()=>P,FIRST_HALF_TOTAL_CORNERS:()=>u,FIRST_HALF_TOTAL_GOALS:()=>c,FIRST_HALF_TOTAL_GOALS_ODD_EVEN:()=>p,FIRST_HALF_TOTAL_POINTS:()=>P_,FIRST_HALF_TOTAL_POINTS_ODD_EVEN:()=>u_,FIRST_HALF_TOTAL_RUNS:()=>Se,FIRST_INNING_MONEYLINE_3_WAY:()=>se,FIRST_INNING_RUN_LINE:()=>Le,FIRST_INNING_TOTAL_RUNS:()=>le,FIRST_INNING_TOTAL_RUNS_ODD_EVEN:()=>Te,FIRST_QUARTER_DOUBLE_CHANCE:()=>c_,FIRST_QUARTER_MONEYLINE:()=>p_,FIRST_QUARTER_MONEYLINE_3_WAY:()=>m_,FIRST_QUARTER_POINT_SPREAD:()=>U_,FIRST_QUARTER_RACE_TO_10_POINTS:()=>f_,FIRST_QUARTER_RACE_TO_15_POINTS:()=>G_,FIRST_QUARTER_RACE_TO_20_POINTS:()=>w_,FIRST_QUARTER_TEAM_TOTAL:()=>F_,FIRST_QUARTER_TOTAL_POINTS:()=>D_,FIRST_QUARTER_TOTAL_POINTS_ODD_EVEN:()=>B_,FIRST_TEAM_TO_SCORE:()=>Ye,FIRST_TEAM_TO_SCORE_3_WAY:()=>y,FOURTH_INNING_MONEYLINE_3_WAY:()=>ue,FOURTH_INNING_RUN_LINE:()=>ce,FOURTH_INNING_TOTAL_RUNS:()=>pe,GO_THE_DISTANCE:()=>X_,HALFTIME_FULLTIME:()=>ae,LAST_GOAL_SCORER:()=>Y,LAST_TEAM_TO_SCORE_3_WAY:()=>W,LEAGUES_NO_FORMAL_HOME_AWAY:()=>l,LIVE_TYPE_ID_BASE:()=>ua,League:()=>L,LeagueMap:()=>ra,METHOD_OF_ENDING:()=>q_,METHOD_OF_VICTORY:()=>j_,MIN_ODDS_FOR_DIFF_CHECKING:()=>ca,MONEYLINE:()=>k,MONEYLINE_TOTAL_ROUNDS:()=>$_,MULTIPLIER_100:()=>Ua,NINTH_INNING_MONEYLINE_3_WAY:()=>be,NINTH_INNING_RUN_LINE:()=>he,NINTH_INNING_TOTAL_RUNS:()=>ye,NO_RUNS_FIRST_INNING:()=>We,PLAYER_ASSISTS:()=>v_,PLAYER_BASES:()=>ke,PLAYER_BATTING_STRIKEOUTS:()=>Ke,PLAYER_BATTING_WALKS:()=>Qe,PLAYER_DOUBLES:()=>Xe,PLAYER_DOUBLE_DOUBLE:()=>g_,PLAYER_EARNED_RUNS:()=>je,PLAYER_GOALS:()=>K,PLAYER_HITS:()=>xe,PLAYER_HITS_ALLOWED:()=>Ze,PLAYER_HITS_RUNS_RBIS:()=>ze,PLAYER_HOME_RUNS:()=>Je,PLAYER_HOME_RUNS_YES_NO:()=>qe,PLAYER_MADE_THREES:()=>H_,PLAYER_OUTS:()=>$e,PLAYER_POINTS:()=>b_,PLAYER_POINTS_REBOUNDS_ASSISTS:()=>h_,PLAYER_RBIS:()=>e_,PLAYER_REBOUNDS:()=>y_,PLAYER_RUNS:()=>__,PLAYER_SIGNIFICANT_STRIKES:()=>x_,PLAYER_SINGLES:()=>a_,PLAYER_STOLEN_BASES:()=>r_,PLAYER_STRIKEOUTS:()=>t_,PLAYER_TAKEDOWNS:()=>z_,PLAYER_TO_RECORD_WIN:()=>o_,PLAYER_WALKS:()=>n_,POINT_SPREAD:()=>Y_,RACE_TO_20_POINTS:()=>W_,ROUND_BETTING:()=>Z_,RUN_LINE:()=>E_,SECOND_HALF_ASIAN_HANDICAP_CORNERS:()=>m,SECOND_HALF_BOTH_TEAMS_TO_SCORE:()=>U,SECOND_HALF_MONEYLINE:()=>f,SECOND_HALF_TOTAL_CORNERS:()=>G,SECOND_HALF_TOTAL_GOALS:()=>w,SECOND_HALF_TOTAL_GOALS_ODD_EVEN:()=>F,SECOND_INNING_MONEYLINE_3_WAY:()=>Oe,SECOND_INNING_RUN_LINE:()=>de,SECOND_INNING_TOTAL_RUNS:()=>Re,SEVENTH_INNING_MONEYLINE_3_WAY:()=>De,SEVENTH_INNING_RUN_LINE:()=>Be,SEVENTH_INNING_TOTAL_RUNS:()=>Ve,SIXTH_INNING_MONEYLINE_3_WAY:()=>Ge,SIXTH_INNING_RUN_LINE:()=>we,SIXTH_INNING_TOTAL_RUNS:()=>Fe,Sport:()=>s,TAG_CHILD_SPREAD:()=>pa,TAG_CHILD_TOTALS:()=>ma,TEAM_CLEAN_SHEET:()=>Q,TEAM_TOTAL:()=>X,TEAM_TOTAL_CARD_POINTS:()=>j,TEAM_TOTAL_CORNERS:()=>x,TEAM_TOTAL_ODD_EVEN:()=>z,TEAM_TOTAL_POINTS_ODD_EVEN:()=>k_,TENNIS_ATP_GRAND_SLAM_SET_THRESHOLD:()=>Ea,TENNIS_GEMS_LIMIT:()=>Aa,TENNIS_MASTERS_SET_THRESHOLD:()=>ia,THIRD_INNING_MONEYLINE_3_WAY:()=>Me,THIRD_INNING_RUN_LINE:()=>Ce,THIRD_INNING_TOTAL_RUNS:()=>Pe,TOTAL_CARDS:()=>Z,TOTAL_CORNERS:()=>J,TOTAL_CORNERS_ODD_EVEN:()=>q,TOTAL_GOALS:()=>$,TOTAL_GOALS_ODD_EVEN:()=>ee,TOTAL_POINTS:()=>K_,TOTAL_POINTS_ODD_EVEN:()=>Q_,TOTAL_ROUNDS:()=>J_,TOTAL_RUNS:()=>i_,TO_QUALIFY:()=>_e,VOLLEYBALL_FIFTH_SET_POINTS_LIMIT:()=>na,VOLLEYBALL_POINTS_LIMIT:()=>oa,VOLLEYBALL_SET_THRESHOLD:()=>ta,WILL_A_POINT_BE_DEDUCTED:()=>ea,WILL_FIGHT_END_IN_FIRST_MINUTE:()=>_a,WILL_THERE_BE_OVERTIME:()=>A_,WINNING_ROUND:()=>aa,ZERO:()=>Ca,adjustSpreadOnOdds:()=>Ga,allowGameSportWithPeriodConstraint:()=>La,allowGameSportWithResultConstraint:()=>Ta,allowSoccerGame:()=>la,calculateImpliedOddsDifference:()=>S,checkGameContraints:()=>sa,checkOddsFromBookmakers:()=>I,createSpreadChildMarkets:()=>Qa,createTotalChildMarkets:()=>Xa,cutOddsCloseToValue:()=>ha,extractOddsForGamePerProvider:()=>Fa,fetchResultInCurrentSet:()=>Oa,filterOddsByMarketNameBookmaker:()=>ga,filterOddsByMarketNameTeamNameBookmaker:()=>Va,formatSpreadOdds:()=>Ha,gamesDatesMatching:()=>Ma,getBookmakersArray:()=>N,getLeagueSport:()=>Na,getLeagueSpreadType:()=>Ia,getLeagueTotalType:()=>Sa,getParentOdds:()=>va,getSpreadData:()=>wa,groupAndFormatSpreadOdds:()=>ba,groupOddsBySelectionAndPoints:()=>Ya,processMarket:()=>ka,processTotalOdds:()=>ya,statusCodes:()=>fa,teamNamesMatching:()=>Ra}),"function"!=typeof Object.assign&&(Object.assign=function(e,_){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),r=1;r<arguments.length;r++){var t=arguments[r];if(null!=t)for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(a[o]=t[o])}return a});var a=function(e){return parseFloat(e.toPrecision(12))};function r(e,_,a){return void 0===a||0==+a?Math[e](_):(_=+_,a=+a,isNaN(_)||"number"!=typeof a||a%1!=0?NaN:_<0?-r(e,-_,a):(_=_.toString().split("e"),+((_=(_=Math[e](+(_[0]+"e"+(_[1]?+_[1]-a:-a)))).toString().split("e"))[0]+"e"+(_[1]?+_[1]+a:a))))}var t,o,n={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?a(100*(this.decimalValue-1)):a(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return a(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var _=a(100/this.decimalValue);return null!==e.precision&&(_=r("round",_,-e.precision)),_.toString()+"%"}return a(1/this.decimalValue)}},fractional:{from:function(e){var _,a=e.toString().split("/");if(e=parseFloat(a[0]),2===a.length)_=parseFloat(a[1]);else{if(1!==a.length)throw new Error("Invalid fraction");_=1}if(0===e||0===_||e/_<=0)throw new Error("Outside valid range");return 1+e/_},to:function(e){return function(e,_){for(var a,r=[0,1],t=[1,0],o=function(e){var _=null,a=e.toString().indexOf("E");-1==a&&(a=e.toString().indexOf("e"));var r=null,t=(_=-1==a?e.toString():e.toString().substring(0,a)).toString().indexOf(".");-1==t?r=_:0===t?r=_.substring(1,_.length):t<_.length&&(r=_.substring(0,t)+_.substring(t+1,_.length));var o=r,n=o.toString().length,E=e,i=E.toString().length;0===E&&(i=0);var A,N=n-i;for(A=N;A>0&&o%2==0;A--)o/=2;for(A=N;A>0&&o%5==0;A--)o/=5;return o}(e),n=e,E=Math.pow(10,-_)/2,i=2;i<1e3;i++){var A=Math.floor(n);if(r[i]=A*r[i-1]+r[i-2],Math.abs(r[i])>o)return;if(t[i]=A*t[i-1]+t[i-2],a=r[i]/t[i],Math.abs(a-e)<E||NaN==a)return r[i].toString()+"/"+t[i].toString();n=1/(n-A)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?a(this.decimalValue-1):a(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?a(-1/(this.decimalValue-1)):a(this.decimalValue-1)}}},E=((o=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=a(e)}).prototype=(t=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,t.from=function(e,_){if(!n.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var a=n[e].from(_);return new o(a)},t);E.prototype.to=function(e,_){if(!n.hasOwnProperty(e))throw new Error("Unknown format "+e+".");_=Object.assign({precision:null,percentage:!1},_);var a=n[e].to.call(this,_);return"number"==typeof a&&null!==_.precision&&(a=r("round",a,-_.precision)),a};var i,A=E.from,N=function(e,_,a){var r=e.find((function(e){return Number(e.sportId)===Number(_)}));if(r){if(""==r.primaryBookmaker)return a;var t=[];return r.primaryBookmaker&&t.push(r.primaryBookmaker),r.secondaryBookmaker&&t.push(r.secondaryBookmaker),r.tertiaryBookmaker&&t.push(r.tertiaryBookmaker),t}return a},I=function(e,_,a,r,t){console.log("########## CHECK ODDS START ##########"),console.log("oddsMap: "+e),console.log("arrayOfBookmakers: "+_),console.log("isTwoPositionalSport: "+a),console.log("maxImpliedPercentageDifference: "+r),console.log("minOddsForDiffChecking: "+t),console.log("########## CHECK ODDS END ##########");var o=_.some((function(_){var r=e.get(_);return!!r&&(0===r.homeOdds||0===r.awayOdds||!a&&0===r.drawOdds||1===r.homeOdds||1===r.awayOdds||!a&&1===r.drawOdds)}));if(1==_.length){if(o)return[{homeOdds:0,awayOdds:0,drawOdds:0}];var n=_[0],E=e.get(n);return[{homeOdds:E.homeOdds,awayOdds:E.awayOdds,drawOdds:a?0:E.drawOdds}]}if(o)return[{homeOdds:0,awayOdds:0,drawOdds:0}];var i=e.get(_[0]),N=i.homeOdds,I=i.awayOdds,s=i.drawOdds;if(_.slice(1).some((function(_){var o=e[_];if(o){var n=o.homeOdds,E=o.awayOdds,i=o.drawOdds,L=A("decimal",N).to("impliedProbability"),l=A("decimal",I).to("impliedProbability"),T=a?0:A("decimal",s).to("impliedProbability"),O=A("decimal",n).to("impliedProbability"),d=A("decimal",E).to("impliedProbability"),R=a?0:A("decimal",i).to("impliedProbability"),M=S(L,O),C=S(l,d),P=a?0:S(T,R);if(M>r&&L>t&&O>t||C>r&&l>t&&d>t||!a&&P>r&&T>t&&R>t)return!0}return!1})))return console.log("Returning zero odds due to percentage difference"),[{homeOdds:0,awayOdds:0,drawOdds:0}];var L=[];return _.forEach((function(_){return L.push(e.get(_))})),null!=L[0]?L.map((function(e){return{homeOdds:e.homeOdds,awayOdds:e.awayOdds,drawOdds:a?0:e.drawOdds}})):(console.log("Returning zero odds cause no matching bookmakers have been found"),[{homeOdds:0,awayOdds:0,drawOdds:0}])},S=function(e,_){var a=Math.abs(e-_)/e*100;return console.log("% diff: "+a),a},s={SOCCER:"Soccer",FOOTBALL:"Football",BASKETBALL:"Basketball",BASEBALL:"Baseball",HOCKEY:"Hockey",FIGHTING:"Fighting",TENNIS:"Tennis",ESPORTS:"eSports",RUGBY:"Rugby",VOLLEYBALL:"Volleyball",HANDBALL:"Handball",WATERPOLO:"Waterpolo",CRICKET:"Cricket",MOTOSPORT:"Motosport",GOLF:"Golf",TABLE_TENNIS:"TableTennis",POLITICS:"Politics",EMPTY:""},L={NCAAF:1,NFL:2,MLB:3,NBA:4,NCAAB:5,NHL:6,UFC:7,WNBA:8,MLS:10,EPL:11,LIGUE_ONE:12,BUNDESLIGA:13,LA_LIGA:14,SERIE_A:15,UEFA_CL:16,UEFA_EL:17,FIFA_WC:18,J1_LEAGUE:19,IPL:20,T20_BLAST:21,IIHF_WORLD_CHAMPIONSHIP:33,COPA_AMERICA:44,COPA_LIBERTADORES:45,UEFA_EURO:50,EREDIVISIE:57,PRIMEIRA_LIGA:61,SUMMER_OLYMPICS_SOCCER_WOMEN:65,SUMMER_OLYMPICS_SOCCER:66,FIFA_WC_WOMEN:76,ENGLAND_CUP:132,FRANCE_CUP:134,SPAIN_CUP:138,ITALY_CUP:141,TENNIS_WTA:152,TENNIS_GS:153,TENNIS_MASTERS:156,SUMMER_OLYMPICS_TENNIS:158,GERMANY_CUP:209,LIGA_MX:230,BRAZIL_1:268,UEFA_EURO_U21:288,FIFA_WORLD_CUP_U20:296,SUMMER_OLYMPICS_HANDBALL_WOMEN:380,SUMMER_OLYMPICS_HANDBALL:381,EUROLEAGUE:399,SUMMER_OLYMPICS_BASKETBALL:406,SUMMER_OLYMPICS_BASKETBALL_WOMEN:407,FIBA_WORLD_CUP:409,FORMULA1:445,SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN:453,SUMMER_OLYMPICS_BEACH_VOLEYBALL:454,MOTOGP:497,SAUDI_PROFESSIONAL_LEAGUE:536,SUMMER_OLYMPICS_WATERPOLO:8881,SUMMER_OLYMPICS_VOLEYBALL_WOMEN:8893,SUMMER_OLYMPICS_VOLEYBALL:8894,SUMMER_OLYMPICS_TABLE_TENNIS:8910,BOXING:9196,SUMMER_OLYMPICS_RUGBY:9578,SUMMER_OLYMPICS_RUGBY_WOMEN:9588,SUMMER_OLYMPICS_HOCKEY_WOMEN:9698,SUMMER_OLYMPICS_HOCKEY:9699,UEFA_NATIONS_LEAGUE:9806,CONCACAF_NATIONS_LEAGUE:9821,CSGO:9977,DOTA2:9983,SUMMER_OLYMPICS_BASKETBALL_3X3:10071,SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN:10072,SUMMER_OLYMPICS_QUALIFICATION:10502,LOL:10138,CONMEBOL_WC_QUALIFICATIONS:10199,UEFA_CONFERENCE_LEAGUE:10216,NON_TITLE_BOXING:10595,UEFA_CHAMPIONS_LEAGUE_QUALIFICATION:10611,UEFA_EUROPA_LEAGUE_QUALIFICATION:10613,UEFA_CONFERENCE_LEAGUE_QUALIFICATION:10615,US_ELECTION:2e4,UEFA_SUPER_CUP:20001,BRAZIL_CUP:20002,ENGLAND_CHAMPIONSHIP:20011,GOLF_H2H:100021,GOLF_WINNER:100121,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1:15312,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2:15313,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3:15314,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4:15315,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5:15316,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6:15317,TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7:15318,TENNIS_MASTERS_LIVE_MAPPING_V2_1:15622,TENNIS_MASTERS_LIVE_MAPPING_V2_2:15623,TENNIS_MASTERS_LIVE_MAPPING_V2_3:15624,TENNIS_MASTERS_LIVE_MAPPING_V2_4:15625,TENNIS_MASTERS_LIVE_MAPPING_V2_5:15626,TENNIS_MASTERS_LIVE_MAPPING_V2_6:15627,TENNIS_MASTERS_LIVE_MAPPING_V2_7:15628,TENNIS_MASTERS_LIVE_MAPPING_V2_8:15632,TENNIS_MASTERS_LIVE_MAPPING_V2_9:15633,TENNIS_MASTERS_LIVE_MAPPING_V2_10:15634,TENNIS_MASTERS_LIVE_MAPPING_V2_11:15635,TENNIS_MASTERS_LIVE_MAPPING_V2_12:15636,TENNIS_MASTERS_LIVE_MAPPING_V2_13:15637,TENNIS_MASTERS_LIVE_MAPPING_V2_14:15638,TENNIS_MASTERS_LIVE_MAPPING_V2_15:15641,TENNIS_MASTERS_LIVE_MAPPING_V2_16:15642,TENNIS_MASTERS_LIVE_MAPPING_V2_17:15643,TENNIS_MASTERS_LIVE_MAPPING_V2_18:15644,TENNIS_MASTERS_LIVE_MAPPING_V2_19:15645,TENNIS_MASTERS_LIVE_MAPPING_V2_20:15646,TENNIS_MASTERS_LIVE_MAPPING_V2_21:15647,TENNIS_MASTERS_LIVE_MAPPING_V2_22:15648,TENNIS_WTA_LIVE_MAPPING_V2_1:15322,TENNIS_WTA_LIVE_MAPPING_V2_2:15323,TENNIS_WTA_LIVE_MAPPING_V2_3:15324,TENNIS_WTA_LIVE_MAPPING_V2_4:15325,TENNIS_WTA_LIVE_MAPPING_V2_5:15326,TENNIS_WTA_LIVE_MAPPING_V2_6:15327,TENNIS_WTA_LIVE_MAPPING_V2_7:15328},l=[L.CSGO,L.DOTA2,L.LOL,L.TENNIS_GS,L.TENNIS_MASTERS,L.SUMMER_OLYMPICS_TENNIS,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6,L.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7,L.TENNIS_MASTERS_LIVE_MAPPING_V2_1,L.TENNIS_MASTERS_LIVE_MAPPING_V2_2,L.TENNIS_MASTERS_LIVE_MAPPING_V2_3,L.TENNIS_MASTERS_LIVE_MAPPING_V2_4,L.TENNIS_MASTERS_LIVE_MAPPING_V2_5,L.TENNIS_MASTERS_LIVE_MAPPING_V2_6,L.TENNIS_MASTERS_LIVE_MAPPING_V2_7,L.TENNIS_MASTERS_LIVE_MAPPING_V2_8,L.TENNIS_MASTERS_LIVE_MAPPING_V2_9,L.TENNIS_MASTERS_LIVE_MAPPING_V2_10,L.TENNIS_MASTERS_LIVE_MAPPING_V2_11,L.TENNIS_MASTERS_LIVE_MAPPING_V2_12,L.TENNIS_MASTERS_LIVE_MAPPING_V2_13,L.TENNIS_MASTERS_LIVE_MAPPING_V2_14,L.TENNIS_MASTERS_LIVE_MAPPING_V2_15,L.TENNIS_MASTERS_LIVE_MAPPING_V2_16,L.TENNIS_MASTERS_LIVE_MAPPING_V2_17,L.TENNIS_MASTERS_LIVE_MAPPING_V2_18,L.TENNIS_MASTERS_LIVE_MAPPING_V2_19,L.TENNIS_MASTERS_LIVE_MAPPING_V2_20,L.TENNIS_MASTERS_LIVE_MAPPING_V2_21,L.TENNIS_MASTERS_LIVE_MAPPING_V2_22,L.TENNIS_WTA_LIVE_MAPPING_V2_1,L.TENNIS_WTA_LIVE_MAPPING_V2_2,L.TENNIS_WTA_LIVE_MAPPING_V2_3,L.TENNIS_WTA_LIVE_MAPPING_V2_4,L.TENNIS_WTA_LIVE_MAPPING_V2_5,L.TENNIS_WTA_LIVE_MAPPING_V2_6,L.TENNIS_WTA_LIVE_MAPPING_V2_7],T="1st Half Asian Handicap",O="1st Half Asian Handicap Corners",d="1st Half Both Teams To Score",R="1st Half Correct Score",M="1st Half Moneyline",C="1st Half Team Total",P="1st Half Team Total Exact",u="1st Half Total Corners",c="1st Half Total Goals",p="1st Half Total Goals Odd/Even",m="2nd Half Asian Handicap Corners",U="2nd Half Both Teams To Score",f="2nd Half Moneyline",G="2nd Half Total Corners",w="2nd Half Total Goals",F="2nd Half Total Goals Odd/Even",D="Anytime Goal Scorer",B="Asian Handicap",V="Asian Handicap Cards",v="Asian Handicap Corners",g="Both Teams To Score",H="Correct Score",b="Draw No Bet",h="First Goal Scorer",y="First Team To Score 3-Way",Y="Last Goal Scorer",W="Last Team To Score 3-Way",k="Moneyline",K="Player Goals",Q="Team Clean Sheet",X="Team Total",j="Team Total Card Points",x="Team Total Corners",z="Team Total Odd/Even",Z="Total Cards",J="Total Corners",q="Total Corners Odd/Even",$="Total Goals",ee="Total Goals Odd/Even",_e="To Qualify",ae="Halftime / Fulltime",re="1st 3 Innings Moneyline",te="1st 3 Innings Run Line",oe="1st 3 Innings Team Total",ne="1st 3 Innings Total Runs",Ee="1st 7 Innings Moneyline",ie="1st 7 Innings Run Line",Ae="1st 7 Innings Team Total",Ne="1st 7 Innings Total Runs",Ie="1st Half Run Line",Se="1st Half Total Runs",se="1st Inning Moneyline 3-Way",Le="1st Inning Run Line",le="1st Inning Total Runs",Te="1st Inning Total Runs Odd/Even",Oe="2nd Inning Moneyline 3-Way",de="2nd Inning Run Line",Re="2nd Inning Total Runs",Me="3rd Inning Moneyline 3-Way",Ce="3rd Inning Run Line",Pe="3rd Inning Total Runs",ue="4th Inning Moneyline 3-Way",ce="4th Inning Run Line",pe="4th Inning Total Runs",me="5th Inning Moneyline 3-Way",Ue="5th Inning Run Line",fe="5th Inning Total Runs",Ge="6th Inning Moneyline 3-Way",we="6th Inning Run Line",Fe="6th Inning Total Runs",De="7th Inning Moneyline 3-Way",Be="7th Inning Run Line",Ve="7th Inning Total Runs",ve="8th Inning Moneyline 3-Way",ge="8th Inning Run Line",He="8th Inning Total Runs",be="9th Inning Moneyline 3-Way",he="9th Inning Run Line",ye="9th Inning Total Runs",Ye="First Team To Score",We="No Runs First Inning",ke="Player Bases",Ke="Player Batting Strikeouts",Qe="Player Batting Walks",Xe="Player Doubles",je="Player Earned Runs",xe="Player Hits",ze="Player Hits + Runs + RBIs",Ze="Player Hits Allowed",Je="Player Home Runs",qe="Player Home Runs Yes/No",$e="Player Outs",e_="Player RBIs",__="Player Runs",a_="Player Singles",r_="Player Stolen Bases",t_="Player Strikeouts",o_="Player To Record Win",n_="Player Walks",E_="Run Line",i_="Total Runs",A_="Will There Be Overtime",N_="1st Half Double Chance",I_="1st Half Moneyline 3-Way",S_="1st Half Point Spread",s_="1st Half Race To 20 Points",L_="1st Half Race To 25 Points",l_="1st Half Race To 30 Points",T_="1st Half Race To 35 Points",O_="1st Half Race To 40 Points",d_="1st Half Race To 45 Points",R_="1st Half Race To 50 Points",M_="1st Half Race To 55 Points",C_="1st Half Race To 60 Points",P_="1st Half Total Points",u_="1st Half Total Points Odd/Even",c_="1st Quarter Double Chance",p_="1st Quarter Moneyline",m_="1st Quarter Moneyline 3-Way",U_="1st Quarter Point Spread",f_="1st Quarter Race To 10 Points",G_="1st Quarter Race To 15 Points",w_="1st Quarter Race To 20 Points",F_="1st Quarter Team Total",D_="1st Quarter Total Points",B_="1st Quarter Total Points Odd/Even",V_="First Basket Including FT",v_="Player Assists",g_="Player Double Double",H_="Player Made Threes",b_="Player Points",h_="Player Points + Rebounds + Assists",y_="Player Rebounds",Y_="Point Spread",W_="Race To 20 Points",k_="Team Total Points Odd/Even",K_="Total Points",Q_="Total Points Odd/Even",X_="Go The Distance",j_="Method of Victory",x_="Player Significant Strikes",z_="Player Takedowns",Z_="Round Betting",J_="Total Rounds",q_="Method Of Ending",$_="Moneyline + Total Rounds",ea="Will A Point Be Deducted",_a="Will Fight End In First Minute",aa="Winning Round",ra=((i={})[L.NCAAF]={sport:s.FOOTBALL,id:L.NCAAF,isDrawAvailable:!1},i[L.NFL]={sport:s.FOOTBALL,id:L.NFL,isDrawAvailable:!1,spread:B,total:K_},i[L.MLB]={sport:s.BASEBALL,id:L.MLB,isDrawAvailable:!1,spread:E_,total:i_},i[L.NBA]={sport:s.BASKETBALL,id:L.NBA,isDrawAvailable:!1,spread:Y_,total:K_},i[L.NCAAB]={sport:s.BASKETBALL,id:L.NCAAB,isDrawAvailable:!1,spread:Y_,total:K_},i[L.NHL]={sport:s.HOCKEY,id:L.NHL,isDrawAvailable:!1},i[L.UFC]={sport:s.FIGHTING,id:L.UFC,isDrawAvailable:!1},i[L.WNBA]={sport:s.BASKETBALL,id:L.WNBA,isDrawAvailable:!1,spread:Y_,total:K_},i[L.MLS]={sport:s.SOCCER,id:L.MLS,isDrawAvailable:!0,spread:B,total:$},i[L.EPL]={sport:s.SOCCER,id:L.EPL,isDrawAvailable:!0,spread:B,total:$},i[L.LIGUE_ONE]={sport:s.SOCCER,id:L.LIGUE_ONE,isDrawAvailable:!0,spread:B,total:$},i[L.BUNDESLIGA]={sport:s.SOCCER,id:L.BUNDESLIGA,isDrawAvailable:!0,spread:B,total:$},i[L.LA_LIGA]={sport:s.SOCCER,id:L.LA_LIGA,isDrawAvailable:!0,spread:B,total:$},i[L.SERIE_A]={sport:s.SOCCER,id:L.SERIE_A,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_CL]={sport:s.SOCCER,id:L.UEFA_CL,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_EL]={sport:s.SOCCER,id:L.UEFA_EL,isDrawAvailable:!0,spread:B,total:$},i[L.FIFA_WC]={sport:s.SOCCER,id:L.FIFA_WC,isDrawAvailable:!0,spread:B,total:$},i[L.J1_LEAGUE]={sport:s.SOCCER,id:L.J1_LEAGUE,isDrawAvailable:!0,spread:B,total:$},i[L.IPL]={sport:s.CRICKET,id:L.IPL,isDrawAvailable:!1},i[L.T20_BLAST]={sport:s.CRICKET,id:L.T20_BLAST,isDrawAvailable:!1},i[L.IIHF_WORLD_CHAMPIONSHIP]={sport:s.HOCKEY,id:L.IIHF_WORLD_CHAMPIONSHIP,isDrawAvailable:!0},i[L.COPA_AMERICA]={sport:s.SOCCER,id:L.COPA_AMERICA,isDrawAvailable:!0,spread:B,total:$},i[L.COPA_LIBERTADORES]={sport:s.SOCCER,id:L.COPA_LIBERTADORES,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_EURO]={sport:s.SOCCER,id:L.UEFA_EURO,isDrawAvailable:!0,spread:B,total:$},i[L.EREDIVISIE]={sport:s.SOCCER,id:L.EREDIVISIE,isDrawAvailable:!0,spread:B,total:$},i[L.PRIMEIRA_LIGA]={sport:s.SOCCER,id:L.PRIMEIRA_LIGA,isDrawAvailable:!0,spread:B,total:$},i[L.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:s.SOCCER,id:L.SUMMER_OLYMPICS_SOCCER_WOMEN,isDrawAvailable:!0,spread:B,total:$},i[L.SUMMER_OLYMPICS_SOCCER]={sport:s.SOCCER,id:L.SUMMER_OLYMPICS_SOCCER,isDrawAvailable:!0,spread:B,total:$},i[L.FIFA_WC_WOMEN]={sport:s.SOCCER,id:L.FIFA_WC_WOMEN,isDrawAvailable:!0,spread:B,total:$},i[L.ENGLAND_CUP]={sport:s.SOCCER,id:L.ENGLAND_CUP,isDrawAvailable:!0,spread:B,total:$},i[L.FRANCE_CUP]={sport:s.SOCCER,id:L.FRANCE_CUP,isDrawAvailable:!0,spread:B,total:$},i[L.SPAIN_CUP]={sport:s.SOCCER,id:L.SPAIN_CUP,isDrawAvailable:!0,spread:B,total:$},i[L.ITALY_CUP]={sport:s.SOCCER,id:L.ITALY_CUP,isDrawAvailable:!0,spread:B,total:$},i[L.TENNIS_WTA]={sport:s.TENNIS,id:L.TENNIS_WTA,isDrawAvailable:!1},i[L.TENNIS_GS]={sport:s.TENNIS,id:L.TENNIS_GS,isDrawAvailable:!1},i[L.TENNIS_MASTERS]={sport:s.TENNIS,id:L.TENNIS_MASTERS,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_TENNIS]={sport:s.TENNIS,id:L.SUMMER_OLYMPICS_TENNIS,isDrawAvailable:!1},i[L.GERMANY_CUP]={sport:s.SOCCER,id:L.GERMANY_CUP,isDrawAvailable:!0,spread:B,total:$},i[L.BRAZIL_1]={sport:s.SOCCER,id:L.BRAZIL_1,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_EURO_U21]={sport:s.SOCCER,id:L.UEFA_EURO_U21,isDrawAvailable:!0,spread:B,total:$},i[L.FIFA_WORLD_CUP_U20]={sport:s.SOCCER,id:L.FIFA_WORLD_CUP_U20,isDrawAvailable:!0,spread:B,total:$},i[L.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:s.HANDBALL,id:L.SUMMER_OLYMPICS_HANDBALL_WOMEN,isDrawAvailable:!0},i[L.SUMMER_OLYMPICS_HANDBALL]={sport:s.HANDBALL,id:L.SUMMER_OLYMPICS_HANDBALL,isDrawAvailable:!0},i[L.EUROLEAGUE]={sport:s.BASKETBALL,id:L.EUROLEAGUE,isDrawAvailable:!1,spread:Y_,total:K_},i[L.SUMMER_OLYMPICS_BASKETBALL]={sport:s.BASKETBALL,id:L.SUMMER_OLYMPICS_BASKETBALL,isDrawAvailable:!1,spread:Y_,total:K_},i[L.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:s.BASKETBALL,id:L.SUMMER_OLYMPICS_BASKETBALL_WOMEN,isDrawAvailable:!1,spread:Y_,total:K_},i[L.FIBA_WORLD_CUP]={sport:s.BASKETBALL,id:L.FIBA_WORLD_CUP,isDrawAvailable:!1,spread:Y_,total:K_},i[L.FORMULA1]={sport:s.MOTOSPORT,id:L.FORMULA1,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:s.VOLLEYBALL,id:L.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:s.VOLLEYBALL,id:L.SUMMER_OLYMPICS_BEACH_VOLEYBALL,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:s.TABLE_TENNIS,id:L.SUMMER_OLYMPICS_TABLE_TENNIS,isDrawAvailable:!1},i[L.MOTOGP]={sport:s.MOTOSPORT,id:L.MOTOGP,isDrawAvailable:!1},i[L.SAUDI_PROFESSIONAL_LEAGUE]={sport:s.SOCCER,id:L.SAUDI_PROFESSIONAL_LEAGUE,isDrawAvailable:!0,spread:B,total:$},i[L.SUMMER_OLYMPICS_WATERPOLO]={sport:s.WATERPOLO,id:L.SUMMER_OLYMPICS_WATERPOLO,isDrawAvailable:!0},i[L.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:s.VOLLEYBALL,id:L.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_VOLEYBALL]={sport:s.VOLLEYBALL,id:L.SUMMER_OLYMPICS_VOLEYBALL,isDrawAvailable:!1},i[L.BOXING]={sport:s.FIGHTING,id:L.BOXING,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_RUGBY]={sport:s.RUGBY,id:L.SUMMER_OLYMPICS_RUGBY,isDrawAvailable:!0},i[L.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:s.RUGBY,id:L.SUMMER_OLYMPICS_RUGBY_WOMEN,isDrawAvailable:!0},i[L.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:s.HOCKEY,id:L.SUMMER_OLYMPICS_HOCKEY_WOMEN,isDrawAvailable:!0},i[L.SUMMER_OLYMPICS_HOCKEY]={sport:s.HOCKEY,id:L.SUMMER_OLYMPICS_HOCKEY,isDrawAvailable:!0},i[L.UEFA_NATIONS_LEAGUE]={sport:s.SOCCER,id:L.UEFA_NATIONS_LEAGUE,isDrawAvailable:!0,spread:B,total:$},i[L.CONCACAF_NATIONS_LEAGUE]={sport:s.SOCCER,id:L.CONCACAF_NATIONS_LEAGUE,isDrawAvailable:!0,spread:B,total:$},i[L.CSGO]={sport:s.ESPORTS,id:L.CSGO,isDrawAvailable:!1},i[L.DOTA2]={sport:s.ESPORTS,id:L.DOTA2,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:s.BASKETBALL,id:L.SUMMER_OLYMPICS_BASKETBALL_3X3,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:s.BASKETBALL,id:L.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,isDrawAvailable:!1},i[L.SUMMER_OLYMPICS_QUALIFICATION]={sport:s.BASKETBALL,id:L.SUMMER_OLYMPICS_QUALIFICATION,isDrawAvailable:!1,spread:Y_,total:K_},i[L.LOL]={sport:s.ESPORTS,id:L.LOL,isDrawAvailable:!1},i[L.CONMEBOL_WC_QUALIFICATIONS]={sport:s.SOCCER,id:L.CONMEBOL_WC_QUALIFICATIONS,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_CONFERENCE_LEAGUE]={sport:s.SOCCER,id:L.UEFA_CONFERENCE_LEAGUE,isDrawAvailable:!0,spread:B,total:$},i[L.NON_TITLE_BOXING]={sport:s.FIGHTING,id:L.NON_TITLE_BOXING,isDrawAvailable:!1},i[L.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:s.SOCCER,id:L.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:s.SOCCER,id:L.UEFA_EUROPA_LEAGUE_QUALIFICATION,isDrawAvailable:!0,spread:B,total:$},i[L.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:s.SOCCER,id:L.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,isDrawAvailable:!0,spread:B,total:$},i[L.US_ELECTION]={sport:s.POLITICS,id:L.US_ELECTION,isDrawAvailable:!1},i[L.UEFA_SUPER_CUP]={sport:s.SOCCER,id:L.UEFA_SUPER_CUP,isDrawAvailable:!0},i[L.BRAZIL_CUP]={sport:s.SOCCER,id:L.BRAZIL_CUP,isDrawAvailable:!0},i[L.ENGLAND_CHAMPIONSHIP]={sport:s.SOCCER,id:L.ENGLAND_CHAMPIONSHIP,isDrawAvailable:!0},i[L.GOLF_H2H]={sport:s.GOLF,id:L.GOLF_H2H,isDrawAvailable:!1},i[L.GOLF_WINNER]={sport:s.GOLF,id:L.GOLF_WINNER,isDrawAvailable:!1},i[L.LIGA_MX]={sport:s.SOCCER,id:L.LIGA_MX,isDrawAvailable:!0,spread:B,total:$},i),ta=2,oa=20,na=10,Ea=2,ia=1,Aa=5,Na=function(e){var _=ra[e];return _?_.sport:s.EMPTY},Ia=function(e){var _=ra[e];return _?_.spread:void 0},Sa=function(e){var _=ra[e];return _?_.total:void 0},sa=function(e,_,a){var r=e.score_home_total,t=e.score_away_total,o=e.clock,n=e.period,E=e.status,i=e.home_team,A=e.away_team,N=parseInt(n),I=Na(_);return"completed"==E.toLowerCase()?{allow:!1,message:"Blocking game ".concat(i," - ").concat(A," because it is no longer live.")}:I===s.BASKETBALL?La(i,A,N,a.get(s.BASKETBALL)):I===s.HOCKEY?La(i,A,N,a.get(s.HOCKEY)):I===s.BASEBALL?La(i,A,N,a.get(s.BASEBALL)):I===s.SOCCER?la(i,A,o,n,a.get(s.SOCCER)):I===s.TENNIS?Ta(e,i,A,n,r,t,_,I):I===s.VOLLEYBALL?Ta(e,i,A,N,r,t,_,I):{allow:!0,message:"The sport ".concat(_," does not have constraint")}},La=function(e,_,a,r){return!Number.isNaN(a)&&a>=r?{allow:!1,message:"Blocking game ".concat(e," - ").concat(_," due to period: ").concat(a,". period")}:{allow:!0,message:""}},la=function(e,_,a,r,t){var o=Number(a);return!Number.isNaN(o)&&o>=t||Number.isNaN(o)&&"HALF"!=r?{allow:!1,message:"Blocking game ".concat(e," - ").concat(_," due to clock: ").concat(a,"min")}:{allow:!0,message:""}},Ta=function(e,_,a,r,t,o,n,E){var i=Number(r),A=Oa(i,e),N="atp"==e.league.toLowerCase(),I={home:t,away:o};return E==s.VOLLEYBALL?da(_,a,A,I,ta,5==i?na:oa):n.toString().startsWith(L.TENNIS_GS)&&N?da(_,a,A,I,Ea,Aa):n.toString().startsWith(L.TENNIS_GS)&&!N||n.toString().startsWith(L.TENNIS_MASTERS)||n.toString().startsWith(L.SUMMER_OLYMPICS_TENNIS)||n.toString().startsWith(L.TENNIS_WTA)?da(_,a,A,I,ia,Aa):{allow:!0,message:"The sport ".concat(n," does not have result constraint")}},Oa=function(e,_){var a=0,r=0;switch(e){case 1:a=Number(_.score_home_period_1),r=Number(_.score_away_period_1);break;case 2:a=Number(_.score_home_period_2),r=Number(_.score_away_period_2);break;case 3:a=Number(_.score_home_period_3),r=Number(_.score_away_period_3);break;case 4:a=Number(_.score_home_period_4),r=Number(_.score_away_period_4);break;case 5:a=Number(_.score_home_period_5),r=Number(_.score_away_period_5)}return{home:a,away:r}},da=function(e,_,a,r,t,o){return Number(r.home)!=t&&Number(r.away)!=t||!(Number(r.home)==t&&a.home>=o||Number(r.away)==t&&a.away>=o)?{allow:!0,message:"",currentHomeGameScore:a.home,currentAwayGameScore:a.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(_," due to current result: ").concat(r.home," - ").concat(r.away," (").concat(a.home," - ").concat(a.away,")")}},Ra=function(e,_,a,r,t,o){var n,E;if(l.includes(e)?(n=r.toLowerCase()==_.toLowerCase()||r.toLowerCase()==a.toLowerCase(),E=t.toLowerCase()==_.toLowerCase()||t.toLowerCase()==a.toLowerCase()):(n=r.toLowerCase()==_.toLowerCase(),E=t.toLowerCase()==a.toLowerCase()),!0!==n){var i=o.get(r.toLowerCase()),A=o.get(_.toLowerCase()),N=o.get(a.toLowerCase());if([i,A].some((function(e){return null==e})))return!1;n=l.includes(e)?i==A||i==N:i==A}if(!0!==E){var I=o.get(t.toLowerCase());if(A=o.get(_.toLowerCase()),[I,N=o.get(a.toLowerCase())].some((function(e){return null==e})))return!1;E=l.includes(e)&&I==A||I==N}return n&&E},Ma=function(e,_,a,r){var t;if(Na(a)==s.TENNIS){var o=_.getTime(),n=e.getTime();t=Math.abs(n-o)<=Number(60*r*1e3)}else t=_.toUTCString()==e.toUTCString();return t},Ca=0,Pa="Draw",ua=1e5,ca=.2,pa=10001,ma=10002,Ua=100,fa={OPEN:0,PAUSED:1,IN_PROGRESS:3,FINISHED:8,RESOLVED:10,CANCELED:255},Ga=function(e,_,a){if(e.some((function(e){return 0===e})))return e;var r=e.reduce((function(e,_){return e+_}),0);if(r<=1)return Array(e.length).fill(0);if(0===a){if(!(_>100*(r-1)))return e;a=_}var t=1+a/100,o=t/r,n=e.map((function(e){return e*o}));if(n.some((function(e){return e>=1})))return Array(e.length).fill(0);var E=n.reduce((function(e,_){return e+_}),0);if(E<1)return Array(e.length).fill(0);var i=t/E;return n.map((function(e){return e*i}))},wa=function(e,_,a,r){var t=e.find((function(e){return Number(e.typeId)===Number(a)&&Number(e.sportId)===Number(_)}));return t?{minSpread:t.minSpread?Number(t.minSpread):r,targetSpread:t.targetSpread?Number(t.targetSpread):0}:{minSpread:r,targetSpread:0}},Fa=function(e,_,a,r,t){var o=new Map;return e.forEach((function(e){var n,E,i=_.odds.filter((function(_){return _.sports_book_name.toLowerCase()==e.toLowerCase()})),A=r.get(a.homeTeam.toLowerCase()),N=r.get(a.awayTeam.toLowerCase()),I=0;null!=(n=null==A?i.find((function(e){var _=r.get(e.name.toLowerCase());return null==_?e.name.toLowerCase()==a.homeTeam.toLowerCase():_==a.homeTeam.toLowerCase()})):i.find((function(e){var _=r.get(e.name.toLowerCase());return null==_?e.name.toLowerCase()==A:_==A})))&&(I=n.price);var S=0;null!=(E=null==N?i.find((function(e){var _=r.get(e.name.toLowerCase());return null==_?e.name.toLowerCase()==a.awayTeam.toLowerCase():_==a.awayTeam.toLowerCase()})):i.find((function(e){var _=r.get(e.name.toLowerCase());return null==_?e.name.toLowerCase()==N:_==N})))&&(S=E.price);var s=0;if(t){var L=i.find((function(e){return"draw"==e.name.toLowerCase()}));null!=L&&(s=L.price)}o.set(e.toLowerCase(),{homeOdds:I,awayOdds:S,drawOdds:s})})),o},Da=function(e){return e===Ca?0:Ba("decimal","impliedProbability",e)},Ba=function(e,_,a){try{return A(e,a).to(_)}catch(e){return 0}},Va=function(e,_,a,r,t){var o=new Map;return a.forEach((function(a){var n=0,E=e.filter((function(e){return e&&e.market_name.toLowerCase()===_.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===r.homeTeam.toLowerCase()}));0!==E.length&&(n=E[0].price);var i=0,A=e.filter((function(e){return e&&e.market_name.toLowerCase()===_.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===r.awayTeam.toLowerCase()}));0!==A.length&&(i=A[0].price);var N=0;if(!t){var I=e.filter((function(e){return e&&e.market_name.toLowerCase()===_.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===Pa.toLowerCase()}));0!==I.length&&(N=I[0].price)}o.set(a.toLowerCase(),{homeOdds:n,awayOdds:i,drawOdds:N})})),o},va=function(e,_,a,r,t,o,n){var E={homeTeam:r.home_team,awayTeam:r.away_team},i=Va(r.odds,k,a,E,e),A=I(i,a,e,n,ca),N=A.some((function(e){return 1==e.homeOdds||1==e.awayOdds||1==e.drawOdds}));if([A[0].homeOdds,A[0].awayOdds,A[0].drawOdds].every((function(e){return e==Ca}))||N)return console.log("No Moneyline odds found or there is 100% odd, returning zero odds."),e?[0,0]:[0,0,0];var S=[A[0].homeOdds,A[0].awayOdds,A[0].drawOdds].map((function(e){return Da(e)})),s=wa(_,t,ua,o);return null!==s?Ga(S,s.minSpread,s.targetSpread):Ga(S,o,0)},ga=function(e,_,a){return e.filter((function(e){return e.market_name.toLowerCase()===_.toLowerCase()&&e.sports_book_name.toLowerCase()==a.toLowerCase()}))},Ha=function(e,_,a,r,t,o){var n=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)}));return ba(n,_).map((function(e){var _=e.line,n=e.odds,E=Da(n[0])||Ca,i=Da(n[1])||Ca,A=E===Ca||i===Ca;if(!A){var N,I=wa(r,a,t,o);null!==I?(N=Ga([E,i],I.minSpread,I.targetSpread)).some((function(e){return e===Ca}))?A=!0:(E=N[0],i=N[1]):(N=Ga([E,i],o,0)).some((function(e){return e===Ca}))?A=!0:(E=N[0],i=N[1])}return{leagueId:a,typeId:t,type:"spread",results:[],status:A?fa.PAUSED:fa.OPEN,line:_,odds:[E,i]}})).filter((function(e){return null!==e}))},ba=function(e,_){var a=e.reduce((function(e,a){var r=a.selection_points,t=a.price,o=a.selection===_.homeTeam,n=o?r:-r;return e[n]||(e[n]={home:null,away:null}),o?e[n].home=t:e[n].away=t,e}),{}),r=Object.entries(a).reduce((function(e,_){var a=_[0],r=_[1],t=parseFloat(a);return null!==r.home&&null!==r.away&&e.push({line:t,odds:[r.home,r.away]}),e}),[]);return r},ha=function(e,_){return void 0===_&&(_=.952),e.map((function(e){return Math.abs(e)>_?Ca:e}))},ya=function(e,_,a,r,t){var o=[],n=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)})),E=Ya(n);return Object.entries(E).forEach((function(e){var n=e[0],E=e[1],i=E.over,A=E.under,N=n.split("_"),I=(N[0],N[1]),S=Da(i)||Ca,s=Da(A)||Ca,L=S===Ca||s===Ca;if(!L){var l,T=wa(a,_,r,t);null!==T?(l=Ga([S,s],T.minSpread,T.targetSpread)).some((function(e){return e===Ca}))?L=!0:(S=l[0],s=l[1]):(l=Ga([S,s],t,0)).some((function(e){return e===Ca}))?L=!0:(S=l[0],s=l[1])}var O={leagueId:_,typeId:r,type:"total",results:[],status:L?fa.PAUSED:fa.OPEN,line:parseFloat(I),odds:[S,s]};o.push(O)})),o},Ya=function(e){return e.reduce((function(e,_){if(_){var a="".concat(_.selection,"_").concat(_.selection_points);e[a]||(e[a]={over:null,under:null}),"over"===_.selection_line?e[a].over=_.price:"under"===_.selection_line&&(e[a].under=_.price)}return e}),{})},Wa=function(){return Wa=Object.assign||function(e){for(var _,a=1,r=arguments.length;a<r;a++)for(var t in _=arguments[a])Object.prototype.hasOwnProperty.call(_,t)&&(e[t]=_[t]);return e},Wa.apply(this,arguments)},ka=function(e,_,a,r,t,o,n){var E=r.filter((function(_){return _.sportId===String(e.leagueId)})),i=va(!t,E,a,_,e.leagueId,o,n),N=i[0]==Ca||i[1]==Ca||t&&i[2]==Ca;e.odds.length>0&&(e.odds=e.odds.map((function(e,_){var a;return _<3&&(a=i[_]),0==a?{american:0,decimal:0,normalizedImplied:0}:{american:A("impliedProbability",a).to("moneyline"),decimal:A("impliedProbability",a).to("decimal"),normalizedImplied:a}})));var I=(N?[]:Ka(e.leagueId,E,_,a,o)).map((function(_){var a=Wa(Wa({},e),_);return a.odds.length>0&&(a.odds=a.odds.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:{american:A("impliedProbability",e).to("moneyline"),decimal:A("impliedProbability",e).to("decimal"),normalizedImplied:e}}))),a}));return e.childMarkets=I,e},Ka=function(e,_,a,r,t){var o=[];return(o=o.concat(Qa(a,e,_,r,t))).concat(Xa(a,e,_,r,t))},Qa=function(e,_,a,r,t){var o=[],n=Ia(_),E={homeTeam:e.home_team,awayTeam:e.away_team};if(n){var i=ga(e.odds,n,r[0]);if(i.length>0){var A=Ha(i,E,_,a,pa,t);o.push.apply(o,A)}}else console.warn("Spread type for sport ID ".concat(_," not found."));return o},Xa=function(e,_,a,r,t){var o=[],n=Sa(_);if(n){var E=ga(e.odds,n,r[0]);E.length>0&&o.push.apply(o,ya(E,_,a,ma,t))}else console.warn("Configuration (totals) for sport ID ".concat(_," not found."));return o};return _})()));
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={d:(r,a)=>{for(var t in a)e.o(a,t)&&!e.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:a[t]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{adjustSpreadOnOdds:()=>q,allowGameSportWithPeriodConstraint:()=>G,allowGameSportWithResultConstraint:()=>W,allowSoccerGame:()=>I,calculateImpliedOddsDifference:()=>w,checkGameContraints:()=>x,checkOddsFromBookmakers:()=>c,extractOddsForGamePerProvider:()=>K,fetchResultInCurrentSet:()=>U,gamesDatesMatching:()=>z,getBookmakersArray:()=>u,getLeagueSport:()=>M,getSpreadData:()=>J,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),t=1;t<arguments.length;t++){var o=arguments[t];if(null!=o)for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(a[i]=o[i])}return a});var a=function(e){return parseFloat(e.toPrecision(12))};function t(e,r,a){return void 0===a||0==+a?Math[e](r):(r=+r,a=+a,isNaN(r)||"number"!=typeof a||a%1!=0?NaN:r<0?-t(e,-r,a):(r=r.toString().split("e"),+((r=(r=Math[e](+(r[0]+"e"+(r[1]?+r[1]-a:-a)))).toString().split("e"))[0]+"e"+(r[1]?+r[1]+a:a))))}var o,i,s={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?a(100*(this.decimalValue-1)):a(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return a(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var r=a(100/this.decimalValue);return null!==e.precision&&(r=t("round",r,-e.precision)),r.toString()+"%"}return a(1/this.decimalValue)}},fractional:{from:function(e){var r,a=e.toString().split("/");if(e=parseFloat(a[0]),2===a.length)r=parseFloat(a[1]);else{if(1!==a.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var a,t=[0,1],o=[1,0],i=function(e){var r=null,a=e.toString().indexOf("E");-1==a&&(a=e.toString().indexOf("e"));var t=null,o=(r=-1==a?e.toString():e.toString().substring(0,a)).toString().indexOf(".");-1==o?t=r:0===o?t=r.substring(1,r.length):o<r.length&&(t=r.substring(0,o)+r.substring(o+1,r.length));var i=t,s=i.toString().length,n=e,l=n.toString().length;0===n&&(l=0);var d,u=s-l;for(d=u;d>0&&i%2==0;d--)i/=2;for(d=u;d>0&&i%5==0;d--)i/=5;return i}(e),s=e,n=Math.pow(10,-r)/2,l=2;l<1e3;l++){var d=Math.floor(s);if(t[l]=d*t[l-1]+t[l-2],Math.abs(t[l])>i)return;if(o[l]=d*o[l-1]+o[l-2],a=t[l]/o[l],Math.abs(a-e)<n||NaN==a)return t[l].toString()+"/"+o[l].toString();s=1/(s-d)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?a(this.decimalValue-1):a(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?a(-1/(this.decimalValue-1)):a(this.decimalValue-1)}}},n=((i=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=a(e)}).prototype=(o=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,o.from=function(e,r){if(!s.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var a=s[e].from(r);return new i(a)},o);n.prototype.to=function(e,r){if(!s.hasOwnProperty(e))throw new Error("Unknown format "+e+".");r=Object.assign({precision:null,percentage:!1},r);var a=s[e].to.call(this,r);return"number"==typeof a&&null!==r.precision&&(a=t("round",a,-r.precision)),a};var l,d=n.from,u=function(e,r,a){var t=e.find((function(e){return Number(e.sportId)===Number(r)}));if(t){if(""==t.primaryBookmaker)return a;var o=[];return t.primaryBookmaker&&o.push(t.primaryBookmaker),t.secondaryBookmaker&&o.push(t.secondaryBookmaker),t.tertiaryBookmaker&&o.push(t.tertiaryBookmaker),o}return a},c=function(e,r,a,t,o){var i=r.some((function(r){var t=e.get(r);return!!t&&(0===t.homeOdds||0===t.awayOdds||!a&&0===t.drawOdds||1===t.homeOdds||1===t.awayOdds||!a&&1===t.drawOdds)}));if(1==r.length){if(i)return[{homeOdds:0,awayOdds:0,drawOdds:0}];var s=r[0],n=e.get(s);return[{homeOdds:n.homeOdds,awayOdds:n.awayOdds,drawOdds:a?0:n.drawOdds}]}if(i)return[{homeOdds:0,awayOdds:0,drawOdds:0}];var l=e.get(r[0]),u=l.homeOdds,c=l.awayOdds,p=l.drawOdds;if(r.slice(1).some((function(r){var i=e[r];if(i){var s=i.homeOdds,n=i.awayOdds,l=i.drawOdds,m=d("decimal",u).to("impliedProbability"),f=d("decimal",c).to("impliedProbability"),b=a?0:d("decimal",p).to("impliedProbability"),v=d("decimal",s).to("impliedProbability"),g=d("decimal",n).to("impliedProbability"),h=a?0:d("decimal",l).to("impliedProbability"),A=w(m,v),D=w(f,g),y=a?0:w(b,h);if(A>t&&m>o&&v>o||D>t&&f>o&&g>o||!a&&y>t&&b>o&&h>o)return!0}return!1})))return console.log("Returning zero odds due to percentage difference"),[{homeOdds:0,awayOdds:0,drawOdds:0}];var m=[];return r.forEach((function(r){return m.push(e.get(r))})),null!=m[0]?m.map((function(e){return{homeOdds:e.homeOdds,awayOdds:e.awayOdds,drawOdds:a?0:e.drawOdds}})):(console.log("Returning zero odds cause no matching bookmakers have been found"),[{homeOdds:0,awayOdds:0,drawOdds:0}])},w=function(e,r){var a=Math.abs(e-r)/e*100;return console.log("% diff: "+a),a},p="Soccer",m="Football",f="Basketball",b="Baseball",v="Hockey",g="Fighting",h="Tennis",A="eSports",D="Rugby",y="Volleyball",O="Handball",C="Cricket",N="Motosport",S="Golf",L=153,_=156,k=158,T=9977,P=9983,V=10138,B=100021,E=100121,F=[T,P,V,L,_,k,15312,15313,15314,15315,15316,15317,15318,15622,15623,15624,15625,15626,15627,15628,15632,15633,15634,15635,15636,15637,15638,15641,15642,15643,15644,15645,15646,15647,15648],j=((l={})[1]={sport:m,id:1,isDrawAvailable:!1},l[2]={sport:m,id:2,isDrawAvailable:!1},l[3]={sport:b,id:3,isDrawAvailable:!1},l[4]={sport:f,id:4,isDrawAvailable:!1},l[5]={sport:f,id:5,isDrawAvailable:!1},l[6]={sport:v,id:6,isDrawAvailable:!1},l[7]={sport:g,id:7,isDrawAvailable:!1},l[8]={sport:f,id:8,isDrawAvailable:!1},l[10]={sport:p,id:10,isDrawAvailable:!0},l[11]={sport:p,id:11,isDrawAvailable:!0},l[12]={sport:p,id:12,isDrawAvailable:!0},l[13]={sport:p,id:13,isDrawAvailable:!0},l[14]={sport:p,id:14,isDrawAvailable:!0},l[15]={sport:p,id:15,isDrawAvailable:!0},l[16]={sport:p,id:16,isDrawAvailable:!0},l[17]={sport:p,id:17,isDrawAvailable:!0},l[18]={sport:p,id:18,isDrawAvailable:!0},l[19]={sport:p,id:19,isDrawAvailable:!0},l[20]={sport:C,id:20,isDrawAvailable:!1},l[21]={sport:C,id:21,isDrawAvailable:!1},l[33]={sport:v,id:33,isDrawAvailable:!0},l[44]={sport:p,id:44,isDrawAvailable:!0},l[45]={sport:p,id:45,isDrawAvailable:!0},l[50]={sport:p,id:50,isDrawAvailable:!0},l[57]={sport:p,id:57,isDrawAvailable:!0},l[61]={sport:p,id:61,isDrawAvailable:!0},l[65]={sport:p,id:65,isDrawAvailable:!0},l[66]={sport:p,id:66,isDrawAvailable:!0},l[76]={sport:p,id:76,isDrawAvailable:!0},l[132]={sport:p,id:132,isDrawAvailable:!0},l[134]={sport:p,id:134,isDrawAvailable:!0},l[138]={sport:p,id:138,isDrawAvailable:!0},l[141]={sport:p,id:141,isDrawAvailable:!0},l[153]={sport:h,id:L,isDrawAvailable:!1},l[156]={sport:h,id:_,isDrawAvailable:!1},l[158]={sport:h,id:k,isDrawAvailable:!1},l[209]={sport:p,id:209,isDrawAvailable:!0},l[268]={sport:p,id:268,isDrawAvailable:!0},l[288]={sport:p,id:288,isDrawAvailable:!0},l[296]={sport:p,id:296,isDrawAvailable:!0},l[380]={sport:O,id:380,isDrawAvailable:!0},l[381]={sport:O,id:381,isDrawAvailable:!0},l[399]={sport:f,id:399,isDrawAvailable:!1},l[406]={sport:f,id:406,isDrawAvailable:!1},l[407]={sport:f,id:407,isDrawAvailable:!1},l[409]={sport:f,id:409,isDrawAvailable:!1},l[445]={sport:N,id:445,isDrawAvailable:!1},l[453]={sport:y,id:453,isDrawAvailable:!1},l[454]={sport:y,id:454,isDrawAvailable:!1},l[8910]={sport:"TableTennis",id:8910,isDrawAvailable:!1},l[497]={sport:N,id:497,isDrawAvailable:!1},l[536]={sport:p,id:536,isDrawAvailable:!0},l[8881]={sport:"Waterpolo",id:8881,isDrawAvailable:!0},l[8893]={sport:y,id:8893,isDrawAvailable:!1},l[8894]={sport:y,id:8894,isDrawAvailable:!1},l[9196]={sport:g,id:9196,isDrawAvailable:!1},l[9578]={sport:D,id:9578,isDrawAvailable:!0},l[9588]={sport:D,id:9588,isDrawAvailable:!0},l[9698]={sport:v,id:9698,isDrawAvailable:!0},l[9699]={sport:v,id:9699,isDrawAvailable:!0},l[9806]={sport:p,id:9806,isDrawAvailable:!0},l[9821]={sport:p,id:9821,isDrawAvailable:!0},l[9977]={sport:A,id:T,isDrawAvailable:!1},l[9983]={sport:A,id:P,isDrawAvailable:!1},l[10071]={sport:f,id:10071,isDrawAvailable:!1},l[10072]={sport:f,id:10072,isDrawAvailable:!1},l[10502]={sport:f,id:10502,isDrawAvailable:!1},l[10138]={sport:A,id:V,isDrawAvailable:!1},l[10199]={sport:p,id:10199,isDrawAvailable:!0},l[10216]={sport:p,id:10216,isDrawAvailable:!0},l[10595]={sport:g,id:10595,isDrawAvailable:!1},l[10611]={sport:p,id:10611,isDrawAvailable:!0},l[10613]={sport:p,id:10613,isDrawAvailable:!0},l[10615]={sport:p,id:10615,isDrawAvailable:!0},l[2e4]={sport:"Politics",id:2e4,isDrawAvailable:!1},l[20001]={sport:p,id:20001,isDrawAvailable:!0},l[20002]={sport:p,id:20002,isDrawAvailable:!0},l[20011]={sport:p,id:20011,isDrawAvailable:!0},l[100021]={sport:S,id:B,isDrawAvailable:!1},l[100121]={sport:S,id:E,isDrawAvailable:!1},l[230]={sport:p,id:230,isDrawAvailable:!0},l),M=function(e){var r=j[e];return r?r.sport:""},x=function(e,r,a){var t=e.score_home_total,o=e.score_away_total,i=e.clock,s=e.period,n=e.status,l=e.home_team,d=e.away_team,u=parseInt(s),c=M(r);return"completed"==n.toLowerCase()?{allow:!1,message:"Blocking game ".concat(l," - ").concat(d," because it is no longer live.")}:c===f?G(l,d,u,a.get(f)):c===v?G(l,d,u,a.get(v)):c===b?G(l,d,u,a.get(b)):c===p?I(l,d,i,s,a.get(p)):c===h?W(e,l,d,s,t,o,r,c):c===y?W(e,l,d,u,t,o,r,c):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},G=function(e,r,a,t){return!Number.isNaN(a)&&a>=t?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(a,". period")}:{allow:!0,message:""}},I=function(e,r,a,t,o){var i=Number(a);return!Number.isNaN(i)&&i>=o||Number.isNaN(i)&&"HALF"!=t?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(a,"min")}:{allow:!0,message:""}},W=function(e,r,a,t,o,i,s,n){var l=Number(t),d=U(l,e),u="atp"==e.league.toLowerCase(),c={home:o,away:i};return n==y?R(r,a,d,c,2,5==l?10:20):s.toString().startsWith(L)&&u?R(r,a,d,c,2,5):s.toString().startsWith(L)&&!u||s.toString().startsWith(_)||s.toString().startsWith(k)?R(r,a,d,c,1,5):{allow:!0,message:"The sport ".concat(s," does not have result constraint")}},U=function(e,r){var a=0,t=0;switch(e){case 1:a=Number(r.score_home_period_1),t=Number(r.score_away_period_1);break;case 2:a=Number(r.score_home_period_2),t=Number(r.score_away_period_2);break;case 3:a=Number(r.score_home_period_3),t=Number(r.score_away_period_3);break;case 4:a=Number(r.score_home_period_4),t=Number(r.score_away_period_4);break;case 5:a=Number(r.score_home_period_5),t=Number(r.score_away_period_5)}return{home:a,away:t}},R=function(e,r,a,t,o,i){return Number(t.home)!=o&&Number(t.away)!=o||!(Number(t.home)==o&&a.home>=i||Number(t.away)==o&&a.away>=i)?{allow:!0,message:"",currentHomeGameScore:a.home,currentAwayGameScore:a.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(t.home," - ").concat(t.away," (").concat(a.home," - ").concat(a.away,")")}},H=function(e,r,a,t,o,i){var s,n;if(F.includes(e)?(s=t.toLowerCase()==r.toLowerCase()||t.toLowerCase()==a.toLowerCase(),n=o.toLowerCase()==r.toLowerCase()||o.toLowerCase()==a.toLowerCase()):(s=t.toLowerCase()==r.toLowerCase(),n=o.toLowerCase()==a.toLowerCase()),!0!==s){var l=i.get(t.toLowerCase()),d=i.get(r.toLowerCase()),u=i.get(a.toLowerCase());if([l,d].some((function(e){return null==e})))return!1;s=F.includes(e)?l==d||l==u:l==d}if(!0!==n){var c=i.get(o.toLowerCase());if(d=i.get(r.toLowerCase()),[c,u=i.get(a.toLowerCase())].some((function(e){return null==e})))return!1;n=F.includes(e)&&c==d||c==u}return s&&n},z=function(e,r,a,t,o){var i;if(M(a)==h){var s=r.getTime(),n=e.getTime(),l=Math.abs(n-s);o&&(console.log("opticOddsTimestamp: ",s),console.log("marketTimestamp: ",n),console.log("differenceBetweenDates: ",l),console.log("tennisDifferenceEnvVariable: ",t)),i=l<=Number(60*t*1e3)}else i=r.toUTCString()==e.toUTCString();return i},K=function(e,r,a,t,o){var i=new Map;return e.forEach((function(e){var s,n,l=r.odds.filter((function(r){return r.sports_book_name.toLowerCase()==e.toLowerCase()})),d=t.get(a.homeTeam.toLowerCase()),u=t.get(a.awayTeam.toLowerCase()),c=0;null!=(s=null==d?l.find((function(e){var r=t.get(e.name.toLowerCase());return null==r?e.name.toLowerCase()==a.homeTeam.toLowerCase():r==a.homeTeam.toLowerCase()})):l.find((function(e){var r=t.get(e.name.toLowerCase());return null==r?e.name.toLowerCase()==d:r==d})))&&(c=s.price);var w=0;null!=(n=null==u?l.find((function(e){var r=t.get(e.name.toLowerCase());return null==r?e.name.toLowerCase()==a.awayTeam.toLowerCase():r==a.awayTeam.toLowerCase()})):l.find((function(e){var r=t.get(e.name.toLowerCase());return null==r?e.name.toLowerCase()==u:r==u})))&&(w=n.price);var p=0;if(o){var m=l.find((function(e){return"draw"==e.name.toLowerCase()}));null!=m&&(p=m.price)}i.set(e.toLowerCase(),{homeOdds:c,awayOdds:w,drawOdds:p})})),i},q=function(e,r,a){if(e.some((function(e){return 0===e})))return e;var t=e.reduce((function(e,r){return e+r}),0);if(t<=1)return Array(e.length).fill(0);if(0===a){if(!(r>100*(t-1)))return e;a=r}var o=1+a/100,i=o/t,s=e.map((function(e){return e*i}));if(s.some((function(e){return e>=1})))return Array(e.length).fill(0);var n=s.reduce((function(e,r){return e+r}),0);if(n<1)return Array(e.length).fill(0);var l=o/n;return s.map((function(e){return e*l}))},J=function(e,r,a,t){var o=e.find((function(e){return Number(e.typeId)===Number(a)&&Number(e.sportId)===Number(r)}));return o?{minSpread:o.minSpread?Number(o.minSpread):t,targetSpread:o.targetSpread?Number(o.targetSpread):0}:{minSpread:t,targetSpread:0}};return r})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overtime-live-trading-utils",
3
- "version": "0.0.91",
3
+ "version": "0.0.99",
4
4
  "description": "",
5
5
  "main": "main.js",
6
6
  "scripts": {
@@ -1,5 +1,4 @@
1
1
  import { League, Sport } from '../enums/sports';
2
- import { ASIAN_HANDICAP, POINT_SPREAD, RUN_LINE, TOTAL_GOALS, TOTAL_POINTS, TOTAL_RUNS } from './constantsOpticodds';
3
2
 
4
3
  export const LeagueMap: Record<number, any> = {
5
4
  [League.NCAAF]: {
@@ -11,29 +10,21 @@ export const LeagueMap: Record<number, any> = {
11
10
  sport: Sport.FOOTBALL,
12
11
  id: League.NFL,
13
12
  isDrawAvailable: false,
14
- spread: ASIAN_HANDICAP,
15
- total: TOTAL_POINTS,
16
13
  },
17
14
  [League.MLB]: {
18
15
  sport: Sport.BASEBALL,
19
16
  id: League.MLB,
20
17
  isDrawAvailable: false,
21
- spread: RUN_LINE,
22
- total: TOTAL_RUNS,
23
18
  },
24
19
  [League.NBA]: {
25
20
  sport: Sport.BASKETBALL,
26
21
  id: League.NBA,
27
22
  isDrawAvailable: false,
28
- spread: POINT_SPREAD,
29
- total: TOTAL_POINTS,
30
23
  },
31
24
  [League.NCAAB]: {
32
25
  sport: Sport.BASKETBALL,
33
26
  id: League.NCAAB,
34
27
  isDrawAvailable: false,
35
- spread: POINT_SPREAD,
36
- total: TOTAL_POINTS,
37
28
  },
38
29
  [League.NHL]: {
39
30
  sport: Sport.HOCKEY,
@@ -49,79 +40,57 @@ export const LeagueMap: Record<number, any> = {
49
40
  sport: Sport.BASKETBALL,
50
41
  id: League.WNBA,
51
42
  isDrawAvailable: false,
52
- spread: POINT_SPREAD,
53
- total: TOTAL_POINTS,
54
43
  },
55
44
  [League.MLS]: {
56
45
  sport: Sport.SOCCER,
57
46
  id: League.MLS,
58
47
  isDrawAvailable: true,
59
- spread: ASIAN_HANDICAP,
60
- total: TOTAL_GOALS,
61
48
  },
62
49
  [League.EPL]: {
63
50
  sport: Sport.SOCCER,
64
51
  id: League.EPL,
65
52
  isDrawAvailable: true,
66
- spread: ASIAN_HANDICAP,
67
- total: TOTAL_GOALS,
68
53
  },
69
54
  [League.LIGUE_ONE]: {
70
55
  sport: Sport.SOCCER,
71
56
  id: League.LIGUE_ONE,
72
57
  isDrawAvailable: true,
73
- spread: ASIAN_HANDICAP,
74
- total: TOTAL_GOALS,
75
58
  },
76
59
 
77
60
  [League.BUNDESLIGA]: {
78
61
  sport: Sport.SOCCER,
79
62
  id: League.BUNDESLIGA,
80
63
  isDrawAvailable: true,
81
- spread: ASIAN_HANDICAP,
82
- total: TOTAL_GOALS,
83
64
  },
84
65
  [League.LA_LIGA]: {
85
66
  sport: Sport.SOCCER,
86
67
  id: League.LA_LIGA,
87
68
  isDrawAvailable: true,
88
- spread: ASIAN_HANDICAP,
89
- total: TOTAL_GOALS,
90
69
  },
91
70
  [League.SERIE_A]: {
92
71
  sport: Sport.SOCCER,
93
72
  id: League.SERIE_A,
94
73
  isDrawAvailable: true,
95
- spread: ASIAN_HANDICAP,
96
- total: TOTAL_GOALS,
97
74
  },
98
75
  [League.UEFA_CL]: {
99
76
  sport: Sport.SOCCER,
100
77
  id: League.UEFA_CL,
101
78
  isDrawAvailable: true,
102
- spread: ASIAN_HANDICAP,
103
- total: TOTAL_GOALS,
104
79
  },
105
80
  [League.UEFA_EL]: {
106
81
  sport: Sport.SOCCER,
107
82
  id: League.UEFA_EL,
108
83
  isDrawAvailable: true,
109
- spread: ASIAN_HANDICAP,
110
- total: TOTAL_GOALS,
111
84
  },
112
85
  [League.FIFA_WC]: {
113
86
  sport: Sport.SOCCER,
114
87
  id: League.FIFA_WC,
115
88
  isDrawAvailable: true,
116
- spread: ASIAN_HANDICAP,
117
- total: TOTAL_GOALS,
118
89
  },
119
90
  [League.J1_LEAGUE]: {
120
91
  sport: Sport.SOCCER,
121
92
  id: League.J1_LEAGUE,
122
93
  isDrawAvailable: true,
123
- spread: ASIAN_HANDICAP,
124
- total: TOTAL_GOALS,
125
94
  },
126
95
  [League.IPL]: {
127
96
  sport: Sport.CRICKET,
@@ -142,90 +111,61 @@ export const LeagueMap: Record<number, any> = {
142
111
  sport: Sport.SOCCER,
143
112
  id: League.COPA_AMERICA,
144
113
  isDrawAvailable: true,
145
- spread: ASIAN_HANDICAP,
146
- total: TOTAL_GOALS,
147
114
  },
148
115
  [League.COPA_LIBERTADORES]: {
149
116
  sport: Sport.SOCCER,
150
117
  id: League.COPA_LIBERTADORES,
151
118
  isDrawAvailable: true,
152
- spread: ASIAN_HANDICAP,
153
- total: TOTAL_GOALS,
154
119
  },
155
120
  [League.UEFA_EURO]: {
156
121
  sport: Sport.SOCCER,
157
122
  id: League.UEFA_EURO,
158
123
  isDrawAvailable: true,
159
- spread: ASIAN_HANDICAP,
160
- total: TOTAL_GOALS,
161
124
  },
162
125
  [League.EREDIVISIE]: {
163
126
  sport: Sport.SOCCER,
164
127
  id: League.EREDIVISIE,
165
128
  isDrawAvailable: true,
166
- spread: ASIAN_HANDICAP,
167
- total: TOTAL_GOALS,
168
129
  },
169
130
  [League.PRIMEIRA_LIGA]: {
170
131
  sport: Sport.SOCCER,
171
132
  id: League.PRIMEIRA_LIGA,
172
133
  isDrawAvailable: true,
173
- spread: ASIAN_HANDICAP,
174
- total: TOTAL_GOALS,
175
134
  },
176
135
  [League.SUMMER_OLYMPICS_SOCCER_WOMEN]: {
177
136
  sport: Sport.SOCCER,
178
137
  id: League.SUMMER_OLYMPICS_SOCCER_WOMEN,
179
138
  isDrawAvailable: true,
180
- spread: ASIAN_HANDICAP,
181
- total: TOTAL_GOALS,
182
139
  },
183
140
  [League.SUMMER_OLYMPICS_SOCCER]: {
184
141
  sport: Sport.SOCCER,
185
142
  id: League.SUMMER_OLYMPICS_SOCCER,
186
143
  isDrawAvailable: true,
187
- spread: ASIAN_HANDICAP,
188
- total: TOTAL_GOALS,
189
144
  },
190
145
  [League.FIFA_WC_WOMEN]: {
191
146
  sport: Sport.SOCCER,
192
147
  id: League.FIFA_WC_WOMEN,
193
148
  isDrawAvailable: true,
194
- spread: ASIAN_HANDICAP,
195
- total: TOTAL_GOALS,
196
149
  },
197
150
  [League.ENGLAND_CUP]: {
198
151
  sport: Sport.SOCCER,
199
152
  id: League.ENGLAND_CUP,
200
153
  isDrawAvailable: true,
201
- spread: ASIAN_HANDICAP,
202
- total: TOTAL_GOALS,
203
154
  },
204
155
  [League.FRANCE_CUP]: {
205
156
  sport: Sport.SOCCER,
206
157
  id: League.FRANCE_CUP,
207
158
  isDrawAvailable: true,
208
- spread: ASIAN_HANDICAP,
209
- total: TOTAL_GOALS,
210
159
  },
211
160
  [League.SPAIN_CUP]: {
212
161
  sport: Sport.SOCCER,
213
162
  id: League.SPAIN_CUP,
214
163
  isDrawAvailable: true,
215
- spread: ASIAN_HANDICAP,
216
- total: TOTAL_GOALS,
217
164
  },
218
165
  [League.ITALY_CUP]: {
219
166
  sport: Sport.SOCCER,
220
167
  id: League.ITALY_CUP,
221
168
  isDrawAvailable: true,
222
- spread: ASIAN_HANDICAP,
223
- total: TOTAL_GOALS,
224
- },
225
- [League.TENNIS_WTA]: {
226
- sport: Sport.TENNIS,
227
- id: League.TENNIS_WTA,
228
- isDrawAvailable: false,
229
169
  },
230
170
  [League.TENNIS_GS]: {
231
171
  sport: Sport.TENNIS,
@@ -246,29 +186,21 @@ export const LeagueMap: Record<number, any> = {
246
186
  sport: Sport.SOCCER,
247
187
  id: League.GERMANY_CUP,
248
188
  isDrawAvailable: true,
249
- spread: ASIAN_HANDICAP,
250
- total: TOTAL_GOALS,
251
189
  },
252
190
  [League.BRAZIL_1]: {
253
191
  sport: Sport.SOCCER,
254
192
  id: League.BRAZIL_1,
255
193
  isDrawAvailable: true,
256
- spread: ASIAN_HANDICAP,
257
- total: TOTAL_GOALS,
258
194
  },
259
195
  [League.UEFA_EURO_U21]: {
260
196
  sport: Sport.SOCCER,
261
197
  id: League.UEFA_EURO_U21,
262
198
  isDrawAvailable: true,
263
- spread: ASIAN_HANDICAP,
264
- total: TOTAL_GOALS,
265
199
  },
266
200
  [League.FIFA_WORLD_CUP_U20]: {
267
201
  sport: Sport.SOCCER,
268
202
  id: League.FIFA_WORLD_CUP_U20,
269
203
  isDrawAvailable: true,
270
- spread: ASIAN_HANDICAP,
271
- total: TOTAL_GOALS,
272
204
  },
273
205
  [League.SUMMER_OLYMPICS_HANDBALL_WOMEN]: {
274
206
  sport: Sport.HANDBALL,
@@ -284,29 +216,21 @@ export const LeagueMap: Record<number, any> = {
284
216
  sport: Sport.BASKETBALL,
285
217
  id: League.EUROLEAGUE,
286
218
  isDrawAvailable: false,
287
- spread: POINT_SPREAD,
288
- total: TOTAL_POINTS,
289
219
  },
290
220
  [League.SUMMER_OLYMPICS_BASKETBALL]: {
291
221
  sport: Sport.BASKETBALL,
292
222
  id: League.SUMMER_OLYMPICS_BASKETBALL,
293
223
  isDrawAvailable: false,
294
- spread: POINT_SPREAD,
295
- total: TOTAL_POINTS,
296
224
  },
297
225
  [League.SUMMER_OLYMPICS_BASKETBALL_WOMEN]: {
298
226
  sport: Sport.BASKETBALL,
299
227
  id: League.SUMMER_OLYMPICS_BASKETBALL_WOMEN,
300
228
  isDrawAvailable: false,
301
- spread: POINT_SPREAD,
302
- total: TOTAL_POINTS,
303
229
  },
304
230
  [League.FIBA_WORLD_CUP]: {
305
231
  sport: Sport.BASKETBALL,
306
232
  id: League.FIBA_WORLD_CUP,
307
233
  isDrawAvailable: false,
308
- spread: POINT_SPREAD,
309
- total: TOTAL_POINTS,
310
234
  },
311
235
  [League.FORMULA1]: {
312
236
  sport: Sport.MOTOSPORT,
@@ -337,8 +261,6 @@ export const LeagueMap: Record<number, any> = {
337
261
  sport: Sport.SOCCER,
338
262
  id: League.SAUDI_PROFESSIONAL_LEAGUE,
339
263
  isDrawAvailable: true,
340
- spread: ASIAN_HANDICAP,
341
- total: TOTAL_GOALS,
342
264
  },
343
265
  [League.SUMMER_OLYMPICS_WATERPOLO]: {
344
266
  sport: Sport.WATERPOLO,
@@ -368,11 +290,13 @@ export const LeagueMap: Record<number, any> = {
368
290
  [League.SUMMER_OLYMPICS_RUGBY_WOMEN]: {
369
291
  sport: Sport.RUGBY,
370
292
  id: League.SUMMER_OLYMPICS_RUGBY_WOMEN,
293
+
371
294
  isDrawAvailable: true,
372
295
  },
373
296
  [League.SUMMER_OLYMPICS_HOCKEY_WOMEN]: {
374
297
  sport: Sport.HOCKEY,
375
298
  id: League.SUMMER_OLYMPICS_HOCKEY_WOMEN,
299
+
376
300
  isDrawAvailable: true,
377
301
  },
378
302
  [League.SUMMER_OLYMPICS_HOCKEY]: {
@@ -384,15 +308,11 @@ export const LeagueMap: Record<number, any> = {
384
308
  sport: Sport.SOCCER,
385
309
  id: League.UEFA_NATIONS_LEAGUE,
386
310
  isDrawAvailable: true,
387
- spread: ASIAN_HANDICAP,
388
- total: TOTAL_GOALS,
389
311
  },
390
312
  [League.CONCACAF_NATIONS_LEAGUE]: {
391
313
  sport: Sport.SOCCER,
392
314
  id: League.CONCACAF_NATIONS_LEAGUE,
393
315
  isDrawAvailable: true,
394
- spread: ASIAN_HANDICAP,
395
- total: TOTAL_GOALS,
396
316
  },
397
317
  [League.CSGO]: {
398
318
  sport: Sport.ESPORTS,
@@ -418,8 +338,6 @@ export const LeagueMap: Record<number, any> = {
418
338
  sport: Sport.BASKETBALL,
419
339
  id: League.SUMMER_OLYMPICS_QUALIFICATION,
420
340
  isDrawAvailable: false,
421
- spread: POINT_SPREAD,
422
- total: TOTAL_POINTS,
423
341
  },
424
342
  [League.LOL]: {
425
343
  sport: Sport.ESPORTS,
@@ -430,15 +348,11 @@ export const LeagueMap: Record<number, any> = {
430
348
  sport: Sport.SOCCER,
431
349
  id: League.CONMEBOL_WC_QUALIFICATIONS,
432
350
  isDrawAvailable: true,
433
- spread: ASIAN_HANDICAP,
434
- total: TOTAL_GOALS,
435
351
  },
436
352
  [League.UEFA_CONFERENCE_LEAGUE]: {
437
353
  sport: Sport.SOCCER,
438
354
  id: League.UEFA_CONFERENCE_LEAGUE,
439
355
  isDrawAvailable: true,
440
- spread: ASIAN_HANDICAP,
441
- total: TOTAL_GOALS,
442
356
  },
443
357
  [League.NON_TITLE_BOXING]: {
444
358
  sport: Sport.FIGHTING,
@@ -449,22 +363,16 @@ export const LeagueMap: Record<number, any> = {
449
363
  sport: Sport.SOCCER,
450
364
  id: League.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,
451
365
  isDrawAvailable: true,
452
- spread: ASIAN_HANDICAP,
453
- total: TOTAL_GOALS,
454
366
  },
455
367
  [League.UEFA_EUROPA_LEAGUE_QUALIFICATION]: {
456
368
  sport: Sport.SOCCER,
457
369
  id: League.UEFA_EUROPA_LEAGUE_QUALIFICATION,
458
370
  isDrawAvailable: true,
459
- spread: ASIAN_HANDICAP,
460
- total: TOTAL_GOALS,
461
371
  },
462
372
  [League.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]: {
463
373
  sport: Sport.SOCCER,
464
374
  id: League.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,
465
375
  isDrawAvailable: true,
466
- spread: ASIAN_HANDICAP,
467
- total: TOTAL_GOALS,
468
376
  },
469
377
  [League.US_ELECTION]: {
470
378
  sport: Sport.POLITICS,
@@ -500,8 +408,6 @@ export const LeagueMap: Record<number, any> = {
500
408
  sport: Sport.SOCCER,
501
409
  id: League.LIGA_MX,
502
410
  isDrawAvailable: true,
503
- spread: ASIAN_HANDICAP,
504
- total: TOTAL_GOALS,
505
411
  },
506
412
  };
507
413
 
@@ -53,7 +53,6 @@ export const League = {
53
53
  FRANCE_CUP: 134,
54
54
  SPAIN_CUP: 138,
55
55
  ITALY_CUP: 141,
56
- TENNIS_WTA: 152,
57
56
  TENNIS_GS: 153,
58
57
  TENNIS_MASTERS: 156,
59
58
  SUMMER_OLYMPICS_TENNIS: 158,
@@ -131,13 +130,6 @@ export const League = {
131
130
  TENNIS_MASTERS_LIVE_MAPPING_V2_20: 15646,
132
131
  TENNIS_MASTERS_LIVE_MAPPING_V2_21: 15647,
133
132
  TENNIS_MASTERS_LIVE_MAPPING_V2_22: 15648,
134
- TENNIS_WTA_LIVE_MAPPING_V2_1: 15322,
135
- TENNIS_WTA_LIVE_MAPPING_V2_2: 15323,
136
- TENNIS_WTA_LIVE_MAPPING_V2_3: 15324,
137
- TENNIS_WTA_LIVE_MAPPING_V2_4: 15325,
138
- TENNIS_WTA_LIVE_MAPPING_V2_5: 15326,
139
- TENNIS_WTA_LIVE_MAPPING_V2_6: 15327,
140
- TENNIS_WTA_LIVE_MAPPING_V2_7: 15328,
141
133
  };
142
134
 
143
135
  export const LEAGUES_NO_FORMAL_HOME_AWAY = [
@@ -176,11 +168,4 @@ export const LEAGUES_NO_FORMAL_HOME_AWAY = [
176
168
  League.TENNIS_MASTERS_LIVE_MAPPING_V2_20,
177
169
  League.TENNIS_MASTERS_LIVE_MAPPING_V2_21,
178
170
  League.TENNIS_MASTERS_LIVE_MAPPING_V2_22,
179
- League.TENNIS_WTA_LIVE_MAPPING_V2_1,
180
- League.TENNIS_WTA_LIVE_MAPPING_V2_2,
181
- League.TENNIS_WTA_LIVE_MAPPING_V2_3,
182
- League.TENNIS_WTA_LIVE_MAPPING_V2_4,
183
- League.TENNIS_WTA_LIVE_MAPPING_V2_5,
184
- League.TENNIS_WTA_LIVE_MAPPING_V2_6,
185
- League.TENNIS_WTA_LIVE_MAPPING_V2_7,
186
171
  ];
@@ -24,13 +24,6 @@ export const checkOddsFromBookmakers = (
24
24
  maxImpliedPercentageDifference: number,
25
25
  minOddsForDiffChecking: number
26
26
  ) => {
27
- console.log('########## CHECK ODDS START ##########');
28
- console.log('oddsMap: ' + oddsMap);
29
- console.log('arrayOfBookmakers: ' + arrayOfBookmakers);
30
- console.log('isTwoPositionalSport: ' + isTwoPositionalSport);
31
- console.log('maxImpliedPercentageDifference: ' + maxImpliedPercentageDifference);
32
- console.log('minOddsForDiffChecking: ' + minOddsForDiffChecking);
33
- console.log('########## CHECK ODDS END ##########');
34
27
  // Check if any bookmaker has odds of 0 or 0.0001
35
28
  const hasZeroOrOne = arrayOfBookmakers.some((bookmakerId) => {
36
29
  const line = oddsMap.get(bookmakerId);
@@ -66,7 +66,8 @@ export const gamesDatesMatching = (
66
66
  marketMaturityDate: Date,
67
67
  apiStartDate: Date,
68
68
  sportId: number,
69
- tennisDifferenceEnvVariable: number
69
+ tennisDifferenceEnvVariable: number,
70
+ areTeamNamesEqual?: boolean
70
71
  ) => {
71
72
  let datesMatch;
72
73
  const marketSport = getLeagueSport(sportId);
@@ -74,6 +75,12 @@ export const gamesDatesMatching = (
74
75
  const opticOddsTimestamp = apiStartDate.getTime();
75
76
  const marketTimestamp = marketMaturityDate.getTime();
76
77
  const differenceBetweenDates = Math.abs(marketTimestamp - opticOddsTimestamp);
78
+ if (areTeamNamesEqual) {
79
+ console.log('opticOddsTimestamp: ', opticOddsTimestamp);
80
+ console.log('marketTimestamp: ', marketTimestamp);
81
+ console.log('differenceBetweenDates: ', differenceBetweenDates);
82
+ console.log('tennisDifferenceEnvVariable: ', tennisDifferenceEnvVariable);
83
+ }
77
84
  if (differenceBetweenDates <= Number(tennisDifferenceEnvVariable * 60 * 1000)) {
78
85
  datesMatch = true;
79
86
  } else {