@jayesol/jayeson.lib.sports 2.2.7-beta4 → 2.2.7-beta6

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/lib/receive.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,s,t,r){void 0===r&&(r=t);var a=Object.getOwnPropertyDescriptor(s,t);a&&!("get"in a?!s.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return s[t]}}),Object.defineProperty(e,r,a)}:function(e,s,t,r){void 0===r&&(r=t),e[r]=s[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,s){Object.defineProperty(e,"default",{enumerable:!0,value:s})}:function(e,s){e.default=s}),__decorate=this&&this.__decorate||function(e,s,t,r){var a,o=arguments.length,n=o<3?s:null===r?r=Object.getOwnPropertyDescriptor(s,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,s,t,r);else for(var i=e.length-1;i>=0;i--)(a=e[i])&&(n=(o<3?a(n):o>3?a(s,t,n):a(s,t))||n);return o>3&&n&&Object.defineProperty(s,t,n),n},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var s={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(s,e,t);return __setModuleDefault(s,e),s},__metadata=this&&this.__metadata||function(e,s){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,s)},__param=this&&this.__param||function(e,s){return function(t,r){s(t,r,e)}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MergeableIncoming=exports.SportsFeedInProcessor=exports.StreamCommandProcessor=exports.InEndPointEventHandler=void 0;const D=__importStar(require("@jayesol/jayeson.lib.delivery")),Collections=__importStar(require("typescript-collections")),core_1=require("./core"),message_class_1=require("./message_class"),merge_1=require("./merge"),data_structure_1=require("./data_structure");let circular=require("circular-json");require("reflect-metadata");const injection_js_1=require("injection-js"),codec_1=require("./codec");let InEndPointEventHandler=class{constructor(e,s,t){this._streamSources={},this._filterData=null,this._startMessage=e,this._sportsMsgGrp=s,this._streamNameCode=t,this._exclude=e.exclude,this._wireFormat=e.wireFormat}setfilterData(e){this._filterData=e}streamSources(){return this._streamSources}exclude(){return this._exclude}wireFormat(){return this._wireFormat}startMessage(){return this._startMessage}sportsMsgGrp(){return this._sportsMsgGrp}streamNameCode(){return this._streamNameCode}filterData(){return this._filterData}onEvent(e){if(e instanceof D.Subscriber.Event.ConsumptionStart){for(let s in e.streams)if(e.streams.hasOwnProperty(s))for(let t=0;t<e.streams[s].length;t++){if(parseInt(s)==this.sportsMsgGrp().id()){let r=e.streams[s][t];this._streamSources[r]=e.endPoint;let a=new codec_1.FilterRequest(codec_1.FilterRequest.IGNORED_REQUEST_ID,this.filterData());this.sendFilter(a,r),console.log("Sending Start Message to stream : '"+r+"'");let o=new D.MessageWrapper(this._startMessage,this._sportsMsgGrp.ADMIN_START_SUBSCRIBE_FEED());this.sendMessage(r,o)}}}else if(e instanceof D.Subscriber.Event.ConsumptionError){let s=e.client.config.url+" has errors on consumption: ";for(let t in e.streams)if(e.streams.hasOwnProperty(t)){s+="\n"+t+":[";for(let r=0;r<e.streams[t].length;r++)s+=e.streams[t][r]+",";s=s.substring(1,s.length-1),s+="]"}console.log(s)}else console.log("Unidentified event received by onEvent: "+circular.stringify(e))}sendMessage(e,s){s.addMetaInfo(this._streamNameCode.code(),e);let t=this._streamSources[e];null==t?console.log("No Endpoint present corresponding to stream '"+e+"'. Unable to send message"):t.send(s)}updateFilter(e){this._filterData=e.getFilterData(),this.sendFilter(e)}sendFilter(e,s=null){if(null!==s)this._sendFilter(e,s);else for(let s in this._streamSources)this._streamSources.hasOwnProperty(s)&&this._sendFilter(e,s)}_sendFilter(e,s){let t=e.getFilterData(),r=null;null!=t?(r=new D.MessageWrapper(e,this._sportsMsgGrp.FILTER_SET()),console.log("Sending FILTER_SET to stream: '"+s+"' with filter data: "+JSON.stringify(t))):(r=new D.MessageWrapper(e.getRequestId().toString(),this._sportsMsgGrp.FILTER_REMOVE()),console.log("Sending FILTER_REMOVE to stream: '"+s+"'")),this.sendMessage(s,r)}};InEndPointEventHandler=__decorate([(0,injection_js_1.Injectable)(),__metadata("design:paramtypes",[message_class_1.StartSubscribeFeed,message_class_1.SportsFeedMessageGroup,D.StreamNameCode])],InEndPointEventHandler),exports.InEndPointEventHandler=InEndPointEventHandler;let StreamCommandProcessor=class{constructor(e,s){this._fsRepo=e,this._sportsGrp=s,this.messageClassName={0:"DATA_RESET",1:"DATA_INSERT_ODD",2:"DATA_UPDATE_ODD",3:"DATA_DELETE_ODD",4:"DATA_INSERT_EVENT",5:"DATA_UPDATE_EVENT",6:"DATA_DELETE_EVENT",7:"DATA_INSERT_MATCH",8:"DATA_UPDATE_MATCH",9:"DATA_DELETE_MATCH",10:"TTL_REMOVE",11:"TTL_RESTORE",13:"FILTER_REMOVE",14:"FILTER_SET",16:"ADMIN_START_SUBSCRIBE_FEED",17:"ADMIN_REFRESH"}}process(e,s,t=null){if(null!=s&&s instanceof data_structure_1.Incoming){let e=s,t=this.messageClassName[e.msgType().id()];console.debug("SCP processing: "+t)}if(null==t){let t=this._fsRepo.appendSnapshot(e,s);for(let e of t)this._fsRepo.push(e)}else this._fsRepo.push(t)}fsRepo(){return this._fsRepo}sportsGrp(){return this._sportsGrp}printMessage(e){let s=this.getClassName(e),t=e.delta();switch(this.printPartitionKeys(s,t),e.msgType().id()){case this._sportsGrp.DATA_INSERT_MATCH().id():case this._sportsGrp.DATA_UPDATE_MATCH().id():case this._sportsGrp.DATA_DELETE_MATCH().id():this.printMatch(s,t);break;case this._sportsGrp.DATA_INSERT_ODD().id():case this._sportsGrp.DATA_UPDATE_ODD().id():case this._sportsGrp.DATA_DELETE_ODD().id():this.printRecord(s,t)}}getClassName(e){if(e instanceof core_1.TTLOutgoing){return e.getTtlType()==core_1.TTLType.REMOVE?"TTL_REM":"TTL_RES"}return this.messageClassName[e.msgType().id()]}printMatch(e,s){let t=s.matches();for(let s=0;s<t.length;s++)console.log(`[${e}] ${t[s].id()}`)}printRecord(e,s){let t=s.matches();for(let s=0;s<t.length;s++){let r=t[s].events();for(let s=0;s<r.length;s++){let t=r[s].records();for(let s=0;s<t.length;s++){let r=t[s];console.log(`[${e}] ${r.matchId()}_${r.eventId()}_${r.id()}_${r.source()}_${r.oddType()}_${r.oddFormat()}`)}}}}printPartitionKeys(e,s){let t=s.getPartitions().toString();console.log(`[${e}][PK]${t}`)}};StreamCommandProcessor=__decorate([(0,injection_js_1.Injectable)(),__param(0,(0,injection_js_1.Inject)(core_1.FSREPO_IMPL)),__metadata("design:paramtypes",[Object,message_class_1.SportsFeedMessageGroup])],StreamCommandProcessor),exports.StreamCommandProcessor=StreamCommandProcessor;let SportsFeedInProcessor=class extends D.IMessageGroupProcessor{constructor(e,s,t,r){super(s),this.scp=e,this.sportsFeedMsgGroup=s,this.snCode=t,this.recycleBin=r}process(e){let s=e.getMetaInfo(this.snCode.code());if(null!=s&&""!==s)if(this.isFeedMessage(e))if(this.sportsFeedMsgGroup.isIndicatorMessage(e.messageClass)){let t=this.processIndicatorMessage(e);this.scp.process(s,null,t)}else{let t=new MergeableIncoming(this.sportsFeedMsgGroup,e.messageClass,s,e.message,this.recycleBin);this.triggerTtlRestoreIfApplicable(t),this.scp.process(t.stream(),t)}else console.log("SportsFeedInProcessor received unknown messageclass: "+circular.stringify(e.messageClass)+". Ignoring");else console.log("SportsFeedInProcessor received messagewrapper with no StreamName. Ignoring.")}processIndicatorMessage(e){return e.messageClass==this.sportsFeedMsgGroup.TTL_RESTORE_START()&&e.message.getPartitions().forEach(e=>{this.recycleBin.clearBin(e)}),new data_structure_1.OutgoingImpl(e.messageClass,e.message)}triggerTtlRestoreIfApplicable(e){if(null!=this.getRecycleBin()&&null!=this.getRecycleBin().getTtlConfig()&&this.getRecycleBin().getTtlConfig().isEnableTtl()){let s=this.getRecycleBin().getTtlRestoreSnapshot(e);null!=s&&this.scp.process(s.getStream(),s)}}triggerTtlRemove(){if(null!=this.getRecycleBin()){this.getRecycleBin().getTtlRemoveSnapshot().forEach(e=>{this.scp.process(e.getStream(),e)})}}startTtlVerification(){if(null!=this.getRecycleBin()){let e=this.getRecycleBin().getTtlConfig();if(null!=e&&e.isEnableTtl()){let s=e.getRunInterval();setInterval(()=>this.triggerTtlRemove(),s),console.log("Scheduled TTLCheck with interval of "+s)}else console.log("No TTL set. Not scheduling any TTL.")}}isFeedMessage(e){let s=e.messageClass;return s instanceof message_class_1.InsertOddMessageClass||s instanceof message_class_1.UpdateOddMessageClass||s instanceof message_class_1.DeleteOddMessageClass||s instanceof message_class_1.InsertEventMessageClass||s instanceof message_class_1.UpdateEventMessageClass||s instanceof message_class_1.DeleteEventMessageClass||s instanceof message_class_1.InsertMatchMessageClass||s instanceof message_class_1.UpdateMatchMessageClass||s instanceof message_class_1.DeleteMatchMessageClass||s instanceof message_class_1.RefreshMessageClass||s instanceof message_class_1.TTLRemoveMessageClass||s instanceof message_class_1.TTLRestoreMessageClass||s instanceof message_class_1.ResetMessageClass||s instanceof message_class_1.SwitchFilterStartMessageClass||s instanceof message_class_1.SwitchFilterFailMessageClass||s==this.sportsFeedMsgGroup.SWITCH_FILTER_START()||s==this.sportsFeedMsgGroup.SWITCH_FILTER_END()||s==this.sportsFeedMsgGroup.FULLSNAPSHOT_START()||s==this.sportsFeedMsgGroup.FULLSNAPSHOT_END()||s==this.sportsFeedMsgGroup.SWITCH_FILTER_FAIL()||s==this.sportsFeedMsgGroup.TTL_RESTORE_START()||s==this.sportsFeedMsgGroup.TTL_RESTORE_END()}getScp(){return this.scp}getRecycleBin(){return this.recycleBin}};SportsFeedInProcessor=__decorate([(0,injection_js_1.Injectable)(),__metadata("design:paramtypes",[StreamCommandProcessor,message_class_1.SportsFeedMessageGroup,D.StreamNameCode,core_1.RecycleBin])],SportsFeedInProcessor),exports.SportsFeedInProcessor=SportsFeedInProcessor;class MergeableIncoming extends data_structure_1.Incoming{constructor(e,s,t,r,a){super(s,t,r),this.sportsGrp=e,this.bin=a}apply(e){null==e&&(e=data_structure_1.IndexedSnapshotImpl.EMPTY_SNAPSHOT);let s=[];this.beforeSnap=e;let t=new data_structure_1.MergeableWrapper;if(this.msgType()instanceof message_class_1.InsertMatchMessageClass||this.msgType()instanceof message_class_1.InsertEventMessageClass||this.msgType()instanceof message_class_1.DeleteMatchMessageClass||this.msgType()instanceof message_class_1.DeleteEventMessageClass||this.msgType()instanceof message_class_1.UpdateEventMessageClass){let r=merge_1.SnapshotUtil.combineSnapshots(this.msgType(),this.data(),e),a=merge_1.DeltaTransformingLogicImpl.transform(this.sportsGrp,this.stream(),this.msgType(),this.data(),r);for(let e of a){let t=new core_1.Delta(e,r.getAfterSs(),this.beforeSnap);s.push(t),this.beforeSnap=r.getAfterSs()}t.setAfter(r.getAfterSs()),t.setDeltaOut(s)}else if(this.msgType()instanceof message_class_1.TTLRemoveMessageClass){let s=null,r=e,a=new Collections.Dictionary,o=[],n=!1,i=e.getPartitionMap();for(let e of this.data().getPartitions().toArray())console.log("removing keys from upstream "+JSON.stringify(e)),i.containsKey(e)&&(n=!0,a.setValue(e,i.getValue(e)),s=this.bin.removeData(new data_structure_1.TTLWrapper,r,e),r=s.getRemainingSs(),o.push(s.getRemovedSs()));n?(console.log("reseting -----\x3e"+JSON.stringify(a.keys())),t=merge_1.DeltaTransformingLogicImpl.transformTTLRemove(o,this.bin.getGrp(),this.stream(),e,r,a)):(t.setDeltaOut([]),t.setAfter(e))}else if(this.msgType()instanceof message_class_1.TTLRestoreMessageClass){let s=null,r=e,a=new Collections.Dictionary,o=!1,n={},i=[];for(let e of this.data().getPartitions().toArray())if(console.log("restoring keys from upstream "+JSON.stringify(e)),this.bin.containData(e)){o=!0;let t=(new Date).getTime();a.setValue(e,t),n=this.bin.copyData(e,n),s=this.bin.restoreData(new data_structure_1.TTLWrapper,r,e,t),r=s.getRemainingSs(),i.push(s.getRestoredSs())}o?(console.log("restoring -----\x3e"+JSON.stringify(a.keys())),t=merge_1.DeltaTransformingLogicImpl.transformTTLRestore(i,this.bin.getGrp(),this.stream(),e,r,n,a)):(t.setAfter(e),t.setDeltaOut([]))}else{let r=merge_1.SnapshotUtil.combineSnapshots(this.msgType(),this.data(),e),a=new core_1.Delta(this,r.getAfterSs(),e);s.push(a),t.setDeltaOut(s),t.setAfter(r.getAfterSs())}return t}}exports.MergeableIncoming=MergeableIncoming;
1
+ "use strict";var __extends=this&&this.__extends||function(){var e=function(t,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])},e(t,s)};return function(t,s){if("function"!=typeof s&&null!==s)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");function r(){this.constructor=t}e(t,s),t.prototype=null===s?Object.create(s):(r.prototype=s.prototype,new r)}}(),__createBinding=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,n)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=t[s]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__decorate=this&&this.__decorate||function(e,t,s,r){var n,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,r);else for(var i=e.length-1;i>=0;i--)(n=e[i])&&(a=(o<3?n(a):o>3?n(t,s,a):n(t,s))||a);return o>3&&a&&Object.defineProperty(t,s,a),a},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&__createBinding(t,e,s);return __setModuleDefault(t,e),t},__metadata=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__param=this&&this.__param||function(e,t){return function(s,r){t(s,r,e)}},__values=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,s=t&&e[t],r=0;if(s)return s.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MergeableIncoming=exports.SportsFeedInProcessor=exports.StreamCommandProcessor=exports.InEndPointEventHandler=void 0;var D=__importStar(require("@jayesol/jayeson.lib.delivery")),Collections=__importStar(require("typescript-collections")),core_1=require("./core"),message_class_1=require("./message_class"),merge_1=require("./merge"),data_structure_1=require("./data_structure"),circular=require("circular-json");require("reflect-metadata");var injection_js_1=require("injection-js"),codec_1=require("./codec"),InEndPointEventHandler=function(){function e(e,t,s){this._streamSources={},this._filterData=null,this._startMessage=e,this._sportsMsgGrp=t,this._streamNameCode=s,this._exclude=e.exclude,this._wireFormat=e.wireFormat}return e.prototype.setfilterData=function(e){this._filterData=e},e.prototype.streamSources=function(){return this._streamSources},e.prototype.exclude=function(){return this._exclude},e.prototype.wireFormat=function(){return this._wireFormat},e.prototype.startMessage=function(){return this._startMessage},e.prototype.sportsMsgGrp=function(){return this._sportsMsgGrp},e.prototype.streamNameCode=function(){return this._streamNameCode},e.prototype.filterData=function(){return this._filterData},e.prototype.onEvent=function(e){if(e instanceof D.Subscriber.Event.ConsumptionStart){for(var t in e.streams)if(e.streams.hasOwnProperty(t))for(var s=0;s<e.streams[t].length;s++){if(parseInt(t)==this.sportsMsgGrp().id()){var r=e.streams[t][s];this._streamSources[r]=e.endPoint;var n=new codec_1.FilterRequest(codec_1.FilterRequest.IGNORED_REQUEST_ID,this.filterData());this.sendFilter(n,r),console.log("Sending Start Message to stream : '"+r+"'");var o=new D.MessageWrapper(this._startMessage,this._sportsMsgGrp.ADMIN_START_SUBSCRIBE_FEED());this.sendMessage(r,o)}}}else if(e instanceof D.Subscriber.Event.ConsumptionError){var a=e.client.config.url+" has errors on consumption: ";for(var t in e.streams)if(e.streams.hasOwnProperty(t)){a+="\n"+t+":[";for(s=0;s<e.streams[t].length;s++)a+=e.streams[t][s]+",";a=a.substring(1,a.length-1),a+="]"}console.log(a)}else console.log("Unidentified event received by onEvent: "+circular.stringify(e))},e.prototype.sendMessage=function(e,t){t.addMetaInfo(this._streamNameCode.code(),e);var s=this._streamSources[e];null==s?console.log("No Endpoint present corresponding to stream '"+e+"'. Unable to send message"):s.send(t)},e.prototype.updateFilter=function(e){this._filterData=e.getFilterData(),this.sendFilter(e)},e.prototype.sendFilter=function(e,t){if(void 0===t&&(t=null),null!==t)this._sendFilter(e,t);else for(var s in this._streamSources)this._streamSources.hasOwnProperty(s)&&this._sendFilter(e,s)},e.prototype._sendFilter=function(e,t){var s=e.getFilterData(),r=null;null!=s?(r=new D.MessageWrapper(e,this._sportsMsgGrp.FILTER_SET()),console.log("Sending FILTER_SET to stream: '"+t+"' with filter data: "+JSON.stringify(s))):(r=new D.MessageWrapper(e.getRequestId().toString(),this._sportsMsgGrp.FILTER_REMOVE()),console.log("Sending FILTER_REMOVE to stream: '"+t+"'")),this.sendMessage(t,r)},e=__decorate([(0,injection_js_1.Injectable)(),__metadata("design:paramtypes",[message_class_1.StartSubscribeFeed,message_class_1.SportsFeedMessageGroup,D.StreamNameCode])],e)}();exports.InEndPointEventHandler=InEndPointEventHandler;var StreamCommandProcessor=function(){function e(e,t){this._fsRepo=e,this._sportsGrp=t,this.messageClassName={0:"DATA_RESET",1:"DATA_INSERT_ODD",2:"DATA_UPDATE_ODD",3:"DATA_DELETE_ODD",4:"DATA_INSERT_EVENT",5:"DATA_UPDATE_EVENT",6:"DATA_DELETE_EVENT",7:"DATA_INSERT_MATCH",8:"DATA_UPDATE_MATCH",9:"DATA_DELETE_MATCH",10:"TTL_REMOVE",11:"TTL_RESTORE",13:"FILTER_REMOVE",14:"FILTER_SET",16:"ADMIN_START_SUBSCRIBE_FEED",17:"ADMIN_REFRESH"}}return e.prototype.process=function(e,t,s){var r,n;if(void 0===s&&(s=null),null!=t&&t instanceof data_structure_1.Incoming){var o=t,a=this.messageClassName[o.msgType().id()];console.debug("SCP processing: "+a)}if(null==s){var i=this._fsRepo.appendSnapshot(e,t);try{for(var c=__values(i),l=c.next();!l.done;l=c.next()){var p=l.value;this._fsRepo.push(p)}}catch(e){r={error:e}}finally{try{l&&!l.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}}else this._fsRepo.push(s)},e.prototype.fsRepo=function(){return this._fsRepo},e.prototype.sportsGrp=function(){return this._sportsGrp},e.prototype.printMessage=function(e){var t=this.getClassName(e),s=e.delta();switch(this.printPartitionKeys(t,s),e.msgType().id()){case this._sportsGrp.DATA_INSERT_MATCH().id():case this._sportsGrp.DATA_UPDATE_MATCH().id():case this._sportsGrp.DATA_DELETE_MATCH().id():this.printMatch(t,s);break;case this._sportsGrp.DATA_INSERT_ODD().id():case this._sportsGrp.DATA_UPDATE_ODD().id():case this._sportsGrp.DATA_DELETE_ODD().id():this.printRecord(t,s)}},e.prototype.getClassName=function(e){return e instanceof core_1.TTLOutgoing?e.getTtlType()==core_1.TTLType.REMOVE?"TTL_REM":"TTL_RES":this.messageClassName[e.msgType().id()]},e.prototype.printMatch=function(e,t){for(var s=t.matches(),r=0;r<s.length;r++)console.log("[".concat(e,"] ").concat(s[r].id()))},e.prototype.printRecord=function(e,t){for(var s=t.matches(),r=0;r<s.length;r++)for(var n=s[r].events(),o=0;o<n.length;o++)for(var a=n[o].records(),i=0;i<a.length;i++){var c=a[i];console.log("[".concat(e,"] ").concat(c.matchId(),"_").concat(c.eventId(),"_").concat(c.id(),"_").concat(c.source(),"_").concat(c.oddType(),"_").concat(c.oddFormat()))}},e.prototype.printPartitionKeys=function(e,t){var s=t.getPartitions().toString();console.log("[".concat(e,"][PK]").concat(s))},e=__decorate([(0,injection_js_1.Injectable)(),__param(0,(0,injection_js_1.Inject)(core_1.FSREPO_IMPL)),__metadata("design:paramtypes",[Object,message_class_1.SportsFeedMessageGroup])],e)}();exports.StreamCommandProcessor=StreamCommandProcessor;var SportsFeedInProcessor=function(e){function t(t,s,r,n){var o=e.call(this,s)||this;return o.scp=t,o.sportsFeedMsgGroup=s,o.snCode=r,o.recycleBin=n,o}return __extends(t,e),t.prototype.process=function(e){var t=e.getMetaInfo(this.snCode.code());if(null!=t&&""!==t)if(this.isFeedMessage(e))if(this.sportsFeedMsgGroup.isIndicatorMessage(e.messageClass)){var s=this.processIndicatorMessage(e);this.scp.process(t,null,s)}else{var r=new MergeableIncoming(this.sportsFeedMsgGroup,e.messageClass,t,e.message,this.recycleBin);this.triggerTtlRestoreIfApplicable(r),this.scp.process(r.stream(),r)}else console.log("SportsFeedInProcessor received unknown messageclass: "+circular.stringify(e.messageClass)+". Ignoring");else console.log("SportsFeedInProcessor received messagewrapper with no StreamName. Ignoring.")},t.prototype.processIndicatorMessage=function(e){var t=this;return e.messageClass==this.sportsFeedMsgGroup.TTL_RESTORE_START()&&e.message.getPartitions().forEach(function(e){t.recycleBin.clearBin(e)}),new data_structure_1.OutgoingImpl(e.messageClass,e.message)},t.prototype.triggerTtlRestoreIfApplicable=function(e){if(null!=this.getRecycleBin()&&null!=this.getRecycleBin().getTtlConfig()&&this.getRecycleBin().getTtlConfig().isEnableTtl()){var t=this.getRecycleBin().getTtlRestoreSnapshot(e);null!=t&&this.scp.process(t.getStream(),t)}},t.prototype.triggerTtlRemove=function(){var e=this;null!=this.getRecycleBin()&&this.getRecycleBin().getTtlRemoveSnapshot().forEach(function(t){e.scp.process(t.getStream(),t)})},t.prototype.startTtlVerification=function(){var e=this;if(null!=this.getRecycleBin()){var t=this.getRecycleBin().getTtlConfig();if(null!=t&&t.isEnableTtl()){var s=t.getRunInterval();setInterval(function(){return e.triggerTtlRemove()},s),console.log("Scheduled TTLCheck with interval of "+s)}else console.log("No TTL set. Not scheduling any TTL.")}},t.prototype.isFeedMessage=function(e){var t=e.messageClass;return t instanceof message_class_1.InsertOddMessageClass||t instanceof message_class_1.UpdateOddMessageClass||t instanceof message_class_1.DeleteOddMessageClass||t instanceof message_class_1.InsertEventMessageClass||t instanceof message_class_1.UpdateEventMessageClass||t instanceof message_class_1.DeleteEventMessageClass||t instanceof message_class_1.InsertMatchMessageClass||t instanceof message_class_1.UpdateMatchMessageClass||t instanceof message_class_1.DeleteMatchMessageClass||t instanceof message_class_1.RefreshMessageClass||t instanceof message_class_1.TTLRemoveMessageClass||t instanceof message_class_1.TTLRestoreMessageClass||t instanceof message_class_1.ResetMessageClass||t instanceof message_class_1.SwitchFilterStartMessageClass||t instanceof message_class_1.SwitchFilterFailMessageClass||t==this.sportsFeedMsgGroup.SWITCH_FILTER_START()||t==this.sportsFeedMsgGroup.SWITCH_FILTER_END()||t==this.sportsFeedMsgGroup.FULLSNAPSHOT_START()||t==this.sportsFeedMsgGroup.FULLSNAPSHOT_END()||t==this.sportsFeedMsgGroup.SWITCH_FILTER_FAIL()||t==this.sportsFeedMsgGroup.TTL_RESTORE_START()||t==this.sportsFeedMsgGroup.TTL_RESTORE_END()},t.prototype.getScp=function(){return this.scp},t.prototype.getRecycleBin=function(){return this.recycleBin},t=__decorate([(0,injection_js_1.Injectable)(),__metadata("design:paramtypes",[StreamCommandProcessor,message_class_1.SportsFeedMessageGroup,D.StreamNameCode,core_1.RecycleBin])],t)}(D.IMessageGroupProcessor);exports.SportsFeedInProcessor=SportsFeedInProcessor;var MergeableIncoming=function(e){function t(t,s,r,n,o){var a=e.call(this,s,r,n)||this;return a.sportsGrp=t,a.bin=o,a}return __extends(t,e),t.prototype.apply=function(e){var t,s,r,n,o,a;null==e&&(e=data_structure_1.IndexedSnapshotImpl.EMPTY_SNAPSHOT);var i=[];this.beforeSnap=e;var c=new data_structure_1.MergeableWrapper;if(this.msgType()instanceof message_class_1.InsertMatchMessageClass||this.msgType()instanceof message_class_1.InsertEventMessageClass||this.msgType()instanceof message_class_1.DeleteMatchMessageClass||this.msgType()instanceof message_class_1.DeleteEventMessageClass||this.msgType()instanceof message_class_1.UpdateEventMessageClass){var l=merge_1.SnapshotUtil.combineSnapshots(this.msgType(),this.data(),e),p=merge_1.DeltaTransformingLogicImpl.transform(this.sportsGrp,this.stream(),this.msgType(),this.data(),l);try{for(var _=__values(p),g=_.next();!g.done;g=_.next()){var u=g.value,f=new core_1.Delta(u,l.getAfterSs(),this.beforeSnap);i.push(f),this.beforeSnap=l.getAfterSs()}}catch(e){t={error:e}}finally{try{g&&!g.done&&(s=_.return)&&s.call(_)}finally{if(t)throw t.error}}c.setAfter(l.getAfterSs()),c.setDeltaOut(i)}else if(this.msgType()instanceof message_class_1.TTLRemoveMessageClass){var h=null,d=e,m=new Collections.Dictionary,T=[],y=!1,v=e.getPartitionMap();try{for(var S=__values(this.data().getPartitions().toArray()),E=S.next();!E.done;E=S.next()){var M=E.value;console.log("removing keys from upstream "+JSON.stringify(M)),v.containsKey(M)&&(y=!0,m.setValue(M,v.getValue(M)),d=(h=this.bin.removeData(new data_structure_1.TTLWrapper,d,M)).getRemainingSs(),T.push(h.getRemovedSs()))}}catch(e){r={error:e}}finally{try{E&&!E.done&&(n=S.return)&&n.call(S)}finally{if(r)throw r.error}}y?(console.log("reseting -----\x3e"+JSON.stringify(m.keys())),c=merge_1.DeltaTransformingLogicImpl.transformTTLRemove(T,this.bin.getGrp(),this.stream(),e,d,m)):(c.setDeltaOut([]),c.setAfter(e))}else if(this.msgType()instanceof message_class_1.TTLRestoreMessageClass){h=null,d=e;var D=new Collections.Dictionary,R=!1,I={},A=[];try{for(var C=__values(this.data().getPartitions().toArray()),b=C.next();!b.done;b=C.next()){M=b.value;if(console.log("restoring keys from upstream "+JSON.stringify(M)),this.bin.containData(M)){R=!0;var F=(new Date).getTime();D.setValue(M,F),I=this.bin.copyData(M,I),d=(h=this.bin.restoreData(new data_structure_1.TTLWrapper,d,M,F)).getRemainingSs(),A.push(h.getRestoredSs())}}}catch(e){o={error:e}}finally{try{b&&!b.done&&(a=C.return)&&a.call(C)}finally{if(o)throw o.error}}R?(console.log("restoring -----\x3e"+JSON.stringify(D.keys())),c=merge_1.DeltaTransformingLogicImpl.transformTTLRestore(A,this.bin.getGrp(),this.stream(),e,d,I,D)):(c.setAfter(e),c.setDeltaOut([]))}else{l=merge_1.SnapshotUtil.combineSnapshots(this.msgType(),this.data(),e),f=new core_1.Delta(this,l.getAfterSs(),e);i.push(f),c.setDeltaOut(i),c.setAfter(l.getAfterSs())}return c},t}(data_structure_1.Incoming);exports.MergeableIncoming=MergeableIncoming;
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,o)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SoccerCodec=void 0;const rec=__importStar(require("@jayesol/jayeson.lib.record")),proto=__importStar(require("./protobuf_bundle")),codec_1=require("./codec");class SoccerCodec{constructor(){this.codecHelper=new codec_1.CodecHelper}getMatch(e,t,r,c,o,n,l,a,i,s){return new rec.SoccerMatchImpl(r,c,o,t,e,n,s,i,l,a)}getEvent(e,t,r,c,o,n){return new rec.SoccerEventImpl(e,t,r,c,o,n)}decodeMatch(e,t,r,c){let o=[];return e.forEach(e=>{let r=t[e.id],n={};null!=e.metaInfo&&(n=e.metaInfo);let l=t[e.participants[0]],a=t[e.participants[1]],i=this.codecHelper.coerceInt64(e.startTime),s=t[e.league],u=rec.SoccerGender[e.soccerMatch.gender.toString()],p=t[e.country],d=rec.LeagueType[e.soccerMatch.leagueType.toString()];n=this.codecHelper.populatePKIntoMetaInfo(n,c);let S=this.getMatch(r,[],l,a,i,s,u,p,d,n);o.push(S)}),o}decodeEvent(e,t,r,c){let o=[];return e.forEach(e=>{let n=t[e.id],l=[],a=null,i=null;switch(proto.SoccerEvent.Type[e.eventType.soccerEventType]){case"NONE":a=rec.SoccerEventType.NONE;break;case"NEXT_CORNER":a=rec.SoccerEventType.NEXT_CORNER;break;case"TOTAL_CORNER":a=rec.SoccerEventType.TOTAL_CORNER;break;case"BOOKING":a=rec.SoccerEventType.BOOKING;break;case"UNCATEGORIZED_SPECIAL":a=rec.SoccerEventType.UNCATEGORIZED_SPECIAL}i=e.metaInfo;let s=t[e.matchId],u=this.decodeState(s,n,e.state,t,r,c);l.push(u);let p=this.getEvent(n,[],l,s,a,i),d=this.getMatch(t[e.matchId],[p],null,null,0,null,null,null,null,null);o.push(d)}),o}decodeRecord(e,t,r,c){let o=[],n={};e.forEach(e=>{let r=this.codecHelper.coerceInt64(e.id),c=null,o=t[e.source],l=t[e.matchId],a=t[e.eventId],i=rec.OddType[e.oddType.toString()],s=rec.LBType[e.lbType.toString()],u=e.timeType.soccerTimeType;switch(proto.SoccerTimeType.SettleOn[u.settle.toString()]){case"FT":c=rec.SoccerTimeType.FT;break;case"HT":c=rec.SoccerTimeType.HT}let p=rec.OddFormat[e.format.toString()],d=e.metaInfo,S=this.codecHelper.formatRate(e.rates[0]),h=this.codecHelper.formatRate(e.rates[1]),T=this.codecHelper.formatRate(e.rates[2]),v=e.pivotValue,_=rec.PivotBias[e.pivotBias.toString()],f=rec.PivotType[e.pivotType.toString()],E=t[e.rateIds[0]],g=t[e.rateIds[1]],y=t[e.rateIds[2]],m=new rec.SoccerRecord(l,a,r,i,s,c,o,p,d,S,h,T,v,f,_,E,g,y,!1);void 0===n[l]&&(n[l]={}),void 0===n[l][a]&&(n[l][a]=[]),n[l][a].push(m)});for(let e in n){let t=n[e],r=[];for(let c in t){let o=this.getEvent(c,t[c],null,e,null,null);r.push(o)}let c=this.getMatch(e,r,null,null,0,null,null,null,null,null);o.push(c)}return o}decodeState(e,t,r,c,o,n,l=Date.now()){let a=r.participantStats[0].scores[0],i=r.participantStats[0].scores[1],s=r.participantStats[1].scores[0],u=r.participantStats[1].scores[1],p=r.duration,d=rec.SoccerSegment[r.soccerEventState.segment.toString()],S=r.soccerEventState.bookPriority,h=new rec.SoccerEventState(p,n,e,t,l,a,s,i,u,d,S),T=this.getEvent(t,null,[h],e,null,{});this.getMatch(e,[T],null,null,0,null,null,null,null,{});return new rec.SoccerEventState(p,n,e,t,l,a,s,i,u,d,S)}}exports.SoccerCodec=SoccerCodec;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,c){void 0===c&&(c=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,c,o)}:function(e,t,r,c){void 0===c&&(c=r),e[c]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SoccerCodec=void 0;var rec=__importStar(require("@jayesol/jayeson.lib.record")),proto=__importStar(require("./protobuf_bundle")),codec_1=require("./codec"),SoccerCodec=function(){function e(){this.codecHelper=new codec_1.CodecHelper}return e.prototype.getMatch=function(e,t,r,c,o,n,a,i,l,u){return new rec.SoccerMatchImpl(r,c,o,t,e,n,u,l,a,i)},e.prototype.getEvent=function(e,t,r,c,o,n){return new rec.SoccerEventImpl(e,t,r,c,o,n)},e.prototype.decodeMatch=function(e,t,r,c){var o=this,n=[];return e.forEach(function(e){var r=t[e.id],a={};null!=e.metaInfo&&(a=e.metaInfo);var i=t[e.participants[0]],l=t[e.participants[1]],u=o.codecHelper.coerceInt64(e.startTime),p=t[e.league],s=rec.SoccerGender[e.soccerMatch.gender.toString()],d=t[e.country],v=rec.LeagueType[e.soccerMatch.leagueType.toString()];a=o.codecHelper.populatePKIntoMetaInfo(a,c);var S=o.getMatch(r,[],i,l,u,p,s,d,v,a);n.push(S)}),n},e.prototype.decodeEvent=function(e,t,r,c){var o=this,n=[];return e.forEach(function(e){var a,i=t[e.id],l=[],u=null;switch(proto.SoccerEvent.Type[e.eventType.soccerEventType]){case"NONE":u=rec.SoccerEventType.NONE;break;case"NEXT_CORNER":u=rec.SoccerEventType.NEXT_CORNER;break;case"TOTAL_CORNER":u=rec.SoccerEventType.TOTAL_CORNER;break;case"BOOKING":u=rec.SoccerEventType.BOOKING;break;case"UNCATEGORIZED_SPECIAL":u=rec.SoccerEventType.UNCATEGORIZED_SPECIAL}a=e.metaInfo;var p=t[e.matchId],s=o.decodeState(p,i,e.state,t,r,c);l.push(s);var d=o.getEvent(i,[],l,p,u,a),v=o.getMatch(t[e.matchId],[d],null,null,0,null,null,null,null,null);n.push(v)}),n},e.prototype.decodeRecord=function(e,t,r,c){var o=this,n=[],a={};for(var i in e.forEach(function(e){var r=o.codecHelper.coerceInt64(e.id),c=null,n=t[e.source],i=t[e.matchId],l=t[e.eventId],u=rec.OddType[e.oddType.toString()],p=rec.LBType[e.lbType.toString()],s=e.timeType.soccerTimeType;switch(proto.SoccerTimeType.SettleOn[s.settle.toString()]){case"FT":c=rec.SoccerTimeType.FT;break;case"HT":c=rec.SoccerTimeType.HT}var d=rec.OddFormat[e.format.toString()],v=e.metaInfo,S=o.codecHelper.formatRate(e.rates[0]),f=o.codecHelper.formatRate(e.rates[1]),h=o.codecHelper.formatRate(e.rates[2]),T=e.pivotValue,y=rec.PivotBias[e.pivotBias.toString()],_=rec.PivotType[e.pivotType.toString()],E=t[e.rateIds[0]],g=t[e.rateIds[1]],m=t[e.rateIds[2]],O=new rec.SoccerRecord(i,l,r,u,p,c,n,d,v,S,f,h,T,_,y,E,g,m,!1);void 0===a[i]&&(a[i]={}),void 0===a[i][l]&&(a[i][l]=[]),a[i][l].push(O)}),a){var l=a[i],u=[];for(var p in l){var s=this.getEvent(p,l[p],null,i,null,null);u.push(s)}var d=this.getMatch(i,u,null,null,0,null,null,null,null,null);n.push(d)}return n},e.prototype.decodeState=function(e,t,r,c,o,n,a){void 0===a&&(a=Date.now());var i=r.participantStats[0].scores[0],l=r.participantStats[0].scores[1],u=r.participantStats[1].scores[0],p=r.participantStats[1].scores[1],s=r.duration,d=rec.SoccerSegment[r.soccerEventState.segment.toString()],v=r.soccerEventState.bookPriority,S=new rec.SoccerEventState(s,n,e,t,a,i,u,l,p,d,v),f=this.getEvent(t,null,[S],e,null,{});this.getMatch(e,[f],null,null,0,null,null,null,null,{});return new rec.SoccerEventState(s,n,e,t,a,i,u,l,p,d,v)},e}();exports.SoccerCodec=SoccerCodec;
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TennisCodec=void 0;const rec=__importStar(require("@jayesol/jayeson.lib.record")),proto=__importStar(require("./protobuf_bundle")),codec_1=require("./codec");class TennisCodec{constructor(){this.codecHelper=new codec_1.CodecHelper}getMatch(e,t,n,r,i,a,c,o,s){return new rec.TennisMatchImpl(n,r,i,t,e,a,c,o,s)}getEvent(e,t,n,r,i,a){return new rec.TennisEventImpl(e,t,n,r,i,a)}decodeMatch(e,t,n,r){var i=[];return e.forEach(e=>{var n=t[e.id];let a=t[e.participants[0]],c=t[e.participants[1]],o=this.codecHelper.coerceInt64(e.startTime),s=t[e.league],l=rec.TennisGender[e.tennisMatch.gender.toString()],u=e.metaInfo,d=t[e.country];u=this.codecHelper.populatePKIntoMetaInfo(u,r);var p=this.getMatch(n,[],a,c,o,s,l,d,u);i.push(p)}),i}decodeEvent(e,t,n,r){var i=[];let a={};e.forEach(e=>{var i,c=t[e.id],o=null;switch(proto.TennisEvent.Type[e.eventType.tennisEventType]){case"NONE":o=rec.TennisEventType.NONE;break;case"GAME":o=rec.TennisEventType.GAME;break;case"SET":o=rec.TennisEventType.SET;break;case"POINT":o=rec.TennisEventType.POINT;break;case"HOME_GAME":o=rec.TennisEventType.HOME_GAME;break;case"AWAY_GAME":o=rec.TennisEventType.AWAY_GAME}i=e.metaInfo;let s=[];null!=e.state&&s.push(this.decodeState(t[e.matchId],c,e.state,t,n,r));let l=t[e.matchId];var u=this.getEvent(c,[],s,l,o,i);void 0===a[l]&&(a[l]=[]),a[l].push(u)});for(let e in a){var c=this.getMatch(e,a[e],null,null,0,null,null,null,null);i.push(c)}return i}decodeRecord(e,t,n,r){var i=[];let a={};e.forEach(e=>{var n=this.codecHelper.coerceInt64(e.id),r=t[e.source],i=t[e.matchId],c=t[e.eventId];let o=rec.OddType[e.oddType.toString()],s=rec.LBType[e.lbType.toString()],l=e.timeType.tennisTimeType,u=new rec.TennisTimeType(l.match,l.set,l.game),d=rec.OddFormat[e.format.toString()],p=e.metaInfo,h=this.codecHelper.formatRate(e.rates[0]),v=this.codecHelper.formatRate(e.rates[1]),T=this.codecHelper.formatRate(e.rates[2]),f=e.pivotValue,_=rec.PivotBias[e.pivotBias.toString()],E=rec.PivotType[e.pivotType.toString()],g=t[e.rateIds[0]],y=t[e.rateIds[1]],m=t[e.rateIds[2]],M=new rec.TennisRecord(i,c,n,o,s,u,r,d,p,h,v,T,f,E,_,g,y,m,!1);void 0===a[i]&&(a[i]={}),void 0===a[i][c]&&(a[i][c]=[]),a[i][c].push(M)});for(let e in a){let t=a[e],n=[];for(let r in t){let i=this.getEvent(r,t[r],null,e,null,null);n.push(i)}let r=this.getMatch(e,n,null,null,0,null,null,null,null);i.push(r)}return i}decodeState(e,t,n,r,i,a,c=Date.now()){var o=n.participantStats[0].scores,s=n.participantStats[1].scores;if(o.length<10)for(var l=o.length,u=0;l+u<10;u++)o.push(-1);if(s.length<10){var d=s.length;for(u=0;d+u<10;u++)s.push(-1)}let p=new rec.TennisStats(o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],o[9]),h=new rec.TennisStats(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]),v=n.duration,T=n.tennisEventState.set,f=n.tennisEventState.game,_=n.tennisEventState.bookPriority;return new rec.TennisEventState(p,h,v,a,e,t,_,c,T,f)}}exports.TennisCodec=TennisCodec;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TennisCodec=void 0;var rec=__importStar(require("@jayesol/jayeson.lib.record")),proto=__importStar(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,i,a,c,s){return new rec.TennisMatchImpl(n,r,o,t,e,i,a,c,s)},e.prototype.getEvent=function(e,t,n,r,o,i){return new rec.TennisEventImpl(e,t,n,r,o,i)},e.prototype.decodeMatch=function(e,t,n,r){var o=this,i=[];return e.forEach(function(e){var n=t[e.id],a=t[e.participants[0]],c=t[e.participants[1]],s=o.codecHelper.coerceInt64(e.startTime),u=t[e.league],p=rec.TennisGender[e.tennisMatch.gender.toString()],l=e.metaInfo,d=t[e.country];l=o.codecHelper.populatePKIntoMetaInfo(l,r);var v=o.getMatch(n,[],a,c,s,u,p,d,l);i.push(v)}),i},e.prototype.decodeEvent=function(e,t,n,r){var o=this,i=[],a={};for(var c in e.forEach(function(e){var i,c=t[e.id],s=null;switch(proto.TennisEvent.Type[e.eventType.tennisEventType]){case"NONE":s=rec.TennisEventType.NONE;break;case"GAME":s=rec.TennisEventType.GAME;break;case"SET":s=rec.TennisEventType.SET;break;case"POINT":s=rec.TennisEventType.POINT;break;case"HOME_GAME":s=rec.TennisEventType.HOME_GAME;break;case"AWAY_GAME":s=rec.TennisEventType.AWAY_GAME}i=e.metaInfo;var u=[];null!=e.state&&u.push(o.decodeState(t[e.matchId],c,e.state,t,n,r));var p=t[e.matchId],l=o.getEvent(c,[],u,p,s,i);void 0===a[p]&&(a[p]=[]),a[p].push(l)}),a){var s=this.getMatch(c,a[c],null,null,0,null,null,null,null);i.push(s)}return i},e.prototype.decodeRecord=function(e,t,n,r){var o=this,i=[],a={};for(var c in e.forEach(function(e){var n=o.codecHelper.coerceInt64(e.id),r=t[e.source],i=t[e.matchId],c=t[e.eventId],s=rec.OddType[e.oddType.toString()],u=rec.LBType[e.lbType.toString()],p=e.timeType.tennisTimeType,l=new rec.TennisTimeType(p.match,p.set,p.game),d=rec.OddFormat[e.format.toString()],v=e.metaInfo,f=o.codecHelper.formatRate(e.rates[0]),T=o.codecHelper.formatRate(e.rates[1]),h=o.codecHelper.formatRate(e.rates[2]),y=e.pivotValue,_=rec.PivotBias[e.pivotBias.toString()],E=rec.PivotType[e.pivotType.toString()],g=t[e.rateIds[0]],m=t[e.rateIds[1]],M=t[e.rateIds[2]],S=new rec.TennisRecord(i,c,n,s,u,l,r,d,v,f,T,h,y,E,_,g,m,M,!1);void 0===a[i]&&(a[i]={}),void 0===a[i][c]&&(a[i][c]=[]),a[i][c].push(S)}),a){var s=a[c],u=[];for(var p in s){var l=this.getEvent(p,s[p],null,c,null,null);u.push(l)}var d=this.getMatch(c,u,null,null,0,null,null,null,null);i.push(d)}return i},e.prototype.decodeState=function(e,t,n,r,o,i,a){void 0===a&&(a=Date.now());var c=n.participantStats[0].scores,s=n.participantStats[1].scores;if(c.length<10)for(var u=c.length,p=0;u+p<10;p++)c.push(-1);if(s.length<10){var l=s.length;for(p=0;l+p<10;p++)s.push(-1)}var d=new rec.TennisStats(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[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]),f=n.duration,T=n.tennisEventState.set,h=n.tennisEventState.game,y=n.tennisEventState.bookPriority;return new rec.TennisEventState(d,v,f,i,e,t,y,a,T,h)},e}();exports.TennisCodec=TennisCodec;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayesol/jayeson.lib.sports",
3
- "version": "2.2.7-beta4",
3
+ "version": "2.2.7-beta6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -27,6 +27,8 @@
27
27
  "underscore": "^1.13.0"
28
28
  },
29
29
  "devDependencies": {
30
+ "@babel/core": "^7.28.5",
31
+ "@babel/preset-env": "^7.28.5",
30
32
  "@types/jasmine": "^4.3.0",
31
33
  "@types/node": "^20.19.24",
32
34
  "chai": "^4.3.0",
@@ -34,6 +36,7 @@
34
36
  "eventemitter3": "^5.0.0",
35
37
  "glob": "^7.2.3",
36
38
  "gulp": "^4.0.2",
39
+ "gulp-babel": "^8.0.0",
37
40
  "gulp-install": "^1.1.0",
38
41
  "gulp-jasmine": "^4.0.0",
39
42
  "gulp-jspm-builder": "^1.1.1",