UNPKG

3.01 kBJavaScriptView Raw
1"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var rec=require("@jayesol/jayeson.lib.record"),proto=require("./protobuf_bundle"),codec_1=require("./codec"),TennisCodec=function(){function e(){this.codecHelper=new codec_1.CodecHelper}return e.prototype.getMatch=function(e,t,n,r,o,c,a,i,s){return new rec.TennisMatchImpl(n,r,o,t,e,c,a,i,s)},e.prototype.getEvent=function(e,t,n,r,o,c){return new rec.TennisEventImpl(e,t,n,r,o,c)},e.prototype.decodeMatch=function(e,u,t,l){var d=this,v=[];return e.forEach(function(e){var t=u[e.id],n=u[e.participants[0]],r=u[e.participants[1]],o=d.codecHelper.coerceInt64(e.startTime),c=u[e.league],a=rec.TennisGender[e.tennisMatch.gender.toString()],i=e.metaInfo,s=u[e.country];i=d.codecHelper.populatePKIntoMetaInfo(i,l);var p=d.getMatch(t,[],n,r,o,c,a,s,i);v.push(p)}),v},e.prototype.decodeEvent=function(e,i,s,p){var u=this,t=[],l={};for(var n in e.forEach(function(e){var t,n=i[e.id],r=null;switch(proto.TennisEvent.Type[e.eventType.tennisEventType]){case"NONE":r=rec.TennisEventType.NONE;break;case"GAME":r=rec.TennisEventType.GAME;break;case"SET":r=rec.TennisEventType.SET;break;case"POINT":r=rec.TennisEventType.POINT;break;case"HOME_GAME":r=rec.TennisEventType.HOME_GAME;break;case"AWAY_GAME":r=rec.TennisEventType.AWAY_GAME}t=e.metaInfo;var o=[];null!=e.state&&o.push(u.decodeState(i[e.matchId],n,e.state,i,s,p));var c=i[e.matchId],a=u.getEvent(n,[],o,c,r,t);void 0===l[c]&&(l[c]=[]),l[c].push(a)}),l){var r=this.getMatch(n,l[n],null,null,0,null,null,null,null);t.push(r)}return t},e.prototype.decodeRecord=function(e,S,t,n){var m=this,r=[],M={};for(var o in e.forEach(function(e){var t=m.codecHelper.coerceInt64(e.id),n=S[e.source],r=S[e.matchId],o=S[e.eventId],c=rec.OddType[e.oddType.toString()],a=rec.LBType[e.lbType.toString()],i=e.timeType.tennisTimeType,s=new rec.TennisTimeType(i.match,i.set,i.game),p=rec.OddFormat[e.format.toString()],u=e.metaInfo,l=e.rates[0],d=e.rates[1],v=e.rates[2],T=e.pivotValue,h=rec.PivotBias[e.pivotBias.toString()],E=rec.PivotType[e.pivotType.toString()],y=S[e.rateIds[0]],f=S[e.rateIds[1]],g=S[e.rateIds[2]],I=new rec.TennisRecord(r,o,t,c,a,s,n,p,u,l,d,v,T,E,h,y,f,g,!1);void 0===M[r]&&(M[r]={}),void 0===M[r][o]&&(M[r][o]=[]),M[r][o].push(I)}),M){var c=M[o],a=[];for(var i in c){var s=this.getEvent(i,c[i],null,o,null,null);a.push(s)}var p=this.getMatch(o,a,null,null,0,null,null,null,null);r.push(p)}return r},e.prototype.decodeState=function(e,t,n,r,o,c,a){void 0===a&&(a=Date.now());var i=n.participantStats[0].scores,s=n.participantStats[1].scores;if(i.length<10)for(var p=i.length,u=0;p+u<10;u++)i.push(-1);if(s.length<10){var l=s.length;for(u=0;l+u<10;u++)s.push(-1)}var d=new rec.TennisStats(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9]),v=new rec.TennisStats(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]),T=n.duration,h=n.tennisEventState.set,E=n.tennisEventState.game,y=n.tennisEventState.bookPriority;return new rec.TennisEventState(d,v,T,c,e,t,y,a,h,E)},e}();exports.TennisCodec=TennisCodec;
\No newline at end of file