UNPKG

4.43 kBJavaScriptView Raw
1"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jayeson_lib_record_1=require("@jayesol/jayeson.lib.record"),proto=require("./protobuf_bundle"),codec_1=require("./codec"),BasketballCodec=function(){function e(e){void 0===e&&(e=new codec_1.CodecHelper),this.codecHelper=e}return e.prototype.decodeMatch=function(e,b,a,i){var d=this;return e.map(function(e){var a=b[e.participants[0]],t=b[e.participants[1]],r=b[e.id],o=d.codecHelper.coerceInt64(e.startTime),l=b[e.league],s=b[e.country],n=null,_={};null!=e.metaInfo&&(_=e.metaInfo);var c=e.basketballMatch;if(c)switch(c.gender){case proto.BasketballMatch.Gender.MEN:n=jayeson_lib_record_1.BasketballGender.MEN;break;case proto.BasketballMatch.Gender.WOMEN:n=jayeson_lib_record_1.BasketballGender.WOMEN}return _=d.codecHelper.populatePKIntoMetaInfo(_,i),new jayeson_lib_record_1.BasketballMatchImpl(a,t,o,[],r,l,n,s,_)})},e.prototype.decodeEvent=function(e,n,_,c){var b=this,a=[],i={};for(var t in e.forEach(function(e){var a=n[e.id],t=e.metaInfo,r=jayeson_lib_record_1.BasketballEventType.NONE;switch(e.eventType.basketballEventType){case proto.BasketballEvent.Type.NONE:r=jayeson_lib_record_1.BasketballEventType.NONE;break;case proto.BasketballEvent.Type.FIRST_TO_20:r=jayeson_lib_record_1.BasketballEventType.FIRST_TO_20;break;case proto.BasketballEvent.Type.LAST_BASKET:r=jayeson_lib_record_1.BasketballEventType.LAST_BASKET;break;case proto.BasketballEvent.Type.TEAM_POINTS:r=jayeson_lib_record_1.BasketballEventType.TEAM_POINTS;break;case proto.BasketballEvent.Type.THREE_POINTERS:r=jayeson_lib_record_1.BasketballEventType.THREE_POINTERS;break;case proto.BasketballEvent.Type.HOME_POINT:r=jayeson_lib_record_1.BasketballEventType.HOME_POINT;break;case proto.BasketballEvent.Type.AWAY_POINT:r=jayeson_lib_record_1.BasketballEventType.AWAY_POINT}var o=n[e.matchId],l=[];null!=e.state&&l.push(b.decodeState(o,a,e.state,n,_,c));var s=new jayeson_lib_record_1.BasketballEventImpl(a,[],l,o,r,t);void 0===i[o]&&(i[o]=[]),i[o].push(s)}),i){var r=new jayeson_lib_record_1.BasketballMatchImpl("","",0,i[t],t,"",jayeson_lib_record_1.BasketballGender.MEN,"",{});a.push(r)}return a},e.prototype.decodeRecord=function(e,I,a,t){var m=this,r=[],S={};for(var o in e.forEach(function(e){var a=m.codecHelper.coerceInt64(e.id),t=jayeson_lib_record_1.OddType[e.oddType.toString()],r=jayeson_lib_record_1.LBType[e.lbType.toString()],o=null,l=e.timeType.basketballTimeType;switch(proto.BasketballTimeType.SettleOn[l.settle.toString()]){case"FT":o=jayeson_lib_record_1.BasketballTimeType.FT;break;case"H1":o=jayeson_lib_record_1.BasketballTimeType.H1;break;case"H2":o=jayeson_lib_record_1.BasketballTimeType.H2;break;case"Q1":o=jayeson_lib_record_1.BasketballTimeType.Q1;break;case"Q2":o=jayeson_lib_record_1.BasketballTimeType.Q2;break;case"Q3":o=jayeson_lib_record_1.BasketballTimeType.Q3;break;case"Q4":o=jayeson_lib_record_1.BasketballTimeType.Q4}var s=I[e.source],n=jayeson_lib_record_1.OddFormat[e.format.toString()],_=e.metaInfo,c=e.pivotValue,b=jayeson_lib_record_1.PivotType[e.pivotType.toString()],i=jayeson_lib_record_1.PivotBias[e.pivotBias.toString()],d=e.basketballRecord,p=!1;d&&(p=d.swapped);var y=e.rates[0],T=e.rates[1],k=e.rates[2],v=I[e.rateIds[0]],B=I[e.rateIds[1]],E=I[e.rateIds[2]],u=I[e.eventId],j=I[e.matchId],h=new jayeson_lib_record_1.BasketballRecord(j,u,a,t,r,o,s,n,_,y,T,k,c,b,i,v,B,E,p);void 0===S[j]&&(S[j]={}),void 0===S[j][u]&&(S[j][u]=[]),S[j][u].push(h)}),S){var l=S[o],s=[];for(var n in l){var _=new jayeson_lib_record_1.BasketballEventImpl(n,l[n],[],o,jayeson_lib_record_1.BasketballEventType.NONE,{});s.push(_)}var c=new jayeson_lib_record_1.BasketballMatchImpl("","",0,s,o,"",jayeson_lib_record_1.BasketballGender.MEN,"",{});r.push(c)}return r},e.prototype.decodeState=function(e,a,t,r,o,l,s){void 0===s&&(s=Date.now());var n=t.duration,_=t.basketballEventState,c=jayeson_lib_record_1.BasketballSegment[t.basketballEventState.segment.toString()],b=_.timeout,i=t.participantStats[0].scores,d=t.participantStats[1].scores;if(i.length<7)for(var p=i.length,y=0;p+y<7;y++)i.push(-1);if(d.length<7){var T=d.length;for(y=0;T+y<7;y++)d.push(-1)}var k=new jayeson_lib_record_1.BasketballStats(i[0],i[1],i[2],i[3],i[4],i[5],i[6]),v=new jayeson_lib_record_1.BasketballStats(d[0],d[1],d[2],d[3],d[4],d[5],d[6]),B=_.bookPriority;return new jayeson_lib_record_1.BasketballEventState(k,v,n,l,e,a,s,c,b,B)},e}();exports.BasketballCodec=BasketballCodec;
\No newline at end of file