package Ġcom . example . lol results . repository . model Ċ Ċ import Ġcom . example . lol results . api . entity Model .* Ċ Ċ class ĠEntity Mapper Ġ{ ĊĊĠĠĠ Ġprivate Ġfun ĠTeam Entity . to Model () Ġ= ĠTeam Model ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġscore Ġ= Ġscore ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun ĠComp etition Entity . to Model () Ġ= ĠComp etition Model ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun ĠFix ture Format Entity . to Model () Ġ= ĠFix ture Format Model ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun ĠFix ture Entity . to Model ( stream Url : ĠString ?) Ġ= ĠFix ture Model ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠĠĠĠĠ ĠstartTime Ġ= ĠstartTime , ĊĠĠĠĠĠĠĠ Ġformat Ġ= Ġformat . to Model (), ĊĠĠĠĠĠĠĠ Ġteams Ġ= Ġmap Entity List ( teams ) Ġ{ Ġit . to Model () Ġ}, ĊĠĠĠĠĠĠĠ Ġlive Events Link Ġ= Ġget Live Events Link ( links ), ĊĠĠĠĠĠĠĠ Ġwinner Id Ġ= Ġwinner Id , ĊĠĠĠĠĠĠĠ Ġstream Url Ġ= Ġstream Url , ĊĠĠĠĠĠĠĠ Ġcompetition Ġ= Ġcompetition . to Model () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġmap Fixture Entity ( fixture : ĠFix ture Entity , Ġstream Url : ĠString ?): ĠFix ture Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfixture . to Model ( stream Url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Live Events Link ( link List : ĠList < Link Entity >? ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ(! link List . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġlink List [ 0 ]. link ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmap Fixture Entity List ( list : ĠList < Fixture Entity > ?, Ġstream Link : ĠString ? Ġ= Ġnull ): ĠList < Fixture Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġorder edList Ġ= Ġlist ?. sorted By { Ġit . startTime Ġ} Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠ Ġreturn Ġmap Entity List ( ordered List ) Ġ{ it . to Model ( stream Link )} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ< T : ĠAny , ĠA > Ġmap Entity List ( entity List : ĠList < A > ?, Ġmap Function : Ġ( item : ĠA ) Ġ-> ĠT ): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmutable ListOf < T >() ĊĠĠĠĠĠĠĠ Ġentity List ?. let Ġ{ Ġlist Ġ-> Ġlist . forEach Ġ{ Ġresult . add ( map Function . invoke ( it )) Ġ}} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }